Mercurial > repos > willmclaren > ensembl_vep
diff variant_effect_predictor/Bio/EnsEMBL/Compara/SitewiseOmega.pm @ 0:21066c0abaf5 draft
Uploaded
author | willmclaren |
---|---|
date | Fri, 03 Aug 2012 10:04:48 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/EnsEMBL/Compara/SitewiseOmega.pm Fri Aug 03 10:04:48 2012 -0400 @@ -0,0 +1,361 @@ + +# +# Ensembl module for Bio::EnsEMBL::Compara::SitewiseOmega +# +# Cared for by Albert Vilella <avilella@ebi.ac.uk> +# +# Copyright Albert Vilella +# +# You may distribute this module under the same terms as perl itself + +# POD documentation - main docs before the code + +=head1 NAME + +Bio::EnsEMBL::Compara::SitewiseOmega - DESCRIPTION of Object + +=head1 SYNOPSIS + +Give standard usage here + +=head1 DESCRIPTION + +Describe the object here + +=head1 AUTHOR - Albert Vilella + +This modules is part of the Ensembl project http://www.ensembl.org + +Email avilella@ebi.ac.uk + +Describe contact details here + +=head1 APPENDIX + +The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ + +=cut + + +# Let the code begin... + + +package Bio::EnsEMBL::Compara::SitewiseOmega; + +use strict; + +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Bio::EnsEMBL::Utils::Exception qw(warning deprecate throw); + +=head2 new_fast + + Arg [1] : hash reference $hashref + Example : none + Description: This is an ultra fast constructor which requires knowledge of + the objects internals to be used. + Returntype : + Exceptions : none + Caller : + +=cut + +sub new_fast { + my ($class, $hashref) = @_; + + return bless $hashref, $class; +} + +=head2 member_position + + Arg [1] : Bio::EnsEMBL::Member $member + Arg [2] : Bio::SimpleAlign $aln + Example : $sitewise_omega->member_position($member,$aln); + Description: Obtain the member position for a given sitewise_omega value + Returntype : integer + Exceptions : return undef if member not in the alignment or aln_position not in member + Caller : general + Status : At risk + +=cut + +sub member_position { + my ($self, $member, $aln) = @_; + + throw("$member is not a Bio::EnsEMBL::Compara::Member object") + unless ($member->isa("Bio::EnsEMBL::Compara::Member")); + + throw("$aln is not a Bio::SimpleAlign object") + unless ($aln->isa("Bio::SimpleAlign")); + + my @seqs = $aln->each_seq_with_id($member->stable_id); + my $seq = $seqs[0]; + + my $seq_location; + eval { $seq_location = $seq->location_from_column($self->aln_position);}; + return undef if ($@); + my $location_type; + eval { $location_type = $seq_location->location_type;}; + return undef if ($@); + if ($seq_location->location_type eq 'EXACT') { + my $member_position = $seq_location->start; + return $member_position; + } + + return undef; +} + +=head2 adaptor + + Arg [1] : Bio::EnsEMBL::DBSQL::SitewiseOmegaAdaptor $adaptor + Example : $sitewise_omega->adaptor($adaptor); + Description: Getter/Setter for the adaptor this object used for database + interaction + Returntype : Bio::EnsEMBL::DBSQL::SitewiseOmegaAdaptor object + Exceptions : thrown if the argument is not a + Bio::EnsEMBL::DBSQL::SitewiseOmegaAdaptor object + Caller : general + Status : At risk + +=cut + +sub adaptor { + my ( $self, $adaptor ) = @_; + + if (defined($adaptor)) { + throw("$adaptor is not a Bio::EnsEMBL::Compara::DBSQL::SitewiseOmegaAdaptor object") + unless ($adaptor->isa("Bio::EnsEMBL::Compara::DBSQL::SitewiseOmegaAdaptor")); + $self->{'adaptor'} = $adaptor; + } + + return $self->{'adaptor'}; +} + +=head2 aln_position + + Arg [1] : (opt) integer + Example : $sitewise_dnds->aln_position(1); + Description: Getter/Setter for the alignment position + Returntype : integer. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub aln_position { + my ($self, $aln_position) = @_; + + if(defined $aln_position) { + $self->{'aln_position'} = $aln_position; + } + + $self->{'aln_position'}= undef unless(defined($self->{'aln_position'})); + return $self->{'aln_position'}; +} + + +=head2 omega + + Arg [1] : (opt) integer + Example : $sitewise_dnds->omega(1); + Description: Getter/Setter for the omega value + Returntype : integer. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub omega { + my ($self, $omega) = @_; + + if(defined $omega) { + $self->{'omega'} = $omega; + } + + $self->{'omega'}= undef unless(defined($self->{'omega'})); + return $self->{'omega'}; +} + + +=head2 omega_lower + + Arg [1] : (opt) float + Example : $sitewise_dnds->omega_lower(1); + Description: Getter/Setter for the omega_lower value + Returntype : float. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub omega_lower { + my ($self, $omega_lower) = @_; + + if(defined $omega_lower) { + $self->{'omega_lower'} = $omega_lower; + } + + $self->{'omega_lower'}= undef unless(defined($self->{'omega_lower'})); + return $self->{'omega_lower'}; +} + + +=head2 omega_upper + + Arg [1] : (opt) float + Example : $sitewise_dnds->omega_upper(1); + Description: Getter/Setter for the omega_upper value + Returntype : float. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub omega_upper { + my ($self, $omega_upper) = @_; + + if(defined $omega_upper) { + $self->{'omega_upper'} = $omega_upper; + } + + $self->{'omega_upper'}= undef unless(defined($self->{'omega_upper'})); + return $self->{'omega_upper'}; +} + + +=head2 optimal + + Arg [1] : (opt) float + Example : $sitewise_dnds->optimal(1); + Description: Getter/Setter for the optimal value + Returntype : float. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub optimal { + my ($self, $optimal) = @_; + + if(defined $optimal) { + $self->{'optimal'} = $optimal; + } + + $self->{'optimal'}= undef unless(defined($self->{'optimal'})); + return $self->{'optimal'}; +} + + +=head2 threshold_on_branch_ds + + Arg [1] : (opt) float + Example : $sitewise_dnds->threshold_on_branch_ds(1); + Description: Getter/Setter for the threshold_on_branch_ds value + Returntype : float. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub threshold_on_branch_ds { + my ($self, $threshold_on_branch_ds) = @_; + + if(defined $threshold_on_branch_ds) { + $self->{'threshold_on_branch_ds'} = $threshold_on_branch_ds; + } + + $self->{'threshold_on_branch_ds'}= undef unless(defined($self->{'threshold_on_branch_ds'})); + return $self->{'threshold_on_branch_ds'}; +} + +=head2 type + + Arg [1] : (opt) integer + Example : $sitewise_dnds->type(1); + Description: Getter/Setter for the type value + Returntype : integer. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub type { + my ($self, $type) = @_; + + if(defined $type) { + $self->{'type'} = $type; + } + + $self->{'type'}= undef unless(defined($self->{'type'})); + return $self->{'type'}; +} + + +=head2 node_id + + Arg [1] : (opt) integer + Example : $sitewise_dnds->node_id(1); + Description: Getter/Setter for the node_id value + Returnnode_id : integer. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub node_id { + my ($self, $node_id) = @_; + + if(defined $node_id) { + $self->{'node_id'} = $node_id; + } + + $self->{'node_id'}= undef unless(defined($self->{'node_id'})); + return $self->{'node_id'}; +} + +=head2 tree_node_id + + Arg [1] : (opt) integer + Example : $sitewise_dnds->tree_node_id(1); + Description: Getter/Setter for the tree_node_id value + Returntree_node_id : integer. Return 1 if value not defined + Exceptions : none + Caller : general + Status : At risk + +=cut + +sub tree_node_id { + my ($self, $tree_node_id) = @_; + + if(defined $tree_node_id) { + $self->{'tree_node_id'} = $tree_node_id; + } + + $self->{'tree_node_id'}= undef unless(defined($self->{'tree_node_id'})); + return $self->{'tree_node_id'}; +} + + +sub dbID { + my ($self, $dbID) = @_; + + if(defined $dbID) { + $self->{'_dbID'} = $dbID; + } + + $self->{'_dbID'}= undef unless(defined($self->{'_dbID'})); + return $self->{'_dbID'}; +} + + + + +1;