Sendu Bala
and 1 contributors


Bio::Tools::IUPAC - Generates unique Seq objects from an ambiguous Seq object


 use Bio::Seq;
 use Bio::Tools::IUPAC;

 my $ambiseq = new Bio::Seq (-seq => 'ARTCGUTGR', -alphabet => 'dna');
 my $stream  = new Bio::Tools::IUPAC(-seq => $ambiseq);

 while ($uniqueseq = $stream->next_seq()) {
     # process the unique Seq object.


IUPAC is a tool that produces a stream of unique, "strict"-satisfying Seq objects from an ambiquous Seq object (containing non-standard characters given the meaning shown below)

        Extended DNA / RNA alphabet :
        (includes symbols for nucleotide ambiguity)
        Symbol       Meaning      Nucleic Acid
         A            A           Adenine
         C            C           Cytosine
         G            G           Guanine
         T            T           Thymine
         U            U           Uracil
         M          A or C
         R          A or G
         W          A or T
         S          C or G
         Y          C or T
         K          G or T
         V        A or C or G
         H        A or C or T
         D        A or G or T
         B        C or G or T
         X      G or A or T or C
         N      G or A or T or C

          Cornish-Bowden (1985) Nucl. Acids Res. 13: 3021-3030.


       Amino Acid alphabet:
        Symbol           Meaning
        A        Alanine
        B        Aspartic Acid, Asparagine
        C        Cystine
        D        Aspartic Acid
        E        Glutamic Acid
        F        Phenylalanine
        G        Glycine
        H        Histidine
        I        Isoleucine
        J        Isoleucine/Leucine
        K        Lysine
        L        Leucine
        M        Methionine
        N        Asparagine
        O        Pyrrolysine
        P        Proline
        Q        Glutamine
        R        Arginine
        S        Serine
        T        Threonine
        U        Selenocysteine
        V        Valine
        W        Tryptophan
        X        Unknown
        Y        Tyrosine
        Z        Glutamic Acid, Glutamine
        *        Terminator

          Biochem J. 1984 Apr 15; 219(2): 345-373
          Eur J Biochem. 1993 Apr 1; 213(1): 2


Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.                  - General discussion  - 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 the web:

AUTHOR - Aaron Mackey



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


 Title   : new
 Usage   : new Bio::Tools::IUPAC $seq;
 Function: returns a new seq stream (akin to SeqIO)
 Returns : a Bio::Tools::IUPAC stream object that will produce unique
           Seq objects on demand.
 Args    : an ambiguously coded object that has a specified 'alphabet'


 Title   : next_seq
 Usage   : $iupac->next_seq()
 Function: returns the next unique Seq object
 Returns : a object
 Args    : none.


 Title   : iupac_iup
 Usage   : my %aasymbols = $iupac->iupac_iup
 Function: Returns a hash of PROTEIN symbols -> symbol components
 Returns : Hash
 Args    : none


 Title   : iupac_iub
 Usage   : my %dnasymbols = $iupac->iupac_iub
 Function: Returns a hash of DNA symbols -> symbol components
 Returns : Hash
 Args    : none


 Title   : iupac_rev_iub
 Usage   : my %dnasymbols = $iupac->iupac_rev_iub
 Function: Returns a hash of nucleotide combinations -> IUPAC code
           (a reverse of the iupac_iub hash).
 Returns : Hash
 Args    : none


 Title   : count
 Usage   : my $total = $iupac->count();
 Function: Calculates the number of unique, unambiguous sequences that
           this ambiguous sequence could generate
 Return  : int
 Args    : none