The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bio::Mitomaster::SpeciesRef - Reference object for species and ref sequence meta-data.

SYNOPSIS

  use Bio::Mitomaster::SpeciesRef;
  $ref = Bio::Mitomaster::SpeciesRef->new(species=>'human', reference=>'rCRS');
  $ref = Bio::Mitomaster::SpeciesRef->new();  #same thing

  $amino_acid = $ref->codon_code('TTC');
  # $amino_acid is now F
  $amino_acid = $ref->codon_code('UUC');  
  # Same thing but with Uracil

  print "The mtDNA reference seq is: ", $ref->ref_seq();
  $transcript = $ref->transcript($locus_id);  # Get the ND1 transcript
  $translation = $ref->translation($locus_id); # Get the ND1 translation
  $locus_info = $ref->locus(5);
  print $locus_info, ' begins at ', $locus_info->{start};  # Prints 'MTTL1 begins at 3230'

ATTRIBUTES

dna_wrapping =head2 rna_wrapping =head2 aa_wrapping

These attributes are used to indicate if position values wrap, i.e. the last moiety is a neighbor to the first. Bio::Mitomaster was designed with support for circular molecules and setting these flag will cause the ending position to simply wrap back on the beginning. Note that the molecule may still be linear. Such would be the case if we had a partial human mtDNA sequences that began in the middle of the sequence and extended a little past the origin of replication. That situation would warrant setting the wrapping value to 1, so that the seq would be treated as one continuous molecule. Generally, this value is read from the species meta-data and we don't have to manipulate it directly. The dna_wrapping attribute has an alias accessor called wrapping since that is the value that we normally want to manipulate. The rna_wrapping and aa_wrapping were included for completeness and internal use by the software, but perhaps there is some unimagined scenario where a transcript or translation could be thought of as wrapping.

Constructor Attributes

The reference and species are required for instantiation, but if you're studying human seqs, then the default values are probably okay.

end

The last moiety position. This value is contextual. While it defaults to the last genome ref position, if the method is called by an RNASeq object (RNASeq delegates to this method), it will return the last position of the corresponding ref transcript. Same goes for AASeq objects and translations.

reference

The reference sequence for the species. Defaults to 'rCRS' (the human revised Cambridge sequence).

ref_seq =head2 ref_seq($position) =head2 ref_seq($start, $end)

A string for the the MITOMAP reference sequence (the revised Cambridge sequence). Note that the revised Cambridge sequence (rCRS) has a placeholder at position 3107, which is denoted by an 'N'. Also note that the placeholder base is represented by an 'N'.

Returns a string representing the ref sequence value. This is the same sequence provided by the contained SpeciesRef object, but enhanced with the Bio::Mitomaster::SeqManipRole and trimmed according to the start and end values of this particlar sequence object. When called with indicies outside the declared start and end values of the sequence, an error is returned.

species

The species from which the sequence is derived. Defaults to 'human'.

start

The first nucleotide position. Defaults to one.

codon_code

The human mitochondrial translation code that maps codons to their amino acid. Note that the mitochondrial code has some exceptions to the standard code. There are key values for both thymine and uracil codes, so you can use either one.

 $r = Bio::Mitomaster::SpeciesRef->new();
 $c = $r->codon_code('TTT');  # $c is now 'F'
 $c = $r->codon_code('UUU');  # same thing
 $c = $r->codon_code();  # $c is a hash reference to a codon lookup table

locus

The human mitochondrial locus regions. Contains information for these regions. Locus regions are indexed by ID# and name.

 $r = Bio::Mitomaster::SpeciesRef->new();
 $t = $r->locus();  # $l is a hashref to a hash that contains all the locus hashrefs indexed by ID#
 $l = $r->locus(16);  # $l is a hashref for information about the Cytochrome oxidase subunit I locus
 $s = $l->{start};  # $s is 5903, the start for position for MTCO1

Each locus hashref contains the keys: name, common_name, start, ending, strand, type, product.

protein

The human mitochondrially encoded proteins. Contains information for these. Proteins are indexed by locus ID# and name. $r = Bio::Mitomaster::SpeciesRef->new(); $p = $r->protein(16); # $p is a hashref for information about the Cytochrome oxidase subunit I $p = $r->protein('COI'); # same thing $w = $p->{predicted_weight}; # $w is 57000, the molecular weight predicted for Cytochrome oxidase subunit I $p = $r->protein(); # $l is a hashref to a hash that contains all the protein hashrefs indexed by locus ID# Each protein hashref contains the keys: id, predicted_weight, glycine_number, glycine_weight, urea_number, urea_weight, name, npid, and giid.

transcript

The human mitochondrial transcript sequences indexed by their locus ID value. Values returned are the RNA strings that would be seen following transcription: compensation has been made for the strand on which the locus is encoded, uracil replaces thymine, and any poly-adenlyation.

 $r = Bio::Mitomaster::SpeciesRef->new();
 $t = $r->transcript(16);  # $t contains the transcript string for the Cytochrome oxidase subunit I
 $t = $r->transcript(16,1,10);  # same thing but only the first 10 nucleotides
 $t = $r->transcript();  # $t is a hashref to a hash that contains all the mitochondrially encoded transcripts indexed by locus ID#

The options for retrieving sub string values of a transcript is documented in the section Seq String Attributes.

translation

The human mitochondrial translation sequences. Values are the amino acid strings (IUPAC single-letter symbols) that would be seen following translation using the transcript strings returned by the transcript method.

    $r = Bio::Mitomaster::SpeciesRef->new();
    $t = $r->translation(16);  # $t contains the translation string for the Cytochrome oxidase subunit I
    $t = $r->translation(16,1,10);  # same thing but only the first 10 amino acids
    $t = $r->translation();  # $t is a hashref to a hash that contains all the mitochondrially encoded translations indexed by locus ID#

The options for retrieving sub string values of a translation is documented in the section Seq String Attributes.

METHODS

wrapping

Alias accessor/setter for the dna_wrapping attribute. We define an alias since dna_wrapping is normally the value we want for wrapping.

AUTHOR

Marty Brandon, <marty.brandon at gmail.com>

BUGS

Please report any bugs or feature requests to bug-bio-mm-refmitohuman at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bio-Bio::Mitomaster-RefMitoHuman. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Bio::Mitomaster::SpeciesRef

COPYRIGHT & LICENSE

Copyright 2008 Marty Brandon, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.