<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000066" bgcolor="#FFFFFF">
    Hi Will,<br>
    <br>
    Thank you for your quick response! Very clarifying.<br>
    <br>
    I guess that the way to retrieve ClinVar data I posted is correct.
    With my test dataset I've only seen "is_significant" values of "1"
    and undef 'phenotype' values. I think I need a synthetic vcf with
    ClinVar annotation variants to very that the plugin is working.<br>
    <br>
    I've been looking on Ensembl website for a test dataset. I think you
    don't provide any right? Correct me if I'm wrong.<br>
    <br>
    Thanks!<br>
    <br>
    Regards,<br>
    Guillermo.<br>
    <br>
    <div class="moz-cite-prefix">On 16/03/15 16:16, Will McLaren wrote:<br>
    </div>
    <blockquote
cite="mid:CAMVEDX3ehusd2QR2eJ=Fb1U+po2emfUQyE7b56gV7R=U4WSkMg@mail.gmail.com"
      type="cite">
      <meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi Guillermo,
        <div><br>
        </div>
        <div>To get the rest of that data in the table you need to
          access the additional attributes of the PhenotypeFeature
          object, something like:</div>
        <div><br>
        </div>
        <div>my $attr = $pfs->[0]->get_all_attributes;<br>
        </div>
        <div>print "$_:".$attr->{$_}."\t" for keys %$attr;</div>
        <div>print "\n;</div>
        <div><br>
        </div>
        <div>Regards</div>
        <div><br>
        </div>
        <div>Will</div>
        <div><br>
        </div>
        <div>More info: the reason these data are stored as attributes
          is due to the diverse data sources and types that we import
          into our phenotype schema; to create a database column and
          corresponding API method for each data type (p-value, review
          status, risk allele, external ID etc etc) would be cumbersome
          and inefficient. To this end we provide a few methods that
          shortcut the attribute approach for the most common data
          types; everything else must be accessed through the attributes
          method. This is a common theme across the Ensembl API.</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 13 March 2015 at 12:03, Guillermo
          Marco Puche <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:guillermo.marco@sistemasgenomicos.com"
              target="_blank">guillermo.marco@sistemasgenomicos.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote">
            <div> Hi,<br>
              <br>
              I'm trying to retrieve ClinVar information with the code
              example you provided.<span class=""><br>
                <br>
                    my $self = shift;<br>
                    my $tva = shift;<br>
                    my $vf = $tva->variation_feature;<br>
                    my $pfa =
$self->{config}->{reg}->get_adaptor('human','variation','phenotypefeature');<br>
                    <br>
                    foreach my $known_var(@{$vf->{existing} || []}) {<br>
                        foreach my
                $pf(@{$pfa->fetch_all_by_object_id($known_var->{variation_name})})
                {<br>
              </span>             if ($pf->{'source'} eq
              "dbSNP_ClinVar"){<br>
                              print
              "$pf->{'source'}\t$pf->{'external_id'}\t$pf->{'is_significant'}\t$pf->{'phenotype'}\n",

              ;<br>
                          }<br>
                      }<br>
                  }<br>
              <br>
              As you can see I'm "filtering" the results to only output
              phenotype feature when source is dbSNP_ClinVar. I don't
              know why but I guess filtering should be done when doing
              the "fetch_all".<br>
              <br>
              On the other hand I'm trying to retrieve Disease, Source
              and Clinical Significance from this example table:
              <a moz-do-not-send="true"
