<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="">Hi Johanne,<div class=""><br class=""></div><div class=""><div class="">There are cases when the script cannot return LD values between two SNPs even though they are located on the same chromosome:</div><div class="">- A variant has a minor allele frequency close or equal to 0</div><div class="">- A variant does not have enough genotypes to calculate LD values</div><div class="">- Estimated r2 values are below 0.05 and have been filtered out</div><div class=""><br class=""></div><div class="">The last reason seems to be the case for rs6678275 and rs6656401. I just compared their genotypes for 1000GENOMES:phase_3:CEU and they differ for many samples:</div><div class="">rs6678275</div><div class=""><a href="http://www.ensembl.org/Homo_sapiens/Variation/Sample?db=core;r=1:193655603-193656603;v=rs6678275;vdb=variation;vf=104742563#373514_tablePanel" class="">http://www.ensembl.org/Homo_sapiens/Variation/Sample?db=core;r=1:193655603-193656603;v=rs6678275;vdb=variation;vf=104742563#373514_tablePanel</a></div><div class=""><br class=""></div><div class="">rs6656401</div><div class=""><a href="http://www.ensembl.org/Homo_sapiens/Variation/Sample?db=core;r=1:207518204-207519204;v=rs6656401;vdb=variation;vf=104722274#373514_tablePanel" class="">http://www.ensembl.org/Homo_sapiens/Variation/Sample?db=core;r=1:207518204-207519204;v=rs6656401;vdb=variation;vf=104722274#373514_tablePanel</a></div><div class=""><br class=""></div><div class="">So you are using the function correctly. But it can be the case that two SNPs don't have LD values.</div><div class=""><br class=""></div><div class="">Computing r2 values for all pairwise SNPs on one chromosome can take a very long time. It would make sense to split the chromosome into chunks and then compute LD values for this region. You can use fetch_by_Slice for this (<a href="http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1DBSQL_1_1LDFeatureContainerAdaptor.html#ac5fe7e8519a161611200c278744d9b14" class="">http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1DBSQL_1_1LDFeatureContainerAdaptor.html#ac5fe7e8519a161611200c278744d9b14</a>). Here is a tutorial of how to define a region and pass the region on to the LDFeatureContainerAdaptor: <a href="http://www.ensembl.org/info/docs/api/variation/variation_tutorial.html#ld" class="">http://www.ensembl.org/info/docs/api/variation/variation_tutorial.html#ld</a>.</div><div class=""><br class=""></div><div class="">It might also be worth to have a look at different software: PLINK can list all inter-chromosomal SNPs pairs. There is a warning that this will take a long time: <a href="http://pngu.mgh.harvard.edu/~purcell/plink/ld.shtml" class="">http://pngu.mgh.harvard.edu/~purcell/plink/ld.shtml</a>.</div><div class=""><br class=""></div><div class="">Best,</div><div class="">Anja</div></div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On 29 Feb 2016, at 09:00, 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="">
<div class=""><br class="">
</div>
<div class="">
<div class="">
<div class="">Dear Ensembl dev team,</div>
<div class=""><br class="">
</div>
<div class="">I try to get rsquare between two SNPs (on the same chromosome). When I use the ldFeatureContainer function get_r_square, however, I get a warning and no return rsquare value. Here is the function signature from the documentation:</div>
<div class=""><br class="">
</div>
<div class="">
<pre class="fragment" style="font-family: monospace, fixed; font-size: 9pt; margin: 4px 8px 4px 2px; line-height: 15px; border: 1px solid rgb(196, 207, 229); background-color: rgb(251, 252, 253); padding: 4px 6px; overflow: auto; word-wrap: break-word;">$r_square = $obj->get_r_square($vf1,$vf2,$population_id);</pre>
<div class=""><br class="">
</div>
</div>
<div class="">The script I am using is the following:</div>
<div class=""><br class="">
</div>
<div class=""><font face="Courier New" class=""># START SCRIPT</font></div>
<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=""><span class="Apple-tab-span" style="white-space: pre;"></span>-host => '<a href="http://ensembldb.ensembl.org/" class="">ensembldb.ensembl.org</a>',</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>-user => 'anonymous'</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=""># Connect to the databases:</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="">my $ldfc_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'ldfeaturecontainer');</font></div>
<div class=""><font face="Courier New" class="">my $pop_adaptor = $registry->get_adaptor('homo_sapiens', 'variation', 'population');</font></div>
<div class=""><font face="Courier New" class="">$variation_adaptor->db->use_vcf(1);</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $ld_population = $pop_adaptor->fetch_by_name('1000GENOMES:phase_3:CEU');</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""># Build tagSNP list of SNPs on same chromosome:</font></div>
<div class=""><font face="Courier New" class="">my $tagSNP1 = 'rs6678275';</font></div>
<div class=""><font face="Courier New" class="">my $tagSNP2 = 'rs6656401';</font></div>
<div class=""><font face="Courier New" class="">my @variations;</font></div>
<div class=""><font face="Courier New" class="">push (@variations, $variation_adaptor->fetch_by_name($tagSNP1));</font></div>
<div class=""><font face="Courier New" class="">push (@variations, $variation_adaptor->fetch_by_name($tagSNP2));</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my @all_features;</font></div>
<div class=""><font face="Courier New" class="">foreach my $variation (@variations) {</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my @var_features = @{ $variation->get_all_VariationFeatures() };</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>foreach my $vf (@var_features) {</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>push (@all_features, $vf);</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="">}</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">my $ldfc = $ldfc_adaptor->fetch_by_VariationFeatures(\@all_features, $ld_population);</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""># Print r2 between all SNPs:</font></div>
<div class=""><font face="Courier New" class="">foreach my $vf (@all_features) {</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>foreach my $vf2 (@all_features) {</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $rsid = $vf->name;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $rsid2 = $vf2->name;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $start = $vf->start;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $start2 = $vf2->start;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $region = $vf->seq_region_name;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $region2 = $vf2->seq_region_name;</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>print "$region\t$rsid\t$start\n";</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>print "$region2\t$rsid2\t$start2\n";</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>my $r2 = $ldfc->get_r_square($vf, $vf2);</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space: pre;"></span>#print "\tr2=$r2\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="">}</font></div>
</div>
<div class=""><font face="Courier New" class=""># END SCRIPT</font></div>
<div class=""><br class="">
</div>
<div class="">I get this printout:</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><font face="Courier New" class="">$ perl rsquareTagSNPs.pl out_tagsnps.txt 0.9</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6678275<span class="Apple-tab-span" style="white-space:pre"> </span>193656103</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6678275<span class="Apple-tab-span" style="white-space:pre"> </span>193656103</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">-------------------- WARNING ----------------------</font></div>
<div class=""><font face="Courier New" class="">MSG: variation features have no pairwise ld information</font></div>
<div class=""><font face="Courier New" class="">FILE: EnsEMBL/Variation/LDFeatureContainer.pm LINE: 207</font></div>
<div class=""><font face="Courier New" class="">CALLED BY: rsquareTagSNPs.pl  LINE: 59</font></div>
<div class=""><font face="Courier New" class="">Date (localtime)    = Mon Feb 29 09:47:44 2016</font></div>
<div class=""><font face="Courier New" class="">Ensembl API version = 83</font></div>
<div class=""><font face="Courier New" class="">---------------------------------------------------</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6678275<span class="Apple-tab-span" style="white-space:pre"> </span>193656103</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6656401<span class="Apple-tab-span" style="white-space:pre"> </span>207518704</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">-------------------- WARNING ----------------------</font></div>
<div class=""><font face="Courier New" class="">MSG: variation features have no pairwise ld information</font></div>
<div class=""><font face="Courier New" class="">FILE: EnsEMBL/Variation/LDFeatureContainer.pm LINE: 207</font></div>
<div class=""><font face="Courier New" class="">CALLED BY: rsquareTagSNPs.pl  LINE: 59</font></div>
<div class=""><font face="Courier New" class="">Date (localtime)    = Mon Feb 29 09:47:44 2016</font></div>
<div class=""><font face="Courier New" class="">Ensembl API version = 83</font></div>
<div class=""><font face="Courier New" class="">---------------------------------------------------</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6656401<span class="Apple-tab-span" style="white-space:pre"> </span>207518704</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6678275<span class="Apple-tab-span" style="white-space:pre"> </span>193656103</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">-------------------- WARNING ----------------------</font></div>
<div class=""><font face="Courier New" class="">MSG: variation features have no pairwise ld information</font></div>
<div class=""><font face="Courier New" class="">FILE: EnsEMBL/Variation/LDFeatureContainer.pm LINE: 207</font></div>
<div class=""><font face="Courier New" class="">CALLED BY: rsquareTagSNPs.pl  LINE: 59</font></div>
<div class=""><font face="Courier New" class="">Date (localtime)    = Mon Feb 29 09:47:44 2016</font></div>
<div class=""><font face="Courier New" class="">Ensembl API version = 83</font></div>
<div class=""><font face="Courier New" class="">---------------------------------------------------</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6656401<span class="Apple-tab-span" style="white-space:pre"> </span>207518704</font></div>
<div class=""><font face="Courier New" class="">1<span class="Apple-tab-span" style="white-space:pre">
</span>rs6656401<span class="Apple-tab-span" style="white-space:pre"> </span>207518704</font></div>
<div class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class=""><font face="Courier New" class="">-------------------- WARNING ----------------------</font></div>
<div class=""><font face="Courier New" class="">MSG: variation features have no pairwise ld information</font></div>
<div class=""><font face="Courier New" class="">FILE: EnsEMBL/Variation/LDFeatureContainer.pm LINE: 207</font></div>
<div class=""><font face="Courier New" class="">CALLED BY: rsquareTagSNPs.pl  LINE: 59</font></div>
<div class=""><font face="Courier New" class="">Date (localtime)    = Mon Feb 29 09:47:44 2016</font></div>
<div class=""><font face="Courier New" class="">Ensembl API version = 83</font></div>
<div class=""><font face="Courier New" class="">---------------------------------------------------</font></div>
</div>
<div class=""><br class="">
</div>
<div class="">Am I using the function on the wrong kind of ldfc? Or have I misunderstood the documentation? The ultimate goal of my script is to find r2 between all SNPs/rsIDs I pass to the script which are on the same chromosome.</div>
<div class=""><br class="">
</div>
<div class="">Best,</div>
<div class="">Johanne Håøy Horn</div>
<div class=""><br class="">
</div>
</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>