<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="">Dear Johanne,<div class=""><br class=""></div><div class="">I would recommend using the LDFeatureContainerAdaptor. I have written a small script to show you how to use the adaptor. In order to avoid exceeding the number of genotypes as is printed in the error message, you should define a population and variation feature for which you want to compute LD data. I print all the populations for which we can compute LD data in the beginning of the script. We have been working on speeding up our LD computation. The improvements are going into the next release/84 which will be out in March.</div><div class=""><br class=""></div><div class="">..</div><div class=""><div class="">my $variation_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'variation' );</div><div class="">my $ldfc_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'ldfeaturecontainer');</div><div class="">my $population_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'population');</div><div class="">$variation_adaptor->db->use_vcf(1); # To get 1000G phase 3 data also</div><div class=""><br class=""></div><div class="">my $ld_populations = $population_adaptor->fetch_all_LD_Populations();</div><div class="">foreach my $ld_population (@$ld_populations) {</div><div class="">  print $ld_population->name, "\n";</div><div class="">}</div><div class=""><br class=""></div><div class="">my $variation_name = 'rs157580';</div><div class="">my $variation = $variation_adaptor->fetch_by_name($variation_name);</div><div class="">my @vfs = @{ $variation->get_all_VariationFeatures() };</div><div class=""><br class=""></div><div class="">foreach my $vf (@vfs) {</div><div class="">  foreach my $ld_population (@$ld_populations) {</div><div class="">    print $ld_population->name, "\n";</div><div class="">    my $ldfc = $ldfc_adaptor->fetch_by_VariationFeature($vf, $ld_population);</div><div class="">    foreach my $ld_hash (@{$ldfc->get_all_ld_values}) {</div><div class="">      my $d_prime = $ld_hash->{d_prime};</div><div class="">      my $r2 = $ld_hash->{r2};</div><div class="">      my $variation_name1 = $ld_hash->{variation1}->variation_name;</div><div class="">      my $variation_name2 = $ld_hash->{variation2}->variation_name;</div><div class="">      print "$variation_name1 $variation_name2 d_prime=$d_prime r2=$r2\n";</div><div class="">    }</div><div class="">  }</div><div class="">}</div></div><div class=""><br class=""></div><div class="">Regards,</div><div class="">Anja</div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 24 Feb 2016, at 13:05, 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="">

<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="">
Dear Ensembl team,
<div class=""><br class="">
</div>
<div class="">Thank you for previous help with setting up the API!</div>
<div class=""><br class="">
</div>
<div class="">I am now able to use the API properly using the scripts of the tutorial pages of LD available from the ensembl blog and web page.</div>
<div class=""><br class="">
</div>
<div class="">What I now try to do, is to expand a list of tag/index SNPs from GWAS to include the SNPs in LD with the input SNPs. The code I have is the following:</div>
<div class=""><br class="">
</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 $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=""><font face="Courier New" class=""><br class="">
</font></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="">$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="">while (<>) {</font></div>
<div class=""><font face="Courier New" class="">    chomp; # Remove \n from input file line names</font></div>
<div class=""><font face="Courier New" class="">    my $variation = $variation_adaptor->fetch_by_name($_);</font></div>
<div class=""><font face="Courier New" class="">    print $variation->stable_id(), "\n";</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</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="">        print "get ld values\n";</font></div>
<div class=""><font face="Courier New" class="">        my $ld = $vf->get_all_LD_values();</font></div>
<div class=""><font face="Courier New" class="">        print "get ld variations\n";</font></div>
<div class=""><font face="Courier New" class="">        my @ldvs = @{ $ld->get_variations() };</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">        print "for each ld variation\n";</font></div>
<div class=""><font face="Courier New" class="">        foreach my $ldv (@ldvs) {</font></div>
<div class=""><font face="Courier New" class="">            print $ldv->stable_id();</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>
<div class=""><br class="">
</div>
<div class="">When calling $vf->get_all_LD_values I get the following error/warning:</div>
<div class=""><font face="Courier New" class="">Use of uninitialized value $gt[1] in hash element at /Users/Johanne/src/ensembl-variation/modules/Bio/EnsEMBL/Variation/DBSQL/LDFeatureContainerAdaptor.pm line 716.</font></div>
<div class=""><font face="Courier New" class="">...</font></div>
<div class="">
<div class=""><font face="Courier New" class="">Use of uninitialized value in string ne at /Users/Johanne/src/ensembl-variation/modules/Bio/EnsEMBL/Variation/DBSQL/LDFeatureContainerAdaptor.pm line 617.</font></div>
<div class=""><font face="Courier New" class="">...</font></div>
<div class=""><font face="Courier New" class="">Number of genotypes supported by the program (500) exceeded</font></div>
</div>
<div class=""><font face="Courier New" class="">...</font></div>
<div class=""><font face="Courier New" class="">Can't call method "get_all_VariationFeatures" on an undefined value at /Users/Johanne/src/ensembl-variation/modules/Bio/EnsEMBL/Variation/DBSQL/LDFeatureContainerAdaptor.pm line 870, <OUT> line 29120.</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class="">The «…» means the warning/error is printed multiple times in a row.</div>
<div class=""><br class="">
</div>
<div class="">I have described the issue in further detail here: <a href="https://www.biostars.org/p/178467/" class="">https://www.biostars.org/p/178467/</a></div>
<div class=""><br class="">
</div>
<div class="">Could you help me with what I am doing wrong? Also, is there a better way of finding all SNPs in LD with an input SNP than the one I am trying to do? Speed seems to be an issue when the number of SNPs get large.</div>
<div class=""><br class="">
</div>
<div class="">Best</div>
<div class="">Johanne Håøy Horn</div>
<div class=""><br class="">
</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></body></html>