href="http://www.ensembl.org/Homo_sapiens/Variation/Phenotype?db=core;r=8:19955518-19956518;v=rs268;vdb=variation;vf=266"
                target="_blank">http://www.ensembl.org/Homo_sapiens/Variation/Phenotype?db=core;r=8:19955518-19956518;v=rs268;vdb=variation;vf=266</a><br>
              <br>
              I think I'm doing something wrong I got totally lost in
              Phenotypefeature.<br>
              <br>
              Regards,<br>
              Guillermo.
              <div>
                <div class="h5"><br>
                  <br>
                  <div>On 02/03/15 16:05, Will McLaren wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">If you enable the --check_existing
                      flag when you run the VEP, you'll be able to see
                      any known co-located variants attached to the
                      VariationFeature object in your plugin:
                      <div><br>
                      </div>
                      <div>sub run {</div>
                        my $self = shift;
                      <div>  my $tva = shift;</div>
                      <div>  my $vf = $tva->variation_feature;</div>
                      <div><br>
                      </div>
                      <div>  foreach my $known_var(@{$vf->{existing}
                        || []}) {</div>
                      <div>     # do stuff</div>
                      <div>  }</div>
                      <div>}</div>
                      <div><br>
                      </div>
                      <div>The $known_var is not an API object but a
                        simple hashref with a number of fields; you're
                        probably interested in $known_var->{clin_sig}</div>
                      <div><br>
                      </div>
                      <div>However, as I mentioned, this is the only
                        data that is stored in the cache. To access the
                        rating and the specific disease association,
                        you'll need to make calls to the database by
                        getting an adaptor, something like:</div>
                      <div><br>
                      </div>
                      <div>
                        <div>sub run {</div>
                        <div>  my $self = shift;</div>
                        <div>  my $tva = shift;</div>
                        <div>  my $vf = $tva->variation_feature;</div>
                        <div>  my $pfa =
$self->{config}->{reg}->get_adaptor('human','variation','phenotypefeature');</div>
                        <div><br>
                        </div>
                        <div>  foreach my
                          $known_var(@{$vf->{existing} || []}) {</div>
                        <div>     foreach my
                          $pf(@{$pfa->fetch_all_by_object_id($known_var->{variation_name})})
                          {</div>
                        <div>       # do stuff</div>
                        <div>     }</div>
                        <div>  }</div>
                        <div>}</div>
                      </div>
                      <div><br>
                      </div>
                      <div>Be aware that this will access the database,
                        so unless you have a local copy please don't run
                        this sort of code on genome-wide VCFs using our
                        public DB server.</div>
                      <div><br>
                      </div>
                      <div>Regards</div>
                      <div><br>
                      </div>
                      <div>Will</div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On 2 March 2015 at 14:47,
                        Guillermo Marco Puche <span dir="ltr"><<a
                            moz-do-not-send="true"
                            href="mailto:guillermo.marco@sistemasgenomicos.com"
                            target="_blank">guillermo.marco@sistemasgenomicos.com</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote">
                          <div> Hi Will,<br>
                            <br>
                            Indeed I'm looking to retrieve this
                            information from VEP plugin.<br>
                            <br>
                            Regards,<br>
                            Guillermo.
                            <div>
                              <div><br>
                                <br>
                                <div>On 02/03/15 15:25, Will McLaren
                                  wrote:<br>
                                </div>
                                <blockquote type="cite">
                                  <div dir="ltr">Hi Guillermo,
                                    <div><br>
                                    </div>
                                    <div>The detailed ClinVar
                                      information is stored against
                                      PhenotypeFeature objects (each
                                      SNP/disease pairing gets its own
                                      entry in ClinVar, e.g. <a
                                        moz-do-not-send="true"
                                        href="http://www.ncbi.nlm.nih.gov/clinvar/RCV000019691.2"
                                        target="_blank">http://www.ncbi.nlm.nih.gov/clinvar/RCV000019691.2</a>, <a
                                        moz-do-not-send="true"
                                        href="http://www.ncbi.nlm.nih.gov/clinvar/RCV000019692.2/"
                                        target="_blank">http://www.ncbi.nlm.nih.gov/clinvar/RCV000019692.2/</a>, <a
                                        moz-do-not-send="true"
                                        href="http://www.ncbi.nlm.nih.gov/clinvar/RCV000019693.2/"
                                        target="_blank">http://www.ncbi.nlm.nih.gov/clinvar/RCV000019693.2/</a>
                                      for rs699).</div>
                                    <div><br>
                                    </div>
                                    <div>The rating (and indeed the
                                      clinical significance) is stored
                                      as an attribute on the
                                      PhenotypeFeature object; you can
                                      retrieve this with the
                                      get_all_attributes() method.</div>
                                    <div><br>
                                    </div>
                                    <div>See <a moz-do-not-send="true"
