The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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 Bio::LiveSeq::Gene objects and returns a Bio::Variation::SeqDiff object. Mutations are described as Bio::LiveSeq::Mutation objects. See Bio::LiveSeq::Gene, Bio::Variation::SeqDiff, and Bio::LiveSeq::Mutation for details.

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://bioperl.org/wiki/Mailing_lists  - About the mailing lists

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

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 the web:

https://github.com/bioperl/bioperl-live/issues

AUTHOR - Heikki Lehvaslaiho & Joseph A.L. Insana

Email:  heikki-at-bioperl-dot-org
        insana@ebi.ac.uk, jinsana@gmx.net

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
          Bio::LiveSeq::Gene object. If no value has ben set, it
          will return undef

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

See Bio::LiveSeq::Gene for more information.

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 Bio::LiveSeq::Mutation object
Example :
Returns :
Args    : a Bio::LiveSeq::Mutation

See Bio::LiveSeq::Mutation for more information.

each_Mutation

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

See Bio::LiveSeq::Mutation for more information.

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 : a Bio::Variation::DNAMutation object or undef

See Bio::Variation::DNAMutation for more information.

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 : a Bio::Variation::RNAChange object or undef

See Bio::Variation::RNAChange for more information.

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 : a Bio::Variation::AAChange object or undef

See Bio::Variation::AAChange for more information.

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 Bio::LiveSeq::Exon objects or undef

See Bio::LiveSeq::Exon for more information.

change_gene_with_alignment

Title   : change_gene_with_alignment
Usage   : $results=$mutate->change_gene_with_alignment($aln);

Function:

          Returns a Bio::Variation::SeqDiff object containing the
          results of the changes in the alignment. The alignment has
          to be pairwise and have one sequence named 'QUERY', the
          other one is assumed to be a part of the sequence from
          $gene.

          This method offers a shortcut to change_gene and
          automates the creation of Bio::LiveSeq::Mutation objects.
          Use it with almost identical sequnces, e.g. to locate a SNP.

Args    : Bio::SimpleAlign object representing a short local alignment
Returns : Bio::Variation::SeqDiff object or 0 on error

See Bio::LiveSeq::Mutation, Bio::SimpleAlign, and Bio::Variation::SeqDiff for more information.

create_mutation

Title   : create_mutation
Usage   : 
Function:

          Formats sequence differences from two sequences into
          Bio::LiveSeq::Mutation objects which can be applied to a
          gene.

          To keep it generic, sequence arguments need not to be
          Bio::LocatableSeq. Coordinate change to parent sequence
          numbering needs to be done by the calling code.

          Called from change_gene_with_alignment

Args    : Bio::PrimarySeqI inheriting object for the reference sequence
          Bio::PrimarySeqI inheriting object for the query sequence
          integer for the start position of the local sequence difference
          integer for the length of the sequence difference
Returns : Bio::LiveSeq::Mutation object 

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
          Bio::Variation::DNAMutation object.  Links it to SeqDiff
          object.

Example :
Returns : Bio::Variation::DNAMutation object
Args    : Bio::Variation::SeqDiff object

See Bio::Variation::DNAMutation and Bio::Variation::SeqDiff.

_set_effects

Title   : _set_effects
Usage   :
Function:

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

Example :
Returns :
Args    : Bio::Variation::SeqDiff object
          Bio::Variation::DNAMutation object

See Bio::Variation::RNAChange, Bio::Variation::RNAChange, Bio::Variation::SeqDiff, and Bio::Variation::DNAMutation.

_untranslated

Title   : _untranslated
Usage   :
Function:

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

Example :
Returns :
Args    : Bio::Variation::SeqDiff object
          Bio::Variation::DNAMutation object

See Bio::Variation::RNAChange, Bio::Variation::SeqDiff and Bio::Variation::DNAMutation for details.