Bio::LiveSeq Mutation
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Summary
Bio::LiveSeq::Mutation - Mutation event descriptor class
Package variables
No package variables defined.
Included modules
Bio::Root::Root
Inherit
Bio::Root::Root
Synopsis
  # full descrition of a point mutation
  $mutation1a = Bio::LiveSeq::Mutation->new ( -seq => 'A',
					      -seqori => 'T',
					      -pos  => 100,
					      -len => 1 # optional, defaults to length(seq)
					     );

  # minimal information for a point mutation
  $mutation1b = Bio::LiveSeq::Mutation->new ( -seq => 'A',
					      -pos  => 100
					      );
  # insertion
  $mutation2 = Bio::LiveSeq::Mutation->new ( -seq => 'ATT',
					     -pos  => 100,
					     -len => 0
					     );
  # deletion
  $mutation3 = Bio::LiveSeq::Mutation->new ( -seq => '',  # optional
					     -seqori => 'TTG',  # optional
					     -pos  => 100
					     -len => 3
					     );
  # complex
  $mutation4 = Bio::LiveSeq::Mutation->new ( -seq => 'CC', 
					     -seqori => 'TTG',  # optional
					     -pos  => 100
					     -len => 3
					     );
Description
This class describes a local mutation event using minimalistic
description. It is not necessary to know anything about the original
sequence. You need to give the changed sequence, the position of the
mutation in the (unidentified) reference sequence, and the length of
the affected subsequence in the reference sequence. If the original
allele sequence is given, the objects applying the mutation into the
reference sequence (e.g. Bio::LiveSeq::Mutator) might check for its
validity.
Methods
new
No description
Code
seqDescriptionCode
seqoriDescriptionCode
posDescriptionCode
lenDescriptionCode
labelDescriptionCode
transposDescriptionCode
issueDescriptionCode
prelabelDescriptionCode
postlabelDescriptionCode
lastlabelDescriptionCode
Methods description
seqcode    nextTop
 Title   : seq
 Usage   : $obj->seq();
 Function: 

            Sets and returns the mutated sequence. No checking is done
            to validate the symbols.

 Example : 
 Returns : string
 Args    : integer
seqoricodeprevnextTop
 Title   : seqori
 Usage   : $obj->seqori();
 Function: 

            Sets and returns the original subsequence in the reference
            sequence. No checking is done to validate the symbols.
            Optional value.

 Example : 
 Returns : string
 Args    : string
poscodeprevnextTop
 Title   : pos
 Usage   : $obj->pos();
 Function: 

            Sets and returns the position of the first element in the
            sequence.

 Example : 
 Returns : string
 Args    : integer
lencodeprevnextTop
 Title   : len
 Usage   : $obj->len();
 Function: 

            Sets and returns the len of the affected original allele
            sequence.  If value is not set, defaults to the lenght of
            the mutated sequence (seq).

 Example : 
 Returns : string
 Args    : string
labelcodeprevnextTop
 Title   : label
 Usage   : $obj->label();
 Function: 

            Sets and returns the label of the affected original allele
            location. Label is a stable identifier whereas location
            can be changed by mutations. Label comes from
            l.

 Example : 
 Returns : string
 Args    : string
transposcodeprevnextTop
 Title   : transpos
 Usage   : $obj->transpos();
 Function: 

            Sets and returns the transcript position of the mutation.
            Set when associated with a reference sequence. Value
            depends on reference molecule and the co-ordinate system
            used.

 Example : 
 Returns : string
 Args    : integer
issuecodeprevnextTop
 Title   : issue
 Usage   : $obj->issue();
 Function: 

            Sets and returns the position of the mutation in an array
            of mutations to be issued. Set after the validity of the
            mutation has been confirmed.

 Example : 
 Returns : string
 Args    : integer
prelabelcodeprevnextTop
 Title   : prelabel
 Usage   : $obj->prelabel();
 Function: 

            Sets and returns the prelabel of the affected original allele
            location. Prelabel is a stable identifier whereas location
            can be changed by mutations. Prelabel comes from
            l.

 Example : 
 Returns : string
 Args    : string
postlabelcodeprevnextTop
 Title   : postlabel
 Usage   : $obj->postlabel();
 Function: 

            Sets and returns the postlabel of the affected original allele
            location. Postlabel is a stable identifier whereas location
            can be changed by mutations. Postlabel comes from
            l.

 Example : 
 Returns : string
 Args    : string
