<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000066" bgcolor="#FFFFFF">
Hello Will,<br>
<br>
I already had enabled "check_existing" on my VEP config template,
however I followed your advice and updated code to force in the
new() method with your code.<br>
I'm still getting no prints of line 64:<br>
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<span class="pl-c1" style="box-sizing: border-box; color: rgb(0,
134, 179); font-family: Consolas, 'Liberation Mono', Menlo,
Courier, monospace; font-size: 12px; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing: normal;
line-height: 16.7999992370605px; orphans: auto; text-align: start;
text-indent: 0px; text-transform: none; white-space: pre; widows:
1; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255);"><br>
print</span><span style="color: rgb(51, 51, 51); font-family:
Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size:
12px; font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: 16.7999992370605px;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: pre; widows: 1; word-spacing:
0px; -webkit-text-stroke-width: 0px; display: inline !important;
float: none; background-color: rgb(255, 255, 255);"> Dumper(</span><span
class="pl-smi" style="box-sizing: border-box; color: rgb(51, 51,
51); font-family: Consolas, 'Liberation Mono', Menlo, Courier,
monospace; font-size: 12px; font-style: normal; font-variant:
normal; font-weight: normal; letter-spacing: normal; line-height:
16.7999992370605px; orphans: auto; text-align: start; text-indent:
0px; text-transform: none; white-space: pre; widows: 1;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255);">$pf</span><span
class="pl-k" style="box-sizing: border-box; color: rgb(167, 29,
93); font-family: Consolas, 'Liberation Mono', Menlo, Courier,
monospace; font-size: 12px; font-style: normal; font-variant:
normal; font-weight: normal; letter-spacing: normal; line-height:
16.7999992370605px; orphans: auto; text-align: start; text-indent:
0px; text-transform: none; white-space: pre; widows: 1;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255);">-></span><span
style="color: rgb(51, 51, 51); font-family: Consolas, 'Liberation
Mono', Menlo, Courier, monospace; font-size: 12px; font-style:
normal; font-variant: normal; font-weight: normal; letter-spacing:
normal; line-height: 16.7999992370605px; orphans: auto;
text-align: start; text-indent: 0px; text-transform: none;
white-space: pre; widows: 1; word-spacing: 0px;
-webkit-text-stroke-width: 0px; display: inline !important; float:
none; background-color: rgb(255, 255, 255);">phenotype());<br>
</span><br>
Are you getting any output printed? As I said I get no errors but
nothing is printed neither. This data dumper should be printing
result of phenotype() method call.<br>
<br>
Regards,<br>
Guillermo.<br>
<br>
<br>
<div class="moz-cite-prefix">On 26/03/15 11:05, Will McLaren wrote:<br>
</div>
<blockquote
cite="mid:CAMVEDX3XVqa=+tJur8YvgrLRtx5zFYd7R+4sGOKh9Jg+gzJkvg@mail.gmail.com"
type="cite">
<div dir="ltr">I think perhaps you haven't enabled
--check_existing; this is required for $vf->{existing} to get
populated.<br>
<div><br>
</div>
<div>You can force it on in the new() method of your plugin:</div>
<div><br>
</div>
<div>$self->{config}->{check_existing} = 1;</div>
<div><br>
</div>
<div>It then works for me on release/75 and release/79.</div>
<div><br>
</div>
<div>Will</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 25 March 2015 at 17:35, 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" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000066" bgcolor="#FFFFFF"> Hello Will,<br>
<br>
With your explanations I'm trying to call phenotype (as
you said I was accessing the hashref directly).<br>
I'm using input set you linked. However my local Ensembl
installation is v75.<br>
<br>
This is the code of the plugin:<br>
<a moz-do-not-send="true"
href="https://github.com/guillermomarco/vep/blob/master/Clinvar.pm"
target="_blank">https://github.com/guillermomarco/vep/blob/master/Clinvar.pm</a><br>
<br>
I'm getting absolutelty no info nor errors. I've no idea
if this is an issue with my database/API version or with
the plugin code itself.<br>
<br>
Regards,<br>
Guillermo.
<div>
<div class="h5"><br>
<br>
<br>
<div>On 16/03/15 17:50, Will McLaren wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">The "is_significant" field is an
internal flag that doesn't necessarily have the
meaning you expect; it is used to distinguish
between genuine reported associations and e.g.
non-significant associations reported from
genome-wide studies.
<div><br>
</div>
<div>You should not see undef for phenotype; I
suspect you are accessing the hashref directly
($pf->{phenotype}) rather than making the
method call ($pf->phenotype()).</div>
<div><br>
</div>
<div>You could try <a moz-do-not-send="true"
href="ftp://ftp.ensembl.org/pub/release-79/variation/vcf/homo_sapiens/Homo_sapiens_clinically_associated.vcf.gz"
target="_blank">ftp://ftp.ensembl.org/pub/release-79/variation/vcf/homo_sapiens/Homo_sapiens_clinically_associated.vcf.gz</a>
as a test input set.</div>
<div><br>
</div>
<div>Will</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 16 March 2015 at
16:39, 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>
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.
<div>
<div><br>
<br>
<div>On 16/03/15 16:16, Will McLaren
wrote:<br>
</div>
<blockquote type="cite">
<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><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><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>
</div>
</div>
</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>
<br>
<pre>_______________________________________________
Dev mailing list <a moz-do-not-send="true" href="mailto:Dev@ensembl.org" target="_blank">Dev@ensembl.org</a>
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>
Ensembl Blog: <a moz-do-not-send="true" href="http://www.ensembl.info/" target="_blank">http://www.ensembl.info/</a>
</pre>
</blockquote>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Dev mailing list <a moz-do-not-send="true"
href="mailto:Dev@ensembl.org">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 class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Dev mailing list <a class="moz-txt-link-abbreviated" href="mailto:Dev@ensembl.org">Dev@ensembl.org</a>
Posting guidelines and subscribe/unsubscribe info: <a class="moz-txt-link-freetext" href="http://lists.ensembl.org/mailman/listinfo/dev">http://lists.ensembl.org/mailman/listinfo/dev</a>
Ensembl Blog: <a class="moz-txt-link-freetext" href="http://www.ensembl.info/">http://www.ensembl.info/</a>
</pre>
</blockquote>
</body>
</html>