<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
Dear All
<div><br>
</div>
<div>I would like to extract all orthologs for any given two species. I am using following code to extract required information.</div>
<div><br>
</div>
<div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;"><span style="color: #bb2ca2">my</span> $genome_db_adaptor = $reg->get_adaptor(<span style="color: #d12f1b">"Multi"</span>,
<span style="color: #d12f1b">"compara"</span>, <span style="color: #d12f1b">"GenomeDB"</span>);</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;"><span style="color: rgb(187, 44, 162);">my</span> $homology_adaptor  = $reg->get_adaptor(<span style="color: rgb(209, 47, 27);">'Multi'</span>,
<span style="color: rgb(209, 47, 27);">'compara'</span>, <span style="color: rgb(209, 47, 27);">
'Homology'</span>);</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco; min-height: 21px;">
<div style="margin: 0px;"><span style="color: rgb(187, 44, 162);">my</span> $ref_genome_dbID = $genome_db_adaptor->fetch_by_registry_name($ref_species)->dbID();</div>
<div><br>
</div>
</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;"><span style="color: #bb2ca2">foreach</span>
<span style="color: #bb2ca2">my</span> $subject_species (<span style="color: #bb2ca2">keys</span> %species){</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">  <span style="color: #bb2ca2">
my</span> $subject_genome_dbID = $genome_db_adaptor->fetch_by_registry_name($subject_species)->dbID;</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco; color: rgb(209, 47, 27);">
<span style="color: #000000">  </span><span style="color: #bb2ca2">print</span><span style="color: #000000">
</span>"Getting homologs for $ref_species (dbID=$ref_genome_dbID) and $subject_species (dbID=$subject_genome_dbID)\n"<span style="color: #000000">;</span></div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">  <span style="color: #bb2ca2">
my</span> @homologues = @{$homology_adaptor->fetch_all_by_genome_pair($ref_genome_dbID,$subject_genome_dbID)};</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">  <span style="color: #bb2ca2">
foreach</span> <span style="color: #bb2ca2">my</span> $homology (@homologues){</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">    <span style="color: #bb2ca2">
my</span> @gene_members = @{$homology->gene_list()};</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">    <span style="color: #bb2ca2">
printf</span> <span style="color: #d12f1b">"%s\t%s\t%s\n"</span>, $gene_members[<span style="color: #272ad8">0</span>]->stable_id(), $gene_members[<span style="color: #272ad8">1</span>]->stable_id(), $homology->description;</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">  }</div>
<div style="margin: 0px; font-size: 16px; font-family: Monaco;">}</div>
<div><br>
</div>
I am getting following results:</div>
<div><br>
</div>
<div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000199168<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000017892<span class="Apple-tab-span" style="white-space:pre"> </span>
ortholog_one2many</div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000212161<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000020962<span class="Apple-tab-span" style="white-space:pre"> </span>
apparent_ortholog_one2one</div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000252139<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000020505<span class="Apple-tab-span" style="white-space:pre"> </span>
ortholog_one2many</div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000252139<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000020751<span class="Apple-tab-span" style="white-space:pre"> </span>
ortholog_one2many</div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000252139<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000021130<span class="Apple-tab-span" style="white-space:pre"> </span>
ortholog_one2many</div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000207639<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000017976<span class="Apple-tab-span" style="white-space:pre"> </span>
ortholog_one2one</div>
<div style="margin: 0px; font-size: 16px; font-family: Menlo;">ENSG00000252691<span class="Apple-tab-span" style="white-space:pre">
</span>ENSTBEG00000021086<span class="Apple-tab-span" style="white-space:pre"> </span>
ortholog_one2one</div>
</div>
<div><br>
</div>
<div>However this is extremely slow. I am guessing that once homologues are extracted for the pair (fast step), extraction of gene centric information one by one makes it slow in the following line of the code.</div>
<div><br>
</div>
<div><span style="font-family: Monaco; font-size: 16px; color: rgb(187, 44, 162);">foreach</span><span style="font-family: Monaco; font-size: 16px;"> </span><span style="font-family: Monaco; font-size: 16px; color: rgb(187, 44, 162);">my</span><span style="font-family: Monaco; font-size: 16px;"> $homology
 (@homologues){}</span></div>
<div><br>
</div>
<div>Could you please let me know if there is an alternate way to get the same information but quicker? I am mainly interested in </div>
<div><br>
</div>
<div>ref_species_geneID, chromosome, start, end, strand, genename, subject_speciesgeneID, chromosome, start, end, strand, homologytype</div>
<div><br>
</div>
<div>When I query for the same using biomart, it is very quick and I am hoping that I can do the same using API.</div>
<div><br>
</div>
<div>Kind regards</div>
<div><br>
</div>
<div>Hardip</div>
<div><br>
</div>
</body>
</html>