[ensembl-dev] Homology

Jan Vogel jan.vogel at gmail.com
Fri Nov 11 19:29:16 GMT 2011


	
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 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",
>    -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
> 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/20111111/12b1d803/attachment.html>


More information about the Dev mailing list