<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="">
Thank you for the fix and explanation!
<div class=""><br class="">
</div>
<div class="">I now get a different error message when fetching LDFeatureContainer, however. I have attached the input file of rsIDs I pass to the script. With the script pasted at the end of this email, I get this error:</div>
<div class="">
<div class=""><font face="Courier New" class="">$ perl expandSNPs.pl ldSNPs.txt</font></div>
<div class=""><font face="Courier New" class="">1000GENOMES:phase_3:CEU</font></div>
<div class=""><font face="Courier New" class="">after ldfc</font></div>
<div class=""><font face="Courier New" class="">after ld values</font></div>
<div class=""><font face="Courier New" class="">1000GENOMES:phase_3:CEU</font></div>
<div class=""><font face="Courier New" class="">TabixIterator::tabix_iter_free: iter is not of type ti_iter_t at /Users/Johanne/src/ensembl-io/modules/Bio/EnsEMBL/IO/TabixParser.pm line 91, <> line 2.</font></div>
</div>
<div class=""><br class="">
</div>
<div class="">The error seems to occur if $ldfc_adaptor->fetch_by_VariationFeature($vf, $ld_population); is called more than once, as I get the exact same error message if I use a larger number of SNPs.</div>
<div class=""><br class="">
</div>
<div class="">__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="">open (OUT, ">expandedSNPS.txt");</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=""># Print out all available populations:</font></div>
<div class=""><font face="Courier New" class="">#my $ld_populations = $pop_adaptor->fetch_all_LD_Populations();</font></div>
<div class=""><font face="Courier New" class="">#foreach my $ld_pop (@$ld_populations) {</font></div>
<div class=""><font face="Courier New" class="">#<span class="Apple-tab-span" style="white-space:pre">
</span>print $ld_pop->name, "\n";</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 $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=""># Loop through all SNPs available and find SNPs in LD</font></div>
<div class=""><font face="Courier New" class="">while(<>) {</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>chomp;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>my $variation_name = $_;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>my $variation = $variation_adaptor->fetch_by_name($variation_name);</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=""><br class="">
</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>my $rsid = $vf->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 $region = $vf->seq_region_name;</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>print OUT "$rsid\t$start\t$region\n";</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>print $ld_population->name, "\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 $ldfc = $ldfc_adaptor->fetch_by_VariationFeature($vf, $ld_population);</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>print "after ldfc\n";</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>my @ld_values = @{ $ldfc->get_all_ld_values() };</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>print "after ld values\n";</font></div>
<div class=""><font face="Courier New" class="">      <span class="Apple-tab-span" style="white-space:pre">
</span>foreach my $ld_hash (@ld_values) {</font></div>
<div class=""><font face="Courier New" class=""><span class="Apple-tab-span" style="white-space:pre"></span>       
<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><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>       
<span class="Apple-tab-span" style="white-space:pre"></span>my $pos1 = $ld_hash->{variation1}->seq_region_name;</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span><span class="Apple-tab-span" style="white-space:pre"></span>my $pos2 = $ld_hash->{variation2}->seq_region_name;</font></div>
<div class=""><font face="Courier New" class="">        <span class="Apple-tab-span" style="white-space:pre">
</span>print OUT "\t$variation_name1 $pos1\t$variation_name2 $pos2\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=""><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="">print "done\n";</font></div>
<div class=""><font face="Courier New" class="">close OUT;</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 class=""><font face="Courier New" class=""><br class="">
</font></div>
<div class="">Best,</div>
<div class="">Johanne</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""></div>
</div>
</body>
</html>