<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">hi,<div><br></div><div>i'm having a bit of trouble fetching all of the phenotypic variants.</div><div><br></div><div>i've written a script, following the example in your documentation, to fetch all the variants in 'ph_variants' set using an iterator from VariantSets.  but i don't think it's enough variants...i only seem to fetch ~5068.</div><div><br></div><div>in particular, i've tried looking for some specific rs ids in my output that have phenotypes, and they don't show up.  for example, take rs10757274.</div><div><a href="http://uswest.ensembl.org/Homo_sapiens/Variation/Phenotype?db=core;r=9:22095555-22096555;v=rs10757274;vdb=variation;vf=7132897">http://uswest.ensembl.org/Homo_sapiens/Variation/Phenotype?db=core;r=9:22095555-22096555;v=rs10757274;vdb=variation;vf=7132897</a></div><div>if i look at my output for rs10757274, it doesn't show up.  however, if i specifically query for that variant (using a variant adaptor directly), i can fetch it and it's VariantFeatures, and it says it is in the ph_variants set.</div><div><br></div><div>not sure i understand this discrepancy.  perhaps the recursion (fetching of the subfeatures) in the API isn't working?</div><div><br></div><div>here's a simple version of my code that just counts the variations found.  it ought to print a statement if it finds the rsid, but it never prints it.  i also include the code that fetches that rsid directly, where it shows all the variationsets it's found in.</div><div><br></div><div>note, i'm using ensembl v72. </div><div><br></div><div>any ideas?</div><div><br></div><div>Nicole</div><div><span class="Apple-style-span" style="font-family: Courier; font-size: x-small; "><br></span></div><div><br></div><div><div><font class="Apple-style-span" face="Courier" size="1">##########  OUTPUT  ################</font></div></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><div><font class="Apple-style-span" face="Courier" size="1">Fetching ensembl variants.</font></div><div><font class="Apple-style-span" face="Courier" size="1">Started: Tue Aug 27 09:30:59 2013 </font></div><div><font class="Apple-style-span" face="Courier" size="1">Initializing...</font></div><div><font class="Apple-style-span" face="Courier" size="1">  Connecting to Ensembl Variation DB...0 but trueDone.</font></div><div><font class="Apple-style-span" face="Courier" size="1">...................................................There are 5068 variants in the 'ph_variants'.</font></div></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1"><div>rs10757274 found in the following sets: 1kg_amr,Cardio-Metabo_Chip,1kg_amr_com,hapmap_hcb,1kg_asn,1kg_eur,ind_watson,hapmap_yri,1kg_afr_com,1kg_asn_com,ind_angrist,1kg_eur_com,ind_yh,hapmap,ph_variants,ph_nhgri,ind_gill,ind_venter,1kg_afr,HumanOmni1-Quad,HumanOmni2.5,ind_sjk,1kg_com,hapmap_jpt,ph_omim,1kg,Illumina_1M-duo</div><div><br></div></font></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1">##########  CODE FOR VARIANTSETS  ################</font></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><div><font class="Apple-style-span" face="Courier" size="1">$registry->load_registry_from_db(</font></div><div><font class="Apple-style-span" face="Courier" size="1">        -host => 'useastdb.ensembl.org',</font></div><div><font class="Apple-style-span" face="Courier" size="1">#-host => 'ensembldb.ensembl.org', #this is ~4x slower</font></div><div><font class="Apple-style-span" face="Courier" size="1">        -user => 'anonymous',</font></div><div><font class="Apple-style-span" face="Courier" size="1">        -port => '5306'</font></div><div><font class="Apple-style-span" face="Courier" size="1">        );</font></div><div><font class="Apple-style-span" face="Courier" size="1">print STDOUT "Done.\n";</font></div></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><div><font class="Apple-style-span" face="Courier" size="1">my $species = 'homo_sapiens';</font></div></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><div><font class="Apple-style-span" face="Courier" size="1">my $vs_adaptor = $registry->get_adaptor($species,'variation','variationset');</font></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1">my $variant_set = "ph_variants";  #variants from all sources</font></div><div><font class="Apple-style-span" face="Courier" size="1">my $vs = $vs_adaptor->fetch_by_short_name($variant_set);</font></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1">my $limit = 999999;  #</font></div><div><font class="Apple-style-span" face="Courier" size="1">my $fetched = 0;</font></div><div><font class="Apple-style-span" face="Courier" size="1">my $it = $vs->get_Variation_Iterator();</font></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1">#for testing, only print the first $limit</font></div><div><font class="Apple-style-span" face="Courier" size="1">while ($fetched < $limit && $it->has_next()) {</font></div><div><font class="Apple-style-span" face="Courier" size="1">  my $var = $it->next();</font></div><div><font class="Apple-style-span" face="Courier" size="1">  print STDOUT "Found $rsid, number $fetched.\n" if ($var->name() eq $rsid);</font></div><div><font class="Apple-style-span" face="Courier" size="1">  print STDOUT "." if ($fetched % 100 == 0);</font></div><div><font class="Apple-style-span" face="Courier" size="1">  $fetched++;</font></div><div><font class="Apple-style-span" face="Courier" size="1">}</font></div><div><font class="Apple-style-span" face="Courier" size="1">print "There are $fetched variants in the \'$variant_set\'.\n";</font></div></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1">##########  CODE FOR VARIANT ################</font></div><div><font class="Apple-style-span" face="Courier" size="1"><br></font></div><div><font class="Apple-style-span" face="Courier" size="1"><div>my $rsid = 'rs10757274';</div><div>my $variation = $variation_adaptor->fetch_by_name($rsid);</div><div><br></div><div>my @sets = ();</div><div>for my $vf (@{$variation->get_all_VariationFeatures()}) {</div><div>  for my $vs (@{$vf->get_all_VariationSets()}) {</div><div>    push(@sets,$vs->short_name());</div><div>  }</div><div>}</div><div>print "$rsid found in the following sets: " . join(",",uniq @sets) . "\n";</div><div><br></div></font></div><div><br></div></body></html>