<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:18px">Hi all</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">  I am new to API. Now I am trying to use it to get all GO terms for each genes of a archaea(Methanocella conradii HZ254), and want to get a table </span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">with two columns, on for gene name and the other for GO term correponding to it</span><br style="font-family:arial,sans-serif;font-size:18px"><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">Following the instruction of API and the modifications to use API for bacteria, I use the following code to do the job:</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px"># load the lookup from the main Ensembl Bacteria public server</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">my $lookup = Bio::EnsEMBL::LookUp->new(</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">  -URL => "</span><a href="http://bacteria.ensembl.org/registry.json" target="_blank" style="font-family:arial,sans-serif;font-size:18px">http://bacteria.ensembl.org/registry.json</a><span style="font-family:arial,sans-serif;font-size:18px">",</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">  -NO_CACHE => 1</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">);</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px"># find the correct database adaptor using a unique name</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">my ($dba) = @{$lookup->get_by_name_exact(</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">  'methanocella_conradii_hz254'</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">)};</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px"># get adaptor for ontology</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">my $goada=$dba->get_adaptor('</span><span style="font-family:arial,sans-serif;font-size:18px">Multi','Ontology','</span><span style="font-family:arial,sans-serif;font-size:18px">OntologyTerm');</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">my $genes = $dba->get_GeneAdaptor()-></span><span style="font-family:arial,sans-serif;font-size:18px">fetch_all(); # where is the get_GeneAdaptor() documentation</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px"># ###test####</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">print "Found ".scalar @$genes." genes for ".$dba->species()."\n";</span><br style="font-family:arial,sans-serif;font-size:18px">
<br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px"># get go infomation (modified from </span><a href="http://kokocinsky.net/" target="_blank" style="font-family:arial,sans-serif;font-size:18px">kokocinsky.net</a><span style="font-family:arial,sans-serif;font-size:18px"> ensembl coding)</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">foreach my $gene (@$genes){</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">my $links = $gene->get_all_DBLinks();</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">foreach my $link (@$links){</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">if ($link->database eq "GO"){</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">my $term_id=$link->display_id;</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">my $term_name='-';</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">my $term=$goada->fetch_by_</span><span style="font-family:arial,sans-serif;font-size:18px">accession($term_id);</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">if($term and $term->name){</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">$term_name=$term->name;}</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">print $gene->stable_id.":$term_id ($term_name)\n";</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px"># fetch complete GO hierachy</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">foreach my $ancestor_term (@{$term->ancestors()}){</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">print "\t". $ancestor_term->accession." (".$ancestor_term->name.")\n";</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">}</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">  }</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px"> }</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">}</span><br style="font-family:arial,sans-serif;font-size:18px">
<br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">it works well before "get go information"</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">the output was as following:</span><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">Can't call method "fetch_by_accession" on an undefined value at /home/liupf/</span><a href="http://hz254.pl/" target="_blank" style="font-family:arial,sans-serif;font-size:18px">hz254.pl</a><span style="font-family:arial,sans-serif;font-size:18px"> line 27.</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">1, I do not understand the use of 'get_GeneAdaptor', I could not find documentation on this synthax. </span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">2, please give me some suggestiones on how to fullfill my task. </span><br style="font-family:arial,sans-serif;font-size:18px"><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">Thank you all!</span><br style="font-family:arial,sans-serif;font-size:18px"><br style="font-family:arial,sans-serif;font-size:18px"><span style="font-family:arial,sans-serif;font-size:18px">$ perl ~/ApiVersion.pl</span><br style="font-family:arial,sans-serif;font-size:18px">
<span style="font-family:arial,sans-serif;font-size:18px">The API version used is 74</span><br clear="all" style="font-family:arial,sans-serif;font-size:18px"><div><br></div>-- <br><div>Pengfei Liu, PhD Candidate<br><br>Lab of Microbial Ecology<br>
College of Resources and Environmental Sciences<br>China Agricultural University<br>No.2 Yuanmingyuanxilu, Beijing, 100193<br>P.R. China<br><br>Tel: +86-10-62731358<br>Fax: +86-10-62731016<br> <br>E-mail: <a href="mailto:liupfskygre@gmail.com" target="_blank">liupfskygre@gmail.com</a></div>

<div> </div>
</div>