[ensembl-dev] Issues with phenotypeFeature
nconte
nconte at ebi.ac.uk
Fri Feb 26 15:25:04 GMT 2016
HI Sarah
Thanks, I can see now why it was failing! I should always print a gene
stable id.
cheers
> Hi Nathalie,
>
> You are extracting phenotype features for the input mouse gene, not
> the human gene, which is why you are not seeing the human phenotype
> feature. If you change the print statement to:
>
> print 'gene is '.$gene->external_name() ." ". $gene->stable_id();
>
> You will see the 'ENSMUS' prefix on the gene name:
>
> human Orthologue: LEP ENSG00000174697 7 128241284
> 128257628 1
> gene is Lep ENSMUSG00000059201 scalar 0
> no PHE
>
> We store associations as reported, so querying by both gene and
> variant will return the most complete set of results
>
> fetch_all_by_Gene takes a gene object and returns associations
> reported to the gene
> fetch_all_by_associated_gene() takes a gene name and returns variant
> associations in which it is mentioned
>
> For example:
>
> use Bio::EnsEMBL::Registry;
>
> Bio::EnsEMBL::Registry->load_registry_from_db(
> -host=> 'ensembldb.ensembl.org', -user=>'anonymous',
> -port=>'3306', 'db_version' => 83,);
> Bio::EnsEMBL::Registry->set_reconnect_when_lost(1);# will help with
> connection issues
>
> my $ga = Bio::EnsEMBL::Registry->get_adaptor("homo_sapiens", "core",
> "gene");
> my $pfh_adaptor = Bio::EnsEMBL::Registry->get_adaptor('human',
> 'variation', 'phenotypefeature');
>
> my $gene = $ga->fetch_by_stable_id('ENSG00000174697');
>
> if ($gene){
> print "gene is " .$gene->external_name() ."n";
>
> my $pfs = $pfh_adaptor->fetch_all_by_Gene($gene);
> foreach my $pm(@{$pfs}){
> print "Directt",$pm->source_name,"t",$pm->phenotype->description,
> "n";
> }
>
> my $pfsvar =
> $pfh_adaptor->fetch_all_by_associated_gene($gene->external_name());
> foreach my $pmv(@{$pfsvar}){
> print
> "Assoct",$pmv->source_name,"t",$pmv->phenotype->description, "n";
> }
> }
>
> Outputs:
>
> gene is LEP
> Direct Orphanet Obesity due to congenital leptin deficiency
> Direct MIM morbid LEPTIN DEFICIENCY OR DYSFUNCTION
> Assoc ClinVar ClinVar: phenotype not specified
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc HGMD-PUBLIC Annotated by HGMD but no phenotype
> description is publicly available
> Assoc Uniprot Leptin deficiency
> Assoc OMIM LEPTIN DYSFUNCTION
> Assoc OMIM Leptin deficiency
> Assoc ClinVar LEPTIN DYSFUNCTION
> Assoc ClinVar Obesity, severe, due to leptin deficiency
> Assoc dbGaP Blood pressure
> Assoc dbGaP Erythrocyte Count
> Assoc NHGRI-EBI GWAS catalog Type 2 diabetes
> Assoc dbGaP Amyotrophic lateral sclerosis
> Assoc ClinVar ClinVar: phenotype not specified
> Assoc ClinVar ClinVar: phenotype not specified
>
> Best wishes,
>
> Sarah
>
> On 26/02/2016 12:50, nconte wrote:
>
>> Hello
>> I have an issue with phenotypeFeature fetch_all_by_Gene($gene)
>> method. I am trying to retrieve phenotype from gene object and the
>> script I have doesn't find any phenotype relating to this gene,
>> whereas the ensembl website shows some phenotype linked with gene
>> http://www.ensembl.org/Homo_sapiens/Gene/Phenotype?db=core;g=ENSG00000174697;r=7:128241284-128257628;t=ENST00000308868
>> [1]
>>
>> my starting point is a mouse gene from which i retrieve the human
>> orthologue, and then query the phenotype related to this orthologue.
>> the script below should work and print no PHE for human LEP gene
>> whereas there are phenotype linked to gene according to website
>> output:
>> human Orthologue: LEP ENSG00000174697 7 128241284
>> 128257628 1
>> gene is Lep scalar 0
>> no PHE
>>
>> any advise would be great - Also is it better to find phenotypes
>> relating to variation of a gene rather than to the gene itself in
>> order to get the full picture of phenotype related to a specific gene?
>> thanks
>> Nathalie
>>
>> script:
>> #!/usr/local/bin/perl
>> use strict;
>> use warnings;
>> use DBI;
>> use Bio::EnsEMBL::Registry;
>>
>> Bio::EnsEMBL::Registry->load_registry_from_db(
>> -host=> 'ensembldb.ensembl.org', -user=>'anonymous',
>> -port=>'3306', 'db_version' => 83,);
>> Bio::EnsEMBL::Registry->set_reconnect_when_lost(1);# will help with
>> connection issues
>>
>> my $gene_member_adaptor= Bio::EnsEMBL::Registry->get_adaptor("Multi",
>> "compara", "GeneMember");
>> my $homology_adaptor = Bio::EnsEMBL::Registry->get_adaptor("Multi",
>> "compara", "Homology");
>> my $pfh_adaptor = Bio::EnsEMBL::Registry->get_adaptor('human',
>> 'variation', 'phenotypefeature');
>>
>> my $gene_member =
>> $gene_member_adaptor->fetch_by_stable_id('ENSMUSG00000059201');
>> #get the ensembl object correspoding to this mouse stable ID
>>
>> if ($gene_member){
>>
>> #get orthologues in human
>> my $all_homologies =
>> $homology_adaptor->fetch_all_by_Member($gene_member, -TARGET_SPECIES
>> => 'homo_sapiens',-METHOD_LINK_TYPE => 'ENSEMBL_ORTHOLOGUES');
>> if (!scalar(@{$all_homologies})){
>>
>> print "no orthologue with ensembl orthology
>> methodn"; ##1
>> } # print a message if there is no corresponding
>> mouse orthologue
>> else{
>> #if there is/are orthologue(s) ,find them and print annotation
>> about these
>> foreach my $this_homology (@{$all_homologies}){
>> my $homologue_genes =
>> $this_homology->gene_list();
>> my $homgene;
>> foreach $homgene(@{$homologue_genes}){
>> #get human orthologues only
>> if (defined ($homgene->genome_db->name)
>> && $homgene->genome_db->name eq "homo_sapiens") {
>>
>> print join("t", "human Orthologue:
>> ".$homgene->display_label,$homgene->stable_id,$homgene->dnafrag()->name(),
>>
>> $homgene->dnafrag_start,$homgene->dnafrag_end,$homgene->dnafrag_strand,
>> "n" ) ;
>>
>> }
>>
>> }
>> }
>> }
>>
>> my $gene = $gene_member->get_Gene();
>>
>> if ($gene){
>> print 'gene is '.$gene->external_name();
>> my $pfs = $pfh_adaptor->fetch_all_by_Gene($gene);
>> print "t", 'scalar '.scalar(@$pfs), "n";
>> if ( scalar(@$pfs)== 0 ){print "no
>> PHEn";}else{
>> foreach my $pm(@{$pfs}){
>> if ($pm){
>>
>> #fill with info about ensembl gene
>> phenotype
>>
>> print
>> "t",$pm->source_name,"t",$pm->phenotype->description, "n";
>> }else {next;}
>> }
>> }
>>
>> } else{next;}
>>
>> }else {print 'no gene member',"n"};
>>
>> __END__
>>
>> _______________________________________________
>> Dev mailing list Dev at ensembl.org
>> Posting guidelines and subscribe/unsubscribe info:
>> http://lists.ensembl.org/mailman/listinfo/dev [2]
>> Ensembl Blog: http://www.ensembl.info/ [3]
>
>
>
> Links:
> ------
> [1]
> http://www.ensembl.org/Homo_sapiens/Gene/Phenotype?db=core;g=ENSG00000174697;r=7:128241284-128257628;t=ENST00000308868
> [2] http://lists.ensembl.org/mailman/listinfo/dev
> [3] 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/
More information about the Dev
mailing list