NAME

Bio::LiveSeq::Mutator - Package mutating LiveSequences

SYNOPSIS

# $gene is a Bio::LiveSeq::Gene object
my $mutate = Bio::LiveSeq::Mutator->new('-gene' => $gene,
					  '-numbering' => "coding"
					   );
# $mut is a Bio::LiveSeq::Mutation object
$mutate->add_Mutation($mut);
# $results is a Bio::Variation::SeqDiff object
my $results=$mutate->change_gene();
if ($results) {
    my $out = Bio::Variation::IO->new( '-format' => 'flat');
    $out->write($results);
}

DESCRIPTION

This class mutates L<Bio::LiveSeq::Gene> objects and returns a
L<Bio::Variation::SeqDiff> object. Mutations are described as
L<Bio::LiveSeq::Mutation> objects.

FEEDBACK

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 Bugs

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 & Joseph A.L. Insana

Email:  heikki@ebi.ac.uk
        insana@ebi.ac.uk, jinsana@gmx.net

Address:

   EMBL Outstation, European Bioinformatics Institute
   Wellcome Trust Genome Campus, Hinxton
   Cambs. CB10 1SD, United Kingdom

APPENDIX

The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _

gene

Title   : gene
Usage   : $mutobj = $obj->gene;
        : $mutobj = $obj->gene($objref);
Function:

          Returns or sets the link-reference to a
          L<Bio::LiveSeq::Gene> object. If no value has ben set, it
          will return undef

Returns : an object reference  or undef
Args    : a L<Bio::LiveSeq::Gene>

numbering

Title   : numbering
Usage   : $obj->numbering();
Function:

           Sets and returns coordinate system used in positioning the
           mutations. See L<change_gene> for details.

Example :
Returns : string
Args    : string (coding [transcript number] | gene | entry)

add_Mutation

Title   : add_Mutation
Usage   : $self->add_Mutation($ref)
Function: adds a L<Bio::Liveseq::Mutation> object
Example :
Returns :
Args    : a L<Bio::Liveseq::Mutation>

each_Mutation

Title   : each_Mutation
Usage   : foreach $ref ( $a->each_Mutation )
Function: gets an array of L<Bio::Liveseq::Mutation> objects
Example :
Returns : array of Mutations
Args    :

mutation

Title   : mutation
Usage   : $mutobj = $obj->mutation;
        : $mutobj = $obj->mutation($objref);
Function:

          Returns or sets the link-reference to the current mutation
          object.  If the value is not set, it will return undef.
          Internal method.

Returns : an object reference  or undef

DNA

Title   : DNA
Usage   : $mutobj = $obj->DNA;
        : $mutobj = $obj->DNA($objref);
Function:

          Returns or sets the reference to the LiveSeq object holding
          the reference sequence. If there is no link, it will return
          undef.
          Internal method.

Returns : an object reference or undef

RNA

Title   : RNA
Usage   : $mutobj = $obj->RNA;
        : $mutobj = $obj->RNA($objref);
Function:

          Returns or sets the reference to the LiveSeq object holding
          the reference sequence. If the value is not set, it will return
          undef.
          Internal method.

Returns : an object reference  or undef

dnamut

Title   : dnamut
Usage   : $mutobj = $obj->dnamut;
        : $mutobj = $obj->dnamut($objref);
Function:

          Returns or sets the reference to the current DNAMutation object.
          If the value is not set, it will return undef.
          Internal method.

Returns : an L<Bio::Variation::DNAMutation> or undef

rnachange

Title   : rnachange
Usage   : $mutobj = $obj->rnachange;
        : $mutobj = $obj->rnachange($objref);
Function:

          Returns or sets the reference to the current RNAChange object.
          If the value is not set, it will return undef.
          Internal method.

Returns : an L<Bio::Variation::RNAChange> or undef

aachange

Title   : aachange
Usage   : $mutobj = $obj->aachange;
        : $mutobj = $obj->aachange($objref);
Function:

          Returns or sets the reference to the current AAChange object.
          If the value is not set, it will return undef.
          Internal method.

Returns : an L<Bio::Variation::AAChange> or undef

exons

Title   : exons
Usage   : $mutobj = $obj->exons;
        : $mutobj = $obj->exons($objref);
Function:

          Returns or sets the reference to a current array of Exons.
          If the value is not set, it will return undef.
          Internal method.

Returns : an array of L<Bio::LiveSeq::Exon> objects or undef

change_gene

 Title   : change_gene
 Usage   : my $mutate = Bio::LiveSeq::Mutator->new(-gene => $gene,
						   numbering => "coding"
						   );
           # $mut is Bio::LiveSeq::Mutation object
           $mutate->add_Mutation($mut);
           my $results=$mutate->change_gene();

 Function:

           Returns a Bio::Variation::SeqDiff object containing the
           results of the changes performed according to the
           instructions present in Mutation(s).  The -numbering
           argument decides what molecule is being changed and what
           numbering scheme being used:

            -numbering => "entry"

               determines the DNA level, using the numbering from the
               beginning of the sequence

            -numbering => "coding"

               determines the RNA level, using the numbering from the
               beginning of the 1st transcript

               Alternative transcripts can be used by specifying
               "coding 2" or "coding 3" ...

            -numbering => "gene"

               determines the DNA level, using the numbering from the
               beginning of the 1st transcript and inluding introns.
               The meaning equals 'coding' if the reference molecule
               is cDNA.

 Args    : Bio::LiveSeq::Gene object
           Bio::LiveSeq::Mutation object(s)
           string specifying a numbering scheme (defaults to 'coding')
 Returns : Bio::Variation::SeqDiff object or 0 on error

_mutationpos2label

Title   : _mutationpos2label
Usage   :
Function: converts mutation positions into labels
Example :
Returns : number of valid mutations
Args    : LiveSeq sequence object

_set_DNAMutation

Title   : _set_DNAMutation
Usage   :
Function:

          Stores DNA level mutation attributes before mutation into
          L<Bio::Variation::DNAMutation> object.  Links it to SeqDiff
          object.

Example :
Returns : L<Bio::Variation::DNAMutation> object
Args    : L<Bio::Variation::SeqDiff> object

_set_effects

Title   : _set_effects
Usage   :
Function:

          Stores RNA and AA level mutation attributes before mutation
          into L<Bio::Variation::RNAChange> and
          L<Bio::Variation::AACange> objects.  Links them to
          SeqDiff object.

Example :
Returns :
Args    : L<Bio::Variation::SeqDiff> object
          L<Bio::Variation::DNAMutation> object

_untranslated

Title   : _untranslated
Usage   :
Function:

          Stores RNA change attributes before mutation
          into L<Bio::Variation::RNAChange object.  Links it to
          SeqDiff object.

Example :
Returns :
Args    : L<Bio::Variation::SeqDiff> object
          L<Bio::Variation::DNAMutation> object