[ensembl-dev] Variant external references: MIM_MORBID

Will McLaren wm2 at ebi.ac.uk
Tue Apr 5 09:45:07 BST 2016


Hi again,

You can retrieve the MIM ID via fetching the attributes of the phenotype
feature, use get_all_attributes()

http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1PhenotypeFeature.html#a7dfa8e10e74e9ede4d87257823ce564e

Will

On 5 April 2016 at 08:23, Guillermo Marco Puche <
guillermo.marco at sistemasgenomicos.com> wrote:

> Hi Will,
>
> Unfortunately I can't use the Phentoype.pm plugin since I can't support
> VEP annotation in JSON format at this moment.
> --check_existing and --check_alleles are enabled, for the feature types
> I'm using Transcript (I don't know if this can be the cause of the problem
> of not being able to retrieve phenotype ids):
>
> sub feature_types {
>     return ['Transcript'];
> }
>
> However with your previous answer and and old e-mail I've accomplished to
> retrieve the phenotypes:
>
>     foreach my $known_var(@{$vf->{existing} || []}) {
>         foreach my
> $pf(@{$pfa->fetch_all_by_object_id($known_var->{variation_name})}){
>             @phenotype_descriptions = ();
>             if ($pf->source_name =~ /omim/i){
>                 #do stuff with the omim phentoype
>                 push(@phenotype_descriptions, $pf->phenotype->description)
>                 #trying to retrieve the omim phenotype id however i can't
> find a way to
>                 print $pf->external_id,"\n";
>                 #however i can get the external reference (OMIM gene id)
>                 print $pf->external_reference,"\n";
>                 }
>             }
>
> Only problem left I've got is that I can't retrieve the phenotype id
> itself (MIM morbid id) in this case it should be 616126
> <http://www.omim.org/entry/616126>.
> Phentoype description and external reference are working:
>
>    - The phentoype description: $pf->phenotype->description (ie:
>    IMMUNODEFICIENCY 38 WITH BASAL GANGLIA CALCIFICATION)
>    - The phentoype external reference (OMIM gene id) related to this
>    phenotype: $pf->external_reference (ie: MIM:147571)
>
> For the ClinVar phentoypes I was able to get the ClinVar id with
> $pf->external_id however I get always an *undef* value for OMIM
> phenotypes.
>
> The VCF input record I'm using for testing is the following one extracted
> from latest GRCh38:
>
>    - 1    1014143    rs786201005    C    T    .    .
>    dbSNP_146;TSA=SNV;E_Phenotype_or_Disease;CLIN_pathogenic;AA=C
>
> Regards,
> Guillermo.
>
>
> On 04/04/16 17:43, Will McLaren wrote:
>
> Hi Guillermo,
>
> It may be that what you are trying to do is already encapsulated in our
> (new to release 84) Phenotypes plugin:
>
> https://github.com/Ensembl/VEP_plugins/blob/release/84/Phenotypes.pm
>
> It has the benefit of reducing DB lookups to a single download the first
> time you run it. It's fully configurable to retrieve phenotypes associated
> with whatever feature types (variants, genes etc) you like, as well as
> limiting by source. One caveat is that to get rich data from it you must
> currently use JSON output.
>
> If you wish to continue looking up by variant in your own plugin, you
> should enable co-located variant lookup with --check_existing (add
> --check_alleles to match alleles to your input variants), then you can use
> fetch_all_by_object_id() [1] using the rsIDs in
> $tva->variation_feature->{existing}, something like:
>
> sub run {
>   my ($self, $tva) = @_;
>
>   ### get phenotype feature adaptor $pfa somehow
>
>   foreach my $id(map {$_->{variation_name}}
> @{$tva->variation_feature->{existing} || []}) {
>     my $pfs = $pfa->fetch_all_by_object_id($id);
>
>     ### do something with the phenotype features returned
>   }
> }
>
> Cheers
>
> Will
>
> [1]
> http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1DBSQL_1_1PhenotypeFeatureAdaptor.html#a93fcd05eafcf9bae4f9b9a5754904e4c
>
> On 4 April 2016 at 16:12, Guillermo Marco Puche <
> guillermo.marco at sistemasgenomicos.com> wrote:
>
>> Hello Will,
>>
>> Code in example [1] is working perfectly for me since I would like to get
>> the phenotype features related to the variant and not to the gene. However
>> I don't how to get $var ( Variation::Variation) from inside VEP plugin.
>> I'm trying with  $self->{variant} but I'm getting always an "undef" value.
>>
>> Regards,
>> Guillermo.
>>
>>
>> On 04/04/16 14:50, Will McLaren wrote:
>>
>> Hi Guillermo,
>>
>> The data you refer to has been retracted from the Ensembl core database
>> while we resolve some issues with external reference mapping between
>> Ensembl and MIM.
>>
>> You should be able to access the same annotations via the variation API,
>> using phenotype features. [1] shows an example fetching via a variation
>> object, but you can also query by gene [2].
>>
>> Hope that helps
>>
>> Will McLaren
>> Ensembl Variation
>>
>> [1]
>> http://www.ensembl.org/info/docs/api/variation/variation_tutorial.html#phenotype
>> [2]
>> http://www.ensembl.org/info/docs/Doxygen/variation-api/classBio_1_1EnsEMBL_1_1Variation_1_1DBSQL_1_1PhenotypeFeatureAdaptor.html#aee2a195b2f6f19952f562511d3ce1a72
>>
>> On 4 April 2016 at 11:46, Guillermo Marco Puche <
>> <guillermo.marco at sistemasgenomicos.com>
>> guillermo.marco at sistemasgenomicos.com> wrote:
>>
>>> Dear devs,
>>>
>>> Up to VEP version 83 I was using the following code in a plugin to
>>> retrieve gene OMIM related information.
>>>
>>>     my @db_entries = @{$gene->get_all_DBEntries()};
>>>     foreach my $db_entry(@db_entries){
>>>         if ($db_entry->dbname eq "MIM_GENE"){
>>>             $mim_id = $db_entry->primary_id;
>>>         }
>>>         if ($db_entry->dbname eq "MIM_MORBID"){
>>>             push(@mim_morbid_ids, $db_entry->primary_id);
>>>         }
>>>     }
>>>
>>> However since I've updated to VEP 84 I don't get any MIM_MORBID db_entry
>>> associated to any gene. Has this been removed or changed location?
>>>
>>> Best regards,
>>> Guillermo.
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list    Dev at ensembl.org
>>> Posting guidelines and subscribe/unsubscribe info:
>>> http://lists.ensembl.org/mailman/listinfo/dev
>>> Ensembl Blog: http://www.ensembl.info/
>>>
>>>
>>
>>
>> _______________________________________________
>> Dev mailing list    Dev at ensembl.org
>> Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
>> Ensembl Blog: http://www.ensembl.info/
>>
>>
>>
>> _______________________________________________
>> Dev mailing list    Dev at ensembl.org
>> Posting guidelines and subscribe/unsubscribe info:
>> <http://lists.ensembl.org/mailman/listinfo/dev>
>> http://lists.ensembl.org/mailman/listinfo/dev
>> Ensembl Blog: http://www.ensembl.info/
>>
>>
>
>
> _______________________________________________
> Dev mailing list    Dev at ensembl.org
> Posting guidelines and subscribe/unsubscribe info: http://lists.ensembl.org/mailman/listinfo/dev
> Ensembl Blog: http://www.ensembl.info/
>
>
> _______________________________________________
> Dev mailing list    Dev at ensembl.org
> Posting guidelines and subscribe/unsubscribe info:
> http://lists.ensembl.org/mailman/listinfo/dev
> Ensembl Blog: http://www.ensembl.info/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20160405/d5fe31cf/attachment.html>


More information about the Dev mailing list