href="http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1PhenotypeFeature.html"
                                        target="_blank">http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1PhenotypeFeature.html</a>
                                      and <a moz-do-not-send="true"
href="http://www.ensembl.org/info/docs/api/variation/variation_tutorial.html#phenotype"
                                        target="_blank">http://www.ensembl.org/info/docs/api/variation/variation_tutorial.html#phenotype</a>
                                      for more info.</div>
                                    <div><br>
                                    </div>
                                    <div><span>Bio::EnsEMBL::Variation::</span><span>Utils::VEP::get_clin_sig()


                                        is an internal method that you
                                        should not use.</span></div>
                                    <div><span><br>
                                      </span></div>
                                    <div><span>The VEP cache contains
                                        the list of clinical
                                        significance states for each
                                        variant, but neither the disease
                                        association or the rating. If
                                        you want help getting access to
                                        this data via a plugin, let me
                                        know as it's a little more
                                        involved than the API methods
                                        above (though it is faster as no
                                        database access is required).</span><br>
                                    </div>
                                    <div><br>
                                    </div>
                                    <div>Regards</div>
                                    <div><br>
                                    </div>
                                    <div>Will McLaren</div>
                                    <div>Ensembl Variation</div>
                                  </div>
                                  <div class="gmail_extra"><br>
                                    <div class="gmail_quote">On 2 March
                                      2015 at 14:06, Guillermo Marco
                                      Puche <span dir="ltr"><<a
                                          moz-do-not-send="true"
                                          href="mailto:guillermo.marco@sistemasgenomicos.com"
                                          target="_blank">guillermo.marco@sistemasgenomicos.com</a>></span>
                                      wrote:<br>
                                      <blockquote class="gmail_quote">
                                        <div> Dear devs,<br>
                                          <br>
                                          I'm looking forward to
                                          retrieve ClinVar information
                                          and add it to VEP annotation.
                                          From my understanding I should
                                          be able to retrieve "Clinical
                                          significance" and "ClinVar
                                          Rating".<br>
                                          <br>
                                          I've been looking the Varation
                                          API, and I'm confused. I guess
                                          for significance I should use
                                          Bio::EnsEMBL::Variation::Utils::VEP::get_clin_sig()

                                          or
Bio::EnsEMBL::Variation::VariationFeature::get_all_clinical_significance_states().<br>
                                          <br>
                                          What about ClinVar rating? Is
                                          it possible to retrieve it
                                          from API?<br>
                                          <br>
                                          Thanks!<br>
                                          <br>
                                          Regards,<br>
                                          Guillermo.<br>
                                          <br>
                                          <br>
                                        </div>
                                        <br>
_______________________________________________<br>
                                        Dev mailing list    <a
                                          moz-do-not-send="true"
                                          href="mailto:Dev@ensembl.org"
                                          target="_blank">Dev@ensembl.org</a><br>
                                        Posting guidelines and
                                        subscribe/unsubscribe info: <a
                                          moz-do-not-send="true"
                                          href="http://lists.ensembl.org/mailman/listinfo/dev"
                                          target="_blank">http://lists.ensembl.org/mailman/listinfo/dev</a><br>
                                        Ensembl Blog: <a
                                          moz-do-not-send="true"
                                          href="http://www.ensembl.info/"
                                          target="_blank">http://www.ensembl.info/</a><br>
                                        <br>
                                      </blockquote>
                                    </div>
                                    <br>
                                  </div>
                                  <br>
                                  <fieldset></fieldset>
                                </blockquote>
                              </div>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                    </div>
                  </blockquote>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
  </body>
</html>