Bio::LiveSeq
Mutation
Summary
Bio::LiveSeq::Mutation - Mutation event descriptor class
Package variables
No package variables defined.
Included modules
Inherit
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
Methods description
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 |
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 |
Title : pos
Usage : $obj->pos();
Function:
Sets and returns the position of the first element in the
sequence.
Example :
Returns : string
Args : integer |
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 |
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 |
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 |
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 |
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 |
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 |
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
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);
return $self;
} |
sub seq
{ my ($self,$value) = @_;
if( defined $value) {
$self->{'seq'} = $value;
}
return $self->{'seq'};} |
sub seqori
{ my ($self,$value) = @_;
if( defined $value) {
$self->{'seqori'} = $value;
}
return $self->{'seqori'};} |
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'};} |
sub len
{ my ($self,$value) = @_;
if ( defined $value) {
$self->{'len'} = $value;
}
if ( ! exists $self->{'len'} ) {
return length $self->{'seq'};
}
return $self->{'len'};} |
sub label
{ my ($self,$value) = @_;
if ( defined $value) {
$self->{'label'} = $value;
}
if ( ! exists $self->{'label'} ) {
return undef;
}
return $self->{'label'};} |
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'};} |
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'};} |
sub prelabel
{ my ($self,$value) = @_;
if ( defined $value) {
$self->{'prelabel'} = $value;
}
if ( ! exists $self->{'prelabel'} ) {
return undef;
}
return $self->{'prelabel'};} |
sub postlabel
{ my ($self,$value) = @_;
if ( defined $value) {
$self->{'postlabel'} = $value;
}
if ( ! exists $self->{'postlabel'} ) {
return undef;
}
return $self->{'postlabel'};} |
sub lastlabel
{ my ($self,$value) = @_;
if ( defined $value) {
$self->{'lastlabel'} = $value;
}
if ( ! exists $self->{'lastlabel'} ) {
return undef;
}
return $self->{'lastlabel'};} |
General documentation
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
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 Lehvaslaiho | Top |
Email:
heikki@ebi.ac.ukAddress:
EMBL Outstation, European Bioinformatics Institute
Wellcome Trust Genome Campus, Hinxton
Cambs. CB10 1SD, United Kingdom
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _