Mercurial > repos > mahtabm > ensembl
diff variant_effect_predictor/Bio/EnsEMBL/RepeatConsensus.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/EnsEMBL/RepeatConsensus.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,256 @@ +=head1 LICENSE + + Copyright (c) 1999-2012 The European Bioinformatics Institute and + Genome Research Limited. All rights reserved. + + This software is distributed under a modified Apache license. + For license details, please see + + http://www.ensembl.org/info/about/code_licence.html + +=head1 CONTACT + + Please email comments or questions to the public Ensembl + developers list at <dev@ensembl.org>. + + Questions may also be sent to the Ensembl help desk at + <helpdesk@ensembl.org>. + +=cut + +package Bio::EnsEMBL::RepeatConsensus; + +use strict; + +use Bio::EnsEMBL::Storable; +use Bio::EnsEMBL::Utils::Argument qw(rearrange); +use Scalar::Util qw(weaken isweak); + +use vars qw(@ISA); +@ISA = qw(Bio::EnsEMBL::Storable); + + +=head2 new + + Arg [NAME] : string (optional) + The name of this repeat consensus + Arg [LENGTH]: int (optional) + The length of the repeat consensus sequence + Arg [REPEAT_CLASS]: string (optional) + The type of repeat consensus + Arg [REPEAT_CONSENSUS]: string (optional) + The sequence of this repeat consensus + Arg [REPEAT_TYPE]: string + Its like class only more general + Arg [...]: Named arguments to superclass constructor + (see Bio::EnsEMBL::Storable) + Example : $rc = Bio::EnsEMBL::RepeatConsensus->new + (-REPEAT_CONSENSUS => 'AATG' + -NAME => '(AATG)n', + -REPEAT_CLASS => 'Simple_repeat', + -LENGTH => '4', + -DBID => 1023, + -ADAPTOR => $rc_adaptor); + Description: Creates a new Bio::EnsEMBL::RepeatConsensus object + Returntype : Bio::EnsEMBL::RepeatConsensus + Exceptions : none + Caller : RepeatFeatureAdaptors + Status : Stable + +=cut + +sub new { + my $caller = shift; + + my $class = ref($caller) || $caller; + + my $self = $class->SUPER::new(@_); + + my ($name, $length, $repeat_class, $repeat_consensus, $repeat_type ) = + rearrange(['NAME', 'LENGTH', 'REPEAT_CLASS', 'REPEAT_CONSENSUS', 'REPEAT_TYPE'], @_); + + $self->{'name'} = $name; + $self->{'length'} = $length; + $self->{'repeat_class'} = $repeat_class; + $self->{'repeat_consensus'} = $repeat_consensus; + $self->{'repeat_type'} = $repeat_type; + + return $self; +} + + +=head2 new_fast + + Arg [1] : hashref to bless as a new RepeatConsensus + + Description: Creates a new Bio::EnsEMBL::RepeatConsensus object + Returntype : Bio::EnsEMBL::RepeatConsensus + Exceptions : none + Caller : internal + Status : Stable + +=cut + +sub new_fast { + my $class = shift; + my $hashref = shift; + my $self = bless $hashref, $class; + weaken($self->{adaptor}) if ( ! isweak($self->{adaptor}) ); + return $self; +} + + +=head2 name + + Arg [1] : string $name (optional) + Example : $name = $repeat_consensus->name() + Description: Getter/Setter for the name of this repeat_consensus + Returntype : string + Exceptions : none + Caller : general + Status : Stable + +=cut + +sub name { + my $self = shift; + $self->{'name'} = shift if(@_); + return $self->{'name'}; +} + + +=head2 length + + Arg [1] : int $length (optional) + Example : $length = $repeat_consensus->length() + Description: Getter/Setter for the length of this repeat_consensus + Returntype : int + Exceptions : none + Caller : general + Status : Stable + +=cut + +sub length { + my $self = shift; + $self->{'length'} = shift if(@_); + return $self->{'length'}; +} + + +=head2 repeat_class + + Arg [1] : string $class (optional) + The class of + Example : $class = $repeat_consensus->repeat_class() + Description: Getter/Setter for the class of this repeat_consensus + Returntype : string + Exceptions : none + Caller : general + Status : Stable + +=cut + +sub repeat_class { + my $self = shift; + $self->{'repeat_class'} = shift if(@_); + return $self->{'repeat_class'}; +} + +=head2 repeat_type + + Arg [1] : string $type (optional) + The type of the consensus + Example : $type = $repeat_consensus->repeat_type() + Description: Getter/Setter for the type of this repeat_consensus + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub repeat_type { + my $self = shift; + $self->{'repeat_type'} = shift if(@_); + return $self->{'repeat_type'}; +} + + +=head2 desc + + Arg [1] : none + Example : $desc = $repeat_consensus->desc() + Description: Getter for the description of this repeat consensus as extracted + from the repeat_class. This method is probably useless. + Returntype : string + Exceptions : none + Caller : general + Status : Medium risk + +=cut + +sub desc { + my $self = shift; + my $class = $self->repeat_class or return; + return "class=$class"; +} + + + +=head2 repeat_consensus + + Arg [1] : string $consensus_seq (optional) + The sequence of this repeat consensus + Example : $consensus = $repeat_consensus->repeat_consensus(); + Description: Getter/Setter for the sequence of this repeat_consensus. + Returntype : string + Exceptions : none + Caller : general + +=cut + +sub repeat_consensus { + my $self = shift; + $self->{'repeat_consensus'} = shift if(@_); + return $self->{'repeat_consensus'}; +} + + + +=head2 seq + + Arg [1] : none + Example : none + Description: Returns the repeat consensus. This method is useless - Use + repeat_consensus() instead. + Returntype : string + Exceptions : none + Caller : general + Status : Stable + +=cut + +sub seq { + my( $self ) = @_; + return $self->repeat_consensus; +} + +1; + +__END__ + +=head1 NAME - Bio::EnsEMBL::RepeatConsensus + +=head1 DESCRIPTION + +This object represents an entry in the +repeat_consensus table. + +It can contain the consensus sequence for a +repeat such as a particular Alu, or "cag" for a +simple triplet repeat. + +=head1 AUTHOR + +James Gilbert B<email> jgrg@sanger.ac.uk +