<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">25. feb. 2016 kl. 14.24 skrev Anja Thormann <<a href="mailto:anja@ebi.ac.uk" class="">anja@ebi.ac.uk</a>>:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Johanne,<div class=""><br class=""></div><div class="">thank you for reporting this. The problem was caused by an error in the sql statement. I fixed the wrong statement and pushed the fix again to the release/83 branch. Please pull the changes. However, the call is not going to return any data at the moment. We recently switched from using a database for storing genotypes to reading the the genotypes from VCF files instead. This functionality is currently not supported by the method ($vf->get_all_LD_Populations()). We will add this for release/84. In the  meantime please use the LDFeatureContainerAdaptor and loop over all the populations for which we could compute LD data. The populations can be retrieved from the population adaptor using fetch_all_LD_Populations. We compute LD data on 1000 Genomes phase 3 data. In addition to computing LD data for a given SNP you can also specify a region or a a set of SNPs for which you want to compute LD data. Use the following methods from the LDFeatureContainerAdaptor (<a href="http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1DBSQL_1_1LDFeatureContainerAdaptor.html" class="">http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1DBSQL_1_1LDFeatureContainerAdaptor.html</a>): fetch_by_VariationFeatures, fetch_by_Slice.</div></div></div></blockquote><blockquote type="cite" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">Best,</div><div class="">Anja</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 25 Feb 2016, at 09:57, Johanne Håøy Horn <<a href="mailto:johannhh@ifi.uio.no" class="">johannhh@ifi.uio.no</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">



<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">Dear Ensembl team, </div>
<div class=""><br class="">
</div>
<div class="">When I do the following call: my @vf_pops = @{ $vf->get_all_LD_Populations() }; I get this error:</div>
<div class=""><font face="Courier New" class="">DBD::mysql::st execute failed: Unknown column 'ip.population_id' in 'field list' at /Users/Johanne/src/ensembl-variation/modules/Bio/EnsEMBL/Variation/VariationFeature.pm line 1429, <> line 1.DBD::mysql::st execute
 failed: Unknown column 'ip.population_id' in 'field list' at /Users/Johanne/src/ensembl-variation/modules/Bio/EnsEMBL/Variation/VariationFeature.pm line 1429, <> line 1.</font></div>
<div class=""><br class="">
</div>
<div class="">Here’s the full script:</div>
<div class="">
<div class=""><font face="Courier New" class="">use strict;</font></div>
<div class=""><font face="Courier New" class="">use warnings;</font></div>
<div class=""><font face="Courier New" class="">use Bio::EnsEMBL::Registry;</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $start_run = time();</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $registry = 'Bio::EnsEMBL::Registry';</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">$registry->load_registry_from_db(</font></div>
<div class=""><font face="Courier New" class="">  -host => '<a href="http://ensembldb.ensembl.org/" class="">ensembldb.ensembl.org</a>',</font></div>
<div class=""><font face="Courier New" class="">  -user => 'anonymous'</font></div>
<div class=""><font face="Courier New" class="">);</font></div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"><font face="Courier New" class=""></font></span></div>
<div class=""><font face="Courier New" class="">my $variation_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'variation' );</font></div>
<div class=""><font face="Courier New" class="">my $ldfc_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'ldfeaturecontainer');</font></div>
<div class=""><font face="Courier New" class="">my $population_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'population');</font></div>
<div class=""><font face="Courier New" class="">$variation_adaptor->db->use_vcf(1); # To get 1000G phase 3 data also</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $ld_populations = $population_adaptor->fetch_all_LD_Populations();</font></div>
<div class=""><font face="Courier New" class="">foreach my $ld_population (@$ld_populations) {</font></div>
<div class=""><font face="Courier New" class="">    print $ld_population->name, "\n";</font></div>
<div class=""><font face="Courier New" class="">}<span class="Apple-tab-span" style="white-space:pre">
</span></font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $variation_name = 'rs157580';</font></div>
<div class=""><font face="Courier New" class="">my $variation = $variation_adaptor->fetch_by_name($variation_name);</font></div>
<div class=""><font face="Courier New" class="">my @vfs = @{ $variation->get_all_VariationFeatures() };</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">foreach my $vf (@vfs) {</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">  print $vf->name, "\n";</font></div>
<div class=""><font face="Courier New" class="">  my @vf_pops = @{ $vf->get_all_LD_Populations() };</font></div>
<div class=""><font face="Courier New" class="">  foreach my $ld_population (@$ld_populations) {</font></div>
<div class=""><font face="Courier New" class="">    print $ld_population->name, "\n";</font></div>
<div class=""><font face="Courier New" class="">    my $ldfc = $ldfc_adaptor->fetch_by_VariationFeature($vf, $ld_population);</font></div>
<div class=""><font face="Courier New" class="">    foreach my $ld_hash (@{$ldfc->get_all_ld_values}) {</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>my $d_prime = $ld_hash->{d_prime};</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>my $r2 = $ld_hash->{r2};</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>my $variation_name1 = $ld_hash->{variation1}->variation_name;</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>my $variation_name2 = $ld_hash->{variation2}->variation_name;</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>print "$variation_name1 $variation_name2 d_prime=$d_prime r2=$r2\n";</font></div>
<div class=""><font face="Courier New" class="">    }</font></div>
<div class=""><font face="Courier New" class="">  }</font></div>
<div class=""><font face="Courier New" class="">}</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $end_run = time();</font></div>
<div class=""><font face="Courier New" class="">my $run_time = $end_run - $start_run;</font></div>
<div class=""><font face="Courier New" class="">print "Job took $run_time seconds\n";</font></div>
</div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class="">If I remove the call to get_all_LD_Populations, the script runs fine again. Do you have any idea on what I am doing wrong? Could it be a bug in the code, like the error I reported yesterday?</div>
<div class=""><br class="">
</div>
<div class="">Also, I have visited a lot of forums where LD calculation is discussed. Many users ask for a database one can query to find LD between SNPs, and genomic LD tracks, but all such services are only available on HapMap data. Do you know why there
 is none for all SNPs and LD produced up until 1000G phase 3? What kind of restrictions is there that makes it easier to compute LD on the fly, for instance? Space maybe? </div>
<div class="">(If there actually does exist databases/tracks of LD, I would be happy to know!)</div>
<div class=""><br class="">
</div>
<div class="">Best,</div>
<div class="">Johanne</div>
<div class=""><br class="">
</div>
</div>

_______________________________________________<br class="">Dev mailing list    <a href="mailto:Dev@ensembl.org" class="">Dev@ensembl.org</a><br class="">Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" class="">http://lists.ensembl.org/mailman/listinfo/dev</a><br class="">Ensembl Blog: <a href="http://www.ensembl.info/" class="">http://www.ensembl.info/</a><br class=""></div></blockquote></div><br class=""></div></div>_______________________________________________<br class="">Dev mailing list    <a href="mailto:Dev@ensembl.org" class="">Dev@ensembl.org</a><br class="">Posting guidelines and subscribe/unsubscribe info: <a href="http://lists.ensembl.org/mailman/listinfo/dev" class="">http://lists.ensembl.org/mailman/listinfo/dev</a><br class="">Ensembl Blog: <a href="http://www.ensembl.info/" class="">http://www.ensembl.info/</a><br class=""></blockquote></div><br class=""></div></div></body></html>