annotate variant_effect_predictor/Bio/EnsEMBL/Compara/SpeciesSet.pm @ 1:d6778b5d8382 draft default tip

Deleted selected files
author willmclaren
date Fri, 03 Aug 2012 10:05:43 -0400
parents 21066c0abaf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
1 package Bio::EnsEMBL::Compara::SpeciesSet;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 use Bio::EnsEMBL::Utils::Exception qw(warning deprecate throw);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 use Bio::EnsEMBL::Utils::Argument qw(rearrange);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 # FIXME: add throw not implemented for those not tag related?
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 use base ( 'Bio::EnsEMBL::Storable', # inherit dbID(), adaptor() and new() methods
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10 'Bio::EnsEMBL::Compara::Taggable' # inherit everything related to tagability
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14 =head2 new
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16 Arg [..] : Takes a set of named arguments
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 Example : my $my_species_set = Bio::EnsEMBL::Compara::SpeciesSet->new(
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18 -dbID => $species_set_id,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19 -genome_dbs => [$gdb1, $gdb2, $gdb3 ],
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 -adaptor => $species_set_adaptor );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 Description: Creates a new SpeciesSet object
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22 Returntype : Bio::EnsEMBL::Compara::SpeciesSet
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 sub new {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27 my $caller = shift @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28 my $class = ref($caller) || $caller;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 my $self = $class->SUPER::new(@_); # deal with Storable stuff
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 my ($genome_dbs) = rearrange([qw(GENOME_DBS)], @_);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 $self->genome_dbs($genome_dbs) if (defined ($genome_dbs));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 return $self;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 =head2 genome_dbs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 Arg [1] : (opt.) list of genome_db objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 Example : my $genome_dbs = $species_set->genome_dbs();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 Example : $species_set->genome_dbs( [$gdb1, $gdb2, $gdb3] );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45 Description: Getter/Setter for the genome_dbs of this object in the database
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 Returntype : arrayref genome_dbs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 Exceptions : none
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48 Caller : general
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 sub genome_dbs {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 my ($self, $arg) = @_;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 if (defined $arg) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 ## Check content
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57 my $genome_dbs = {};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 foreach my $gdb (@$arg) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59 throw("undefined value used as a Bio::EnsEMBL::Compara::GenomeDB\n")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 if (!defined($gdb));
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61 throw("$gdb must be a Bio::EnsEMBL::Compara::GenomeDB\n")
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 unless UNIVERSAL::isa($gdb, "Bio::EnsEMBL::Compara::GenomeDB");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64 unless (defined $genome_dbs->{$gdb->dbID}) {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65 $genome_dbs->{$gdb->dbID} = $gdb;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 } else {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67 warn("GenomeDB (".$gdb->name."; dbID=".$gdb->dbID .
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 ") appears twice in this Bio::EnsEMBL::Compara::SpeciesSet\n");
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 $self->{'genome_dbs'} = [ values %{$genome_dbs} ] ;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 return $self->{'genome_dbs'};
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77 =head2 toString
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 Args : (none)
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 Example : print $species_set->toString()."\n";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 Description: returns a stringified representation of the species_set
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 Returntype : string
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86 sub toString {
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87 my $self = shift;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89 my $name = $self->get_tagvalue('name');
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 return ref($self).": dbID=".($self->dbID || '?').", name='".($name || '?')."', genome_dbs=[".join(', ', map { $_->name.'('.($_->dbID || '?').')'} @{ $self->genome_dbs })."]";
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95 1;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96