Trees | Indices | Help |
---|
|
1 # Copyright 2000-2001 by Andrew Dalke. 2 # Revisions copyright 2008 by Peter Cock. 3 # All rights reserved. 4 # This code is part of the Biopython distribution and governed by its 5 # license. Please see the LICENSE file that should have been included 6 # as part of this package. 7 8 """Standard nucleotide and protein alphabets defined by IUPAC.""" 9 10 from Bio import Alphabet 11 from Bio.Data import IUPACData 12 13 ##################### Protein 14 15 # From the IUPAC definition at: 16 # http://www.chem.qmw.ac.uk/iupac/AminoAcid/A2021.html#AA21 17 18 assert IUPACData.extended_protein_letters == IUPACData.extended_protein_letters.upper()20 """Extended uppercase IUPAC protein single letter alphabet including X etc. 21 22 In addition to the standard 20 single letter protein codes, this includes: 23 24 B = "Asx"; Aspartic acid (R) or Asparagine (N) 25 X = "Xxx"; Unknown or 'other' amino acid 26 Z = "Glx"; Glutamic acid (E) or Glutamine (Q) 27 J = "Xle"; Leucine (L) or Isoleucine (I), used in mass-spec (NMR) 28 U = "Sec"; Selenocysteine 29 O = "Pyl"; Pyrrolysine 30 31 This alphabet is not intended to be used with X for Selenocysteine 32 (an ad-hoc standard prior to the IUPAC adoption of U instead). 33 """ 34 letters = IUPACData.extended_protein_letters35 36 extended_protein = ExtendedIUPACProtein() 37 38 assert IUPACData.protein_letters == IUPACData.protein_letters.upper()40 """Uppercase IUPAC protein single letter alphabet of the 20 standard amino acids.""" 41 letters = IUPACData.protein_letters42 43 protein = IUPACProtein() 44 45 ##################### DNA 46 47 # The next two are the IUPAC definitions, from: 48 # http://www.chem.qmw.ac.uk/iubmb/misc/naseq.html 52 53 ambiguous_dna = IUPACAmbiguousDNA() 5456 """Uppercase IUPAC unambiguous DNA (letters GATC only).""" 57 letters = IUPACData.unambiguous_dna_letters58 59 unambiguous_dna = IUPACUnambiguousDNA() 60 61 62 # Also from the URL, but not part of the standard64 """Extended IUPAC DNA alphabet. 65 66 In addition to the standard letter codes GATC, this includes: 67 68 B = 5-bromouridine 69 D = 5,6-dihydrouridine 70 S = thiouridine 71 W = wyosine 72 """ 73 letters = IUPACData.extended_dna_letters74 75 extended_dna = ExtendedIUPACDNA() 76 77 ##################### RNA 78 82 83 ambiguous_rna = IUPACAmbiguousRNA() 8486 """Uppercase IUPAC unambiguous RNA (letters GAUC only).""" 87 letters = IUPACData.unambiguous_rna_letters88 89 unambiguous_rna = IUPACUnambiguousRNA() 90 91 # are there extended forms? 92 #class ExtendedIUPACRNA(Alphabet.RNAAlphabet): 93 # letters = extended_rna_letters 94 # # B == 5-bromouridine 95 # # D == 5,6-dihydrouridine 96 # # S == thiouridine 97 # # W == wyosine 98 99 100 # ==================================================================== 101 # TODO - Remove all the following code using now deprecated modules 102 # Bio.PropertyManager, Bio.Encoding (all used by Bio.utils) 103 # 104 # We need to load the property resolution information, but we need to 105 # wait until after the systems have been loaded. (There's a nasty loop 106 # where, eg, translation objects need an alphabet, which need to be 107 # assocated with translators.) 108 109 from Bio.PropertyManager import default_manager 110112 assert manager is default_manager 113 del default_manager.class_resolver[IUPACProtein] 114 del default_manager.class_resolver[ExtendedIUPACProtein] 115 del default_manager.class_resolver[IUPACAmbiguousDNA] 116 del default_manager.class_resolver[IUPACUnambiguousDNA] 117 del default_manager.class_resolver[ExtendedIUPACDNA] 118 del default_manager.class_resolver[IUPACAmbiguousRNA] 119 del default_manager.class_resolver[IUPACUnambiguousRNA] 120 121 from Bio.Encodings import IUPACEncoding 122 123 return manager.resolve_class(klass, property)124 125 default_manager.class_resolver[IUPACProtein] = _bootstrap 126 default_manager.class_resolver[ExtendedIUPACProtein] = _bootstrap 127 default_manager.class_resolver[IUPACAmbiguousDNA] = _bootstrap 128 default_manager.class_resolver[IUPACUnambiguousDNA] = _bootstrap 129 default_manager.class_resolver[ExtendedIUPACDNA] = _bootstrap 130 default_manager.class_resolver[IUPACAmbiguousRNA] = _bootstrap 131 default_manager.class_resolver[IUPACUnambiguousRNA] = _bootstrap 132
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Fri Apr 1 00:43:04 2011 | http://epydoc.sourceforge.net |