[ensembl-dev] Homology

James Blackshaw jab250 at mrc-mbu.cam.ac.uk
Mon Nov 14 11:15:05 GMT 2011


Hi,
I am using the code from the API installation page and that page talks 
about version 64.
http://www.ensembl.org/info/docs/api/api_installation.html

This is my output under verbose, looks like it is connecting.
Odd number of elements in hash assignment at 
/usr/mbu/software/ensembl/ensembl/modules/Bio/EnsEMBL/Utils/Argument.pm 
line 148.
Transcript:ENSDART00000112153 Gene:ENSDARG00000090113 Chr:19 
Start:33519855 End:33522332
Can't call method "get_all_Member_Attribute" on an undefined value at 
sandbox3.pl line 47.

Regards,
James


On 11/11/2011 20:20, Javier Herrero wrote:
> Hi James
>
> This error is typical when you fail to connect to the database.
>
> I suspect you are using the HEAD code instead of the branch 64. The 
> head code is already configured for connecting to the forthcoming 
> database. Please switch your code to the 64 branch and try again:
>
> cvs up -r branch-ensembl-64
>
> Regards
>
> Javier
>
> On 11/11/11 19:29, Jan Vogel wrote:
>> Hi James,
>>
>> the first script from the powerpoint works for me w/o problems or 
>> modifications. I've tried schema 62 and schema 64 API's.
>>
>>
>> The second one ( 'from the list' ) had some minor problems. It works 
>> like this :
>>
>> my $member = 
>> $member_adaptor->fetch_by_source_stable_id('ENSEMBLGENE','ENSG00000004059');
>>
>> or
>>
>> my $member = 
>> $member_adaptor->fetch_by_source_stable_id(undef,'ENSG00000004059');
>>
>> I did not try the zfish protein.
>>
>> Hth,
>>    Jan
>>
>> On Nov 11, 2011, at 9:50 AM, James Blackshaw wrote:
>>
>>> Hi,
>>> I've been trying to put together some scripts for finding the homolgies
>>> for some lists of genes I'm interested in, but I keep getting errors
>>> with the "fetch" methods.
>>>
>>> "Can't call method "fetch_by_source_stable_id" on an undefined value at
>>> sandbox3.pl <http://sandbox3.pl/> line 15."
>>>
>>> I've used one script taken from a presentation by Stephen Fitzgerald at
>>> Edinburgh, and another from this maining list. I'm including both.
>>>
>>> From the powerpoint:
>>> use strict;
>>> use Bio::EnsEMBL::Registry;
>>> my $reg = "Bio::EnsEMBL::Registry";
>>>
>>> $reg->load_registry_from_db(
>>>    -host=>"ensembldb.ensembl.org <http://ensembldb.ensembl.org/>",
>>>    -user =>  "anonymous");
>>>
>>>
>>> my $ma = $reg->get_adaptor(
>>>    "Multi", "compara", "Member");
>>> my $member = $ma->fetch_by_source_stable_id(
>>>    "ENSEMBLGENE", "ENSG00000000971");
>>>
>>> my $homology_adaptor = $reg->get_adaptor(
>>>    "Multi", "compara", "Homology");
>>>
>>> my $homologies = $homology_adaptor->
>>>    fetch_all_by_Member($member);
>>>
>>> foreach my $this_homology (@$homologies) {
>>>  print $this_homology->description, "\n";
>>>  my $member_attributes = $this_homology->
>>>      get_all_Member_Attribute();
>>>  foreach my $this_mem_attr (@$member_attributes) {
>>>    my ($this_member, $this_attribute) =
>>>        @$this_mem_attr;
>>>    print $this_member->genome_db->name, " ",
>>>            $this_member->source_name, " ",
>>>            $this_member->stable_id, "\n";
>>>  }
>>>  print "\n";
>>> }
>>>
>>> ==========================================
>>>
>>> From the list:
>>> use Bio::EnsEMBL::Registry;
>>> Bio::EnsEMBL::Registry->load_registry_from_db(
>>>    -host =>  'ensembldb.ensembl.org',
>>>    -user =>  'anonymous',
>>>    -port =>  5306);
>>> my $member_adaptor = Bio::EnsEMBL::Registry->get_adaptor(
>>>    'Multi','compara','Member');
>>>
>>> # fetch a Member
>>> # get the MemberAdaptor
>>> my $member_adaptor =
>>> Bio::EnsEMBL::Registry->get_adaptor('Multi','compara','Member');
>>>
>>> # fetch a Memmy $member =
>>> $member_adaptor->fetch_by_source_stable_id('ENSEMBLPROTEIN','ENSG00000004059');
>>> my $member =
>>> $member_adaptor->fetch_by_source_stable_id('ENSEMBLPEP','ENSDARP00000103634');
>>> # print out some information about the Member
>>> print $member->description, "\n";
>>>
>>>
>>>
>>> my $homology_adaptor = Bio::EnsEMBL::Registry->get_adaptor('Multi',
>>> 'compara', 'Homology');
>>> my $homologies = $homology_adaptor->fetch_all_by_Member($member);
>>>
>>> # That will return a reference to an array with all
>>> homologies(orthologues in
>>> # other species and paralogues in the same one)
>>> # Then for each homology, you can get all the Members implicated
>>>
>>> foreach my $homology (@{$homologies}) {
>>>  # You will find different kind of description
>>>  # UBRH, MBRH, RHS, YoungParalogues
>>>  # see ensembl-compara/docs/docs/schema_doc.html for more details
>>>
>>>  print $homology->description," ", $homology->subtype,"\n";
>>> # And if they are defined dN and dS related values
>>>  print " dn ", $homology->dn,"\n";
>>>  print " ds ", $homology->ds,"\n";
>>>  print " dnds_ratio ", $homology->dnds_ratio,"\n";
>>> }
>>>
>>> my $homology = $homologies->[0];
>>> # take one of the homologies and lookinto it
>>>
>>> foreach my $member_attribute (@{$homology->get_all_Member_Attribute}) {
>>>
>>>  # for each Member, you get information on the Member specifically 
>>> and in
>>>  # relation to the homology relation via Attribute object
>>>
>>>  my ($member, $attribute) = @{$member_attribute};
>>>  print (join " ", map { $member->$_ }  qw(stable_id taxon_id))."\n";
>>>  print (join " ", map { $attribute->$_ } qw(perc_id
>>> perc_posperc_cov))."\n";
>>>
>>> }
>>> ====================================================
>>>
>>>
>>>
>>> James Blackshaw
>>> PhD Student
>>> MRC Mitochondrial Biology Unit
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list Dev at ensembl.org <mailto:Dev at ensembl.org>
>>> List admin (including subscribe/unsubscribe): 
>>> http://lists.ensembl.org/mailman/listinfo/dev
>>> Ensembl Blog: http://www.ensembl.info/
>>
>>
>>
>> _______________________________________________
>> Dev mailing listDev at ensembl.org
>> List admin (including subscribe/unsubscribe):http://lists.ensembl.org/mailman/listinfo/dev
>> Ensembl Blog:http://www.ensembl.info/
>
> -- 
> Javier Herrero, PhD
> Ensembl Compara Project Leader
> European Bioinformatics Institute (EMBL-EBI)
> Wellcome Trust Genome Campus, Hinxton
> Cambridge - CB10 1SD - UK
>
>
> _______________________________________________
> Dev mailing list    Dev at ensembl.org
> List admin (including subscribe/unsubscribe): 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/20111114/c3bd31aa/attachment.html>


More information about the Dev mailing list