Using go-perl

Introduction

The go-perl library provides modules to help parse and navigate GO/OBO style ontologies together with associated gene product annotations.

The go-perl library does not deal with interfacing or querying the GO database; for this you need go-db-perl, part of this distribution. You need go-perl in order for go-db-perl to work

Background

You should already be familiar with the Gene Ontology project:

You should also be familiar with the file formats GO uses:

Documentation on the rest of the go-dev distribution:

GO Database and Developers page:

And you should be familiar with perl, particularly object-oriented perl!

Installation

go-perl requires installation of several third-party perl modules. The instructions below should help guide you through this process. If you have never installed perl modules before, and you do not have full write privileges on your machine, you may need the help of a system administrator here.

Installation via CPAN

The easiest way to install the go-perl software library and associated scripts is via CPAN. Note that this may require some privileges set up on your system.

Type the following commands on the command line:

perl -MCPAN -e shell
install go-perl
        
If this is your first time using the CPAN installer, you will be asked some questions regarding your setup - you should go with the default answer for most of these.

If this stage was successful, you are now ready to use the go-perl modules and run the go-perl scripts! If this was unsuccessful, then you may have to recruit the help of a friendly perl programmer to determine what went wrong, or follow the manual installation process below.

Manual installation

go-perl is written entirely in perl, and should be relatively easy to install; it does require a few other packages, all of which should be available from CPAN (some of these may already be installed on your system)

To obtain go-perl (which is part of the full go-dev distribution), please see the section Software Downloads in the main GO Database and Developers page.

Linux/Unix/OS X Installation

First make sure everything works OK:

cd go-perl
perl Makefile.PL
make test
      

If "make test" completes successfully, you can install the modules and script like this (may require root permission):

make install
      

Installing in your home directory

It is not actually necessary to install the go-perl modules. Just place them somewhere accessible, and make sure perl knows where they are. For example, assuming you unpacked the go-dev distribution in the top level of your home directory, you would do this:

SETENV PERL5LIB "$PERL5LIB:~/go-dev/go-perl"
      

Then do this:

SETENV PATH "$PATH:~/go-dev/go-perl/scripts"
      

You may wish to make sure that the above environment variable is set whenever you start up a session, by placing the command in your .cshrc

PC Installation

Sorry, you're on your own here. I believe others may have succeeded with PC installations. You may wish to try asking for help on the mail list here.

Scripts

The go-perl distribution comes with a number of scripts. These should all be executable if you follow the installation instructions.

See go-perl for a full list of scripts.

About

To use the NOTE: if you do not intend to use the go-perl library directly then you don't need to read any further here. Simply follow the installation instructions above, and you will be able to use any of the tools in the scripts directory.

go-perl is a set of perl modules for parsing, manipulating and exporting GO or OBO style ontology files. It includes parsers for the various GO/OBO formats, extendable handlers for dealing with the results of a parse, and an object model.

Unlike packages such as BioPerl, the object model is not strictly necessary for performing a lot of useful tasks. You can actually get by quite well with just using the Parser/Handler framework

Documentation

Most of the relevant documentation is kept in POD format. You can read the HTML version here:

Event Handling Architecture

You can also read about the internal details of the event handling mechanism and how to write your own perl event handlers here: go-perl event handling

Database API

The go-perl module does not have a database API - you need the go-db-perl modules, also part of the go-dev distribution. You also need the go-database - see the GO Database SQL Docs go-dev/sql, or download the latest build from http://www.godatabase.org/dev/database

Mail Lists