lastlabelcodeprevnextTop
 Title   : lastlabel
 Usage   : $obj->lastlabel();
 Function: 

            Sets and returns the lastlabel of the affected original allele
            location. Lastlabel is a stable identifier whereas location
            can be changed by mutations. Lastlabel comes from
            l.

 Example : 
 Returns : string
 Args    : string
Methods code
newdescriptionprevnextTop
sub new {
    my($class,@args) = @_;
    my $self;
    $self = {};
    bless $self, $class;

    my ($seq, $seqori, $pos, $len, $label) =
	    $self->_rearrange([qw(SEQ
				  SEQORI
				  POS
				  LEN
				  )],
			      @args);

    $seq && $self->seq($seq);
    $seqori && $self->seqori($seqori);
    $pos && $self->pos($pos);
    defined($len) && $self->len($len); # defined() added otherwise won't work for len==0
return $self; # success - we hope!
}
seqdescriptionprevnextTop
sub seq {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'seq'} = $value;
    }
    return $self->{'seq'};
}
seqoridescriptionprevnextTop
sub seqori {
    my ($self,$value) = @_;
    if( defined $value) {
	$self->{'seqori'} = $value;
    }
    return $self->{'seqori'};
}
posdescriptionprevnextTop
sub pos {
    my ($self,$value) = @_;
    if( defined $value) {
	if ( $value !~ /^([+-])?\d+$/ ) {
	    $self->throw("[$value] for pos has to be an integer\n");
	} else {
	    $self->{'pos'} = $value;
	}
    }
    return $self->{'pos'};
}
lendescriptionprevnextTop
sub len {
   my ($self,$value) = @_;
   if ( defined $value) {
       $self->{'len'} = $value;
  }
   if ( ! exists $self->{'len'} ) {
       return length $self->{'seq'};
   } 
   return $self->{'len'};
}
labeldescriptionprevnextTop
sub label {
   my ($self,$value) = @_;
   if ( defined $value) {
       $self->{'label'} = $value;
   }
   if ( ! exists $self->{'label'} ) {
       return undef;
   } 
   return $self->{'label'};
}
transposdescriptionprevnextTop
sub transpos {
    my ($self,$value) = @_;
    if( defined $value) {
	if ( $value !~ /^([+-])?\d+$/ ) {
	    $self->throw("[$value] for transpos has to be an integer\n");
	} else {
	    $self->{'transpos'} = $value;
	}
    }
    return $self->{'transpos'};
}
issuedescriptionprevnextTop
sub issue {
    my ($self,$value) = @_;
    if( defined $value) {
	if ( $value !~ /^([+-])?\d+$/ ) {
	    $self->throw("[$value] for issue has to be an integer\n");
	} else {
	    $self->{'issue'} = $value;
	}
    }
    return $self->{'issue'};
}
prelabeldescriptionprevnextTop
sub prelabel {
   my ($self,$value) = @_;
   if ( defined $value) {
       $self->{'prelabel'} = $value;
   }
   if ( ! exists $self->{'prelabel'} ) {
       return undef;
   } 
   return $self->{'prelabel'};
}
postlabeldescriptionprevnextTop
sub postlabel {
   my ($self,$value) = @_;
   if ( defined $value) {
       $self->{'postlabel'} = $value;
   }
   if ( ! exists $self->{'postlabel'} ) {
       return undef;
   } 
   return $self->{'postlabel'};
}
lastlabeldescriptionprevnextTop
sub lastlabel {
   my ($self,$value) = @_;
   if ( defined $value) {
       $self->{'lastlabel'} = $value;
   }
   if ( ! exists $self->{'lastlabel'} ) {
       return undef;
   } 
   return $self->{'lastlabel'};
}
General documentation
FEEDBACKTop
Mailing ListsTop
User feedback is an integral part of the evolution of this and other
Bioperl modules. Send your comments and suggestions preferably to the
Bioperl mailing lists Your participation is much appreciated.
  bioperl-l@bioperl.org                         - General discussion
  http://bio.perl.org/MailList.html             - About the mailing lists
Reporting BugsTop
report bugs to the Bioperl bug tracking system to help us keep track
the bugs and their resolution. Bug reports can be submitted via
email or the web:
  bioperl-bugs@bio.perl.org
  http://bio.perl.org/bioperl-bugs/
AUTHOR - Heikki LehvaslaihoTop
Email: heikki@ebi.ac.uk
Address:
     EMBL Outstation, European Bioinformatics Institute
     Wellcome Trust Genome Campus, Hinxton
     Cambs. CB10 1SD, United Kingdom
APPENDIXTop
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _