[Bioperl-l] Newbie Questions: bioperl, bioperl-db, and GO

Hilmar Lapp hlapp at gmx.net
Thu Apr 14 01:47:04 EDT 2005

On Wednesday, April 13, 2005, at 09:26  PM, jjmail at mac.com wrote:

> I have a large list of protein names and I would like to use bioperl 
> to get the corresponding Gene Ontology (GO) information for each 
> protein.
> So far I have installed bioperl, BioSQL, and bioperl-db and uploaded 
> the taxonomy and GO information into BioSQL. I am having a really hard 
> time figuring out how to get the GO information out of the database.

I'm not sure I understand what you're trying to do. If you loaded the 
GO ontology into biosql then that will not give you term to protein 
associations. You would need to load the proteins as well and have 
annotation for them that references the GO terms they are associated 
with. There is also a level of devil in the details because currently 
no bioperl SeqIO parser except the LocusLink parser (and hopefully the 
Entrez Gene parser already or soon) will give you the GO term 
associations as appropriate Bio::Annotation::OntologyTerm annotation.

If you want to use UniProt as the protein data source then the terms 
would end up as dbxrefs. I can post a simple SQL script that will 
convert those into term associations, but the point is that this won't 
happen magically.

If all you're trying to do is lookup ontology terms based on some 
identifying property, like the identifier, then you can do this in 
bioperl-db using the same mechanism as for sequences:

	my $db = Bio::DB::BioDB->new(...blah...);
	my $term = Bio::Ontology::Term->new(-identifier => 'GO:123456');
	my $adp = $db->get_object_adaptor($term);
	my $dbterm = $adp->find_by_unique_key($term);
	# on success $dbterm is-a persistent Bio::Ontology::TermI

If none of this helps you will need to be more specific on your 
approach and what you want to achieve.


Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757

More information about the Bioperl-l mailing list