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 # If you use X for selenocysteines, then you'll need a new alphabet.20 """Extended 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 letters = IUPACData.extended_protein_letters32 33 extended_protein = ExtendedIUPACProtein() 3436 """IUPAC protein single letter alphabet of the 20 standard amino acids.""" 37 letters = IUPACData.protein_letters38 39 protein = IUPACProtein() 40 41 ##################### DNA 42 43 # The next two are the IUPAC definitions, from: 44 # http://www.chem.qmw.ac.uk/iubmb/misc/naseq.html 47 48 ambiguous_dna = IUPACAmbiguousDNA() 49 52 53 unambiguous_dna = IUPACUnambiguousDNA() 54 55 56 # Also from the URL, but not part of the standard 59 # B == 5-bromouridine 60 # D == 5,6-dihydrouridine 61 # S == thiouridine 62 # W == wyosine 63 64 extended_dna = ExtendedIUPACDNA() 65 66 ##################### RNA 67 70 71 ambiguous_rna = IUPACAmbiguousRNA() 72 75 76 unambiguous_rna = IUPACUnambiguousRNA() 77 78 # are there extended forms? 79 #class ExtendedIUPACRNA(Alphabet.RNAAlphabet): 80 # letters = extended_rna_letters 81 # # B == 5-bromouridine 82 # # D == 5,6-dihydrouridine 83 # # S == thiouridine 84 # # W == wyosine 85 86 87 # We need to load the property resolution information, but we need to 88 # wait until after the systems have been loaded. (There's a nasty loop 89 # where, eg, translation objects need an alphabet, which need to be 90 # assocated with translators.) 91 92 from Bio.PropertyManager import default_manager 9395 assert manager is default_manager 96 del default_manager.class_resolver[IUPACProtein] 97 del default_manager.class_resolver[ExtendedIUPACProtein] 98 del default_manager.class_resolver[IUPACAmbiguousDNA] 99 del default_manager.class_resolver[IUPACUnambiguousDNA] 100 del default_manager.class_resolver[ExtendedIUPACDNA] 101 del default_manager.class_resolver[IUPACAmbiguousRNA] 102 del default_manager.class_resolver[IUPACUnambiguousRNA] 103 104 from Bio.Encodings import IUPACEncoding 105 106 return manager.resolve_class(klass, property)107 108 default_manager.class_resolver[IUPACProtein] = _bootstrap 109 default_manager.class_resolver[ExtendedIUPACProtein] = _bootstrap 110 default_manager.class_resolver[IUPACAmbiguousDNA] = _bootstrap 111 default_manager.class_resolver[IUPACUnambiguousDNA] = _bootstrap 112 default_manager.class_resolver[ExtendedIUPACDNA] = _bootstrap 113 default_manager.class_resolver[IUPACAmbiguousRNA] = _bootstrap 114 default_manager.class_resolver[IUPACUnambiguousRNA] = _bootstrap 115
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Thu Dec 25 10:44:09 2008 | http://epydoc.sourceforge.net |