<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -15,9 +15,9 @@ from Bio.Data import IUPACData
 # From the IUPAC definition at:
 #   http://www.chem.qmw.ac.uk/iupac/AminoAcid/A2021.html#AA21
 
-# If you use X for selenocysteines, then you'll need a new alphabet.
+assert IUPACData.extended_protein_letters == IUPACData.extended_protein_letters.upper()
 class ExtendedIUPACProtein(Alphabet.ProteinAlphabet):
-    &quot;&quot;&quot;Extended IUPAC protein single letter alphabet including X etc.
+    &quot;&quot;&quot;Extended uppercase IUPAC protein single letter alphabet including X etc.
 
     In addition to the standard 20 single letter protein codes, this includes:
     
@@ -27,13 +27,17 @@ class ExtendedIUPACProtein(Alphabet.ProteinAlphabet):
     J = &quot;Xle&quot;;  Leucine (L) or Isoleucine (I), used in mass-spec (NMR)
     U = &quot;Sec&quot;;  Selenocysteine
     O = &quot;Pyl&quot;;  Pyrrolysine
+
+    This alphabet is not intended to be used with X for Selenocysteine
+    (an ad-hoc standard prior to the IUPAC adoption of U instead).
     &quot;&quot;&quot;
     letters = IUPACData.extended_protein_letters
 
 extended_protein = ExtendedIUPACProtein()
 
+assert IUPACData.protein_letters == IUPACData.protein_letters.upper()
 class IUPACProtein(ExtendedIUPACProtein):
-    &quot;&quot;&quot;IUPAC protein single letter alphabet of the 20 standard amino acids.&quot;&quot;&quot;
+    &quot;&quot;&quot;Uppercase IUPAC protein single letter alphabet of the 20 standard amino acids.&quot;&quot;&quot;
     letters = IUPACData.protein_letters
 
 protein = IUPACProtein()
@@ -43,11 +47,13 @@ protein = IUPACProtein()
 # The next two are the IUPAC definitions, from:
 #   http://www.chem.qmw.ac.uk/iubmb/misc/naseq.html
 class IUPACAmbiguousDNA(Alphabet.DNAAlphabet):
+    &quot;&quot;&quot;Uppercase IUPAC ambiguous DNA.&quot;&quot;&quot;
     letters = IUPACData.ambiguous_dna_letters
 
 ambiguous_dna = IUPACAmbiguousDNA()
 
 class IUPACUnambiguousDNA(IUPACAmbiguousDNA):
+    &quot;&quot;&quot;Uppercase IUPAC unambiguous DNA (letters GATC only).&quot;&quot;&quot;
     letters = IUPACData.unambiguous_dna_letters
 
 unambiguous_dna = IUPACUnambiguousDNA()
@@ -55,22 +61,29 @@ unambiguous_dna = IUPACUnambiguousDNA()
 
 # Also from the URL, but not part of the standard
 class ExtendedIUPACDNA(Alphabet.DNAAlphabet):
+    &quot;&quot;&quot;Extended IUPAC DNA alphabet.
+
+    In addition to the standard letter codes GATC, this includes:
+
+    B = 5-bromouridine
+    D = 5,6-dihydrouridine
+    S = thiouridine
+    W = wyosine
+    &quot;&quot;&quot;
     letters = IUPACData.extended_dna_letters
-    #   B == 5-bromouridine
-    #   D == 5,6-dihydrouridine
-    #   S == thiouridine
-    #   W == wyosine
 
 extended_dna = ExtendedIUPACDNA()
 
 ##################### RNA
 
 class IUPACAmbiguousRNA(Alphabet.RNAAlphabet):
+    &quot;&quot;&quot;Uppercase IUPAC ambiguous RNA.&quot;&quot;&quot;
     letters = IUPACData.ambiguous_rna_letters
 
 ambiguous_rna = IUPACAmbiguousRNA()
 
 class IUPACUnambiguousRNA(IUPACAmbiguousRNA):
+    &quot;&quot;&quot;Uppercase IUPAC unambiguous RNA (letters GAUC only).&quot;&quot;&quot;
     letters = IUPACData.unambiguous_rna_letters
 
 unambiguous_rna = IUPACUnambiguousRNA()</diff>
      <filename>Bio/Alphabet/IUPAC.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>95241abf3f2f4d45884966b97f591d43d6198e13</id>
    </parent>
  </parents>
  <author>
    <name>peterc</name>
    <email>peterc</email>
  </author>
  <url>http://github.com/etal/biopython/commit/7da8341aa25a22904c993df66d8aee3ffdddc984</url>
  <id>7da8341aa25a22904c993df66d8aee3ffdddc984</id>
  <committed-date>2008-12-07T09:22:48-08:00</committed-date>
  <authored-date>2008-12-07T09:22:48-08:00</authored-date>
  <message>Docstrings</message>
  <tree>8989d04d88194ee208edf83dcd53cb7287b62ab2</tree>
  <committer>
    <name>peterc</name>
    <email>peterc</email>
  </committer>
</commit>
