allpy
changeset 191:73f9779491ef
Renamed lib to allpy
Previously, every import looked like "from allpy.lib import ...", which
was ridiculous.
Consequences:
1. Uses of the package look like "from allpy import"
2. When testing the package locally, you have to add `pwd` to PYTHONPATH,
not `pwd`/.. (this is a good thing (tm))
3. It is now possible to make a proper Debian package
The change renames directory & fixes all imports referencing allpy.lib
The results are untested since there were no working tests before the
change.
author | Daniil Alexeyevsky <me.dendik@gmail.com> |
---|---|
date | Thu, 18 Nov 2010 19:38:05 +0300 |
parents | 08494fb2c47a |
children | 50633fcbbdc4 a7eed9c3ab8f |
files | __init__.py allpy/__init__.py allpy/alignment.py allpy/allpy_data/AAdict.py allpy/allpy_data/__init__.py allpy/allpy_data/amino_acids.py allpy/allpy_data/blossum62.py allpy/allpy_pdb.py allpy/block.py allpy/config.py allpy/fasta.py allpy/graph.py allpy/markup.py allpy/monomer.py allpy/sequence.py geometrical_core/geometrical_core.py lib/__init__.py lib/alignment.py lib/allpy_data/AAdict.py lib/allpy_data/__init__.py lib/allpy_data/amino_acids.py lib/allpy_data/blossum62.py lib/allpy_pdb.py lib/block.py lib/config.py lib/fasta.py lib/graph.py lib/markup.py lib/monomer.py lib/sequence.py repeats/repeats.py sec_str/sec_str.py test/test.py |
diffstat | 30 files changed, 2383 insertions(+), 2383 deletions(-) [+] |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/allpy/alignment.py Thu Nov 18 19:38:05 2010 +0300 1.3 @@ -0,0 +1,240 @@ 1.4 +#!/usr/bin/python 1.5 + 1.6 +""" 1.7 + "I will not use abbrev." 1.8 + "I will always finish what I st" 1.9 + - Bart Simpson 1.10 + 1.11 +""" 1.12 + 1.13 +import sequence 1.14 +from monomer import AminoAcidType 1.15 +import allpy_data 1.16 +from tempfile import NamedTemporaryFile 1.17 +import os 1.18 +import block 1.19 +from fasta import save_fasta 1.20 + 1.21 +class Alignment(object): 1.22 + """ Alignment 1.23 + 1.24 + Mandatory data: 1.25 + * body -- dict 1.26 + {<Sequence object>:[<Monomer object>,None,<Monomer object>]} 1.27 + keys are the Sequence objects, values are the lists, which 1.28 + contain monomers of those sequences or None for gaps in the 1.29 + corresponding sequence of 1.30 + alignment 1.31 + 1.32 + """ 1.33 + # _sequences -- list of Sequence objects. Sequences don't contain gaps 1.34 + # - see sequence.py module 1.35 + 1.36 + def __init__(self, *args): 1.37 + """overloaded constructor 1.38 + 1.39 + Alignment() -> new empty Alignment 1.40 + Alignment(sequences, body) -> new Alignment with sequences and 1.41 + body initialized from arguments 1.42 + Alignment(fasta_file) -> new Alignment, read body and sequences 1.43 + from fasta file 1.44 + 1.45 + """ 1.46 + if len(args)>1:#overloaded constructor 1.47 + self.sequences=args[0] 1.48 + self.body=args[1] 1.49 + elif len(args)==0: 1.50 + self.sequences=[] 1.51 + self.body={} 1.52 + else: 1.53 + self.sequences, self.body = Alignment.from_fasta(args[0]) 1.54 + 1.55 + def length(self): 1.56 + """ Returns width, ie length of each sequence with gaps """ 1.57 + return max([len(line) for line in self.body.values()]) 1.58 + 1.59 + def height(self): 1.60 + """ The number of sequences in alignment (it's thickness). """ 1.61 + return len(self.body) 1.62 + 1.63 + def identity(self): 1.64 + """ Calculate the identity of alignment positions for colouring. 1.65 + 1.66 + For every (row, column) in alignment the percentage of the exactly 1.67 + same residue in the same column in the alignment is calculated. 1.68 + The data structure is just like the Alignment.body, but istead of 1.69 + monomers it contains float percentages. 1.70 + """ 1.71 + # Oh, God, that's awful! Absolutely not understandable. 1.72 + # First, calculate percentages of amino acids in every column 1.73 + contribution = 1.0 / len(self.sequences) 1.74 + all_columns = [] 1.75 + for position in range(len(self)): 1.76 + column_percentage = {} 1.77 + for seq in self.body: 1.78 + if self.body[seq][position] is not None: 1.79 + aa = self.body[seq][position].code 1.80 + else: 1.81 + aa = None 1.82 + if aa in allpy_data.amino_acids: 1.83 + if aa in column_percentage.keys(): 1.84 + column_percentage[aa] += contribution 1.85 + else: 1.86 + column_percentage[aa] = contribution 1.87 + all_columns.append(column_percentage) 1.88 + # Second, map these percentages onto the alignment 1.89 + self.identity_percentages = {} 1.90 + for seq in self.sequences: 1.91 + self.identity_percentages[seq] = [] 1.92 + for seq in self.identity_percentages: 1.93 + line = self.identity_percentages[seq] 1.94 + for position in range(len(self)): 1.95 + if self.body[seq][position] is not None: 1.96 + aa = self.body[seq][position].code 1.97 + else: 1.98 + aa = None 1.99 + line.append(all_columns[position].get(aa)) 1.100 + return self.identity_percentages 1.101 + 1.102 + @staticmethod 1.103 + def from_fasta(file, monomer_kind=AminoAcidType): 1.104 + """ Import data from fasta file 1.105 + 1.106 + monomer_kind is class, inherited from MonomerType 1.107 + 1.108 + >>> import alignment 1.109 + >>> sequences,body=alignment.Alignment.from_fasta(open("test.fasta")) 1.110 + """ 1.111 + import re 1.112 + 1.113 + sequences = [] 1.114 + body = {} 1.115 + 1.116 + raw_sequences = file.read().split(">") 1.117 + if len(raw_sequences) <= 1: 1.118 + raise Exception("Wrong format of fasta-file %s" % file.name) 1.119 + 1.120 + raw_sequences = raw_sequences[1:] #ignore everything before the first > 1.121 + for raw in raw_sequences: 1.122 + parsed_raw_sequence = raw.split("\n") 1.123 + parsed_raw_sequence = [s.strip() for s in parsed_raw_sequence] 1.124 + name_and_description = parsed_raw_sequence[0] 1.125 + name_and_description = name_and_description.split(" ",1) 1.126 + if len(name_and_description) == 2: 1.127 + name, description = name_and_description 1.128 + elif len(name_and_description) == 1: 1.129 + #if there is description 1.130 + name = name_and_description[0] 1.131 + description = '' 1.132 + else: 1.133 + raise Exception("Wrong name of sequence %(name)$ fasta-file %(file)s" % \ 1.134 + {'name': name, 'file': file.name}) 1.135 + 1.136 + if len(parsed_raw_sequence) <= 1: 1.137 + raise Exception("Wrong format of sequence %(name)$ fasta-file %(file)s" % \ 1.138 + {'name': name, 'file': file.name}) 1.139 + string = "" 1.140 + for piece in parsed_raw_sequence[1:]: 1.141 + piece_without_whitespace_chars = re.sub("\s", "", piece) 1.142 + string += piece_without_whitespace_chars 1.143 + monomers = [] #convert into Monomer objects 1.144 + body_list = [] #create the respective list in body dict 1.145 + for current_monomer in string: 1.146 + if current_monomer not in ["-", ".", "~"]: 1.147 + monomers.append(monomer_kind.from_code1(current_monomer).instance()) 1.148 + body_list.append(monomers[-1]) 1.149 + else: 1.150 + body_list.append(None) 1.151 + s = sequence.Sequence(monomers, name, description) 1.152 + sequences.append(s) 1.153 + body[s] = body_list 1.154 + return sequences, body 1.155 + 1.156 + 1.157 + @staticmethod 1.158 + def from_sequences(*sequences): 1.159 + """ Constructs new alignment from sequences 1.160 + 1.161 + Add None's to right end to make equal lengthes of alignment sequences 1.162 + """ 1.163 + alignment = Alignment() 1.164 + alignment.sequences = sequences 1.165 + max_length = max(len(sequence) for sequence in sequences) 1.166 + for sequence in sequences: 1.167 + gaps_count = max_length - len(sequence) 1.168 + alignment.body[sequence] = sequence.monomers + [None] * gaps_count 1.169 + return alignment 1.170 + 1.171 + def save_fasta(self, out_file, long_line=70, gap='-'): 1.172 + """ Saves alignment to given file 1.173 + 1.174 + Splits long lines to substrings of length=long_line 1.175 + To prevent this, set long_line=None 1.176 + """ 1.177 + block.Block(self).save_fasta(out_file, long_line=long_line, gap=gap) 1.178 + 1.179 + def muscle_align(self): 1.180 + """ Simple align ths alignment using sequences (muscle) 1.181 + 1.182 + uses old Monomers and Sequences objects 1.183 + """ 1.184 + tmp_file = NamedTemporaryFile(delete=False) 1.185 + self.save_fasta(tmp_file) 1.186 + tmp_file.close() 1.187 + os.system("muscle -in %(tmp)s -out %(tmp)s" % {'tmp': tmp_file.name}) 1.188 + sequences, body = Alignment.from_fasta(open(tmp_file.name)) 1.189 + for sequence in self.sequences: 1.190 + try: 1.191 + new_sequence = [i for i in sequences if sequence==i][0] 1.192 + except: 1.193 + raise Exception("Align: Cann't find sequence %s in muscle output" % \ 1.194 + sequence.name) 1.195 + old_monomers = iter(sequence.monomers) 1.196 + self.body[sequence] = [] 1.197 + for monomer in body[new_sequence]: 1.198 + if not monomer: 1.199 + self.body[sequence].append(monomer) 1.200 + else: 1.201 + old_monomer = old_monomers.next() 1.202 + if monomer != old_monomer: 1.203 + raise Exception("Align: alignment errors") 1.204 + self.body[sequence].append(old_monomer) 1.205 + os.unlink(tmp_file.name) 1.206 + 1.207 + 1.208 + def column(self, sequence=None, sequences=None, original=None): 1.209 + """ returns list of columns of alignment 1.210 + 1.211 + sequence or sequences: 1.212 + if sequence is given, then column is (original_monomer, monomer) 1.213 + if sequences is given, then column is (original_monomer, {sequence: monomer}) 1.214 + if both of them are given, it is an error 1.215 + original (Sequence type): 1.216 + if given, this filters only columns represented by original sequence 1.217 + """ 1.218 + if sequence and sequences: 1.219 + raise Exception("Wrong usage. read help") 1.220 + indexes = dict([(v, k) for( k, v) in enumerate(self.sequences)]) 1.221 + alignment = self.body.items() 1.222 + alignment.sort(key=lambda i: indexes[i[0]]) 1.223 + alignment = [monomers for seq, monomers in alignment] 1.224 + for column in zip(*alignment): 1.225 + if not original or column[indexes[original]]: 1.226 + if sequence: 1.227 + yield (column[indexes[original]], column[indexes[sequence]]) 1.228 + else: 1.229 + yield (column[indexes[original]], 1.230 + dict([(s, column[indexes[s]]) for s in sequences])) 1.231 + 1.232 + 1.233 + def secstr(self, sequence, pdb_chain, gap='-'): 1.234 + """ Returns string representing secondary structure """ 1.235 + return ''.join([ 1.236 + (sequence.pdb_secstr[pdb_chain][m] if sequence.secstr_has(pdb_chain, m) else gap) 1.237 + for m in self.body[sequence]]) 1.238 + 1.239 + def save_secstr(self, out_file, sequence, pdb_chain, 1.240 + name, description='', gap='-', long_line=70): 1.241 + """ Save secondary structure and name in fasta format """ 1.242 + save_fasta(out_file, self.secstr(sequence, pdb_chain, gap), name, description, long_line) 1.243 +
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/allpy/allpy_data/AAdict.py Thu Nov 18 19:38:05 2010 +0300 2.3 @@ -0,0 +1,1200 @@ 2.4 + 2.5 +""" 2.6 +Dict: 2.7 + key: 3-letter code from PDB 2.8 + value: (1-letter code, type, is_modified, None) 2.9 + type: 2.10 + p - protein 2.11 + d - dna 2.12 + r - rna 2.13 + is_modified: "M" or None 2.14 + None 2.15 + name 2.16 +""" 2.17 + 2.18 +AAdict = { 2.19 +"CPI": ('x', 'p', None, None, '6-CARBOXYPIPERIDINE'), 2.20 +"AGM": ('r', 'p', 'M', None, '5-METHYL-ARGININE'), 2.21 +"G25": ('g', 'r', 'M', None, '"GUANOSINE-5\'-MONOPHOSPHATE"'), 2.22 +"CPN": ('c', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-CYTOSINE'), 2.23 +"MA6": ('a', 'r', 'M', None, '"6N-DIMETHYLADENOSINE-5\'-MONOPHOSHATE"'), 2.24 +"NYS": ('c', 'p', 'M', None, 'S-{5-[(1R)-2-AMINO-1-HYDROXYETHYL]-2,3-DIHYDROXYPHENYL}-L-CYSTEINE'), 2.25 +"CPC": ('x', 'p', None, None, '"2-METHYL-1-METHYLAMINO-CYCLOPROPANE'), 2.26 +"8FG": ('g', 'd', 'M', None, '"N-(5\'-PHOSPHO-2\'-DEOXYGUANOSIN-8-YL)-2-ACETYLAMINOFLUORENE"'), 2.27 +"SIC": ('x', 'p', None, None, '"(2R)-2-[(3S)-3-AMINO-2,5-DIOXOPYRROLIDIN-1-YL]-3-SULFANYLPROPANOIC'), 2.28 +"PQ1": ('n', 'r', None, None, '"PHOSPHORIC'), 2.29 +"PAS": ('d', 'p', 'M', None, '"2-AMINO-4-OXO-4-PHOSPHONOOXY-BUTYRIC'), 2.30 +"EOV": ('x', 'p', None, None, '(3S,6S,9S,12R,15S,18S,21S,24S,30S,33S)-30-ethyl-33-[(1R,2R,4E)-1-hydroxy-2-methylhex-4-en-1-yl]-1,4,7,10,12,15,19,25,28-nonamethyl-3,21-bis(1-methylethyl)-6,9,18,24-tetrakis(2-methylpropyl)-1,4,7,10,13,16,19,22,25,28,31-undecaazacyclotritriacontane-2,5,8,11,14,17,20,23,26,29,32-undecone'), 2.31 +"B2I": ('i', 'p', 'M', None, '"ISOLEUCINE'), 2.32 +"NYM": ('n', 'd', None, None, "3'-DEOXY-3'-AMINOTHYMIDINE MONOPHOSPHATE"), 2.33 +"URD": ('u', 'r', 'M', None, '1-((2R,3R,4S,5R)-TETRAHYDRO-3,4-DIHYDROXY-5-(HYDROXYMETHYL)FURAN-2-YL)PYRIDINE-2,4(1H,3H)-DIONE'), 2.34 +"NYC": ('x', 'p', None, None, '"[(4E)-2-[(1R,2S)-1-AMINO-2-HYDROXYPROPYL]-4-(1H-INDOL-3-YLMETHYLENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.35 +"AGT": ('x', 'p', None, None, 'S-{(S)-AMINO[(4-AMINOBUTYL)AMINO]METHYL}-L-CYSTEINE'), 2.36 +"NYG": ('x', 'p', None, None, '"[(4Z)-2-[(1S)-1,3-DIAMINO-3-OXOPROPYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.37 +"CPV": ('x', 'p', None, None, '"5-AMINO-6-CYCLOHEXYL-4-HYDROXY-2-ISOPROPYL-HEXANOIC'), 2.38 +"TAV": ('d', 'p', 'M', None, '"N-METHYL-N-{2-[(2-NAPHTHYLSULFONYL)AMINO]-5-[(2-NAPHTHYLSULFONYL)OXY]BENZOYL}-L-ASPARTIC'), 2.39 +"S4G": ('g', 'd', 'M', None, "2'-deoxy-4'-thioguanosine 5'-(dihydrogen phosphate)"), 2.40 +"MA7": ('a', 'd', 'M', None, '"1N-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 2.41 +"S4C": ('c', 'r', 'M', None, '"4\'-THIO-4\'-DEOXY-CYTOSINE-5\'-MONOPHOSPHATE"'), 2.42 +"UAR": ('u', 'r', 'M', None, "URACIL ARABINOSE-5'-PHOSPHATE"), 2.43 +"SPT": ('t', 'd', 'M', None, "5'-THIO-THYMIDINE PHOSPHONIC ACID"), 2.44 +"S4U": ('u', 'r', 'M', None, '"4-THIOURIDINE-5\'-PHOSPHATE"'), 2.45 +"TAF": ('t', 'd', 'M', None, "2'-DEOXY-2'-FLUORO-ARABINO-FURANOSYL THYMINE-5'-PHOSPHATE"), 2.46 +"5NC": ('c', 'd', 'M', None, '"5-AZA-CYTIDINE-5\'MONOPHOSPHATE"'), 2.47 +"CSF": ('c', 'r', 'M', None, "CYTIDINE-5'-MONOPHOSPHATE-3-FLUORO-N-ACETYL-NEURAMINIC ACID"), 2.48 +"0CS": ('a', 'p', 'M', None, '3-[(S)-HYDROPEROXYSULFINYL]-L-ALANINE'), 2.49 +"B2V": ('v', 'p', 'M', None, '"VALINE'), 2.50 +"TAL": ('n', 'r', None, None, '9-(6-DEOXY-ALPHA-L-TALOFURANOSYL)-6-METHYLPURINE'), 2.51 +"SCY": ('c', 'p', 'M', None, 'S-ACETYL-CYSTEINE'), 2.52 +"KYQ": ('k', 'p', 'M', None, '(E)-N~6~-(1-CARBOXY-2-HYDROXYETHYLIDENE)-L-LYSINE'), 2.53 +"CS8": ('n', 'r', None, None, '"3-THIAOCTANOYL-COENZYME'), 2.54 +"TA4": ('x', 'p', None, None, '"(S)-2-[4-(AMINOMETHYL)-1H-1,2,3-TRIAZOL-1-YL]-4-METHYLPENTANOIC'), 2.55 +"ALN": ('a', 'p', 'M', None, 'NAPHTHALEN-2-YL-3-ALANINE'), 2.56 +"GS": ('g', 'd', 'M', None, '"GUANOSINE-5\'-THIO-MONOPHOSPHATE"'), 2.57 +"2FE": ('n', 'd', None, None, '"2\'-FLUORO-2\'-DEOXY-1,N6-ETHENOADENINE"'), 2.58 +"VAL": ('V', 'p', None, None, 'VALINE'), 2.59 +"7DA": ('a', 'd', 'M', None, '"7-DEAZA-2\'-DEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 2.60 +"XPC": ('x', 'p', None, None, '"(3S,4R)-4-AMINOPYRROLIDINE-3-CARBOXYLIC'), 2.61 +"VAF": ('v', 'p', 'M', None, 'METHYLVALINE'), 2.62 +"VAD": ('v', 'p', 'M', None, 'DEAMINOHYDROXYVALINE'), 2.63 +"BGM": ('g', 'd', 'M', None, '"8-BROMO-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.64 +"P": ('g', 'd', 'M', None, "2'-DEOXY-N1,N2-PROPANO GUANOSINE MONOPHOSPHATE"), 2.65 +"LHU": ('u', 'r', 'M', None, '"L-URIDINE-5\'-MONOPHOSPHATE"'), 2.66 +"T48": ('t', 'd', 'M', None, "6'-ALPHA-HYDROXY CARBOCYCLIC THYMIDINE 5'-MONOPHOSPHATE"), 2.67 +"2GT": ('t', 'd', 'M', None, "2'-O-PROPARGYL THYMIDINE-5'-MONOPHOSPHATE"), 2.68 +"HMF": ('a', 'p', 'M', None, '"2-AMINO-4-PHENYL-BUTYRIC'), 2.69 +"BNN": ('a', 'p', 'M', None, 'ACETYL-P-AMIDINOPHENYLALANINE'), 2.70 +"AHB": ('n', 'p', 'M', None, 'BETA-HYDROXYASPARAGINE'), 2.71 +"NPH": ('c', 'p', 'M', None, 'CYSTEINE-METHYLENE-CARBAMOYL-1,10-PHENANTHROLINE'), 2.72 +"SIB": ('c', 'p', 'M', None, '"(2S)-2-AMINO-4-({[(2S,3S,4R,5R)-3,4-DIHYDROXY-5-(6-OXO-1,6-DIHYDRO-9H-PURIN-9-YL)TETRAHYDROFURAN-2-YL]METHYL}THIO)BUTANOIC'), 2.73 +"SNN": ('n', 'p', 'M', None, 'L-3-AMINOSUCCINIMIDE'), 2.74 +"AHH": ('x', 'p', None, None, '"AMINO-HYDROXYHEPTANOIC'), 2.75 +"JW5": ('n', 'r', None, None, "6-(HYDROXYMETHYL)URIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.76 +"PBB": ('c', 'p', 'M', None, 'S-(4-BROMOBENZYL)CYSTEINE'), 2.77 +"PTR": ('y', 'p', 'M', None, 'O-PHOSPHOTYROSINE'), 2.78 +"MAA": ('a', 'p', 'M', None, 'N-METHYLALANINE'), 2.79 +"AHS": ('x', 'p', None, None, '"(3-AMINO-4-CYCLOHEXYL-2-HYDROXY-BUTYL)-ISOBUTYL-CARBAMIC'), 2.80 +"AHP": ('a', 'p', 'M', None, '"2-AMINO-HEPTANOIC'), 2.81 +"MAD": ('a', 'r', 'M', None, '"6-HYDRO-1-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 2.82 +"AHT": ('x', 'p', None, None, '4-(2,5-DIAMINO-5-HYDROXY-PENTYL)-PHENOL'), 2.83 +"XYG": ('x', 'p', None, None, '"[(4Z)-2-[(1Z)-ETHANIMIDOYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.84 +"MAI": ('r', 'p', 'M', None, 'DEOXO-METHYLARGININE'), 2.85 +"CP1": ('c', 'd', 'M', None, '2-(METHYLAMINO)-ETHYLGLYCINE-CARBONYLMETHYLENE-CYTOSINE'), 2.86 +"G2L": ('g', 'r', 'M', None, '"3\'-O-METHYOXYETHYL-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.87 +"FFD": ('n', 'd', None, None, '(1R)-1,4-ANHYDRO-2-DEOXY-1-(3-FLUOROPHENYL)-5-O-PHOSPHONO-D-ERYTHRO-PENTITOL'), 2.88 +"CML": ('c', 'p', 'M', None, '"(2S)-2-{[(2R)-2-AMINO-2-CARBOXYETHYL]SULFANYL}BUTANEDIOIC'), 2.89 +"CMH": ('c', 'p', 'M', None, 'S-(METHYLMERCURY)-L-CYSTEINE'), 2.90 +"ZDU": ('n', 'd', None, None, '"5-(3-AMINOPROPYL)-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.91 +"PCS": ('f', 'p', 'M', None, 'PHENYLALANYLMETHYLCHLORIDE'), 2.92 +"CME": ('c', 'p', 'M', None, 'S,S-(2-HYDROXYETHYL)THIOCYSTEINE'), 2.93 +"CSO": ('c', 'p', 'M', None, 'S-HYDROXYCYSTEINE'), 2.94 +"193": ('x', 'p', None, None, '"(2S)-4-(BETA-ALANYLAMINO)-2-AMINOBUTANOIC'), 2.95 +"1TY": ('y', 'p', 'M', None, '3-{(3E)-4-HYDROXY-6-OXO-3-[(2-PHENYLETHYL)IMINO]CYCLOHEXA-1,4-DIEN-1-YL}ALANINE'), 2.96 +"CB2": ('c', 'd', 'M', None, '"PHOSPHORIC'), 2.97 +"CS3": ('c', 'p', 'M', None, 'S-[3-OXO-3-(2-THIENYL)PROPYL]-L-CYSTEINE'), 2.98 +"64T": ('t', 'd', 'M', None, '"5-HYDROXY-THYMIDINE-5\'-MONOPHOSPHATE"'), 2.99 +"4AC": ('n', 'r', None, None, '"N(4)-ACETYLCYTIDINE-5\'-MONOPHOSPHATE"'), 2.100 +"B3X": ('n', 'p', 'M', None, '"(3S)-3,5-DIAMINO-5-OXOPENTANOIC'), 2.101 +"TST": ('x', 'p', None, None, '"4-METHYL-2-{[4-(TOLUENE-4-SULFONYL)-THIOMORPHOLINE-3-CARBONYL]-AMINO}-PENTANOIC'), 2.102 +"CMT": ('c', 'p', 'M', None, 'O-METHYLCYSTEINE'), 2.103 +"CMR": ('c', 'd', 'M', None, '"2\'-DEOXY-CYTIDINE-5\'-RP-MONOMETHYLPHOSPHONATE"'), 2.104 +"CSH": ('x', 'p', None, None, '"[2-(2-HYDROXY-1-METHYL-ETHYL)-4-(1H-IMIDAZOL-4-YLMETHYL)-5-OXO-IMIDAZOLIDIN-1-YL]-ACETIC'), 2.105 +"VLM": ('x', 'p', None, None, 'VALINYLAMINE'), 2.106 +"G": ('G', 'r', None, None, '"GUANOSINE-5\'-MONOPHOSPHATE"'), 2.107 +"C4S": ('c', 'd', 'M', None, "2'-deoxy-4'-thiocytidine 5'-(dihydrogen phosphate)"), 2.108 +"U2L": ('u', 'r', 'M', None, "5-METHYL-3'-O-METHOXYETHYL URIDINE-5'-MONOPHOSPHATE"), 2.109 +"LSO": ('x', 'p', None, None, '(Z)-N~6~-(3-CARBOXY-1-{[(4-CARBOXY-2-OXOBUTYL)SULFONYL]METHYL}PROPYLIDENE)-L-LYSINE'), 2.110 +"U2N": ('n', 'd', None, None, "2'-AMINO-2'-DEOXYURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.111 +"PLE": ('l', 'p', 'M', None, '"LEUCINE'), 2.112 +"SIN": ('x', 'p', None, None, '"SUCCINIC'), 2.113 +"M2L": ('k', 'p', 'M', None, '"(2R)-2-AMINO-3-(2-DIMETHYLAMINOETHYLSULFANYL)PROPANOIC'), 2.114 +"I58": ('k', 'p', 'M', None, '4R-FLUORO-N6-ETHANIMIDOYL-L-LYSINE'), 2.115 +"U2P": ('u', 'r', 'M', None, '"PHOSPHORIC'), 2.116 +"B2A": ('a', 'p', 'M', None, '"ALANINE'), 2.117 +"TTM": ('t', 'd', 'M', None, '"N3-ETHYL-THYMIDINE-5\'-MONOPHOSPHATE"'), 2.118 +"CSD": ('c', 'p', 'M', None, '3-SULFINOALANINE'), 2.119 +"M2G": ('g', 'r', 'M', None, '"N2-DIMETHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 2.120 +"ASX": ('x', 'p', None, None, '"ASP/ASN'), 2.121 +"AFF": ('n', 'd', None, None, '2-ACETYLAMINOFLUORENE-3-YL'), 2.122 +"TTD": ('t', 'd', 'M', None, '"CIS-SYN'), 2.123 +"AET": ('a', 'r', 'M', None, '"N-[N-(9-B-D-RIBOFURANOSYLPURIN-6-YL)METHYLCARBAMOYL]THREONINE-5\'-MONOPHOSPHATE"'), 2.124 +"C45": ('c', 'd', 'M', None, '"N4-METHOXY-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.125 +"C46": ('c', 'd', 'M', None, '"6H,8H-3,4-DIHYDROPYRIMIDO[4,5-C][1,2]OXAZIN-7-0NE(CYTIDINE)-5\'-MONOPHOSPHATE"'), 2.126 +"FTR": ('w', 'p', 'M', None, 'FLUOROTRYPTOPHANE'), 2.127 +"BLY": ('k', 'p', 'M', None, '"LYSINE'), 2.128 +"C42": ('c', 'd', 'M', None, '"3\'-AMINO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.129 +"C2S": ('c', 'd', 'M', None, '"CYTIDINE-5\'-DITHIOPHOSPHORATE"'), 2.130 +"FTY": ('y', 'p', 'M', None, 'DEOXY-DIFLUOROMETHELENE-PHOSPHOTYROSINE'), 2.131 +"CSA": ('c', 'p', 'M', None, 'S-ACETONYLCYSTEINE'), 2.132 +"I5C": ('c', 'd', 'M', None, '"5-IODO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.133 +"ALY": ('k', 'p', 'M', None, 'N(6)-ACETYLLYSINE'), 2.134 +"P1L": ('c', 'p', 'M', None, 'S-PALMITOYL-L-CYSTEINE'), 2.135 +"C49": ('c', 'd', 'M', None, '"4-THIO,5-FLUORO,5-METHYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.136 +"DSP": ('d', 'p', 'M', None, '"D-ASPARTIC'), 2.137 +"AFA": ('n', 'p', 'M', None, 'N-[7-METHYL-OCT-2,4-DIENOYL]ASPARAGINE'), 2.138 +"P1P": ('n', 'r', None, None, '3-{[OXIDO(OXO)PHOSPHINO]OXY}PROPAN-1-OLATE'), 2.139 +"U25": ('u', 'r', 'M', None, '"URIDINE-5\'-MONOPHOSPHATE"'), 2.140 +"CHS": ('x', 'p', None, None, '"4-AMINO-5-CYCLOHEXYL-3-HYDROXY-PENTANOIC'), 2.141 +"BLE": ('l', 'p', 'M', None, '"LEUCINE'), 2.142 +"DSG": ('n', 'p', 'M', None, 'D-ASPARAGINE'), 2.143 +"DSE": ('s', 'p', 'M', None, 'N-METHYL-D-SERINE'), 2.144 +"S4A": ('a', 'd', 'M', None, "2'-deoxy-4'-thioadenosine 5'-(dihydrogen phosphate)"), 2.145 +"DLS": ('k', 'p', 'M', None, 'DI-ACETYL-LYSINE'), 2.146 +"4SU": ('u', 'r', 'M', None, '"4-THIOURIDINE-5\'-MONOPHOSPHATE"'), 2.147 +"MA": ('a', 'p', 'M', None, '"METHYL'), 2.148 +"TRX": ('w', 'p', 'M', None, '6-HYDROXYTRYPTOPHAN'), 2.149 +"DC": ('C', 'd', None, None, '"2\'-DEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 2.150 +"HLU": ('l', 'p', 'M', None, 'BETA-HYDROXYLEUCINE'), 2.151 +"HSE": ('s', 'p', 'M', None, 'L-HOMOSERINE'), 2.152 +"A5M": ('c', 'r', 'M', None, '"2\'-AMINE-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.153 +"ALS": ('a', 'p', 'M', None, '"2-AMINO-3-OXO-4-SULFO-BUTYRIC'), 2.154 +"CBR": ('c', 'd', 'M', None, '"5-BROMO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.155 +"SHC": ('c', 'p', 'M', None, 'S-HEXYLCYSTEINE'), 2.156 +"B2F": ('f', 'p', 'M', None, '"PHENYLALANINE'), 2.157 +"QUO": ('g', 'r', 'M', None, '"2-AMINO-7-DEAZA-(2\'\',3\'\'-DIHYDROXY-CYCLOPENTYLAMINO)-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.158 +"X4A": ('n', 'd', None, None, '"[(2R,3S,5S)-2,3,5-TRIHYDROXYTETRAHYDROFURAN-2-YL]METHYL'), 2.159 +"BE2": ('x', 'p', None, None, '"2-AMINOBENZOIC'), 2.160 +"CM0": ('n', 'r', None, None, "5-(CARBOXYMETHOXY) URIDINE-5'-MONOPHOSPHATE"), 2.161 +"GLH": ('q', 'p', 'M', None, 'N-5-CYCLOHEXYL-N-5-[(CYCLOHEXYLAMINO)CARBONYL]GLUTAMINE'), 2.162 +"DOH": ('d', 'p', 'M', None, '"BETA-HYDROXY'), 2.163 +"DON": ('l', 'p', 'M', None, '6-DIAZENYL-5-OXO-L-NORLEUCINE'), 2.164 +"GLM": ('x', 'p', None, None, '1-AMINO-PROPAN-2-ONE'), 2.165 +"GLN": ('Q', 'p', None, None, 'GLUTAMINE'), 2.166 +"T4S": ('t', 'd', 'M', None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-4-HYDROSELENO-5-METHYLPYRIMIDIN-2(1H)-ONE'), 2.167 +"DOC": ('c', 'd', 'M', None, '"2\',3\'-DIDEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 2.168 +"T3P": ('t', 'd', 'M', None, '"THYMIDINE-3\'-PHOSPHATE"'), 2.169 +"DOA": ('x', 'p', None, None, '"12-AMINO-DODECANOIC'), 2.170 +"TOX": ('w', 'p', 'M', None, '2-AMINO-3-(1-HYDROPEROXY-1H-INDOL-3-YL)PROPAN-1-OL'), 2.171 +"SMP": ('a', 'd', 'M', None, '"2\'-DEOXY-ADENOSINE-5\'-SP-MONOMETHYLPHOSPHONATE"'), 2.172 +"GLX": ('x', 'p', None, None, '"GLU/GLN'), 2.173 +"GLY": ('G', 'p', None, None, 'GLYCINE'), 2.174 +"GLZ": ('g', 'p', 'M', None, 'AMINO-ACETALDEHYDE'), 2.175 +"CTG": ('t', 'd', 'M', None, '"(5R,6S)-5,6-DIHYDRO-5,6-DIHYDROXYTHYMIDINE-5\'-MONOPHOSPHATE"'), 2.176 +"T38": ('n', 'r', None, None, "2'-O-ETHOXYMETHYLENE THYMIDINE 5'-MONOPHOSPHATE"), 2.177 +"AKL": ('d', 'p', 'M', None, '"3-AMINO-5-CHLORO-4-OXOPENTANOIC'), 2.178 +"T36": ('t', 'd', 'M', None, "SPLIT LINKAGE THYMIDINE 5'-MONOPHOSPHATE"), 2.179 +"T37": ('t', 'd', 'M', None, "3'-AMINO-2'DEOXYTHYMIDINE 5'-MONOPHOSPHATE"), 2.180 +"4TA": ('n', 'r', None, None, '"P1-(5\'-ADENOSYL)P4-(5\'-(2\'-DEOXY-THYMIDYL))TETRAPHOSPHATE"'), 2.181 +"CTH": ('t', 'p', 'M', None, '4-CHLOROTHREONINE'), 2.182 +"GLU": ('E', 'p', None, None, '"GLUTAMIC'), 2.183 +"RCY": ('c', 'p', 'M', None, '"S-[(3S,3\'R)-1\'-HYDROXY-2\',2\',5\',5\'-TETRAMETHYL-2,5-DIOXO-1,3\'-BIPYRROLIDIN-3-YL]-L-CYSTEINE"'), 2.184 +"MDH": ('x', 'p', None, None, 'N-METHYLDEHYDROBUTYRINE'), 2.185 +"MDO": ('x', 'p', None, None, '"{2-[(1S)-1-AMINOETHYL]-5-HYDROXY-4-METHYL-1H-IMIDAZOL-1-YL}ACETIC'), 2.186 +"8OG": ('g', 'd', 'M', None, '"8-OXO-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.187 +"HCS": ('x', 'p', None, None, '"2-AMINO-4-MERCAPTO-BUTYRIC'), 2.188 +"UD5": ('u', 'r', 'M', None, '5-FLUOROURIDINE'), 2.189 +"O2C": ('n', 'd', None, None, '"3\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.190 +"5FU": ('u', 'r', 'M', None, '"5-FLUORO-URIDINE-5\'-MONOPHOSPHATE"'), 2.191 +"SDG": ('g', 'd', 'M', None, '2-AMINO-9-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-9H-PURINE-6-SELENOL'), 2.192 +"MDR": ('n', 'd', None, None, '9-(2-DEOXY-BETA-D-RIBOFURANOSYL)-6-METHYLPURINE'), 2.193 +"BSE": ('s', 'p', 'M', None, 'BETA-3-SERINE'), 2.194 +"4IN": ('x', 'p', None, None, '4-AMINO-L-TRYPTOPHAN'), 2.195 +"FCL": ('f', 'p', 'M', None, '3-CHLORO-L-PHENYLALANINE'), 2.196 +"1SC": ('c', 'r', 'M', None, '"5\'-O-THIOPHOSPHONOCYTIDINE"'), 2.197 +"R7A": ('c', 'p', 'M', None, '3-S-[(4-BROMO-2,2,5,5-TETRAMETHYL-1-OXO-2,5-DIHYDRO-1H-PYRROL-3-YL)METHYL]SULFANYL-L-CYSTEINE'), 2.198 +"6IA": ('a', 'r', 'M', None, '"N6-ISOPENTENYL-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.199 +"XTS": ('g', 'r', 'M', None, '9-[(2R,3R,4S,5R)-3,4-DIHYDROXY-5-(HYDROXYMETHYL)OXOLAN-2-YL]-3H-PURINE-2,6-DIONE'), 2.200 +"DFT": ('n', 'd', None, None, '"1-[2-DEOXYRIBOFURANOSYL]-2,4-DIFLUORO-5-METHYL-BENZENE-5\'MONOPHOSPHATE"'), 2.201 +"FMU": ('n', 'r', None, None, '"5-FLUORO-5-METHYLURIDINE-5\'-MONOPHOSPHATE"'), 2.202 +"XTY": ('n', 'd', None, None, '(1R)-1,4-ANHYDRO-2-DEOXY-1-(6-METHYL-2,4-DIOXO-1,2,3,4-TETRAHYDROQUINAZOLIN-8-YL)-5-O-PHOSPHONO-D-ERYTHRO-PENTITOL'), 2.203 +"MVA": ('v', 'p', 'M', None, 'N-METHYLVALINE'), 2.204 +"LTA": ('x', 'p', None, None, '"4,8-DIAMINO-3-HYDROXY-OCTANOIC'), 2.205 +"01W": ('x', 'p', None, None, '(2S)-2-AMMONIO-4-[(2,4-DINITROPHENYL)AMINO]BUTANOATE'), 2.206 +"DFI": ('x', 'p', None, None, '2,2-DIFLUOROSTATINE'), 2.207 +"YG": ('g', 'r', 'M', None, 'WYBUTOSINE'), 2.208 +"FMG": ('g', 'd', 'M', None, '2-AMINO-9-(2-DEOXY-2-FLUORO-5-O-PHOSPHONO-BETA-D-ARABINOFURANOSYL)-7-METHYL-6-OXO-6,9-DIHYDRO-1H-PURIN-7-IUM'), 2.209 +"DFG": ('g', 'd', 'M', None, "2'-DEOXY-L-RIBO-FURANOSYL GUANINE-5'-MONOPHOSPHATE"), 2.210 +"XTL": ('t', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(THYMIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 2.211 +"DFC": ('c', 'd', 'M', None, "2'-DEOXY-L-RIBO-FURANOSYL CYTOSINE-5'-MONOPHOSPHATE"), 2.212 +"XTH": ('t', 'd', 'M', None, '1-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)-5-METHYLPYRIMIDINE-2,4(1H,3H)-DIONE'), 2.213 +"NTY": ('y', 'p', 'M', None, '"BETA'), 2.214 +"EDC": ('g', 'd', 'M', None, '"N3,N4-ETHENO-2\'-DEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 2.215 +"T49": ('t', 'd', 'M', None, "S4'-2'DEOXYTHYMIDINE 5'-MONOPHOSPHATE"), 2.216 +"EDA": ('a', 'd', 'M', None, '"3-[2-DEOXY-RIBOFURANOSYL]-3H-1,3,4,5A,8-PENTAAZA-AS-INDACENE-5\'-MONOPHOSPHATE"'), 2.217 +"O12": ('x', 'p', None, None, 'N~5~-DODECANOYL-L-ORNITHINE'), 2.218 +"MMT": ('t', 'd', 'M', None, '"5\'-O-(DIMETHYLAMINO)-THYMIDINE"'), 2.219 +"T41": ('n', 'r', None, None, "1-(2-O-METHYL-BETA-D-ARABINOFURANOSYL)THYMIDINE 5'-MONOPHOSPHATE"), 2.220 +"LMS": ('n', 'r', None, None, '"[(2R,3S,4R,5R)-5-(6-AMINO-9H-PURIN-9-YL)-3,4-DIHYDROXYTETRAHYDRO-2-FURANYL]METHYL'), 2.221 +"0AP": ('c', 'd', 'M', None, "2'-deoxycytidine 3',5'-bis(dihydrogen phosphate)"), 2.222 +"ORQ": ('r', 'p', 'M', None, 'N~5~-ACETYL-L-ORNITHINE'), 2.223 +"ORN": ('a', 'p', 'M', None, 'ORNITHINE'), 2.224 +"ALM": ('a', 'p', 'M', None, '1-METHYL-ALANINAL'), 2.225 +"VB1": ('k', 'p', 'M', None, 'N^6^-[(1R)-2-{[(1S)-1-CARBOXYPROPYL]AMINO}-2-OXO-1-(SULFANYLMETHYL)ETHYL]-6-OXO-L-LYSINE'), 2.226 +"PUY": ('n', 'r', None, None, 'PUROMYCIN'), 2.227 +"SBD": ('s', 'p', 'M', None, '"D-NAPHTHYL-1-ACETAMIDO'), 2.228 +"LPS": ('s', 'p', 'M', None, 'O-{HYDROXY[((2R)-2-HYDROXY-3-{[(1S)-1-HYDROXYPENTADECYL]OXY}PROPYL)OXY]PHOSPHORYL}-L-SERINE'), 2.229 +"SC": ('c', 'd', 'M', None, '"2-DEOXY-CYTIDINE-5\'-THIOPHOSPHORATE"'), 2.230 +"ALT": ('a', 'p', 'M', None, 'THIOALANINE'), 2.231 +"GL3": ('g', 'p', 'M', None, 'THIOGLYCIN'), 2.232 +"LME": ('e', 'p', 'M', None, '"(3R)-3-METHYL-L-GLUTAMIC'), 2.233 +"SBL": ('s', 'p', 'M', None, '"L-NAPHTHYL-1-ACETAMIDO'), 2.234 +"ALQ": ('x', 'p', None, None, '"2-METHYL-PROPIONIC'), 2.235 +"CAB": ('a', 'p', 'M', None, '4-CARBOXY-4-AMINOBUTANAL'), 2.236 +"GPL": ('k', 'p', 'M', None, "LYSINE GUANOSINE-5'-MONOPHOSPHATE"), 2.237 +"CAY": ('c', 'p', 'M', None, 'CARBOXYMETHYLENECYSTEINE'), 2.238 +"DPR": ('p', 'p', 'M', None, 'D-PROLINE'), 2.239 +"DPQ": ('y', 'p', 'M', None, '"(S)-2-AMINO-3-(4-HYDROXY-3-OXOCYCLOHEXA-1,4-DIENYL)PROPANOIC'), 2.240 +"DPP": ('a', 'p', 'M', None, '"DIAMMINOPROPANOIC'), 2.241 +"CAS": ('c', 'p', 'M', None, 'S-(DIMETHYLARSENIC)CYSTEINE'), 2.242 +"NC1": ('s', 'p', 'M', None, '"NITROCEFIN'), 2.243 +"IYR": ('y', 'p', 'M', None, '3-IODO-TYROSINE'), 2.244 +"CAV": ('x', 'p', None, None, '"5-AMINO-6-CYCLOHEXYL-3,4-DIHYDROXY-2-ISOPROPYL-HEXANOIC'), 2.245 +"DPY": ('n', 'd', None, None, "2-DEOXYRIBOFURANOSYL-PYRIDINE-2,6-DICARBOXYLIC ACID-5'-MONOPHOSPHATE"), 2.246 +"5AA": ('a', 'd', 'M', None, '"N6-DIMETHYL-3\'-AMINO-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.247 +"DPB": ('t', 'd', 'M', None, '"(S)-1-[2\'-DEOXY-3\',5\'-O-(1-PHOSPHONO)BENZYLIDENE-B-D-THREO-PENTOFURANOSYL]THYMINE"'), 2.248 +"CAL": ('x', 'p', None, None, '"5-AMINO-6-CYCLOHEXYL-4-HYDROXY-2-ISOBUTYL-HEXANOIC'), 2.249 +"DPN": ('f', 'p', 'M', None, 'D-PHENYLALANINE'), 2.250 +"BAL": ('a', 'p', 'M', None, 'BETA-ALANINE'), 2.251 +"DPL": ('p', 'p', 'M', None, '4-OXOPROLINE'), 2.252 +"CAF": ('c', 'p', 'M', None, 'S-DIMETHYLARSINOYL-CYSTEINE'), 2.253 +"DPH": ('f', 'p', 'M', None, 'DEAMINO-METHYL-PHENYLALANINE'), 2.254 +"HIP": ('h', 'p', 'M', None, 'ND1-PHOSPHONOHISTIDINE'), 2.255 +"LG": ('g', 'r', 'M', None, '"L-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.256 +"LA2": ('k', 'p', 'M', None, 'N~6~-[(6R)-6,8-DISULFANYLOCTANOYL]-L-LYSINE'), 2.257 +"KOR": ('m', 'p', 'M', None, 'L-HOMOCYSTEINE-S-N-S-L-CYSTEINE'), 2.258 +"LC": ('c', 'r', 'M', None, '"L-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.259 +"D4M": ('t', 'd', 'M', None, '"[(5R)-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)-2,5-DIHYDROFURAN-2-YL]METHYL'), 2.260 +"5MD": ('n', 'd', None, None, '"5-METHYL-2\'-DEOXYPSEUDOURIDINE"'), 2.261 +"PGN": ('g', 'd', 'M', None, '"2\'-DEOXYGUANOSINE-3\',5\'-DIPHOSPHATE"'), 2.262 +"NHL": ('e', 'p', 'M', None, '"(4S)-4-(2-NAPHTHYLMETHYL)-D-GLUTAMIC'), 2.263 +"PGL": ('x', 'p', None, None, '"AMINOMETHYLENEPHOSPHINIC'), 2.264 +"TA3": ('t', 'd', 'M', None, '(4S,5R)-3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-METHYL-1,3-DIAZABICYCLO[2.2.0]HEXAN-2-ONE'), 2.265 +"XCP": ('x', 'p', None, None, '"(1S,2S)-2-AMINOCYCLOPENTANECARBOXYLIC'), 2.266 +"DYS": ('c', 'p', 'M', None, 'S-[5-(2-AMINOETHYL)-2,3-DIHYDROXYPHENYL]-L-CYSTEINE'), 2.267 +"HIA": ('h', 'p', 'M', None, '"L-HISTIDINE'), 2.268 +"HIC": ('h', 'p', 'M', None, '4-METHYL-HISTIDINE'), 2.269 +"PGP": ('g', 'r', 'M', None, '"GUANOSINE-3\',5\'-DIPHOSPHATE"'), 2.270 +"AB7": ('x', 'p', None, None, '"ALPHA-AMINOBUTYRIC'), 2.271 +"IIL": ('i', 'p', 'M', None, 'ISO-ISOLEUCINE'), 2.272 +"DYG": ('x', 'p', None, None, '"(3S)-3-AMINO-3-[(4Z)-1-(CARBOXYMETHYL)-4-[(4-HYDROXYPHENYL)METHYLIDENE]-5-OXO-IMIDAZOL-2-YL]PROPANOIC'), 2.273 +"PGY": ('g', 'p', 'M', None, 'PHENYLGLYCINE'), 2.274 +"A": ('A', 'r', None, None, '"ADENOSINE-5\'-MONOPHOSPHATE"'), 2.275 +"23F": ('f', 'p', 'M', None, '"(2Z)-2-AMINO-3-PHENYLACRYLIC'), 2.276 +"143": ('c', 'p', 'M', None, 'S-2,3-DIHYDRO-5-GLYCIN-2-YL-ISOXAZOL-3-YL-CYSTEINE'), 2.277 +"HIQ": ('h', 'p', 'M', None, '1-[1,2-DIHYDROXY-1-(HYDROXYMETHYL)ETHYL]-L-HISTIDINE'), 2.278 +"THR": ('T', 'p', None, None, 'THREONINE'), 2.279 +"PG7": ('g', 'd', 'M', None, '"((2R,3R,5R)-5-(2-AMINO-6-HYDROXY-9H-PURIN-9-YL)-3-HYDROXY-TETRAHYDROFURAN-2-YL)METHYL'), 2.280 +"ABR": ('a', 'd', 'M', None, '"(R)-(N-PHENYL-2-HYDROXY-ETHYL)-2\'-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.281 +"HIS": ('H', 'p', None, None, 'HISTIDINE'), 2.282 +"ABT": ('n', 'd', None, None, "3'-AZIDO-3'-DEOXY-THYMIDINE-5'-ALPHA BORANO TRIPHOSPHATE"), 2.283 +"PG1": ('s', 'p', 'M', None, '"PENICILLIN'), 2.284 +"2LU": ('l', 'p', 'M', None, '"2-AMINO-4-METHYL-PENTANYL'), 2.285 +"NZH": ('h', 'p', 'M', None, '(2S)-2-AMINO-3-[1-(1H-TETRAAZOL-5-YL)-1H-IMIDAZOL-4-YL]PROPANAL'), 2.286 +"P5P": ('a', 'r', 'M', None, "PURINE RIBOSIDE-5'-MONOPHOSPHATE"), 2.287 +"STY": ('y', 'p', 'M', None, '"TYROSINE-O-SULPHONIC'), 2.288 +"PG9": ('g', 'p', 'M', None, 'D-PHENYLGLYCINE'), 2.289 +"NCX": ('n', 'd', None, None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-NITRO-1H-INDOLE-3-CARBOXAMIDE'), 2.290 +"NCY": ('x', 'p', None, None, 'N-METHYLCYSTEINE'), 2.291 +"CFL": ('c', 'd', 'M', None, '4-AMINO-1-(2-DEOXY-2-FLUORO-5-O-PHOSPHONO-BETA-D-ARABINOFURANOSYL)PYRIMIDIN-2(1H)-ONE'), 2.292 +"3MD": ('d', 'p', 'M', None, '"2S,3S-3-METHYLASPARTIC'), 2.293 +"1AP": ('a', 'd', 'M', None, '"2,6-DIAMINOPURINE'), 2.294 +"TFE": ('t', 'd', 'M', None, "2'-O-[2-(TRIFLUORO)ETHYL] THYMIDINE-5'-MONOPHOSPHATE"), 2.295 +"D3T": ('t', 'd', 'M', None, '"2\',3\'-DIDEOXY-THYMIDINE-5\'-TRIPHOSPHATE"'), 2.296 +"TFA": ('x', 'p', None, None, '"TRIFLUOROACETYL'), 2.297 +"BHD": ('d', 'p', 'M', None, '"BETA-HYDROXYASPARTIC'), 2.298 +"ONL": ('x', 'p', None, None, '5-OXO-L-NORLEUCINE'), 2.299 +"CFY": ('x', 'p', None, None, '"[(2S)-2-{(2R)-2-[(1S)-1-AMINO-2-PHENYLETHYL]-2-HYDROXY-2,5-DIHYDRO-1,3-THIAZOL-4-YL}-4-(4-HYDROXYBENZYL)-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.300 +"QLG": ('x', 'p', None, None, '"[(4Z)-2-[(1Z)-4-AMINO-4-OXOBUTANIMIDOYL]-4-(2-METHYLPROPYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.301 +"NCB": ('a', 'p', 'M', None, 'N-CARBAMOYL-ALANINE'), 2.302 +"TFQ": ('f', 'p', 'M', None, '4-(2,2,2-TRIFLUOROETHYL)-L-PHENYLALANINE'), 2.303 +"XXY": ('x', 'p', None, None, '2-[(1R,2R)-1-AMINO-2-HYDROXYPROPYL]-1-(CARBOXYMETHYL)-4-(1H-IMIDAZOL-5-YLMETHYL)-1H-IMIDAZOL-5-OLATE'), 2.304 +"23S": ('x', 'p', None, None, '"(S)-2-AMINO-3-(6H-SELENOLO[2,3-B]-PYRROL-4-YL)-PROPIONIC'), 2.305 +"0AU": ('n', 'd', None, None, "5-iodouridine 5'-(dihydrogen phosphate)"), 2.306 +"GHP": ('g', 'p', 'M', None, '4-HYDROXYPHENYLGLYCINE'), 2.307 +"MIA": ('a', 'r', 'M', None, '"2-METHYLTHIO-N6-ISOPENTENYL-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.308 +"AP7": ('a', 'd', 'M', None, "N1-PROTONATED ADENOSINE-5'-MONOPHOSPHATE"), 2.309 +"OAD": ('n', 'r', None, None, "2'-O-ACETYL ADENOSINE-5-DIPHOSPHORIBOSE"), 2.310 +"UDP": ('n', 'r', None, None, '"URIDINE-5\'-DIPHOSPHATE"'), 2.311 +"GHG": ('q', 'p', 'M', None, 'GAMMA-HYDROXY-GLUTAMINE'), 2.312 +"ZFB": ('x', 'p', None, None, '(3R)-3-{[(BENZYLOXY)CARBONYL]AMINO}-2-OXO-4-PHENYLBUTANE-1-DIAZONIUM'), 2.313 +"C38": ('c', 'd', 'M', None, '"5-IODO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.314 +"HAQ": ('x', 'p', None, None, '"5-AMINO-4-OXO-1,2,4,5,6,7-HEXAHYDRO-AZEPINO[3,2,1-HI]INDOLE-2-CARBOXYLIC'), 2.315 +"C34": ('c', 'd', 'M', None, '"N4-METHYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.316 +"C37": ('c', 'd', 'M', None, '"5-FLUORO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.317 +"ONE": ('u', 'r', 'M', None, '"1-(BETA-D-RIBOFURANOSYL)-PYRIDIN-4-ONE-5\'-PHOSPHATE"'), 2.318 +"C31": ('c', 'r', 'M', None, "2'-O-3-AMINOPROPYL CYTIDINE-5'-MONOPHOSPHATE"), 2.319 +"HAR": ('r', 'p', 'M', None, 'N-OMEGA-HYDROXY-L-ARGININE'), 2.320 +"TY2": ('y', 'p', 'M', None, '3-AMINO-L-TYROSINE'), 2.321 +"TY3": ('y', 'p', 'M', None, '3-HYDROXY-L-TYROSINE'), 2.322 +"RT": ('n', 'r', None, None, '"RIBOSYLTHYMINE-5\'-MONOPHOSPHATE"'), 2.323 +"4PE": ('c', 'd', 'M', None, '3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-6-METHYL-3H-PYRROLO[2,3-D]PYRIMIDIN-2-OL'), 2.324 +"4PD": ('c', 'd', 'M', None, '3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-6-METHYL-1,3-DIHYDRO-2H-PYRROLO[2,3-D]PYRIMIDIN-2-ONE'), 2.325 +"4PC": ('c', 'd', 'M', None, '"3-(2\'-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-6-METHYL-3,7-DIHYDRO-2H-PYRROLO[2,3-D]PYRIMIDIN-2-ONE"'), 2.326 +"SAC": ('s', 'p', 'M', None, 'N-ACETYL-SERINE'), 2.327 +"PRO": ('P', 'p', None, None, 'PROLINE'), 2.328 +"PRN": ('a', 'd', 'M', None, "PURINE 2'-DEOXYRIBO-5'-MONOPHOSPHATE"), 2.329 +"6CL": ('k', 'p', 'M', None, '6-CARBOXYLYSINE'), 2.330 +"4PH": ('f', 'p', 'M', None, '4-METHYL-L-PHENYLALANINE'), 2.331 +"FGL": ('g', 'p', 'M', None, '"2-AMINOPROPANEDIOIC'), 2.332 +"6CT": ('t', 'd', 'M', None, '"PHOSPHORIC'), 2.333 +"IAS": ('d', 'p', 'M', None, '"BETA-ASPARTYL'), 2.334 +"PRS": ('p', 'p', 'M', None, 'THIOPROLINE'), 2.335 +"UR3": ('u', 'r', 'M', None, '"3-METHYLURIDINE-5\'-MONOPHOSHATE"'), 2.336 +"SAR": ('g', 'p', 'M', None, 'SARCOSINE'), 2.337 +"TCY": ('a', 'd', 'M', None, '"(2R,3AS,4AR,5AR,5BS)-2-(6-AMINO-9H-PURIN-9-YL)-3A-HYDROXYHEXAHYDROCYCLOPROPA[4,5]CYCLOPENTA[1,2-B]FURAN-5A(4H)-YL'), 2.338 +"4F3": ('x', 'p', None, None, '"[2-(1-AMINO-2-HYDROXY-PROPYL)-4-(4-FLUORO-1H-INDOL-3-YLMETHYL)-5-HYDROXY-IMIDAZOL-1-YL]-ACETIC'), 2.339 +"TPG": ('g', 'r', 'M', None, '"2,2,7-TRIMETHYL-GUANOSINE-5\'-TRIPHOSPHATE-5\'-GUANOSINE"'), 2.340 +"LAL": ('a', 'p', 'M', None, 'N,N-DIMETHYL-L-ALANINE'), 2.341 +"TPC": ('c', 'd', 'M', None, "5'-THIO-2'-DEOXY-CYTOSINE PHOSPHONIC ACID"), 2.342 +"PPU": ('a', 'r', 'M', None, '"PUROMYCIN-5\'-MONOPHOSPHATE"'), 2.343 +"CHF": ('x', 'p', None, None, 'CYCLOHEXYLFLUOROSTATONE'), 2.344 +"BFD": ('d', 'p', 'M', None, '"ASPARTATE'), 2.345 +"TPO": ('t', 'p', 'M', None, 'PHOSPHOTHREONINE'), 2.346 +"H5M": ('p', 'p', 'M', None, 'TRANS-3-HYDROXY-5-METHYLPROLINE'), 2.347 +"AYG": ('x', 'p', None, None, '"[(4E)-2-[(1S)-1-AMINOETHYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.348 +"TPL": ('w', 'p', 'M', None, 'TRYPTOPHANOL'), 2.349 +"AYA": ('a', 'p', 'M', None, 'N-ACETYLALANINE'), 2.350 +"6MC": ('a', 'r', 'M', None, '"CIS-N6-METHYL-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.351 +"6MA": ('a', 'r', 'M', None, '"N6-METHYL-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.352 +"GSR": ('g', 'd', 'M', None, "2'-DEOXY-N2-(R)STYRENE OXIDE GUANOSINE MONOPHOSPHATE"), 2.353 +"EYS": ('x', 'p', None, None, 'S-SELANYLCYSTEINAL'), 2.354 +"LPL": ('x', 'p', None, None, 'LEU-HYDROXYETHYLENE-LEU'), 2.355 +"6MZ": ('n', 'r', None, None, '"N6-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 2.356 +"PR3": ('c', 'p', 'M', None, 'S,S-PROPYLTHIOCYSTEINE'), 2.357 +"2ST": ('t', 'd', 'M', None, "5-METHYL-2'-SE-METHYL-2'-SELENOURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.358 +"0NC": ('a', 'p', 'M', None, 'N-METHYL-L-ALANINAMIDE'), 2.359 +"MRG": ('g', 'd', 'M', None, '"N2-(3-MERCAPTOPROPYL)-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.360 +"KYN": ('a', 'p', 'M', None, 'KYNURENINE'), 2.361 +"G2S": ('g', 'd', 'M', None, '"GUANOSINE-5\'-DITHIOPHOSPHORATE"'), 2.362 +"PYX": ('c', 'p', 'M', None, 'S-[S-THIOPYRIDOXAMINYL]CYSTEINE'), 2.363 +"PYY": ('n', 'r', None, None, '"D-RIBOFURANOSYL-BENZENE-5\'-MONOPHOSPHATE"'), 2.364 +"TYN": ('y', 'p', 'M', None, 'AMINOBENZOFURAZAN-O-TYROSINE'), 2.365 +"TYO": ('y', 'p', 'M', None, '"(4Z,6E)-2-AMINO-7-HYDROPEROXY-4-[(E)-2-HYDROXYVINYL]HEPTA-4,6-DIENOIC'), 2.366 +"KAG": ('g', 'r', 'M', None, "2'-DEOXY-N-[(1S)-1-METHYL-3-OXOPROPYL]GUANOSINE 5'-PHOSPHATE"), 2.367 +"IPG": ('g', 'p', 'M', None, '"N-ISOPROPYL'), 2.368 +"GH3": ('g', 'r', 'M', None, '"3\'-DEOXY-GUANOSINE-5\'-TRIPHOSPHATE"'), 2.369 +"APP": ('x', 'p', None, None, '1-ACETYL-2-CARBOXYPIPERIDINE'), 2.370 +"IPN": ('n', 'd', None, None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-5-IODOURACIL'), 2.371 +"TYB": ('y', 'p', 'M', None, 'TYROSINAL'), 2.372 +"FAG": ('n', 'd', None, None, "[1',2'-DIDEOXY[2-AMINO-5-([9-HYDROXY-AFLATOXINB2-8-YL]-FORMYL-AMINO)-6-OXO-1,6-IHYDRO-PYRIMIDIN-4-YLAMINO]-RIBOFURANOSE]-5-MONOPHOSPHATE GROUP"), 2.373 +"DBY": ('y', 'p', 'M', None, '"3,5'), 2.374 +"APK": ('k', 'p', 'M', None, '"5\'-O-[(S)-{[(5S)-5-AMINO-6-OXOHEXYL]AMINO}(HYDROXY)PHOSPHORYL]ADENOSINE"'), 2.375 +"APH": ('a', 'p', 'M', None, 'P-AMIDINOPHENYL-3-ALANINE'), 2.376 +"API": ('k', 'p', 'M', None, '"2,6-DIAMINOPIMELIC'), 2.377 +"TYX": ('x', 'p', None, None, 'S-(2-ANILINO-2-OXOETHYL)-L-CYSTEINE'), 2.378 +"APO": ('x', 'p', None, None, '"D-2-AMINO-3-PHOSPHONO-PROPIONIC'), 2.379 +"APM": ('x', 'p', None, None, 'M-AMIDINOPHENYL-3-ALANINE'), 2.380 +"TYT": ('y', 'p', 'M', None, '"TYROSINE'), 2.381 +"TYU": ('n', 'r', None, None, 'TETRAHYDROURIDINE'), 2.382 +"DBS": ('s', 'p', 'M', None, '"2-(2,3-DIHYDROXY-BENZOYLAMINO)-3-HYDROXY-PROPIONIC'), 2.383 +"DBU": ('a', 'p', 'M', None, '"(2E)-2-AMINOBUT-2-ENOIC'), 2.384 +"TYQ": ('y', 'p', 'M', None, '3-AMINO-6-HYDROXY-TYROSINE'), 2.385 +"TYR": ('Y', 'p', None, None, 'TYROSINE'), 2.386 +"APE": ('x', 'p', None, None, '"(1-AMINO-2-PHENYL-ETHYL)-CARBAMIC'), 2.387 +"BT5": ('n', 'r', None, None, 'BIOTINYL-5-AMP'), 2.388 +"KST": ('k', 'p', 'M', None, 'N~6~-(5-CARBOXY-3-THIENYL)-L-LYSINE'), 2.389 +"2AD": ('x', 'p', None, None, '"2\'-AMINO-2\'-DEOXYADENOSINE"'), 2.390 +"ARG": ('R', 'p', None, None, 'ARGININE'), 2.391 +"HDP": ('n', 'd', None, None, '"[(1S,6S)-6-HYDROXY-4-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 2.392 +"CZ2": ('c', 'p', 'M', None, 'S-(DIHYDROXYARSINO)CYSTEINE'), 2.393 +"2AO": ('x', 'p', None, None, '(2S)-2-AMINOHEXAN-1-OL'), 2.394 +"G33": ('g', 'd', 'M', None, "8-METHYL-2'-DEOXYGUANOSINE 3'-MONOPHOSPHATE"), 2.395 +"AHO": ('a', 'p', 'M', None, 'N-ACETYL-N-HYDROXY-L-ORNITHINE'), 2.396 +"P2U": ('n', 'd', None, None, '"2\'-DEOXY-PSEUDOURIDINE-5\'MONOPHOSPHATE"'), 2.397 +"P2T": ('t', 'd', 'M', None, "2'-O-PROPYL THYMIDINE-5-MONOPHOSPHATE"), 2.398 +"MG1": ('g', 'd', 'M', None, "2'-DEOXY-1-METHYLGUANOSINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.399 +"G32": ('g', 'd', 'M', None, '"O6-METHYL-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.400 +"2AR": ('a', 'd', 'M', None, '"2\'-DEOXYARISTEROMYCIN-5\'-PHOSPHATE"'), 2.401 +"2AS": ('x', 'p', None, None, '"(2S,3S)-3-AMINO-2-METHYL-4-OXOBUTANOIC'), 2.402 +"G46": ('g', 'r', 'M', None, '"2\'-DEOXY-GUANOSINE-5\'-MONOTHIOPHOSPHATE"'), 2.403 +"G47": ('g', 'd', 'M', None, '"N2-ETHANETHIOL-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.404 +"G48": ('g', 'r', 'M', None, '"2\'-O-METHYOXYETHYL-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.405 +"G49": ('g', 'd', 'M', None, '"N2-METHYL-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.406 +"OCS": ('c', 'p', 'M', None, '"CYSTEINESULFONIC'), 2.407 +"P2Y": ('p', 'p', 'M', None, '(2S)-PYRROLIDIN-2-YLMETHYLAMINE'), 2.408 +"PHA": ('f', 'p', 'M', None, 'PHENYLALANINAL'), 2.409 +"NLQ": ('q', 'p', 'M', None, 'N~2~-ACETYL-L-GLUTAMINE'), 2.410 +"NLP": ('l', 'p', 'M', None, '"(1-AMINO-PENTYL)-PHOSPHONIC'), 2.411 +"MLL": ('l', 'p', 'M', None, '"METHYL'), 2.412 +"CEA": ('c', 'p', 'M', None, 'S-HYDROXY-CYSTEINE'), 2.413 +"HV5": ('a', 'p', 'M', None, 'TERT-BUTYLALANINE'), 2.414 +"HMR": ('r', 'p', 'M', None, 'BETA-HOMOARGININE'), 2.415 +"HRG": ('r', 'p', 'M', None, 'L-HOMOARGININE'), 2.416 +"CSP": ('c', 'p', 'M', None, 'S-PHOSPHOCYSTEINE'), 2.417 +"FA2": ('a', 'd', 'M', None, '"5-(6-AMINO-9H-PURIN-9-YL)-4-HYDROXYTETRAHYDROFURAN-3-YL'), 2.418 +"BMP": ('n', 'r', None, None, '"6-HYDROXYURIDINE-5\'-PHOSPHATE"'), 2.419 +"NLE": ('l', 'p', 'M', None, 'NORLEUCINE'), 2.420 +"RTP": ('n', 'r', None, None, '"RIBAVIRIN'), 2.421 +"BMT": ('t', 'p', 'M', None, '4-METHYL-4-[(E)-2-BUTENYL]-4,N-METHYL-THREONINE'), 2.422 +"G38": ('g', 'd', 'M', None, '"3\'-AMINO-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.423 +"CS4": ('c', 'p', 'M', None, 'S-[3-(3,4-DICHLOROPHENYL)-3-OXOPROPYL]-L-CYSTEINE'), 2.424 +"2FI": ('n', 'd', None, None, '"2\'-FLUORO-2\'-DEOXYINOSINE"'), 2.425 +"TTS": ('y', 'p', 'M', None, '3-((3E)-4-HYDROXY-3-{[2-(4-HYDROXYPHENYL)ETHYL]IMINO}-6-OXOCYCLOHEXA-1,4-DIEN-1-YL)ALANINE'), 2.426 +"CS1": ('c', 'p', 'M', None, 'S-(2-ANILINYL-SULFANYL)-CYSTEINE'), 2.427 +"CS0": ('c', 'p', 'M', None, 'S-(2-HYDROXYETHYL)-L-CYSTEINE'), 2.428 +"NLO": ('l', 'p', 'M', None, 'O-METHYL-L-NORLEUCINE'), 2.429 +"NLN": ('l', 'p', 'M', None, '"NORLEUCINE'), 2.430 +"SHP": ('g', 'p', 'M', None, '(4-HYDROXYMALTOSEPHENYL)GLYCINE'), 2.431 +"CSL": ('c', 'd', 'M', None, '"(D)-2\'-METHYLSELENYL-2\'-DEOXYCYTIDINE-5\'-PHOSPHATE"'), 2.432 +"SHR": ('k', 'p', 'M', None, '"N-(5-AMINO-5-CARBOXYPENTYL)GLUTAMIC'), 2.433 +"OXX": ('d', 'p', 'M', None, '"OXALYL-ASPARTYL'), 2.434 +"B3Y": ('y', 'p', 'M', None, '"(3S)-3-AMINO-4-(4-HYDROXYPHENYL)BUTANOIC'), 2.435 +"DLE": ('l', 'p', 'M', None, 'D-LEUCINE'), 2.436 +"PYA": ('a', 'p', 'M', None, '3-(1,10-PHENANTHROL-2-YL)-L-ALANINE'), 2.437 +"CSE": ('c', 'p', 'M', None, 'SELENOCYSTEINE'), 2.438 +"5FA": ('a', 'r', 'M', None, '"ADENOSINE-5\'-PENTAPHOSPHATE"'), 2.439 +"GCK": ('c', 'd', 'M', None, "PHOSPHORIC ACID 9-(2-GUANIDINOETHOXY-3-(2-DEOXY-BETA-D-ERYTHROPENTOFURANOSYL))-3H-PYRIMIDO-[5,4-B][1,4]-BENZOOXAZIN-2-ONE]-5'-ESTER"), 2.440 +"5FC": ('c', 'd', 'M', None, '"5-FORMYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.441 +"GGL": ('e', 'p', 'M', None, '"GAMMA-GLUTAMIC'), 2.442 +"B3Q": ('x', 'p', None, None, '"(3S)-3,6-DIAMINO-6-OXOHEXANOIC'), 2.443 +"B3S": ('s', 'p', 'M', None, '"(3R)-3-AMINO-4-HYDROXYBUTANOIC'), 2.444 +"B3L": ('x', 'p', None, None, '"(3S)-3-AMINO-5-METHYLHEXANOIC'), 2.445 +"A47": ('a', 'd', 'M', None, "N6-METHOXY ADENOSINE 5'-MONOPHOSPHATE"), 2.446 +"A44": ('a', 'r', 'M', None, "2'-O-METHYOXYETHYL-ADENOSINE 5'-MONOPHOSPHATE"), 2.447 +"5MU": ('u', 'r', 'M', None, "5-METHYLURIDINE 5'-MONOPHOSPHATE"), 2.448 +"CSY": ('x', 'p', None, None, '"[4-(4-HYDROXY-BENZYL)-2-(2-HYDROXY-1-METHYL-ETHYL)-5-OXO-IMIDAZOLIDIN-1-YL]-ACETIC'), 2.449 +"A43": ('a', 'd', 'M', None, "3'-AMINO DEOXYADENOSINE 5'-MONOPHOSPHATE"), 2.450 +"A40": ('a', 'd', 'M', None, "N2-METHYL 2'-DEOXYADENOSINE 5'-MONOPHOSPHATE"), 2.451 +"B3K": ('k', 'p', 'M', None, '"(3S)-3,7-DIAMINOHEPTANOIC'), 2.452 +"B3D": ('d', 'p', 'M', None, '"3-AMINOPENTANEDIOIC'), 2.453 +"B3E": ('e', 'p', 'M', None, '"(3S)-3-AMINOHEXANEDIOIC'), 2.454 +"DLY": ('k', 'p', 'M', None, 'D-LYSINE'), 2.455 +"MTU": ('a', 'r', 'M', None, '9-BETA-D-RIBOFURANOSYL-9H-PURIN-2-AMINE'), 2.456 +"B3A": ('a', 'p', 'M', None, '"(3S)-3-AMINOBUTANOIC'), 2.457 +"CSS": ('c', 'p', 'M', None, 'S-MERCAPTOCYSTEINE'), 2.458 +"CSR": ('c', 'p', 'M', None, 'S-ARSONOCYSTEINE'), 2.459 +"CZZ": ('c', 'p', 'M', None, 'THIARSAHYDROXY-CYSTEINE'), 2.460 +"N10": ('s', 'p', 'M', None, 'O-[(HEXYLAMINO)CARBONYL]-L-SERINE'), 2.461 +"MGG": ('r', 'p', 'M', None, '"2-(2-CARBOXY-ACETYLAMINO)-5-GUANIDINO-PENTANOIC'), 2.462 +"A35": ('a', 'd', 'M', None, "2-AMINO DEOXYADENOSINE 5'-MONOPHOSPHATE"), 2.463 +"AFG": ('g', 'd', 'M', None, '"N-(5\'-PHOSPHO-2\'-DEOXYGUANOSIN-8-YL)-2-AMINOFLUORENE"'), 2.464 +"BTR": ('w', 'p', 'M', None, '6-BROMO-TRYPTOPHAN'), 2.465 +"SSU": ('u', 'r', 'M', None, '"URIDINE-5\'-PHOSPHOROTHIOATE"'), 2.466 +"70U": ('u', 'r', 'M', None, '"5-(O-METHYLACETO)-2-THIO-2-DEOXY-URIDINE-5\'-MONOPHOSPHATE"'), 2.467 +"A34": ('a', 'd', 'M', None, "N6-METHYL DEOXYADENOSINE 5'-MONOPHOSPHATE"), 2.468 +"MGN": ('q', 'p', 'M', None, '2-METHYL-GLUTAMINE'), 2.469 +"XCL": ('c', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(CYTOSIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 2.470 +"G4P": ('n', 'r', None, None, '"GUANOSINE-5\',3\'-TETRAPHOSPHATE"'), 2.471 +"XCS": ('n', 'd', None, None, '(1R)-1-(4-AMINO-6-METHYL-2-OXO-1,2-DIHYDROQUINAZOLIN-8-YL)-1,4-ANHYDRO-2-DEOXY-5-O-PHOSPHONO-D-ERYTHRO-PENTITOL'), 2.472 +"MGQ": ('a', 'r', 'M', None, '"7-BENZYL'), 2.473 +"ABS": ('a', 'd', 'M', None, '"(S)-(N-PHENYL-2-HYDROXY-ETHYL)-2\'-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.474 +"BTA": ('l', 'p', 'M', None, '4-DEMETHYL-LEUCINE'), 2.475 +"MGV": ('g', 'r', 'M', None, '"P-FLUORO-7-BENZYL'), 2.476 +"XCT": ('c', 'd', 'M', None, '4-AMINO-1-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)PYRIMIDIN-2(1H)-ONE'), 2.477 +"TTQ": ('w', 'p', 'M', None, '6-AMINO-7-HYDROXY-L-TRYPTOPHAN'), 2.478 +"MGY": ('g', 'p', 'M', None, 'N-METHYLGLYCINE'), 2.479 +"XCY": ('c', 'd', 'M', None, '"{5-[4-{[4-(AMINOMETHYL)BENZYL]AMINO}-2-OXOPYRIMIDIN-1(2H)-'), 2.480 +"NNH": ('r', 'p', 'M', None, 'NOR-N-OMEGA-HYDROXY-L-ARGININE'), 2.481 +"TBG": ('g', 'p', 'M', None, '"T-BUTYL'), 2.482 +"ATD": ('t', 'd', 'M', None, '"THYMIDINE-3\'-PHOSPHATE"'), 2.483 +"U8U": ('u', 'r', 'M', None, '"5-METHYLAMINOMETHYL-2-THIOURIDINE-5\'-MONOPHOSPHATE"'), 2.484 +"SNC": ('c', 'p', 'M', None, 'S-NITROSO-CYSTEINE'), 2.485 +"ALG": ('r', 'p', 'M', None, '"GUANIDINOBUTYRYL'), 2.486 +"M1G": ('g', 'd', 'M', None, '"3-(2-DEOXY-BETA-D-RIBOFURANOSYL)-PYRIDO[5,6-A]-PURINE-10-ONE-5\'-MONOPHOSPHATE"'), 2.487 +"ATL": ('t', 'd', 'M', None, '"[(1S,3R,4S,7R)-7-HYDROXY-3-(THYMIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 2.488 +"ATM": ('t', 'd', 'M', None, '"3\'-AZIDO-3\'-DEOXYTHYMIDINE-5\'-MONOPHOSPHATE"'), 2.489 +"HPC": ('f', 'p', 'M', None, '3-AMINO-4-PHENYL-BUTAN-2-ONE'), 2.490 +"TP1": ('t', 'd', 'M', None, '2-(METHYLAMINO)-ETHYLGLYCINE-CARBONYLMETHYLENE-THYMINE'), 2.491 +"XUG": ('g', 'd', 'M', None, "2'-SE-METHYL-2'-SELENOGUANOSINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.492 +"ISO": ('x', 'p', None, None, 'PARA-ISOPROPYLANILINE'), 2.493 +"3MM": ('x', 'p', None, None, '(1R)-1-CARBOXY-N,N,N-TRIMETHYL-3-(METHYLSULFANYL)PROPAN-1-AMINIUM'), 2.494 +"175": ('x', 'p', None, None, '3,5-DIHYDRO-5-METHYLIDENE-4H-IMIDAZOL-4-ON'), 2.495 +"2TY": ('y', 'p', 'M', None, '2-HYDROXY-5-{[(1E)-2-PHENYLETHYLIDENE]AMINO}-L-TYROSINE'), 2.496 +"CSB": ('c', 'p', 'M', None, '"CYS'), 2.497 +"IT1": ('k', 'p', 'M', None, '(E)-N~6~-({3-HYDROXY-2-METHYL-5-[(PHOSPHONOOXY)METHYL]PYRIDIN-4-YL}METHYLIDENE)-L-LYSINE'), 2.498 +"UN1": ('x', 'p', None, None, '"2-AMINOHEXANEDIOIC'), 2.499 +"UN2": ('x', 'p', None, None, '"2-AMINO-4,4-DIHYDROXYBUTANOIC'), 2.500 +"ASP": ('D', 'p', None, None, '"ASPARTIC'), 2.501 +"DTH": ('t', 'p', 'M', None, 'D-THREONINE'), 2.502 +"SER": ('S', 'p', None, None, 'SERINE'), 2.503 +"ASU": ('n', 'd', None, None, '"4\'-THIO-2\'4\'-DIDEOXYRIBOFURANOSE-5\'-PHOSPHATE"'), 2.504 +"SEP": ('s', 'p', 'M', None, 'PHOSPHOSERINE'), 2.505 +"LNT": ('x', 'p', None, None, 'N-[(2S)-2-AMINO-1,1-DIHYDROXY-4-METHYLPENTYL]-L-THREONINE'), 2.506 +"A39": ('a', 'r', 'M', None, "2'-O-METHYL-ADENOSINE 5'-MONOPHOSPHATE"), 2.507 +"DGI": ('g', 'd', 'M', None, '"2\'-DEOXYGUANOSINE-5\'-DIPHOSPHATE"'), 2.508 +"DGN": ('q', 'p', 'M', None, 'D-GLUTAMINE'), 2.509 +"DGL": ('e', 'p', 'M', None, '"D-GLUTAMIC'), 2.510 +"SEG": ('a', 'p', 'M', None, 'HYDROXYALANINE'), 2.511 +"ASB": ('d', 'p', 'M', None, '"ASPARTIC'), 2.512 +"ASA": ('d', 'p', 'M', None, '"ASPARTIC'), 2.513 +"SEC": ('a', 'p', 'M', None, '"2-AMINO-3-SELENINO-PROPIONIC'), 2.514 +"SEB": ('s', 'p', 'M', None, 'O-BENZYLSULFONYL-SERINE'), 2.515 +"0A9": ('f', 'p', 'M', None, '"METHYL'), 2.516 +"ASK": ('d', 'p', 'M', None, '"DEHYDROXYMETHYLASPARTIC'), 2.517 +"PVH": ('h', 'p', 'M', None, 'HISTIDINE-METHYL-ESTER'), 2.518 +"ASI": ('d', 'p', 'M', None, 'L-ISO-ASPARTATE'), 2.519 +"SEL": ('s', 'p', 'M', None, '2-AMINO-1,3-PROPANEDIOL'), 2.520 +"ASN": ('N', 'p', None, None, 'ASPARAGINE'), 2.521 +"ASM": ('x', 'p', None, None, '"2-AMINO-4-OXO-4(1H-PYRROL-1-YL)BUTANOIC'), 2.522 +"ASL": ('d', 'p', 'M', None, '"ASPARTIC'), 2.523 +"AS2": ('d', 'p', 'M', None, '"(2R)-2-AMINO-4-OXOBUTANOIC'), 2.524 +"IMC": ('c', 'd', 'M', None, '"N1-[2-DEOXY-RIBOFURANOSYL]-[2-AMINO-5-METHYL-4-OXO-4H-PYRIMIDINE]-5\'-MONOPHOSPHATE"'), 2.525 +"A3P": ('a', 'r', 'M', None, '"ADENOSINE-3\'-5\'-DIPHOSPHATE"'), 2.526 +"CLH": ('k', 'p', 'M', None, '"2-AMINO-6-[2-(2-OXO-ACETYLAMINO)-ACETYLAMINO]-HEXANOIC'), 2.527 +"3DR": ('n', 'd', None, None, '"1\',2\'-DIDEOXYRIBOFURANOSE-5\'-PHOSPHATE"'), 2.528 +"FRD": ('x', 'p', None, None, '1-PHENYL-2-AMINOPROPANE'), 2.529 +"CLD": ('a', 'p', 'M', None, '"D-PARA-CHLOROPHENYL-1-ACTEAMIDOBORONIC'), 2.530 +"CLE": ('l', 'p', 'M', None, '"LEUCINE'), 2.531 +"PDU": ('n', 'd', None, None, '"5(1-PROPYNYL)-2\'-DEOXYURIDINE-5-MONOPHOSPHATE"'), 2.532 +"CLG": ('k', 'p', 'M', None, '"2-AMINO-6-[2-(2-AMINOOXY-ACETYLAMINO)-ACETYLAMINO]-HEXANOIC'), 2.533 +"BBC": ('c', 'p', 'M', None, '3-[(4-AMINOBUTYL)SULFINYL]-2-IMINOPROPAN-1-OL'), 2.534 +"TFO": ('a', 'd', 'M', None, '"[2-(6-AMINO-9H-PURIN-9-YL)-1-METHYLETHOXY]METHYLPHOSPHONIC'), 2.535 +"CLB": ('a', 'p', 'M', None, '"D-PARA-CHLOROPHENYL-1-ACETAMIDOBORONIC'), 2.536 +"TLC": ('t', 'd', 'M', None, '"2-O,3-ETHDIYL-ARABINOFURANOSYL-THYMINE-5\'-MONOPHOSPHATE"'), 2.537 +"2DM": ('n', 'd', None, None, '"2-HYDROXY-3-(PYREN-1-YLMETHOXY)PROPYL'), 2.538 +"A3A": ('a', 'd', 'M', None, '"2\'DEOXY-ALPHA-ANOMERIC-ADENOSINE-5\'-PHOSPHATE"'), 2.539 +"PDL": ('x', 'p', None, None, '"N-(5\'-PHOSPHOPYRIDOXYL)-L-ALANINE"'), 2.540 +"3DA": ('a', 'd', 'M', None, '"3\'-DEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 2.541 +"GT9": ('c', 'p', 'M', None, 'S-NONYL-CYSTEINE'), 2.542 +"CLV": ('x', 'p', None, None, '"{(2S)-2-[(1S)-1-AMINOETHYL]-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 2.543 +"PDD": ('x', 'p', None, None, '"N-(5\'-PHOSPHOPYRIDOXYL)-D-ALANINE"'), 2.544 +"1TQ": ('w', 'p', 'M', None, '6-(FORMYLAMINO)-7-HYDROXY-L-TRYPTOPHAN'), 2.545 +"SEM": ('x', 'p', None, None, '3-AMINO-4-OXYBENZYL-2-BUTANONE'), 2.546 +"TGP": ('g', 'd', 'M', None, "5'-THIO-2'-DEOXY-GUANOSINE PHOSPHONIC ACID"), 2.547 +"OMC": ('c', 'r', 'M', None, '"O2\'-METHYLYCYTIDINE-5\'-MONOPHOSPHATE"'), 2.548 +"AEA": ('x', 'p', None, None, '"(2-AMINO-2-CARBAMOYL-ETHYLSULFANYL)-ACETIC'), 2.549 +"OMG": ('g', 'r', 'M', None, '"O2\'-METHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 2.550 +"H2U": ('u', 'r', 'M', None, '"5,6-DIHYDROURIDINE-5\'-MONOPHOSPHATE"'), 2.551 +"A38": ('a', 'd', 'M', None, "8-OXY DEOXYADENOSINE-5'-MONOPHOSPHATE"), 2.552 +"DTY": ('y', 'p', 'M', None, 'D-TYROSINE'), 2.553 +"PVL": ('x', 'p', None, None, '"PYRUVOYL'), 2.554 +"ABA": ('a', 'p', 'M', None, '"ALPHA-AMINOBUTYRIC'), 2.555 +"OMU": ('u', 'r', 'M', None, "O2'-METHYLURIDINE 5'-MONOPHOSPHATE"), 2.556 +"OMT": ('m', 'p', 'M', None, 'S-DIOXYMETHIONINE'), 2.557 +"CRF": ('x', 'p', None, None, '[2-(1-AMINO-2-HYDROXY-PROPYL)-4-(1H-INDOL-3-YLMETHYLENE)-5-OXO-4,5-DIHYDRO-IMIDAZOL-1-YL]-ACETALDEHYDE'), 2.558 +"FPA": ('f', 'p', 'M', None, '"1,1'), 2.559 +"VMS": ('x', 'p', None, None, '"5\'O-[N-(L-VALYL)SULPHAMOYL]ADENOSINE"'), 2.560 +"T11": ('f', 'p', 'M', None, '4-[3-(TRIFLUOROMETHYL)DIAZIRIDIN-3-YL]-L-PHENYLALANINE'), 2.561 +"2MR": ('r', 'p', 'M', None, '"N3,'), 2.562 +"DNE": ('l', 'p', 'M', None, 'D-NORLEUCINE'), 2.563 +"5IC": ('c', 'r', 'M', None, '"5-IODO-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.564 +"RC7": ('x', 'p', None, None, '{(2R)-4-(4-HYDROXYBENZYL)-2-[2-(1H-IMIDAZOL-4-YL)ETHYL]-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETALDEHYDE'), 2.565 +"BPE": ('c', 'p', 'M', None, '(2S)-2-AMINO-3-[(3-AMINOPROPYL)SULFANYL]PROPAN-1-OL'), 2.566 +"2MT": ('p', 'p', 'M', None, '"(4R)-2,2-DIMETHYL-1,3-THIAZOLIDINE-4-CARBOXYLIC'), 2.567 +"2MU": ('u', 'r', 'M', None, '"2\',5-DIMETHYLURIDINE-5\'-MONOPHOSPHATE"'), 2.568 +"DG": ('G', 'd', None, None, '"2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.569 +"UCL": ('n', 'd', None, None, "5-CHLORO-2'-DEOXYURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.570 +"DA": ('A', 'd', None, None, '"2\'-DEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 2.571 +"AEI": ('d', 'p', 'M', None, '"THREONINE-ASPARTIC'), 2.572 +"N5M": ('c', 'r', 'M', None, "5-nitrocytidine 5'-(dihydrogen phosphate)"), 2.573 +"5IU": ('n', 'd', None, None, '"5-IODO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.574 +"2MG": ('g', 'r', 'M', None, '"2N-METHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 2.575 +"AAR": ('r', 'p', 'M', None, 'ARGININEAMIDE'), 2.576 +"DT": ('T', 'd', None, None, '"THYMIDINE-5\'-MONOPHOSPHATE"'), 2.577 +"DU": ('n', 'd', None, None, '"2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.578 +"HV8": ('x', 'p', None, None, 'BENZYL-2-AMINO-PARAMETHOXY-BENZYLSTATINE'), 2.579 +"MC1": ('s', 'p', 'M', None, '"METHICILLIN'), 2.580 +"2FM": ('m', 'p', 'M', None, 'S-(DIFLUOROMETHYL)HOMOCYSTEINE'), 2.581 +"CYS": ('C', 'p', None, None, 'CYSTEINE'), 2.582 +"CYR": ('c', 'p', 'M', None, 'N~5~-[{[(2R)-2-AMINO-2-CARBOXYETHYL]SULFANYL}(IMINIO)METHYL]-L-ORNITHINATE'), 2.583 +"BIL": ('x', 'p', None, None, '"(3R,4S)-3-AMINO-4-METHYLHEXANOIC'), 2.584 +"PCA": ('e', 'p', 'M', None, '"PYROGLUTAMIC'), 2.585 +"GYC": ('x', 'p', None, None, '"[(4Z)-2-[(1R)-1-AMINO-2-MERCAPTOETHYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.586 +"SMC": ('c', 'p', 'M', None, 'S-METHYLCYSTEINE'), 2.587 +"0AC": ('g', 'p', 'M', None, '"(4S,5S)-5-AMINO-4-HYDROXY-6-PHENYLHEXANOIC'), 2.588 +"BIF": ('f', 'p', 'M', None, '"(R)-2-AMINO-3-(4-PHENYLCYCLOHEXYL)PROPANOIC'), 2.589 +"2BU": ('a', 'd', 'M', None, "(2S,3S)-N6-(2,3,4-TRIHYDROXYBUTYL)-2'-DEOXYADENOSINE MONO PHOSPHORIC ACID"), 2.590 +"2BT": ('t', 'd', 'M', None, '"2\'-O-BUTYL-THYMIDINE"'), 2.591 +"5PC": ('c', 'd', 'M', None, '"5(1-PROPYNYL)-2\'-DEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 2.592 +"S2M": ('t', 'd', 'M', None, '"2\'-O-[2-(METHOXY)ETHYL]-2-THIOTHYMIDINE-5\'-MONOPHOSPHATE"'), 2.593 +"5MC": ('c', 'r', 'M', None, '"5-METHYLCYTIDINE-5\'-MONOPHOSPHATE"'), 2.594 +"S2P": ('a', 'p', 'M', None, '"(2S)-2-AMINO-3-(4-HYDROXY-1,2,5-THIADIAZOL-3-YL)PROPANOIC'), 2.595 +"C1X": ('k', 'p', 'M', None, '(Z)-N~6~-[(4R,5S)-5-(2-CARBOXYETHYL)-4-(CARBOXYMETHYL)DIHYDRO-2H-THIOPYRAN-3(4H)-YLIDENE]-L-LYSINE'), 2.596 +"CYG": ('c', 'p', 'M', None, '"2-AMINO-4-(AMINO-3-OXO-PROPYLSULFANYLCARBONYL)-BUTYRIC'), 2.597 +"CYF": ('c', 'p', 'M', None, '"5-[2-(2-AMINO-2-CARBAMOYL-ETHYLSULFANYL)-ACETYLAMINO]-2-(3,6-DIHYDROXY-9,9A-DIHYDRO-3H-XANTHEN-9-YL)-BENZOIC'), 2.598 +"5PY": ('t', 'd', 'M', None, '"1-(2\'-DEOXY-5\'-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-METHYLPYRIMIDIN-2(1H)-ONE"'), 2.599 +"CYJ": ('x', 'p', None, None, '(Z)-N~6~-[(4R,5S)-5-(2-CARBOXYETHYL)-4-(CARBOXYMETHYL)PIPERIDIN-3-YLIDENE]-L-LYSINE'), 2.600 +"BIU": ('i', 'p', 'M', None, '5-BROMO-L-ISOLEUCINE'), 2.601 +"ENP": ('n', 'r', None, None, 'ETHENO-NADP'), 2.602 +"AS9": ('x', 'p', None, None, '"N-[HYDROXY(METHYL)PHOSPHORYL]-L-ASPARTIC'), 2.603 +"CYM": ('c', 'p', 'M', None, 'S-METHYLCYSTEINE'), 2.604 +"CY3": ('c', 'p', 'M', None, '2-AMINO-3-MERCAPTO-PROPIONAMIDE'), 2.605 +"DHN": ('v', 'p', 'M', None, '"5-HYDROXY'), 2.606 +"CY1": ('c', 'p', 'M', None, 'ACETAMIDOMETHYLCYSTEINE'), 2.607 +"CY0": ('c', 'p', 'M', None, 'S-{3-[(4-ANILINOQUINAZOLIN-6-YL)AMINO]-3-OXOPROPYL}-L-CYSTEINE'), 2.608 +"SLZ": ('k', 'p', 'M', None, 'L-THIALYSINE'), 2.609 +"CY4": ('c', 'p', 'M', None, 'S-BUTYRYL-CYSTEIN'), 2.610 +"T5S": ('t', 'd', 'M', None, "2'-deoxy-5-(methylselanyl)uridine 5'-phosphate"), 2.611 +"SLR": ('p', 'p', 'M', None, '(3R,4R)-3-HYDROXY-2-[(1S)-1-HYDROXY-2-METHYLPROPYL]-4-METHYL-5-OXO-D-PROLINE'), 2.612 +"IML": ('i', 'p', 'M', None, 'N-METHYL-ISOLEUCINE'), 2.613 +"32S": ('x', 'p', None, None, '"(S)-2-AMINO-3-(4H-SELENOLO[3,2-B]-PYRROL-6-YL)-PROPIONIC'), 2.614 +"CSX": ('c', 'p', 'M', None, '"S-OXY'), 2.615 +"MFC": ('x', 'p', None, None, '5-[1-(3-FLUORO-4-HYDROXY-PHENYL)-METH-(Z)-YLIDENE]-3,5-DIHYDRO-IMIDAZOL-4-ONE'), 2.616 +"32T": ('x', 'p', None, None, '"(S)-2-AMINO-3-(4H-THIENO[3,2-B]-PYRROL-6-YL)-PROPIONIC'), 2.617 +"TFT": ('t', 'd', 'M', None, '"(L)-ALPHA-THREOFURANOSYL-THYMINE-3\'-MONOPHOSPHATE"'), 2.618 +"MLZ": ('k', 'p', 'M', None, 'N-METHYL-LYSINE'), 2.619 +"DHU": ('u', 'r', 'M', None, '"5,6-DIHYDROURIDINE-5\'-PHOSPHATE"'), 2.620 +"ASQ": ('d', 'p', 'M', None, 'PHOSPHOASPARTATE'), 2.621 +"SLA": ('p', 'p', 'M', None, '(3S,4R)-3-HYDROXY-2-[(1S)-1-HYDROXY-2-METHYLPROPYL]-4-METHYL-5-OXO-D-PROLINE'), 2.622 +"DHP": ('x', 'p', None, None, '3-DECYL-2,5-DIOXO-4-HYDROXY-3-PYRROLINE'), 2.623 +"E1X": ('a', 'd', 'M', None, '"PHOSPHORIC'), 2.624 +"XGL": ('g', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(GUANIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 2.625 +"MCL": ('k', 'p', 'M', None, 'NZ-(1-CARBOXYETHYL)-LYSINE'), 2.626 +"TLB": ('n', 'r', None, None, '"2\'-O,3\'-C-METHYLENE-ARABINOFURANOSYL-THYMINE-5\'-MONOPHOSPHATE"'), 2.627 +"MCG": ('x', 'p', None, None, '(S)-(ALPHA)-METHYL-4-CARBOXYPHENYLGLYCINE'), 2.628 +"OTB": ('x', 'p', None, None, '"TERTIARY-BUTOXYFORMIC'), 2.629 +"FT6": ('w', 'p', 'M', None, '6-FLUORO-L-TRYPTOPHAN'), 2.630 +"XGA": ('n', 'd', None, None, '6-AMINO-3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-3,7-DIHYDRO-8H-IMIDAZO[4,5-G]QUINAZOLIN-8-ONE'), 2.631 +"AA4": ('a', 'p', 'M', None, '"2-AMINO-5-HYDROXYPENTANOIC'), 2.632 +"R": ('a', 'd', 'M', None, "2'-DEOXY-N6-(R)STYRENE OXIDE ADENOSINE MONOPHOSPHATE"), 2.633 +"GFL": ('g', 'd', 'M', None, '2-AMINO-9-(2-DEOXY-2-FLUORO-5-O-PHOSPHONO-BETA-D-ARABINOFURANOSYL)-1,9-DIHYDRO-6H-PURIN-6-ONE'), 2.634 +"10C": ('c', 'r', 'M', None, '4-AMINO-1-{2,5-ANHYDRO-4-[(PHOSPHONOOXY)METHYL]-ALPHA-L-LYXOFURANOSYL}PYRIMIDIN-2(1H)-ONE'), 2.635 +"NRQ": ('x', 'p', None, None, '"{(4Z)-4-(4-HYDROXYBENZYLIDENE)-2-[3-(METHYLTHIO)PROPANIMIDOYL]-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 2.636 +"XGU": ('g', 'd', 'M', None, '2-AMINO-9-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)-1,9-DIHYDRO-6H-PURIN-6-ONE'), 2.637 +"MCS": ('c', 'p', 'M', None, '"MALONYL'), 2.638 +"D3": ('n', 'd', None, None, '1-(2-DEOXY-BETA-D-RIBOFURANOSYL)-4-(3-BENZAMIDO)PHENYLIMIDAZOLE'), 2.639 +"PAQ": ('y', 'p', 'M', None, '2-OXY-4-HYDROXY-5-(2-HYDRAZINOPYRIDINE)PHENYLALANINE'), 2.640 +"2PR": ('g', 'd', 'M', None, '"2-AMINO-9-[2-DEOXYRIBOFURANOSYL]-9H-PURINE-5\'-MONOPHOSPHATE"'), 2.641 +"PAT": ('w', 'p', 'M', None, 'ALPHA-PHOSPHONO-TRYPTOPHAN'), 2.642 +"PAU": ('a', 'p', 'M', None, '"PANTOTHENOIC'), 2.643 +"CH": ('c', 'r', 'M', None, "N3-PROTONATED CYTIDINE-5'-MONOPHOSPHATE"), 2.644 +"GCM": ('x', 'p', None, None, '"GLYCYLMETHYLENE'), 2.645 +"CSZ": ('c', 'p', 'M', None, '"S-SELANYL'), 2.646 +"GMS": ('g', 'd', 'M', None, '"2\'-DEOXYGUANOSINE-5\'-MONOSELENOPHOSPHATE"'), 2.647 +"HBN": ('h', 'p', 'M', None, 'N-(2-NAPHTHYL)HISTIDINAMIDE'), 2.648 +"TQQ": ('w', 'p', 'M', None, '"(S)-2-AMINO-3-(6,7-DIHYDRO-6-IMINO-7-OXO-1H-INDOL-3-YL)PROPANOIC'), 2.649 +"2PI": ('x', 'p', None, None, '"2-AMINO-PENTANOIC'), 2.650 +"GSU": ('e', 'p', 'M', None, '"O5\'-(L-GLUTAMYL-SULFAMOYL)-ADENOSINE"'), 2.651 +"CSI": ('g', 'p', 'M', None, '"AMINO-(2-IMINO-HEXAHYDRO-PYRIMIDIN-4-YL)-ACETIC'), 2.652 +"200": ('f', 'p', 'M', None, '4-CHLORO-L-PHENYLALANINE'), 2.653 +"EXY": ('l', 'p', 'M', None, '6-[(2R)-OXIRAN-2-YL]-L-NORLEUCINE'), 2.654 +"12A": ('a', 'r', 'M', None, '"2-METHYLTHIO-N6-(AMINOCARBONYL-L-THREONYL)-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.655 +"DCL": ('x', 'p', None, None, '2-AMINO-4-METHYL-PENTAN-1-OL'), 2.656 +"UNK": ('x', 'p', None, None, 'UNKNOWN'), 2.657 +"DCI": ('x', 'p', None, None, '2-METHYL-BUTYLAMINE'), 2.658 +"DCG": ('g', 'd', 'M', None, '"2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.659 +"4HT": ('w', 'p', 'M', None, '4-HYDROXYTRYPTOPHAN'), 2.660 +"CSU": ('c', 'p', 'M', None, '"CYSTEINE-S-SULFONIC'), 2.661 +"HSO": ('h', 'p', 'M', None, 'HISTIDINOL'), 2.662 +"HSL": ('s', 'p', 'M', None, '"HOMOSERINE'), 2.663 +"TLN": ('n', 'd', None, None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(THYMIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 2.664 +"TZB": ('x', 'p', None, None, '"(4S)-2-[(1E)-1-AMINOPROP-1-ENYL]-4,5-DIHYDRO-1,3-THIAZOLE-4-CARBOXYLIC'), 2.665 +"BTC": ('c', 'p', 'M', None, 'CYSTEINE'), 2.666 +"DCY": ('c', 'p', 'M', None, 'D-CYSTEINE'), 2.667 +"DCT": ('c', 'd', 'M', None, "2',3'-DIDEOXYCYTIDINE 5'-TRIPHOSPHATE"), 2.668 +"4BF": ('y', 'p', 'M', None, '4-BROMO-L-PHENYLALANINE'), 2.669 +"C2L": ('c', 'r', 'M', None, "5-METHYL-3'-O-METHOXYETHYL CYTIDINE 5'-MONOPHOSPHATE"), 2.670 +"RIA": ('a', 'r', 'M', None, '"2\'-O-[(5\'-PHOSPHO)RIBOSYL]ADENOSINE-5\'-MONOPHOSPHATE"'), 2.671 +"IAM": ('a', 'p', 'M', None, '4-[(ISOPROPYLAMINO)METHYL]PHENYLALANINE'), 2.672 +"B1F": ('f', 'p', 'M', None, '"PHENYLALANINE'), 2.673 +"GPN": ('g', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-GUANINE'), 2.674 +"C25": ('c', 'r', 'M', None, '"CYTIDINE-5\'-MONOPHOSPHATE"'), 2.675 +"N2C": ('x', 'p', None, None, 'N,S-DIMETHYLCYSTEINE'), 2.676 +"HAC": ('a', 'p', 'M', None, 'BETA-CYCLOHEXYL-ALANINE'), 2.677 +"MEG": ('e', 'p', 'M', None, '"(2S,3R)-3-METHYL-GLUTAMIC'), 2.678 +"THO": ('x', 'p', None, None, '"REDUCED'), 2.679 +"BNO": ('x', 'p', None, None, '"NORLEUCINE'), 2.680 +"125": ('u', 'r', 'M', None, '"2\'-O-FLUOROETHYL-5-METHYL-URIDINE-5\'-MONOPHOSPHATE"'), 2.681 +"126": ('u', 'r', 'M', None, '"2\'-O-METHYL-[TRI(OXYETHYL)]-5-METHYL-URIDINE-5\'-MONOPHOSPHATE"'), 2.682 +"127": ('u', 'r', 'M', None, '"2\'-O-AMINOOXY-ETHYL-5-METHYL-URIDINE-5\'-MONOPHOSPHATE"'), 2.683 +"128": ('n', 'r', None, None, '"SPIRO(2,4,6-TRINITROBENZENE[1,2A]-2O\',3O\'-METHYLENE-ADENINE-TRIPHOSPHATE"'), 2.684 +"X": ('g', 'd', 'M', None, "2'-DEOXY-N7-(8,9-DIHYDRO-9-HYDROXY-10-DEHYDROXY-AFLATOXIN)GUANOSINE MONOPHOSPHATE"), 2.685 +"HS8": ('h', 'p', 'M', None, '3-(1-SULFO-1H-IMIDAZOL-3-IUM-4-YL)-L-ALANINE'), 2.686 +"NAM": ('a', 'p', 'M', None, '"NAM'), 2.687 +"THC": ('t', 'p', 'M', None, 'N-METHYLCARBONYLTHREONINE'), 2.688 +"HRP": ('w', 'p', 'M', None, '5-HYDROXY-L-TRYPTOPHAN'), 2.689 +"MNV": ('v', 'p', 'M', None, '"N-METHYL-C-AMINO'), 2.690 +"PHI": ('f', 'p', 'M', None, 'IODO-PHENYLALANINE'), 2.691 +"PHM": ('f', 'p', 'M', None, 'PHENYLALANYLMETHANE'), 2.692 +"PHL": ('f', 'p', 'M', None, 'L-PHENYLALANINOL'), 2.693 +"CSW": ('c', 'p', 'M', None, 'CYSTEINE-S-DIOXIDE'), 2.694 +"ZAD": ('a', 'r', 'M', None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-ADENINE"'), 2.695 +"OIC": ('x', 'p', None, None, '"OCTAHYDROINDOLE-2-CARBOXYLIC'), 2.696 +"PHE": ('F', 'p', None, None, 'PHENYLALANINE'), 2.697 +"PHD": ('d', 'p', 'M', None, '"ASPARTYL'), 2.698 +"SYS": ('c', 'p', 'M', None, '3-[(2-AMINO-2-OXOETHYL)SELANYL]-L-ALANINE'), 2.699 +"BG1": ('s', 'p', 'M', None, 'O-[(2S)-2-{METHYL[(METHYLAMINO)SULFONYL]AMINO}PENTANOYL]-L-SERINE'), 2.700 +"NIY": ('y', 'p', 'M', None, 'META-NITRO-TYROSINE'), 2.701 +"MTR": ('t', 'd', 'M', None, '(5-METHYL-6-OXO-1,6-DIHYDRO-PYRIDIN-3-YL)-1,2-DIDEOXY-RIBOFURANOSE-5-MONOPHOSPHATE'), 2.702 +"OAS": ('s', 'p', 'M', None, 'O-ACETYLSERINE'), 2.703 +"BRU": ('n', 'd', None, None, '"5-BROMO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.704 +"NIT": ('x', 'p', None, None, '4-NITROANILINE'), 2.705 +"OIP": ('n', 'd', None, None, "2'-DEOXY-INOSINIC ACID"), 2.706 +"0A0": ('d', 'p', 'M', None, '"2-METHYL-L-ASPARTIC'), 2.707 +"0A1": ('y', 'p', 'M', None, 'O-METHYL-L-TYROSINE'), 2.708 +"0A2": ('k', 'p', 'M', None, '[(1R)-1,5-DIAMINOPENTYL][BIS(ETHANOLATO)]HYDROXYBORATE(1-)'), 2.709 +"CRQ": ('x', 'p', None, None, '"[2-(3-CARBAMOYL-1-IMINO-PROPYL)-4-(4-HYDROXY-BENZYLIDENE)-5-OXO-4,5-DIHYDRO-IMIDAZOL-1-YL]-ACETIC'), 2.710 +"CRW": ('x', 'p', None, None, '"[2-(1-AMINOETHYL)-4-METHYLENE-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.711 +"CRU": ('e', 'p', 'M', None, '"4-[(4Z)-1-(CARBOXYMETHYL)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-2-YL]-4-IMINOBUTANOIC'), 2.712 +"DMH": ('n', 'p', 'M', None, 'N4,N4-DIMETHYL-ASPARAGINE'), 2.713 +"PRR": ('a', 'p', 'M', None, '3-(METHYL-PYRIDINIUM)ALANINE'), 2.714 +"CRX": ('x', 'p', None, None, '"[2-(1-AMINOETHYL)-2-HYDROXY-4-METHYLENE-5-OXOIMIDAZOLIDIN-1-YL]ACETIC'), 2.715 +"DMK": ('d', 'p', 'M', None, '"3,3-DIMETHYL'), 2.716 +"MHL": ('l', 'p', 'M', None, 'N-METHYL-4-HYDROXY-LEUCINE'), 2.717 +"LAA": ('d', 'p', 'M', None, '(3R)-3-HYDROXY-L-ALPHA-ASPARAGINE'), 2.718 +"0ZM": ('x', 'p', None, None, '"(2R)-2-{[(2R)-2-{[(S)-HYDROXY{[(2R,3S,4S,5R,6R)-3,4,5-TRIHYDROXY-6-METHYLTETRAHYDRO-2H-PYRAN-2-YL]OXY}PHOSPHORYL]AMINO}-4-METHYLPENTANOYL]AMINO}-3-(1H-INDOL-3-YL)PROPANOIC'), 2.719 +"DMT": ('x', 'p', None, None, '"3-HYDROXY-4,4-DIMETHYL-2-(METHYLAMINO)-6-OCTENOIC'), 2.720 +"CRG": ('x', 'p', None, None, '"[2-(1-AMINO-2-HYDROXY-PROPYL)-4-(3H-IMIDAZOL-4-YLMETHYLENE)-5-OXO-4,5-DIHYDRO-IMIDAZOL-1-YL]-ACETIC'), 2.721 +"0ZJ": ('x', 'p', None, None, 'N-(SULFANYLACETYL)-D-PHENYLALANYL-N-[(1S)-4-CARBAMIMIDAMIDO-1-(CHLOROACETYL)BUTYL]-L-PROLINAMIDE'), 2.722 +"0ZE": ('x', 'p', None, None, '"AMINO{[(4R)-4-({[(3R,6S,8AS)-6-AMINO-6-BENZYL-5-OXOOCTAHYDROINDOLIZIN-3-YL]CARBONYL}AMINO)-5-(1,3-BENZOTHIAZOL-2-YL)-5-OXOPENTYL]AMINO}METHANIMINIUM'), 2.723 +"CRK": ('x', 'p', None, None, '4-{(Z)-[2-[3-(METHYLSULFANYL)PROPANOYL]-5-OXO-1-(2-OXOETHYL)-1,5-DIHYDRO-4H-IMIDAZOL-4-YLIDENE]METHYL}BENZENOLATE'), 2.724 +"TPH": ('x', 'p', None, None, '"2-AMINO-3-PHENYL-PROPANE-1,1-DIOL'), 2.725 +"1PI": ('x', 'p', None, None, '3-(1-CARBAMIMIDOYL-PIPERIDIN-3-YL)-L-ALANINE'), 2.726 +"CRO": ('x', 'p', None, None, '"{2-[(1R,2R)-1-AMINO-2-HYDROXYPROPYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 2.727 +"0ZC": ('x', 'p', None, None, '"(3R)-2-[N-(FURAN-2-YLCARBONYL)-L-LEUCYL]-2,3,4,9-TETRAHYDRO-1H-BETA-CARBOLINE-3-CARBOXYLIC'), 2.728 +"MIS": ('s', 'p', 'M', None, 'MONOISOPROPYLPHOSPHORYLSERINE'), 2.729 +"C36": ('c', 'd', 'M', None, '"5-METHYL-5-FLUORO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.730 +"NFA": ('f', 'p', 'M', None, '"PHENYLALANINE'), 2.731 +"PU": ('a', 'r', 'M', None, '"PUROMYCIN-N-AMINOPHOSPHONIC'), 2.732 +"G7M": ('g', 'r', 'M', None, '"N7-METHYL-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.733 +"S6G": ('g', 'd', 'M', None, '"6-THIO-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.734 +"LDH": ('k', 'p', 'M', None, 'N~6~-ETHYL-L-LYSINE'), 2.735 +"TCP": ('t', 'd', 'M', None, '"5\'-METHYLTHYMIDINE"'), 2.736 +"TCQ": ('x', 'p', None, None, '3-((3E)-4-(HYDROXYMETHYL)-6-OXO-3-{[(1S,2R)-2-PHENYLCYCLOPROPYL]IMINO}CYCLOHEXA-1,4-DIEN-1-YL)ALANINE'), 2.737 +"8AN": ('a', 'r', 'M', None, "3'-amino-3'-deoxyadenosine 5'-(dihydrogen phosphate)"), 2.738 +"BUC": ('c', 'p', 'M', None, 'S,S-BUTYLTHIOCYSTEINE'), 2.739 +"C32": ('c', 'd', 'M', None, '"5-BROMO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.740 +"7MG": ('g', 'r', 'M', None, '"7N-METHYL-8-HYDROGUANOSINE-5\'-MONOPHOSPHATE"'), 2.741 +"BUG": ('l', 'p', 'M', None, '"TERT-LEUCYL'), 2.742 +"LEU": ('L', 'p', None, None, 'LEUCINE'), 2.743 +"MHO": ('m', 'p', 'M', None, 'S-OXYMETHIONINE'), 2.744 +"C": ('C', 'r', None, None, '"CYTIDINE-5\'-MONOPHOSPHATE"'), 2.745 +"DDX": ('n', 'd', None, None, '"2\',3\'-DEHYDRO-2\',3\'-DIDEOXYRIBOFURANOSE-5\'-PHOSPHATE"'), 2.746 +"OPR": ('r', 'p', 'M', None, 'C-(3-OXOPROPYL)ARGININE'), 2.747 +"FOX": ('g', 'd', 'M', None, "((1R,2S,4R)-4-{[2-AMINO-5-(FORMYLAMINO)-6-OXO-3,6-DIHYDROPYRIMIDIN-4-YL]AMINO}-2-HYDROXYCYCLOPENTYL)METHYL 5'-PHOSPHATE"), 2.748 +"MTY": ('y', 'p', 'M', None, 'META-TYROSINE'), 2.749 +"TC1": ('c', 'd', 'M', None, '3-(5-PHOSPHO-2-DEOXY-BETA-D-RIBOFURANOSYL)-2-OXO-1,3-DIAZA-PHENOTHIAZINE'), 2.750 +"FOE": ('c', 'p', 'M', None, '2-(2-AMINO-3-OXO-PROPYLSULFANYL)-N-(4-FLUORO-PHENYL)-N-ISOPROPYL-ACETAMIDE'), 2.751 +"MF3": ('x', 'p', None, None, '"2-AMINO-4-TRIFLUOROMETHYLSULFANYL-BUTYRIC'), 2.752 +"DDN": ('n', 'd', None, None, '"3,4-DIHYDRO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.753 +"FME": ('m', 'p', 'M', None, 'N-FORMYLMETHIONINE'), 2.754 +"EFC": ('c', 'p', 'M', None, 'S,S-(2-FLUOROETHYL)THIOCYSTEINE'), 2.755 +"DDG": ('g', 'd', 'M', None, '"2\',3\'-DIDEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.756 +"MHS": ('h', 'p', 'M', None, '"N1-METHYLATED'), 2.757 +"DDE": ('h', 'p', 'M', None, '{3-[4-(2-AMINO-2-CARBOXY-ETHYL)-1H-IMIDAZOL-2-YL]-1-CARBAMOYL-PROPYL}-TRIMETHYL-AMMONIUM'), 2.758 +"CR2": ('x', 'p', None, None, '"{(4Z)-2-(AMINOMETHYL)-4-[(4-HYDROXYPHENYL)METHYLIDENE]-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 2.759 +"DSN": ('s', 'p', 'M', None, 'D-SERINE'), 2.760 +"PSH": ('h', 'p', 'M', None, '1-THIOPHOSPHONO-L-HISTIDINE'), 2.761 +"6MI": ('n', 'd', None, None, '6-METHYL-8-(2-DEOXY-RIBOFURANOSYL)ISOXANTHOPTERIDINE'), 2.762 +"CR7": ('x', 'p', None, None, '"[(4Z)-2-[(1S)-1,5-DIAMINOPENTYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.763 +"0AV": ('a', 'd', 'M', None, "2'-O-methyladenosine 5'-(dihydrogen phosphate)"), 2.764 +"CR5": ('g', 'p', 'M', None, '(2R)-2-(AMINOMETHYL)-2,4-DIHYDROXY-5-OXO-3-(2-OXOETHYL)-2,5-DIHYDRO-1H-IMIDAZOL-3-IUM'), 2.765 +"MOR": ('x', 'p', None, None, 'N-CARBONYLMORPHOLINE'), 2.766 +"CR8": ('x', 'p', None, None, '2-[1-AMINO-2-(1H-IMIDAZOL-5-YL)ETHYL]-1-(CARBOXYMETHYL)-4-[(4-OXOCYCLOHEXA-2,5-DIEN-1-YLIDENE)METHYL]-1H-IMIDAZOL-5-OLATE'), 2.767 +"PSA": ('f', 'p', 'M', None, '"3-HYDROXY-4-AMINO-5-PHENYLPENTANOIC'), 2.768 +"ANI": ('x', 'p', None, None, '4-TRIFLUOROMETHYLANILINE'), 2.769 +"NP3": ('n', 'd', None, None, '"1-[2-DEOXY-RIBOFURANOSYL]-1H-[3-NITRO-PYRROL]-5\'-PHOSPHATE"'), 2.770 +"DM0": ('k', 'p', 'M', None, 'N~2~,N~2~,N~6~,N~6~-TETRAMETHYL-L-LYSINE'), 2.771 +"0AA": ('v', 'p', 'M', None, '"METHYL'), 2.772 +"0AB": ('v', 'p', 'M', None, '(3S,4S)-3-AMINO-4-METHYL-3,4-DIHYDRO-2H-PYRAN-2-ONE'), 2.773 +"FOG": ('f', 'p', 'M', None, 'PHENYLALANINOYL-[1-HYDROXY]-2-PROPYLENE'), 2.774 +"0AD": ('g', 'd', 'M', None, "2'-deoxy-N-propylguanosine 5'-(dihydrogen phosphate)"), 2.775 +"LCC": ('n', 'd', None, None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(5-METHYLCYTOSIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 2.776 +"NVA": ('v', 'p', 'M', None, 'NORVALINE'), 2.777 +"0AG": ('l', 'p', 'M', None, 'N-(ETHOXYCARBONYL)-L-LEUCINE'), 2.778 +"0AH": ('s', 'p', 'M', None, 'O-(BROMOACETYL)-L-SERINE'), 2.779 +"1MA": ('a', 'r', 'M', None, '"6-HYDRO-1-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 2.780 +"0AK": ('d', 'p', 'M', None, '"(2S)-2-AMINO-4-(2-CHLOROETHOXY)-4-OXOBUTANOIC'), 2.781 +"0AM": ('a', 'd', 'M', None, "2'-deoxy-N-[3-(propyldisulfanyl)propyl]adenosine 5'-(dihydrogen phosphate)"), 2.782 +"PST": ('t', 'd', 'M', None, '"THYMIDINE-5\'-THIOPHOSPHATE"'), 2.783 +"PSU": ('u', 'r', 'M', None, '"PSEUDOURIDINE-5\'-MONOPHOSPHATE"'), 2.784 +"1ZX": ('x', 'p', None, None, 'D-PHENYLALANYL-N-[(1S)-1-ACETYL-4-{[AMINO(IMINIO)METHYL]AMINO}BUTYL]-L-PROLINAMIDE'), 2.785 +"ILG": ('e', 'p', 'M', None, '"GLUTAMYL'), 2.786 +"ILE": ('I', 'p', None, None, 'ISOLEUCINE'), 2.787 +"5CM": ('c', 'd', 'M', None, '"5-METHYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.788 +"D11": ('t', 'p', 'M', None, 'D-PHOSHPHOTHREONINE'), 2.789 +"UMS": ('n', 'd', None, None, '"2\'-METHYLSELENYL-2\'-DEOXYURIDINE-5\'-PHOSPHATE"'), 2.790 +"X9Q": ('x', 'p', None, None, '"{(2S)-2-[(1S)-1-AMINOETHYL]-4-BENZYL-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 2.791 +"FGP": ('s', 'p', 'M', None, '"2-AMINO-3-HYDROXY-3-PHOSPHONOOXY-PROPIONIC'), 2.792 +"DVA": ('v', 'p', 'M', None, 'D-VALINE'), 2.793 +"5ZA": ('x', 'p', None, None, '(5Z)-2-[(1S,2R)-1-AMINO-2-HYDROXYPROPYL]-5-[(4-AMINO-1H-INDOL-3-YL)METHYLENE]-3-(2-HYDROXYETHYL)-3,5-DIHYDRO-4H-IMIDAZOL-4-ONE'), 2.794 +"BCC": ('x', 'p', None, None, '6-AMINO-6-BENZYL-5-OXO-OCTAHYDRO-INDOLIZINE-3-CARBALDEHYDE'), 2.795 +"TMB": ('t', 'p', 'M', None, 'N-METHYL-4-[(E)-2-BUTENYL]-4,N-DIMETHYL-THREONINE'), 2.796 +"3AH": ('h', 'p', 'M', None, '[HISTIDIN-1-YL-4H-[1,2,4]TRIAZOL-5-YL]-AMINE'), 2.797 +"BCX": ('c', 'p', 'M', None, 'BETA-3-CYSTEINE'), 2.798 +"KPI": ('k', 'p', 'M', None, '"(2S)-2-AMINO-6-[(1-HYDROXY-1-OXO-PROPAN-2-YLIDENE)AMINO]HEXANOIC'), 2.799 +"A2L": ('a', 'r', 'M', None, "3'-O-METHYOXYETHYL-ADENOSINE 5'-MONOPHOSPHATE"), 2.800 +"A2M": ('a', 'r', 'M', None, '"2\'-O-METHYL-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.801 +"ILX": ('i', 'p', 'M', None, '4,5-DIHYDROXYISOLEUCINE'), 2.802 +"PEC": ('c', 'p', 'M', None, 'S,S-PENTYLTHIOCYSTEINE'), 2.803 +"IGL": ('g', 'p', 'M', None, '"ALPHA-AMINO-2-INDANACETIC'), 2.804 +"OLE": ('x', 'p', None, None, '"2-HYDROXY-4-METHYL-PENTANOIC'), 2.805 +"LPG": ('g', 'p', 'M', None, 'L-PROPARGYLGLYCINE'), 2.806 +"DI": ('n', 'd', None, None, '"2\'-DEOXYINOSINE-5\'-MONOPHOSPHATE"'), 2.807 +"ALO": ('t', 'p', 'M', None, 'ALLO-THREONINE'), 2.808 +"OLT": ('t', 'p', 'M', None, 'O-METHYL-L-THREONINE'), 2.809 +"TBM": ('t', 'p', 'M', None, '4-METHYL-4-[(E)-2-BUTENYL]-4,N-DIMETHYL-THREONINE'), 2.810 +"2AU": ('u', 'r', 'M', None, '"2\'-AMINOURIDINE"'), 2.811 +"LED": ('l', 'p', 'M', None, '(4R)-5-OXO-L-LEUCINE'), 2.812 +"OLZ": ('s', 'p', 'M', None, 'O-(2-AMINOETHYL)-L-SERINE'), 2.813 +"C6C": ('c', 'p', 'M', None, '"S-CYCLOHEXYL'), 2.814 +"IEY": ('x', 'p', None, None, '2-((1E)-2-(5-IMIDAZOLYL)ETHENYL)-4-(P-HYDROXYBENZYLIDENE)-5-IMIDAZOLINONE'), 2.815 +"HEU": ('n', 'd', None, None, '"3-(2-HYDROXYETHYL)-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.816 +"SRA": ('a', 'r', 'M', None, "ADENOSINE -5'-THIO-MONOPHOSPHATE"), 2.817 +"ZTH": ('n', 'r', None, None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-THYMINE"'), 2.818 +"NDN": ('n', 'd', None, None, "2'-DEOXY-5-NITROURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.819 +"C66": ('x', 'p', None, None, '2-AMINOETHYLLYSINE-CARBONYLMETHYLENE-CYTOSINE'), 2.820 +"6CW": ('w', 'p', 'M', None, '6-CHLORO-L-TRYPTOPHAN'), 2.821 +"CR0": ('x', 'p', None, None, '[2-(1-AMINO-2-HYDROXYPROPYL)-2-HYDROXY-4-ISOBUTYL-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETALDEHYDE'), 2.822 +"DBM": ('n', 'r', None, None, '9-(6-DEOXY-BETA-D-ALLOFURANOSYL)-6-METHYLPURINE'), 2.823 +"N": ('n', 'r', None, None, "ANY 5'-MONOPHOSPHATE NUCLEOTIDE"), 2.824 +"N6G": ('g', 'r', 'M', None, '"((2R,3S,4R,5S)-5-(2,6-DIAMINO-9H-PURIN-9-YL)-3,4-DIHYDROXY-TETRAHYDROFURAN-2-YL)METHYL'), 2.825 +"ALC": ('a', 'p', 'M', None, '"2-AMINO-3-CYCLOHEXYL-PROPIONIC'), 2.826 +"S1H": ('s', 'p', 'M', None, '1-HEXADECANOSULFONYL-O-L-SERINE'), 2.827 +"FZN": ('k', 'p', 'M', None, '(2S)-2-amino-6-{[(1Z)-1-{[(2R,3R,4S,5R)-5-({[(R)-{[(R)-{[(2R,3S,4R,5R)-5-(6-amino-9H-purin-9-yl)-3,4-dihydroxytetrahydrofuran-2-yl]methoxy}(hydroxy)phosphoryl]oxy}(hydroxy)phosphoryl]oxy}methyl)-3,4-dihydroxytetrahydrofuran-2-yl]sulfanyl}ethylidene]amino}hexanoic acid'), 2.828 +"0SP": ('a', 'd', 'M', None, "2'-deoxy-N-[3-(propyldisulfanyl)propyl]adenosine 5'-(dihydrogen phosphate)"), 2.829 +"OBS": ('x', 'p', None, None, '(Z)-N^6-[(4S,5R)-5-(2-CARBOXYETHYL)-4-(CARBOXYMETHYL)-1-HYDROXYDIHYDRO-2H-THIOPYRANIUM-3(4H)-YLIDENE]-L-LYSINE'), 2.830 +"2NT": ('t', 'd', 'M', None, "2'-O-[2-[HYDROXY(METHYLENEAMINO)OXY]ETHYL THYMIDINE-5'-MONOPHOSPHATE"), 2.831 +"K1R": ('c', 'p', 'M', None, '"(2S)-2-AMINO-4-[({[(2R)-2-AMINO-2-CARBOXYETHYL]THIO}AMINO)SULFINYL]BUTANOIC'), 2.832 +"NMT": ('t', 'd', 'M', None, '1-(O2-(METHYLCARBAMOYL)-O5-HYDROXYPHOSPHINYL-BETA-D-RIBOFURANOSYL)THYMINE'), 2.833 +"A23": ('a', 'r', 'M', None, "ADENOSINE-5'-PHOSPHATE-2',3'-CYCLIC PHOSPHATE"), 2.834 +"D1P": ('n', 'd', None, None, '"2\'-DEOXY-RIBOFURANOSE-5\'-PHOSPHATE"'), 2.835 +"NMS": ('t', 'd', 'M', None, '1-(O2-(2-METHYLAMINO-2-OXO-ETHYL)-O5-HYDROXYPHOSPHINYL-BETA-D-RIBOFURANOSYL)THYMINE'), 2.836 +"CIR": ('r', 'p', 'M', None, 'CITRULLINE'), 2.837 +"CH6": ('x', 'p', None, None, '"{(4Z)-2-[(1S)-1-AMINO-3-(METHYLSULFANYL)PROPYL]-4-[(4-HYDROXYPHENYL)METHYLIDENE]-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 2.838 +"BJH": ('x', 'p', None, None, '"1(R)-1-ACETAMIDO-2-(3-CARBOXY-2-HYDROXYPHENYL)ETHYL'), 2.839 +"YYG": ('g', 'r', 'M', None, '"4-(3-[5-O-PHOSPHONORIBOFURANOSYL]-4,6-DIMETHYL-8-OXO-4,8-DIHYDRO-3H-1,3,4,5,7A-PENTAAZA-S-INDACEN-YLAMINO-BUTYRIC'), 2.840 +"2MA": ('a', 'r', 'M', None, '"2-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 2.841 +"NMC": ('g', 'p', 'M', None, '"N-CYCLOPROPYLMETHYL'), 2.842 +"0AY": ('x', 'p', None, None, '"DIETHYL'), 2.843 +"UFP": ('n', 'd', None, None, '"5-FLUORO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.844 +"SET": ('s', 'p', 'M', None, 'AMINOSERINE'), 2.845 +"UFR": ('n', 'd', None, None, "2'-DEOXY-5-FORMYLURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.846 +"NMM": ('r', 'p', 'M', None, '"(R)-2-AMINO-5-(3-METHYLGUANIDINO)BUTANOIC'), 2.847 +"UFT": ('n', 'd', None, None, "2'-deoxy-2'-fluorouridine 5'-(dihydrogen phosphate)"), 2.848 +"0AZ": ('p', 'p', 'M', None, '(4R)-4-HYDROXY-L-PROLINE'), 2.849 +"5IT": ('t', 'd', 'M', None, '"5-IODO-THYMIDINE-5\'-PHOSPHATE"'), 2.850 +"DIL": ('i', 'p', 'M', None, 'D-ISOLEUCINE'), 2.851 +"FHL": ('x', 'p', None, None, '(E)-N~6~-[3-CARBOXY-1-(HYDROXYMETHYL)PROPYLIDENE]-L-LYSINE'), 2.852 +"0Z6": ('x', 'p', None, None, 'D-PHENYLALANYL-N-[(1S)-4-{[AMINO(IMINIO)METHYL]AMINO}-1-(CHLOROACETYL)BUTYL]-L-PHENYLALANINAMIDE'), 2.853 +"AR4": ('e', 'p', 'M', None, '"2-AMINO-5-(3-FLUORO-3,4-DIHYDROXY-5-HYDROXYMETHYL-TETRAHYDRO-FURAN-2-YLOXY)-5-HYDROXY-PENTANOIC'), 2.854 +"EIT": ('t', 'd', 'M', None, '"((3R,4R,5R)-4-(2-(1H-IMIDAZOL-1-YL)ETHOXY)-3-HYDROXY-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)-TETRAHYDROFURAN-2-YL)METHYL'), 2.855 +"SD2": ('x', 'p', None, None, 'N-(SULFANYLACETYL)TYROSYLPROLYLMETHIONINAMIDE'), 2.856 +"CH7": ('x', 'p', None, None, '"[(4Z)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-2-(3,4,5,6-TETRAHYDROPYRIDIN-2-YL)-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.857 +"N5I": ('n', 'd', None, None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-NITRO-1H-INDOLE'), 2.858 +"5AT": ('t', 'd', 'M', None, '"5\'-AMINO-5\'-DEOXYTHYMIDINE"'), 2.859 +"LOL": ('x', 'p', None, None, 'LEUCINOL'), 2.860 +"HYP": ('p', 'p', 'M', None, '4-HYDROXYPROLINE'), 2.861 +"IYT": ('t', 'p', 'M', None, 'N-ALPHA-ACETYL-3,5-DIIODOTYROSYL-D-THREONINE'), 2.862 +"LOV": ('x', 'p', None, None, '"5-AMINO-4-HYDROXY-2-ISOPROPYL-7-METHYL-OCTANOIC'), 2.863 +"LCX": ('k', 'p', 'M', None, '"CARBOXYLATED'), 2.864 +"GND": ('x', 'p', None, None, '"2-AMINO-5-GUANIDINO-PENTANOIC'), 2.865 +"GNE": ('n', 'd', None, None, '1,N2-ETHENOGUANINE'), 2.866 +"FHU": ('u', 'r', 'M', None, '"(5S,6R)-5-FLUORO-6-HYDROXY-PSEUDOURIDINE-5\'-MONOPHOSPHATE"'), 2.867 +"C12": ('x', 'p', None, None, '2-(1-AMINO-2-HYDROXYPROPYL)-4-(4-HYDROXYBENZYL)-1-(2-OXOETHYL)-1H-IMIDAZOL-5-OLATE'), 2.868 +"DIV": ('v', 'p', 'M', None, 'D-ISOVALINE'), 2.869 +"T6A": ('a', 'r', 'M', None, '"N-[N-(9-B-D-RIBOFURANOSYLPURIN-6-YL)CARBAMOYL]THREONINE-5\'-MONOPHOSPHATE"'), 2.870 +"DIR": ('r', 'p', 'M', None, '3-{[(E)-AMINO(HYDROXYIMINO)METHYL]AMINO}ALANINE'), 2.871 +"AIB": ('a', 'p', 'M', None, '"ALPHA-AMINOISOBUTYRIC'), 2.872 +"SOC": ('c', 'p', 'M', None, 'DIOXYSELENOCYSTEINE'), 2.873 +"NSK": ('x', 'p', None, None, '"N-SUCCINYL'), 2.874 +"LCG": ('g', 'd', 'M', None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(GUANIN-9-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 2.875 +"MT2": ('m', 'p', 'M', None, '[(3S)-3-AMINO-3-CARBOXYPROPYL](ETHYL)METHYLSULFONIUM'), 2.876 +"GAU": ('e', 'p', 'M', None, '"(4S)-4-AMINO-5-HYDROXYPENTANOIC'), 2.877 +"PPH": ('l', 'p', 'M', None, '"PHENYLALANINE'), 2.878 +"PPN": ('f', 'p', 'M', None, 'PARA-NITROPHENYLALANINE'), 2.879 +"1MG": ('g', 'r', 'M', None, '"1N-METHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 2.880 +"GAO": ('g', 'r', 'M', None, "GUANINE ARABINOSE-5'-PHOSPHATE"), 2.881 +"FAI": ('n', 'r', None, None, '5-(FORMYLAMINO)-1-(5-O-PHOSPHONO-BETA-D-RIBOFURANOSYL)-1H-IMIDAZOLE-4-CARBOXAMIDE'), 2.882 +"PPW": ('g', 'd', 'M', None, '"7-DEAZA-8-AZA-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.883 +"2ML": ('l', 'p', 'M', None, '2-METHYLLEUCINE'), 2.884 +"MBZ": ('n', 'd', None, None, '"1-[2-DEOXYRIBOFURANOSYL]-4-METHYL-BENZOIMIDAZOLE-5\'-MONOPHOSPHATE"'), 2.885 +"TPN": ('t', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-THYMINE'), 2.886 +"SOY": ('s', 'p', 'M', None, '"OXACILLIN-ACYLATED'), 2.887 +"CBV": ('c', 'r', 'M', None, "5-BROMOCYTIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.888 +"MBQ": ('y', 'p', 'M', None, '2-HYDROXY-5-({1-[(4-METHYLPHENOXY)METHYL]-3-OXOPROP-1-ENYL}AMINO)-L-TYROSINE'), 2.889 +"G31": ('g', 'd', 'M', None, '"3\'-METHYL-2\',3\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.890 +"HTI": ('c', 'p', 'M', None, '(4S)-4-{[(2S)-2-AMINO-3-OXOPROPYL]SULFANYL}-L-HOMOSERINE'), 2.891 +"XX1": ('k', 'p', 'M', None, 'N~6~-7H-PURIN-6-YL-L-LYSINE'), 2.892 +"6OG": ('g', 'd', 'M', None, "6-O-METHYL GUANOSINE-5'-MONOPHOSPHATE"), 2.893 +"0AF": ('w', 'p', 'M', None, '7-HYDROXY-L-TRYPTOPHAN'), 2.894 +"G36": ('g', 'd', 'M', None, '"O6-ETHYL-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.895 +"I": ('n', 'r', None, None, '"INOSINIC'), 2.896 +"YOF": ('y', 'p', 'M', None, '3-FLUOROTYROSINE'), 2.897 +"HPQ": ('f', 'p', 'M', None, 'HOMOPHENYLALANINYLMETHANE'), 2.898 +"LCA": ('a', 'r', 'M', None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(ADENIN-9-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 2.899 +"IU": ('u', 'r', 'M', None, '"5-IODOURIDINE-5\'-MONOPHOSPHATE"'), 2.900 +"CYQ": ('c', 'p', 'M', None, '"2-AMINO-3-PHOSPHONOMETHYLSULFANYL-PROPIONIC'), 2.901 +"M0H": ('c', 'p', 'M', None, 'S-(HYDROXYMETHYL)-L-CYSTEINE'), 2.902 +"FA5": ('n', 'r', None, None, '"ADENOSINE-5\'-[PHENYLALANINYL-PHOSPHATE]"'), 2.903 +"LVG": ('g', 'p', 'M', None, 'L-VINYLGLYCINE'), 2.904 +"HPH": ('x', 'p', None, None, 'PHENYLALANINDIOL'), 2.905 +"IRN": ('n', 'r', None, None, '1-(5-O-PHOSPHONO-BETA-D-RIBOFURANOSYL)-1H-IMIDAZOLE'), 2.906 +"Y": ('a', 'd', 'M', None, "2'-DEOXY-N6-(S)STYRENE OXIDE ADENOSINE MONOPHOSPHATE"), 2.907 +"IC": ('c', 'r', 'M', None, '"ISOCYTIDINE-5\'-MONOPHOSPHATE"'), 2.908 +"4DP": ('w', 'p', 'M', None, '3-[5-(DIMETHYLAMINO)-1,3-DIOXO-1,3-DIHYDRO-2H-ISOINDOL-2-YL]-L-ALANINE'), 2.909 +"HPE": ('f', 'p', 'M', None, 'HOMOPHENYLALANINE'), 2.910 +"PR5": ('a', 'r', 'M', None, "PURINE RIBOSIDE-5'-MONOPHOSPHATE"), 2.911 +"CDE": ('x', 'p', None, None, '1,2-DIMETHYL-PROPYLAMINE'), 2.912 +"SDP": ('s', 'p', 'M', None, '"2-AMINO-3-(DIETHOXY-PHOSPHORYLOXY)-PROPIONIC'), 2.913 +"GN7": ('g', 'd', 'M', None, '"N7-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.914 +"ARV": ('x', 'p', None, None, '5-N-ALLYL-ARGININE'), 2.915 +"2AT": ('t', 'd', 'M', None, "2'-O-ALLYL THYMIDINE-5'-MONOPHOSPHATE"), 2.916 +"T66": ('x', 'p', None, None, '2-AMINOETHYLLYSINE-CARBONYLMETHYLENE-THYMINE'), 2.917 +"LCK": ('k', 'p', 'M', None, '(Z)-N~6~-(2-CARBOXY-1-METHYLETHYLIDENE)-L-LYSINE'), 2.918 +"EHP": ('f', 'p', 'M', None, '3-HYDROXYPHENYLALANINE'), 2.919 +"CHP": ('g', 'p', 'M', None, '3-CHLORO-4-HYDROXYPHENYLGLYCINE'), 2.920 +"HY3": ('p', 'p', 'M', None, '3-HYDROXYPROLINE'), 2.921 +"THX": ('n', 'd', None, None, 'PHOSPHONIC ACID 6-({6-[6-(6-CARBAMOYL-3,6,7,8-TETRAHYDRO-3,6-DIAZA-AS-INDACENE-2-CARBONYL)-3,6,7,8-TETRAHYDRO-3,6-DIAZA-AS-INDOCENE-2-CARBONYL]-3,6,7,8-TETRAHYDRO-3,6-DIAZA-AS-INDACENE-2-CARBONL}-AMINO)-HEXYL ESTER 5-(5-METHYL-2,4-DIOXO-3,4-DIHYDRO-2H-PYRIMIDIN-1-YL)-TETRAHYDRO-FURAN-2-YLMETHYL ESTER'), 2.922 +"LCH": ('n', 'd', None, None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(5-METHYLCYTOSIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 2.923 +"4MF": ('n', 'd', None, None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-4-METHYL-1H-INDOLE'), 2.924 +"DTR": ('w', 'p', 'M', None, 'D-TRYPTOPHAN'), 2.925 +"MOD": ('x', 'p', None, None, '"L-METHIONYL'), 2.926 +"4MM": ('x', 'p', None, None, '(1S)-1-CARBOXY-N,N,N-TRIMETHYL-3-(METHYLSULFANYL)PROPAN-1-AMINIUM'), 2.927 +"ARO": ('r', 'p', 'M', None, '"C-GAMMA-HYDROXY'), 2.928 +"GSS": ('g', 'd', 'M', None, "2'-DEOXY-N2-(S)STYRENE OXIDE GUANOSINE MONOPHOSPHATE"), 2.929 +"DRZ": ('n', 'd', None, None, '"3\',4\'-DIHYDROXY-PENTANAL-5\'-PHOSPHATE"'), 2.930 +"CCY": ('x', 'p', None, None, '2-(1-AMINO-2-MERCAPTO-ETHYL)-5-(4-HYDROXY-BENZYL)-3-(ETHANOYL)-3,5-DIHYDRO-IMIDAZOL-4-ONE'), 2.931 +"TPQ": ('y', 'p', 'M', None, '5-(2-CARBOXY-2-AMINOETHYL)-2-HYDROXY-1,4-BENZOQUINONE'), 2.932 +"5CS": ('c', 'p', 'M', None, '"2-AMINO-3-(CYSTEIN-S-YL)-ISOXAZOLIDIN-5-YL-ACETIC'), 2.933 +"4OC": ('c', 'r', 'M', None, '"4N,O2\'-METHYLCYTIDINE-5\'-MONOPHOSPHATE"'), 2.934 +"DRP": ('n', 'd', None, None, '"2-DEOXYRIBOFURANOSYL-PYRIDINE-5\'-MONOPHOSPHATE"'), 2.935 +"BOR": ('r', 'p', 'M', None, '"(1R)-1-AMINO-4-{[(E)-AMINO(IMINO)METHYL]AMINO}BUTYLBORONIC'), 2.936 +"DRT": ('t', 'd', 'M', None, "2'-DEOXY-L-RIBO-FURANOSYL THYMINE-5'-MONOPHOSPHATE"), 2.937 +"CCS": ('c', 'p', 'M', None, '"CARBOXYMETHYLATED'), 2.938 +"TS": ('n', 'd', None, None, '"THYMIDINE-5\'-THIOPHOSPHATE"'), 2.939 +"MME": ('m', 'p', 'M', None, '"N-METHYL'), 2.940 +"CCL": ('k', 'p', 'M', None, 'N~6~-[(CYCLOPENTYLOXY)CARBONYL]-D-LYSINE'), 2.941 +"GSC": ('g', 'p', 'M', None, '"2-ETHYLTHIO'), 2.942 +"DRM": ('n', 'd', None, None, '"{[(1R,2S)-2-(2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)CYCLOPENTYL]OXY}METHYLPHOSPHONIC'), 2.943 +"4FB": ('p', 'p', 'M', None, '(4S)-4-FLUORO-L-PROLINE'), 2.944 +"GYS": ('x', 'p', None, None, '"[(4Z)-2-(1-AMINO-2-HYDROXYETHYL)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.945 +"NAL": ('a', 'p', 'M', None, 'BETA-(2-NAPHTHYL)-ALANINE'), 2.946 +"6MT": ('a', 'r', 'M', None, '"TRANS-N6-METHYL-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 2.947 +"CCC": ('c', 'r', 'M', None, "CYTIDINE-5'-PHOSPHATE-2',3'-CYCLIC PHOSPHATE"), 2.948 +"UMP": ('u', 'r', 'M', None, "2'-DEOXYURIDINE 5'-MONOPHOSPHATE"), 2.949 +"ML3": ('k', 'p', 'M', None, '2-{[(2R)-2-AMINO-2-CARBOXYETHYL]SULFANYL}-N,N,N-TRIMETHYLETHANAMINIUM'), 2.950 +"LPD": ('p', 'p', 'M', None, 'L-PROLINAMIDE'), 2.951 +"OHI": ('h', 'p', 'M', None, '3-(2-OXO-2H-IMIDAZOL-4-YL)-L-ALANINE'), 2.952 +"LYR": ('k', 'p', 'M', None, 'N~6~-[(2Z,4E,6E,8E)-3,7-DIMETHYL-9-(2,6,6-TRIMETHYLCYCLOHEX-1-EN-1-YL)NONA-2,4,6,8-TETRAENYL]LYSINE'), 2.953 +"LYS": ('K', 'p', None, None, 'LYSINE'), 2.954 +"LYX": ('k', 'p', 'M', None, "N''-(2-COENZYME A)-PROPANOYL-LYSINE"), 2.955 +"CYA": ('c', 'p', 'M', None, '"TWO'), 2.956 +"LYZ": ('k', 'p', 'M', None, '5-HYDROXYLYSINE'), 2.957 +"ODP": ('n', 'r', None, None, '"4-OXO-NICOTINAMIDE-ADENINE'), 2.958 +"C3Y": ('c', 'p', 'M', None, 'S-[(1S)-1-HYDROXY-1-(HYDROXYAMINO)ETHYL]-L-CYSTEINE'), 2.959 +"POM": ('p', 'p', 'M', None, 'CIS-5-METHYL-4-OXOPROLINE'), 2.960 +"LYM": ('k', 'p', 'M', None, 'DEOXY-METHYL-LYSINE'), 2.961 +"LYN": ('k', 'p', 'M', None, '"2,6-DIAMINO-HEXANOIC'), 2.962 +"GLQ": ('e', 'p', 'M', None, '"4-AMINO-5-OXO-PENTANOIC'), 2.963 +"PIV": ('x', 'p', None, None, '"PIVALIC'), 2.964 +"OHS": ('d', 'p', 'M', None, 'O-(CARBOXYSULFANYL)-4-OXO-L-HOMOSERINE'), 2.965 +"X9A": ('x', 'p', None, None, 'amino[(3-{(2Z,5S,6S,9R,12S,13R,16R)-5,16-dicarboxy-2-ethylidene-12-[(1E,3E,5S,6R)-6-methoxy-3,5-dimethyl-7-phenylhepta-1,3-dien-1-yl]-1,6,13-trimethyl-3,7,10,14,19-pentaoxo-1,4,8,11,15-pentaazacyclononadecan-9-yl}propyl)amino]methaniminium'), 2.966 +"SMT": ('n', 'r', None, None, '"2\'-[(METHYLTHIO)ETHYLOXY]-THYMIDINE-5\'-MONOPHOSPHATE"'), 2.967 +"XAR": ('n', 'd', None, None, '"[(1R,4S,6S)-4-(6-AMINO-9H-PURIN-9-YL)-6-HYDROXYCYCLOHEX-2-EN-1-YL]METHYL'), 2.968 +"CYD": ('c', 'p', 'M', None, '"2-AMINO-6-(CYSTEIN-S-YL)-5-OXO-HEXANOIC'), 2.969 +"SVA": ('s', 'p', 'M', None, '"SERINE'), 2.970 +"5HT": ('t', 'd', 'M', None, '5-HYDROXY-THYMIDINE'), 2.971 +"5HU": ('n', 'd', None, None, '"5-HYDROXYMETHYLURIDINE-2\'-DEOXY-5\'-MONOPHOSPHATE"'), 2.972 +"XAL": ('a', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(ADENIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 2.973 +"T": ('n', 'd', None, None, '"THYMIDINE-5\'-MONOPHOSPHATE"'), 2.974 +"5HP": ('e', 'p', 'M', None, '"PYROGLUTAMIC'), 2.975 +"4SC": ('c', 'd', 'M', None, "4'-THIO-2'-DEOXYCYTIDINE-5'-MONOPHOSPHATE GROUP"), 2.976 +"CQR": ('x', 'p', None, None, '"[(4Z)-2-(AMINOMETHYL)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 2.977 +"XAD": ('a', 'd', 'M', None, '9-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)-9H-PURIN-6-AMINE'), 2.978 +"XAE": ('n', 'd', None, None, '3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-3H-IMIDAZO[4,5-G]QUINAZOLIN-8-AMINE'), 2.979 +"TYI": ('y', 'p', 'M', None, '3,5-DIIODOTYROSINE'), 2.980 +"VLL": ('x', 'p', None, None, '"(2S)-2,3-DIAMINOBUTANOIC'), 2.981 +"2BD": ('n', 'd', None, None, "N1-(1-HYDROXY-3-BUTEN-2(S)-YL)-2'-DEOXYINOSINE MONO PHOSPHORIC ACID"), 2.982 +"IIC": ('x', 'p', None, None, '"4-IMIDAZOLMETHYLENE-5-IMIDAZOLONE'), 2.983 +"A66": ('x', 'p', None, None, '2-AMINOETHYLLYSINE-CARBONYLMETHYLENE-ADENINE'), 2.984 +"2EG": ('g', 'd', 'M', None, "2'-DEOXY-N-ETHYLGUANOSINE 5'-PHOSPHATE"), 2.985 +"2SA": ('n', 'r', None, None, '"2-[9-(3,4-DIHYDROXY-5-PHOSPHONOOXYMETHYL-TETRAHYDRO-FURAN-2-YL)-9H-PURIN-6-YLAMINO]-SUCCINIC'), 2.986 +"2CO": ('c', 'p', 'M', None, 'S-HYDROPEROXYCYSTEINE'), 2.987 +"TMD": ('t', 'p', 'M', None, '(6,7-DIHYDRO)4-[(E)-BUTENYL]-4,N-DIMETHYL-THREONINE'), 2.988 +"CXM": ('m', 'p', 'M', None, 'N-CARBOXYMETHIONINE'), 2.989 +"ALA": ('A', 'p', None, None, 'ALANINE'), 2.990 +"GOM": ('g', 'r', 'M', None, 'GLUTAMOL-AMP'), 2.991 +"2VA": ('v', 'p', 'M', None, '"2\'-(L-VALYL)AMINO-2\'-DEOXYADENOSINE"'), 2.992 +"5BU": ('u', 'r', 'M', None, '"5-BROMO-URIDINE-5\'-MONOPHOSPHATE"'), 2.993 +"IGU": ('g', 'd', 'M', None, '"2\'-DEOXYISOGUANINE-5\'-MONOPHOSPHATE"'), 2.994 +"MLE": ('l', 'p', 'M', None, 'N-METHYLLEUCINE'), 2.995 +"T39": ('n', 'r', None, None, "2'-O-METHOXYETHYLENE THYMIDINE 5'-MONOPHOSPHATE"), 2.996 +"FLT": ('y', 'p', 'M', None, '"FLUOROMALONYL'), 2.997 +"U37": ('u', 'r', 'M', None, "URIDINE 5'-MONOTHIOPHOSPHATE"), 2.998 +"U36": ('u', 'r', 'M', None, '"2\'-O-METHYOXYETHYL-URIDINE-5\'-MONOPHOSPHATE"'), 2.999 +"DHL": ('x', 'p', None, None, '2-AMINO-ETHANETHIOL'), 2.1000 +"U33": ('n', 'd', None, None, "5-BROMO-2'-DEOXY URIDINE"), 2.1001 +"TIH": ('a', 'p', 'M', None, 'BETA(2-THIENYL)ALANINE'), 2.1002 +"SMF": ('f', 'p', 'M', None, '4-SULFOMETHYL-L-PHENYLALANINE'), 2.1003 +"FLA": ('a', 'p', 'M', None, 'TRIFLUOROALANINE'), 2.1004 +"HOB": ('n', 'd', None, None, '"CHOLEST-5-EN-3-YL'), 2.1005 +"FLE": ('l', 'p', 'M', None, 'FUROYL-LEUCINE'), 2.1006 +"VDL": ('x', 'p', None, None, '"(2R,3R)-2,3-DIAMINOBUTANOIC'), 2.1007 +"A1P": ('n', 'd', None, None, '9-{2-DEOXY-5-O-[HYDROXY(OXIDO)PHOSPHINO]-BETA-L-ERYTHRO-PENTOFURANOSYL}-9H-PURIN-2-AMINE'), 2.1008 +"0G6": ('x', 'p', None, None, 'D-PHENYLALANYL-N-[(1S)-4-{[AMINO(IMINIO)METHYL]AMINO}-1-(CHLOROACETYL)BUTYL]-L-PROLINAMIDE'), 2.1009 +"LLY": ('k', 'p', 'M', None, 'NZ-(DICARBOXYMETHYL)LYSINE'), 2.1010 +"DHI": ('h', 'p', 'M', None, 'D-HISTIDINE'), 2.1011 +"RON": ('x', 'p', None, None, 'NORVALINE'), 2.1012 +"PTH": ('y', 'p', 'M', None, 'CE1-METHYLENE-HYDROXY-PHOSPHOTYROSINE'), 2.1013 +"T32": ('t', 'd', 'M', None, "6'-ALPHA-METHYL CARBOCYCLIC THYMIDINE 5'-MONOPHOSPHATE"), 2.1014 +"LLP": ('k', 'p', 'M', None, '2-LYSINE(3-HYDROXY-2-METHYL-5-PHOSPHONOOXYMETHYL-PYRIDIN-4-YLMETHANE)'), 2.1015 +"MNU": ('u', 'r', 'M', None, '"(2R,4S)-1-[(4R)-3,4-DIHYDROXYTETRAHYDROFURAN-2-YL]-5-[(METHYLAMINO)METHYL]-1,2,3,4-TETRAHYDROPYRIMIDINE-2,4-DIOL-5\'-MONOPHOSPHATE"'), 2.1016 +"PTA": ('x', 'p', None, None, '"[(1-AMINO-3-METHYL-BUTYL)-HYDROXY-PHOSPHINOYL]-ACETIC'), 2.1017 +"TZO": ('x', 'p', None, None, '"1,3-THIAZOLE-4-CARBOXYLIC'), 2.1018 +"DBZ": ('a', 'p', 'M', None, '3-(BENZOYLAMINO)-L-ALANINE'), 2.1019 +"MNL": ('l', 'p', 'M', None, '4,N-DIMETHYLNORLEUCINE'), 2.1020 +"APN": ('a', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-ADENINE'), 2.1021 +"OCY": ('c', 'p', 'M', None, 'HYDROXYETHYLCYSTEINE'), 2.1022 +"BCS": ('c', 'p', 'M', None, 'BENZYLCYSTEINE'), 2.1023 +"OSE": ('s', 'p', 'M', None, 'O-SULFO-L-SERINE'), 2.1024 +"3TY": ('x', 'p', None, None, '3-[(3E)-3-(BENZYLHYDRAZONO)-4-HYDROXY-6-OXOCYCLOHEXA-1,4-DIEN-1-YL]-L-ALANINE'), 2.1025 +"SCS": ('c', 'p', 'M', None, '3-(ETHYLDISULFANYL)-L-ALANINE'), 2.1026 +"TYY": ('y', 'p', 'M', None, '3-(4-HYDROXY-3-IMINO-6-OXO-CYCLOHEXA-1,4-DIENYL)-ALANINE'), 2.1027 +"0A5": ('n', 'p', 'M', None, 'N~2~-PROPANOYL-L-ASPARAGINE'), 2.1028 +"PBT": ('n', 'd', None, None, '"[3-HYDROXY-5-(5-METHYL-2,4-DIOXOTETRAHYDRO-1(2H)-PYRIMIDINYL)TETRAHYDRO-2-FURANYL]METHYL'), 2.1029 +"CWR": ('s', 'p', 'M', None, '"(4-METHYL-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL)ACETIC'), 2.1030 +"TRO": ('w', 'p', 'M', None, '2-HYDROXY-TRYPTOPHAN'), 2.1031 +"TRN": ('w', 'p', 'M', None, 'NZ2-TRYPTOPHAN'), 2.1032 +"PYO": ('u', 'r', 'M', None, '"1-(BETA-D-RIBOFURANOSYL)-PYRIMIDIN-2-ONE-5\'-PHOSPHATE"'), 2.1033 +"ZGU": ('g', 'r', 'M', None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-GUANINE"'), 2.1034 +"TRG": ('k', 'p', 'M', None, '"L-(N,N'), 2.1035 +"TRF": ('w', 'p', 'M', None, 'N1-FORMYL-TRYPTOPHAN'), 2.1036 +"R1F": ('c', 'p', 'M', None, '3-{[(2,2,5,5-TETRAMETHYL-1-OXO-4-PHENYL-2,5-DIHYDRO-1H-PYRROLIUM-3-YL)METHYL]DISULFANYL}-D-ALANINE'), 2.1037 +"M5M": ('c', 'r', 'M', None, '"2\'-(N-ACETAMIDE)-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.1038 +"PBF": ('f', 'p', 'M', None, 'PARA-(BENZOYL)-PHENYLALANINE'), 2.1039 +"R1B": ('c', 'p', 'M', None, '3-{[(2,2,4,5,5-PENTAMETHYL-1-OXO-2,5-DIHYDRO-1H-PYRROLIUM-3-YL)METHYL]DISULFANYL}-L-ALANINE'), 2.1040 +"DHA": ('a', 'p', 'M', None, '"2-AMINO-ACRYLIC'), 2.1041 +"YCM": ('c', 'p', 'M', None, 'S-(2-AMINO-2-OXOETHYL)-L-CYSTEINE'), 2.1042 +"R1A": ('c', 'p', 'M', None, '3-{[(2,2,5,5-TETRAMETHYL-1-OXO-2,5-DIHYDRO-1H-PYRROLIUM-3-YL)METHYL]DISULFANYL}-D-ALANINE'), 2.1043 +"TRQ": ('w', 'p', 'M', None, '"2-AMINO-3-(6,7-DIOXO-6,7-DIHYDRO-1H-INDOL-3-YL)-PROPIONIC'), 2.1044 +"TRP": ('W', 'p', None, None, 'TRYPTOPHAN'), 2.1045 +"T23": ('n', 'r', None, None, '"2\'-O-METHYL-3\'-METHYL-3\'-DEOXY-ARABINOFURANOSYL-THYMINE-5\'-PHOSPHATE"'), 2.1046 +"TRW": ('w', 'p', 'M', None, '"TRW3-(2-AMINO-3-HYDROXY-PROPYL)-6-(N\'-CYCLOHEXYL-HYDRAZINO)OCTAHYDRO-INDOL-7-OL"'), 2.1047 +"4FW": ('w', 'p', 'M', None, '4-FLUOROTRYPTOPHANE'), 2.1048 +"IVA": ('x', 'p', None, None, '"ISOVALERIC'), 2.1049 +"VOL": ('x', 'p', None, None, 'L-VALINOL'), 2.1050 +"6HT": ('t', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(THYMIN-1-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 2.1051 +"6HG": ('g', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(GUANIN-9-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 2.1052 +"MPJ": ('x', 'p', None, None, '"(1-AMINO-3-METHYLSULFANYL-PROPYL)-PHOSPHINIC'), 2.1053 +"C43": ('c', 'r', 'M', None, '"2\'-O-METHYOXYETHYL-CYTIDINE-5\'-MONOPHOSPHATE"'), 2.1054 +"MPH": ('x', 'p', None, None, '"(1-AMINO-3-METHYLSULFANYL-PROPYL)-PHOSPHONIC'), 2.1055 +"AVN": ('x', 'p', None, None, '"(2S)-AMINO[(5S)-3-CHLORO-4,5-DIHYDROISOXAZOL-5-YL]ACETIC'), 2.1056 +"M3L": ('k', 'p', 'M', None, 'N-TRIMETHYLLYSINE'), 2.1057 +"C5C": ('c', 'p', 'M', None, '"S-CYCLOPENTYL'), 2.1058 +"HTR": ('w', 'p', 'M', None, 'BETA-HYDROXYTRYPTOPHANE'), 2.1059 +"MPQ": ('g', 'p', 'M', None, 'N-METHYL-ALPHA-PHENYL-GLYCINE'), 2.1060 +"ESC": ('m', 'p', 'M', None, '"2-AMINO-4-ETHYL'), 2.1061 +"3ME": ('n', 'd', None, None, '"PHOSPHORIC'), 2.1062 +"TYS": ('y', 'p', 'M', None, 'O-SULFO-L-TYROSINE'), 2.1063 +"6HA": ('a', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(ADENIN-9-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 2.1064 +"KCX": ('k', 'p', 'M', None, '"LYSINE'), 2.1065 +"6HC": ('c', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(CYTOSIN-1-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 2.1066 +"AVC": ('a', 'r', 'M', None, '"ADENOSINE-5\'-MONOPHOSPHATE-2\',3\'-VANADATE"'), 2.1067 +"GTP": ('g', 'r', 'M', None, '"GUANOSINE-5\'-TRIPHOSPHATE"'), 2.1068 +"ACB": ('d', 'p', 'M', None, '"3-METHYL-ASPARTIC'), 2.1069 +"2SI": ('x', 'p', None, None, '"2-O-SULFO-A-L-IDURONIC'), 2.1070 +"NEM": ('h', 'p', 'M', None, '"NE2-METHYLATED'), 2.1071 +"N7P": ('p', 'p', 'M', None, '1-ACETYL-D-PROLINE'), 2.1072 +"SUB": ('x', 'p', None, None, '"3-PHENYL-2-{[4-(TOLUENE-4-SULFONYL)-THIOMORPHOLINE-3-CARBONYL]-AMINO}-PROPIONIC'), 2.1073 +"2AG": ('g', 'p', 'M', None, '"(2S)-2-AMINOPENT-4-ENOIC'), 2.1074 +"SUN": ('s', 'p', 'M', None, 'O-[(R)-(DIMETHYLAMINO)(ETHOXY)PHOSPHORYL]-L-SERINE'), 2.1075 +"SUI": ('x', 'p', None, None, '"(3-AMINO-2,5-DIOXO-1-PYRROLIDINYL)ACETIC'), 2.1076 +"ACL": ('r', 'p', 'M', None, 'DEOXY-CHLOROMETHYL-ARGININE'), 2.1077 +"SUR": ('u', 'r', 'M', None, '"1-(BETA-D-RIBOFURANOSYL)-2-THIO-URACIL-5\'-PHOSPHATE"'), 2.1078 +"BVP": ('n', 'd', None, None, '"(E)-5-(2-BROMOVINYL)-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 2.1079 +"HFA": ('x', 'p', None, None, '"ALPHA-HYDROXY-BETA-PHENYL-PROPIONIC'), 2.1080 +"LET": ('x', 'p', None, None, '(Z)-N^6-{3-CARBOXY-1-[(4-CARBOXY-2-OXOBUTOXY)METHYL]PROPYLIDENE}-L-LYSINE'), 2.1081 +"0A8": ('c', 'p', 'M', None, 'S-[(2-CHLOROETHYL)CARBAMOYL]-L-CYSTEINE'), 2.1082 +"D4P": ('x', 'p', None, None, '"(2S)-AMINO(4-HYDROXYPHENYL)ACETIC'), 2.1083 +"2OT": ('t', 'd', 'M', None, "2'-O-[2-(N,N-DIMETHYLAMINOOXY)ETHYL] THYMIDINE-5'-MONOPHOSPHATE"), 2.1084 +"NEP": ('h', 'p', 'M', None, 'N1-PHOSPHONOHISTIDINE'), 2.1085 +"PMT": ('c', 'r', 'M', None, '"PHOSPHORIC'), 2.1086 +"2DT": ('t', 'd', 'M', None, '"3\'-DEOXYTHYMIDINE-5\'-MONOPHOSPHATE"'), 2.1087 +"MLY": ('k', 'p', 'M', None, 'N-DIMETHYL-LYSINE'), 2.1088 +"AD2": ('a', 'd', 'M', None, '"2\'-DEOXY-ADENOSINE-3\'-5\'-DIPHOSPHATE"'), 2.1089 +"CGA": ('e', 'p', 'M', None, '"CARBOXYMETHYLATED'), 2.1090 +"NBQ": ('y', 'p', 'M', None, '2-HYDROXY-5-({1-[(2-NAPHTHYLOXY)METHYL]-3-OXOPROP-1-ENYL}AMINO)TYROSINE'), 2.1091 +"ODS": ('x', 'p', None, None, '"4-METHYLPIPERAZIN-1-YL'), 2.1092 +"7GU": ('g', 'd', 'M', None, '"7-DEAZA-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.1093 +"SAH": ('c', 'p', 'M', None, 'S-ADENOSYL-L-HOMOCYSTEINE'), 2.1094 +"2DF": ('n', 'd', None, None, '"N-(2-DEOXY-BETA-D-ERYTHO-PENTOFURANOSYL-5-PHOSPHATE)'), 2.1095 +"2DA": ('a', 'd', 'M', None, '"2\',3\'-DIDEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 2.1096 +"PCC": ('p', 'p', 'M', None, '5-OXOPROLINE'), 2.1097 +"ODA": ('x', 'p', None, None, '"9-AMINO-6,10-DIOXO-OCTAHYDRO-PYRIDAZINO[1,2-A][1,2]DIAZEPINE-1-CARBOXYLIC'), 2.1098 +"2DO": ('x', 'p', None, None, '(2S)-2-AMINOHEXANE-1,1-DIOL'), 2.1099 +"CGU": ('e', 'p', 'M', None, '"GAMMA-CARBOXY-GLUTAMIC'), 2.1100 +"L2A": ('x', 'p', None, None, '"(2S,5S,8S,11S,15E,20S)-20-AMINO-2-(CARBOXYMETHYL)-11,20-DIMETHYL-5,8-BIS(2-METHYLPROPYL)-3,6,9,21-TETRAOXO-1,4,7,10-TETRAAZACYCLOHENICOS-15-ENE-11-CARBOXYLIC'), 2.1101 +"DNG": ('l', 'p', 'M', None, 'N-FORMYL-D-NORLEUCINE'), 2.1102 +"UMA": ('a', 'p', 'M', None, '"URIDINE-5\'-DIPHOSPHATE-N-ACETYLMURAMOYL-L-ALANINE"'), 2.1103 +"PM3": ('f', 'p', 'M', None, '"2-AMINO-3-(4-PHOSPHONOMETHYL-PHENYL)-PROPIONIC'), 2.1104 +"DNM": ('l', 'p', 'M', None, 'N-METHYL-D-NORLEUCINE'), 2.1105 +"DNL": ('k', 'p', 'M', None, '6-AMINO-HEXANAL'), 2.1106 +"GMA": ('e', 'p', 'M', None, '"4-AMIDO-4-CARBAMOYL-BUTYRIC'), 2.1107 +"1LU": ('l', 'p', 'M', None, '"4-METHYL-PENTANOIC'), 2.1108 +"CDV": ('x', 'p', None, None, '"3-METHYL-2-UREIDO-BUTYRIC'), 2.1109 +"ADX": ('n', 'r', None, None, '"ADENOSINE-5\'-PHOSPHOSULFATE"'), 2.1110 +"LKC": ('n', 'd', None, None, '4-AMINO-1-[(1S,3R,4R,7S)-7-HYDROXY-1-(HYDROXYMETHYL)-2,5-DIOXABICYCLO[2.2.1]HEPT-3-YL]-5-METHYLPYRIMIDIN-2(1H)-ONE'), 2.1111 +"ADD": ('x', 'p', None, None, '"2,6,8-TRIMETHYL-3-AMINO-9-BENZYL-9-METHOXYNONANOIC'), 2.1112 +"CUC": ('x', 'p', None, None, '"CYCLOHEXYLGLYCYL'), 2.1113 +"DNP": ('a', 'p', 'M', None, '3-AMINO-ALANINE'), 2.1114 +"DNS": ('k', 'p', 'M', None, 'N~6~-{[5-(DIMETHYLAMINO)-1-NAPHTHYL]SULFONYL}-L-LYSINE'), 2.1115 +"DNR": ('c', 'd', 'M', None, "2'-DEOXY-N3-PROTONATED CYTIDINE-5'-MONOPHOSPHATE"), 2.1116 +"CG1": ('g', 'r', 'M', None, '"5\'-O-[(R)-HYDROXY(METHOXY)PHOSPHORYL]GUANOSINE"'), 2.1117 +"Z": ('c', 'd', 'M', None, 'ZEBULARINE'), 2.1118 +"GMU": ('n', 'd', None, None, "2'-O-[(2-GUANIDINIUM)ETHYL]-5-METHYLURIDINE 5'-MONOPHOSPHATE"), 2.1119 +"C99": ('x', 'p', None, None, '"{(2R)-2-[(1S,2R)-1-AMINO-2-HYDROXYPROPYL]-2-HYDROXY-4,5-DIOXOIMIDAZOLIDIN-1-YL}ACETIC'), 2.1120 +"GDP": ('g', 'r', 'M', None, '"GUANOSINE-5\'-DIPHOSPHATE"'), 2.1121 +"MED": ('m', 'p', 'M', None, 'D-METHIONINE'), 2.1122 +"GDR": ('g', 'd', 'M', None, '"GUANOSINE-5\'-DIPHOSPHATE-RHAMNOSE"'), 2.1123 +"MEA": ('f', 'p', 'M', None, 'N-METHYLPHENYLALANINE'), 2.1124 +"LEF": ('l', 'p', 'M', None, '(4S)-5-FLUORO-L-LEUCINE'), 2.1125 +"LEH": ('l', 'p', 'M', None, 'N-[12-(1H-IMIDAZOL-1-YL)DODECANOYL]-L-LEUCINE'), 2.1126 +"CHG": ('x', 'p', None, None, '"CYCLOHEXYL-GLYCINE"'), 2.1127 +"MEN": ('n', 'p', 'M', None, '"N-METHYL'), 2.1128 +"G42": ('g', 'd', 'M', None, '"8-OXO-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 2.1129 +"5CG": ('g', 'd', 'M', None, '"5\'-CHLORO-5\'-DEOXY-GUANOSINE"'), 2.1130 +"T31": ('u', 'r', 'M', None, "THYMIDINE 5'-MONOTHIOPHOSPHATE"), 2.1131 +"MEU": ('g', 'p', 'M', None, 'O-METHYL-GLYCINE'), 2.1132 +"MET": ('M', 'p', None, None, 'METHIONINE'), 2.1133 +"U34": ('u', 'r', 'M', None, "URIDINE 5'-MONOMETHYLPHOSPHATE"), 2.1134 +"MEQ": ('q', 'p', 'M', None, 'N5-METHYLGLUTAMINE'), 2.1135 +"MEP": ('u', 'r', 'M', None, '"PHOSPHORIC'), 2.1136 +"B1P": ('n', 'd', None, None, '2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSE'), 2.1137 +"IG": ('g', 'r', 'M', None, '"ISOGUANOSINE-5\'-MONOPHOSPHATE"'), 2.1138 +"T2S": ('n', 'r', None, None, '"THYMIDINE-5\'-DITHIOPHOSPHORATE"'), 2.1139 +"ZHP": ('n', 'r', None, None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-HYDROXYPYRIDONE"'), 2.1140 +"AZK": ('k', 'p', 'M', None, '"(S)-2-AMINO-6-AZIDOHEXANOIC'), 2.1141 +"U31": ('u', 'r', 'M', None, "2'-O-3-AMINOPROPYL 2'-DEOXYURIDINE-5'-MONOPHOSPHATE"), 2.1142 +"LTR": ('w', 'p', 'M', None, 'L-TRYPTOPHAN'), 2.1143 +"MSU": ('x', 'p', None, None, '"SUCCINIC'), 2.1144 +"1PA": ('f', 'p', 'M', None, '"PHENYLMETHYLACETIC'), 2.1145 +"MSP": ('a', 'p', 'M', None, '"5\'-O-[(L-METHIONYL)-SULPHAMOYL]ADENOSINE"'), 2.1146 +"MSO": ('m', 'p', 'M', None, '"SELENOMETHIONINE'), 2.1147 +"AZY": ('y', 'p', 'M', None, '3-AZIDO-L-TYROSINE'), 2.1148 +"ENA": ('n', 'r', None, None, 'ETHENO-NAD'), 2.1149 +"MSL": ('m', 'p', 'M', None, '"(2S)-2-AMINO-4-(METHYLSULFONIMIDOYL)BUTANOIC'), 2.1150 +"PF5": ('f', 'p', 'M', None, '2,3,4,5,6-PENTAFLUORO-L-PHENYLALANINE'), 2.1151 +"1PR": ('n', 'r', None, None, '"PHOSPHORIC'), 2.1152 +"3AR": ('x', 'p', None, None, 'N-OMEGA-PROPYL-L-ARGININE'), 2.1153 +"MSE": ('m', 'p', 'M', None, 'SELENOMETHIONINE'), 2.1154 +"AZS": ('s', 'p', 'M', None, 'O-DIAZOACETYL-L-SERINE'), 2.1155 +"MSA": ('g', 'p', 'M', None, '"(2-S-METHYL)'), 2.1156 +"R2P": ('x', 'p', None, None, '"(2R)-2-AMINO-3-(4-HYDROXY-1,2,5-THIADIAZOL-3-YL)PROPANOIC'), 2.1157 +"CAR": ('c', 'd', 'M', None, "CYTOSINE ARABINOSE-5'-PHOSPHATE"), 2.1158 +"DAB": ('a', 'p', 'M', None, '"2,4-DIAMINOBUTYRIC'), 2.1159 +"OTY": ('y', 'p', 'M', None, '"2-AMINO-3-(4-HYDROXY-6-OXOCYCLOHEXA-1,4-DIENYL)PROPANOIC'), 2.1160 +"DAL": ('a', 'p', 'M', None, 'D-ALANINE'), 2.1161 +"DAM": ('x', 'p', None, None, 'N-METHYL-ALPHA-BETA-DEHYDROALANINE'), 2.1162 +"TT": ('n', 'd', None, None, '"[(1R,3R,4S,9R,10S,12R,15AS,15BR,18BR,18CS)-10-HYDROXY-15A,15B-DIMETHYL-13,15,16,18-TETRAOXOHEXADECAHYDRO-8H-9,12-EPOXY-1,4-METHANO-2,5,7-TRIOXA-12A,14,17,18A-TETRAAZACYCLOHEXADECA[1,2,3,4-DEF]BIPHENYLEN-3-YL]METHYL DIHYDROGEN PHOSPHATE"'), 2.1163 +"IOY": ('f', 'p', 'M', None, 'P-IODO-D-PHENYLALANINE'), 2.1164 +"DAH": ('f', 'p', 'M', None, '3,4-DIHYDROXYPHENYLALANINE'), 2.1165 +"8MG": ('g', 'd', 'M', None, '"8-METHYL-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 2.1166 +"BZG": ('n', 'd', None, None, '6-(BENZYLOXY)-9-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-9H-PURIN-2-AMINE'), 2.1167 +"ARM": ('r', 'p', 'M', None, 'DEOXY-METHYL-ARGININE'), 2.1168 +"DAR": ('r', 'p', 'M', None, 'D-ARGININE'), 2.1169 +"DAS": ('d', 'p', 'M', None, '"D-ASPARTIC'), 2.1170 +"MCY": ('c', 'd', 'M', None, '"5-METHYL-2\'-DEOXYCYTIDINE"'), 2.1171 +"SGB": ('s', 'p', 'M', None, 'O-[(S)-METHYL(1-METHYLETHOXY)PHOSPHORYL]-L-SERINE'), 2.1172 +"YRR": ('n', 'd', None, None, '"3-HYDROXY-PYRROLIDIN-2-YLMETHYL-MONOPHOSPHATE'), 2.1173 +"NF2": ('n', 'r', None, None, '(1S)-1,4-ANHYDRO-1-(2,4-DIFLUORO-5-METHYLPHENYL)-5-O-PHOSPHONO-D-RIBITOL'), 2.1174 +"CNU": ('u', 'r', 'M', None, '"5-CYANO-URIDINE-5\'-MONOPHOSPHATE"'), 2.1175 +"E": ('a', 'd', 'M', None, "N-((-)-(7S,8R,9S,10R)[7,8,9-TRIHYDROXY-7,8,9,10-TETRA HYDROBENZO[A]PYREN-10-YL])-2'-DEOXY-ADENOSINE-5'-MONOPHOSPHATE"), 2.1176 +"AA3": ('a', 'p', 'M', None, '"2-AMINOBUTYRIC'), 2.1177 +"GVL": ('x', 'p', None, None, 'O-[(R)-{[(3R)-4-AMINO-3-HYDROXY-2,2-DIMETHYL-4-OXOBUTYL]OXY}(HYDROXY)PHOSPHORYL]-L-SERINE'), 2.1178 +"TNR": ('s', 'p', 'M', None, 'O-(2-ACETAMIDO-2-DEOXY-ALPHA-D-GALACTOPYRANOSYL)-L-SERINE'), 2.1179 +"HOL": ('n', 'd', None, None, '"CHOLEST-5-EN-3-YL'), 2.1180 +"PTM": ('y', 'p', 'M', None, 'ALPHA-METHYL-O-PHOSPHOTYROSINE'), 2.1181 +"AS": ('a', 'd', 'M', None, "2-DEOXY-ADENOSINE -5'-THIO-MONOPHOSPHATE"), 2.1182 +"U": ('U', 'r', None, None, '"URIDINE-5\'-MONOPHOSPHATE"'), 2.1183 +"ESB": ('y', 'p', 'M', None, '3-[(3E)-3-(ETHYLIMINO)-4-HYDROXY-6-OXOCYCLOHEXA-1,4-DIEN-1-YL]-L-ALANINE'), 2.1184 +"DA2": ('x', 'p', None, None, 'NG,NG-DIMETHYL-L-ARGININE'), 2.1185 +"TNB": ('c', 'p', 'M', None, 'S-(2,3,6-TRINITROPHENYL)CYSTEINE'), 2.1186 +"RMP": ('a', 'd', 'M', None, '"2\'-DEOXY-ADENOSINE-5\'-RP-MONOMETHYLPHOSPHONATE"'), 2.1187 +"SME": ('m', 'p', 'M', None, '"METHIONINE'), 2.1188 +"NDF": ('f', 'p', 'M', None, 'N-(CARBOXYCARBONYL)-D-PHENYLALANINE'), 2.1189 +"BOE": ('t', 'd', 'M', None, "2'-O-[2-(BENZYLOXY)ETHYL] THYMIDINE-5'-MONOPHOSPHATE"), 2.1190 +"LGP": ('g', 'd', 'M', None, '"N9-1-HYDROXY-PROP-2-OXYMETHYL-GUANINE-3\'-MONOPHOSPHATE"'), 2.1191 +"SCH": ('c', 'p', 'M', None, 'S-METHYL-THIO-CYSTEINE'), 2.1192 +"T2T": ('n', 'd', None, None, '[(2S,3S,5R)-3-[(2S)-3-({[(2R,3S,4R,5R)-3-HYDROXY-4-METHOXY-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)TETRAHYDROFURAN-2-YL]METHYL}AMINO)-2-METHYL-3-OXOPROPYL]-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)TETRAHYDROFURAN-2-YL]METHYL DIHYDROGEN PHOSPHATE'), 2.1193 +"PFF": ('f', 'p', 'M', None, '4-FLUORO-L-PHENYLALANINE'), 2.1194 +"PCE": ('x', 'p', None, None, '"2-(3-AMINO-4-CYCLOHEXYL-2-HYDROXY-BUTYL)-PENT-4-YNOIC'), 2.1195 +"DFO": ('x', 'p', None, None, '2,2-DIFLUORO-3-HYDROSTATINE'), 2.1196 +"DXN": ('n', 'd', None, None, '(1R,3S,4R)-4-(PHOSPHOOXYMETHYL)-CYCLOPENTANE-1,3-DIOL'), 2.1197 +"KGC": ('k', 'p', 'M', None, 'N~6~-[(2R)-2-CARBOXY-5-OXOTETRAHYDROFURAN-2-YL]-L-LYSINE'), 2.1198 +"US1": ('n', 'd', None, None, "2'-DEOXY-3'-THIOURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 2.1199 +"HHK": ('x', 'p', None, None, '"(2S)-2,8-DIAMINOOCTANOIC'), 2.1200 +"DXD": ('n', 'd', None, None, '(1S,3S,4R)-4-(PHOSPHOOXYMETHYL)-CYCLOPENTANE-1,3-DIOL'), 2.1201 +"ZCY": ('c', 'r', 'M', None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-CYTOSINE"'), 2.1202 +"IEL": ('k', 'p', 'M', None, 'N~6~-[(1Z)-ETHANIMIDOYL]-L-LYSINE'), 2.1203 +}
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/allpy/allpy_data/__init__.py Thu Nov 18 19:38:05 2010 +0300 3.3 @@ -0,0 +1,3 @@ 3.4 +""" 3.5 +Module that contains various data relevant to biological sequences. 3.6 +"""
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/allpy/allpy_data/amino_acids.py Thu Nov 18 19:38:05 2010 +0300 4.3 @@ -0,0 +1,8 @@ 4.4 + 4.5 +amino_acids = [ 4.6 + 'A', 'C', 'D', 'E', 'F', 4.7 + 'G', 'H', 'I', 'K', 'L', 4.8 + 'M', 'N', 'P', 'Q', 'R', 4.9 + 'S', 'T', 'V', 'W', 'Y', 4.10 +] 4.11 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/allpy/allpy_data/blossum62.py Thu Nov 18 19:38:05 2010 +0300 5.3 @@ -0,0 +1,28 @@ 5.4 +matrix = { 5.5 +"A": {"A": 4, "R": -1, "N": -2, "D": -2, "C": 0, "Q": -1, "E": -1, "G": 0, "H": -2, "I": -1, "L": -1, "K": -1, "M": -1, "F": -2, "P": -1, "S": 1, "T": 0, "W": -3, "Y": -2, "V": 0, "B": -2, "Z": -1, "X": 0, "*": -4}, 5.6 +"R": {"A": -1, "R": 5, "N": 0, "D": -2, "C": -3, "Q": 1, "E": 0, "G": -2, "H": 0, "I": -3, "L": -2, "K": 2, "M": -1, "F": -3, "P": -2, "S": -1, "T": -1, "W": -3, "Y": -2, "V": -3, "B": -1, "Z": 0, "X": -1, "*": -4}, 5.7 +"N": {"A": -2, "R": 0, "N": 6, "D": 1, "C": -3, "Q": 0, "E": 0, "G": 0, "H": 1, "I": -3, "L": -3, "K": 0, "M": -2, "F": -3, "P": -2, "S": 1, "T": 0, "W": -4, "Y": -2, "V": -3, "B": 3, "Z": 0, "X": -1, "*": -4}, 5.8 +"D": {"A": -2, "R": -2, "N": 1, "D": 6, "C": -3, "Q": 0, "E": 2, "G": -1, "H": -1, "I": -3, "L": -4, "K": -1, "M": -3, "F": -3, "P": -1, "S": 0, "T": -1, "W": -4, "Y": -3, "V": -3, "B": 4, "Z": 1, "X": -1, "*": -4}, 5.9 +"C": {"A": 0, "R": -3, "N": -3, "D": -3, "C": 9, "Q": -3, "E": -4, "G": -3, "H": -3, "I": -1, "L": -1, "K": -3, "M": -1, "F": -2, "P": -3, "S": -1, "T": -1, "W": -2, "Y": -2, "V": -1, "B": -3, "Z": -3, "X": -2, "*": -4}, 5.10 +"Q": {"A": -1, "R": 1, "N": 0, "D": 0, "C": -3, "Q": 5, "E": 2, "G": -2, "H": 0, "I": -3, "L": -2, "K": 1, "M": 0, "F": -3, "P": -1, "S": 0, "T": -1, "W": -2, "Y": -1, "V": -2, "B": 0, "Z": 3, "X": -1, "*": -4}, 5.11 +"E": {"A": -1, "R": 0, "N": 0, "D": 2, "C": -4, "Q": 2, "E": 5, "G": -2, "H": 0, "I": -3, "L": -3, "K": 1, "M": -2, "F": -3, "P": -1, "S": 0, "T": -1, "W": -3, "Y": -2, "V": -2, "B": 1, "Z": 4, "X": -1, "*": -4}, 5.12 +"G": {"A": 0, "R": -2, "N": 0, "D": -1, "C": -3, "Q": -2, "E": -2, "G": 6, "H": -2, "I": -4, "L": -4, "K": -2, "M": -3, "F": -3, "P": -2, "S": 0, "T": -2, "W": -2, "Y": -3, "V": -3, "B": -1, "Z": -2, "X": -1, "*": -4}, 5.13 +"H": {"A": -2, "R": 0, "N": 1, "D": -1, "C": -3, "Q": 0, "E": 0, "G": -2, "H": 8, "I": -3, "L": -3, "K": -1, "M": -2, "F": -1, "P": -2, "S": -1, "T": -2, "W": -2, "Y": 2, "V": -3, "B": 0, "Z": 0, "X": -1, "*": -4}, 5.14 +"I": {"A": -1, "R": -3, "N": -3, "D": -3, "C": -1, "Q": -3, "E": -3, "G": -4, "H": -3, "I": 4, "L": 2, "K": -3, "M": 1, "F": 0, "P": -3, "S": -2, "T": -1, "W": -3, "Y": -1, "V": 3, "B": -3, "Z": -3, "X": -1, "*": -4}, 5.15 +"L": {"A": -1, "R": -2, "N": -3, "D": -4, "C": -1, "Q": -2, "E": -3, "G": -4, "H": -3, "I": 2, "L": 4, "K": -2, "M": 2, "F": 0, "P": -3, "S": -2, "T": -1, "W": -2, "Y": -1, "V": 1, "B": -4, "Z": -3, "X": -1, "*": -4}, 5.16 +"K": {"A": -1, "R": 2, "N": 0, "D": -1, "C": -3, "Q": 1, "E": 1, "G": -2, "H": -1, "I": -3, "L": -2, "K": 5, "M": -1, "F": -3, "P": -1, "S": 0, "T": -1, "W": -3, "Y": -2, "V": -2, "B": 0, "Z": 1, "X": -1, "*": -4}, 5.17 +"M": {"A": -1, "R": -1, "N": -2, "D": -3, "C": -1, "Q": 0, "E": -2, "G": -3, "H": -2, "I": 1, "L": 2, "K": -1, "M": 5, "F": 0, "P": -2, "S": -1, "T": -1, "W": -1, "Y": -1, "V": 1, "B": -3, "Z": -1, "X": -1, "*": -4}, 5.18 +"F": {"A": -2, "R": -3, "N": -3, "D": -3, "C": -2, "Q": -3, "E": -3, "G": -3, "H": -1, "I": 0, "L": 0, "K": -3, "M": 0, "F": 6, "P": -4, "S": -2, "T": -2, "W": 1, "Y": 3, "V": -1, "B": -3, "Z": -3, "X": -1, "*": -4}, 5.19 +"P": {"A": -1, "R": -2, "N": -2, "D": -1, "C": -3, "Q": -1, "E": -1, "G": -2, "H": -2, "I": -3, "L": -3, "K": -1, "M": -2, "F": -4, "P": 7, "S": -1, "T": -1, "W": -4, "Y": -3, "V": -2, "B": -2, "Z": -1, "X": -2, "*": -4}, 5.20 +"S": {"A": 1, "R": -1, "N": 1, "D": 0, "C": -1, "Q": 0, "E": 0, "G": 0, "H": -1, "I": -2, "L": -2, "K": 0, "M": -1, "F": -2, "P": -1, "S": 4, "T": 1, "W": -3, "Y": -2, "V": -2, "B": 0, "Z": 0, "X": 0, "*": -4}, 5.21 +"T": {"A": 0, "R": -1, "N": 0, "D": -1, "C": -1, "Q": -1, "E": -1, "G": -2, "H": -2, "I": -1, "L": -1, "K": -1, "M": -1, "F": -2, "P": -1, "S": 1, "T": 5, "W": -2, "Y": -2, "V": 0, "B": -1, "Z": -1, "X": 0, "*": -4}, 5.22 +"W": {"A": -3, "R": -3, "N": -4, "D": -4, "C": -2, "Q": -2, "E": -3, "G": -2, "H": -2, "I": -3, "L": -2, "K": -3, "M": -1, "F": 1, "P": -4, "S": -3, "T": -2, "W": 11, "Y": 2, "V": -3, "B": -4, "Z": -3, "X": -2, "*": -4}, 5.23 +"Y": {"A": -2, "R": -2, "N": -2, "D": -3, "C": -2, "Q": -1, "E": -2, "G": -3, "H": 2, "I": -1, "L": -1, "K": -2, "M": -1, "F": 3, "P": -3, "S": -2, "T": -2, "W": 2, "Y": 7, "V": -1, "B": -3, "Z": -2, "X": -1, "*": -4}, 5.24 +"V": {"A": 0, "R": -3, "N": -3, "D": -3, "C": -1, "Q": -2, "E": -2, "G": -3, "H": -3, "I": 3, "L": 1, "K": -2, "M": 1, "F": -1, "P": -2, "S": -2, "T": 0, "W": -3, "Y": -1, "V": 4, "B": -3, "Z": -2, "X": -1, "*": -4}, 5.25 +"B": {"A": -2, "R": -1, "N": 3, "D": 4, "C": -3, "Q": 0, "E": 1, "G": -1, "H": 0, "I": -3, "L": -4, "K": 0, "M": -3, "F": -3, "P": -2, "S": 0, "T": -1, "W": -4, "Y": -3, "V": -3, "B": 4, "Z": 0, "X": -1, "*": -4}, 5.26 +"Z": {"A": -1, "R": 0, "N": 0, "D": 1, "C": -3, "Q": 3, "E": 4, "G": -2, "H": 0, "I": -3, "L": -3, "K": 1, "M": -1, "F": -3, "P": -1, "S": 0, "T": -1, "W": -3, "Y": -2, "V": -2, "B": 0, "Z": 4, "X": -1, "*": -4}, 5.27 +"X": {"A": 0, "R": -1, "N": -1, "D": -1, "C": -2, "Q": -1, "E": -1, "G": -1, "H": -1, "I": -1, "L": -1, "K": -1, "M": -1, "F": -1, "P": -2, "S": 0, "T": 0, "W": -2, "Y": -1, "V": -1, "B": -1, "Z": -1, "X": -1, "*": -4}, 5.28 +"*": {"A": -4, "R": -4, "N": -4, "D": -4, "C": -4, "Q": -4, "E": -4, "G": -4, "H": -4, "I": -4, "L": -4, "K": -4, "M": -4, "F": -4, "P": -4, "S": -4, "T": -4, "W": -4, "Y": -4, "V": -4, "B": -4, "Z": -4, "X": -4, "*": 1} 5.29 +} 5.30 + 5.31 +gaps = (-8, -4, -2, -1)
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/allpy/allpy_pdb.py Thu Nov 18 19:38:05 2010 +0300 6.3 @@ -0,0 +1,67 @@ 6.4 + 6.5 +import re 6.6 +from Bio.PDB import PDBParser 6.7 + 6.8 +""" Functions to get pdb information from fasta id 6.9 +and to generate fasta id from pdb information 6.10 + 6.11 +pdb information: code, chain, model 6.12 + 6.13 +TODO: same for local pdb files 6.14 +""" 6.15 + 6.16 +# for pdb-codes 6.17 +re1 = re.compile(r"(^|[^a-z0-9])(?P<code>[0-9][0-9a-z]{3})([^a-z0-9](?P<chain>[0-9a-z ]?)(?P<model>[^a-z0-9]([0-9]{1,3}))?)?", re.I) 6.18 + 6.19 +#~ # for files 6.20 +#~ re2 = re.compile(r"(^)([^^]+\.(ent|pdb))([^a-zA-Z0-9]([0-9A-Za-z ]?)([^a-zA-Z0-9]([0-9]{1,3}))?)?$") 6.21 + 6.22 +def std_id(pdb_id, pdb_chain, pdb_model=None): 6.23 + if pdb_model: 6.24 + return "%s_%s_%s" % \ 6.25 + (pdb_id.lower().strip(), pdb_chain.upper().strip(), pdb_model) 6.26 + else: 6.27 + return "%s_%s" % \ 6.28 + (pdb_id.lower().strip(), pdb_chain.upper().strip()) 6.29 + 6.30 +def pdb_id_parse(ID): 6.31 + match = re1.search(ID) 6.32 + if not match: 6.33 + return None 6.34 + d = match.groupdict() 6.35 + if 'chain' not in d or not d['chain']: 6.36 + d['chain'] = ' ' 6.37 + if 'model' not in d or not d['model']: 6.38 + d['model'] = 0 6.39 + return d 6.40 + 6.41 + 6.42 +def get_structure(file, name): 6.43 + return PDBParser().get_structure(name, file) 6.44 + 6.45 +#~ def std_id_parse(ID): 6.46 + #~ """ 6.47 + #~ Parse standart ID to pdb_code, chain and model 6.48 + #~ """ 6.49 + #~ if '.ent' in ID.lower() or '.pdb' in ID.lower(): 6.50 + #~ # it is file 6.51 + #~ parseO = self.re2.search(ID) # files 6.52 + #~ else: 6.53 + #~ parseO = self.re1.search(ID.lower()) # pdb codes 6.54 + #~ if not parseO: 6.55 + #~ return None 6.56 + #~ parse = parseO.groups() 6.57 + #~ if len(parse) < 2: 6.58 + #~ return None 6.59 + #~ code = parse[1] 6.60 + #~ chain = '' 6.61 + #~ model = None 6.62 + #~ if len(parse) >= 4: 6.63 + #~ chain = parse[3] 6.64 + #~ if chain: 6.65 + #~ chain = chain.upper() 6.66 + #~ if len(parse) >= 6: 6.67 + #~ if parse[5]: 6.68 + #~ model = parse[5] 6.69 + #~ return code, chain, model 6.70 +
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/allpy/block.py Thu Nov 18 19:38:05 2010 +0300 7.3 @@ -0,0 +1,172 @@ 7.4 +#!usr/bin/python 7.5 + 7.6 +import sys 7.7 + 7.8 +import alignment 7.9 +import sequence 7.10 +import monomer 7.11 +import config 7.12 +from graph import Graph 7.13 +from Bio.PDB import Superimposer 7.14 +from tempfile import NamedTemporaryFile 7.15 +import os 7.16 +from fasta import save_fasta 7.17 + 7.18 +class Block(object): 7.19 + """ Block of alignment 7.20 + 7.21 + Mandatory data: 7.22 + * self.alignment -- alignment object, which the block belongs to 7.23 + * self.sequences - set of sequence objects that contain monomers 7.24 + and/or gaps, that constitute the block 7.25 + * self.positions -- list of positions of the alignment.body that 7.26 + are included in the block; position[i+1] is always to the right from position[i] 7.27 + 7.28 + Don't change self.sequences -- it may be a link to other block.sequences 7.29 + 7.30 + How to create a new block: 7.31 + >>> import alignment 7.32 + >>> import block 7.33 + >>> proj = alignment.Alignment(open("test.fasta")) 7.34 + >>> block1 = block.Block(proj) 7.35 + """ 7.36 + 7.37 + def __init__(self, alignment, sequences=None, positions=None): 7.38 + """ Builds new block from alignment 7.39 + 7.40 + if sequences==None, all sequences are used 7.41 + if positions==None, all positions are used 7.42 + """ 7.43 + if sequences == None: 7.44 + sequences = set(alignment.sequences) # copy 7.45 + if positions == None: 7.46 + positions = range(len(alignment)) 7.47 + self.alignment = alignment 7.48 + self.sequences = sequences 7.49 + self.positions = positions 7.50 + 7.51 + def save_fasta(self, out_file, long_line=70, gap='-'): 7.52 + """ Saves alignment to given file in fasta-format 7.53 + 7.54 + No changes in the names, descriptions or order of the sequences 7.55 + are made. 7.56 + """ 7.57 + for sequence in self.sequences: 7.58 + alignment_monomers = self.alignment.body[sequence] 7.59 + block_monomers = [alignment_monomers[i] for i in self.positions] 7.60 + string = ''.join([m.type.code1 if m else '-' for m in block_monomers]) 7.61 + save_fasta(out_file, string, sequence.name, sequence.description, long_line) 7.62 + 7.63 + def geometrical_cores(self, max_delta=config.delta, 7.64 + timeout=config.timeout, minsize=config.minsize, 7.65 + ac_new_atoms=config.ac_new_atoms, 7.66 + ac_count=config.ac_count): 7.67 + """ Returns length-sorted list of blocks, representing GCs 7.68 + 7.69 + max_delta -- threshold of distance spreading 7.70 + timeout -- Bron-Kerbosh timeout (then fast O(n ln n) algorithm) 7.71 + minsize -- min size of each core 7.72 + ac_new_atoms -- min part or new atoms in new alternative core 7.73 + current GC is compared with each of already selected GCs 7.74 + if difference is less then ac_new_atoms, current GC is skipped 7.75 + difference = part of new atoms in current core 7.76 + ac_count -- max number of cores (including main core) 7.77 + -1 means infinity 7.78 + If more than one pdb chain for some sequence provided, consider all of them 7.79 + cost is calculated as 1 / (delta + 1) 7.80 + delta in [0, +inf) => cost in (0, 1] 7.81 + """ 7.82 + nodes = self.positions 7.83 + lines = {} 7.84 + for i in self.positions: 7.85 + for j in self.positions: 7.86 + if i < j: 7.87 + distances = [] 7.88 + for sequence in self.sequences: 7.89 + for chain in sequence.pdb_chains: 7.90 + m1 = self.alignment.body[sequence][i] 7.91 + m2 = self.alignment.body[sequence][j] 7.92 + if m1 and m2: 7.93 + r1 = sequence.pdb_residues[chain][m1] 7.94 + r2 = sequence.pdb_residues[chain][m2] 7.95 + ca1 = r1['CA'] 7.96 + ca2 = r2['CA'] 7.97 + d = ca1 - ca2 # Bio.PDB feature 7.98 + distances.append(d) 7.99 + if len(distances) >= 2: 7.100 + delta = max(distances) - min(distances) 7.101 + if delta <= max_delta: 7.102 + lines[Graph.line(i, j)] = 1.0 / (1.0 + max_delta) 7.103 + graph = Graph(nodes, lines) 7.104 + cliques = graph.cliques(timeout=timeout, minsize=minsize) 7.105 + GCs = [] 7.106 + for clique in cliques: 7.107 + for GC in GCs: 7.108 + if len(clique - set(GC.positions)) < ac_new_atoms * len(clique): 7.109 + break 7.110 + else: 7.111 + GCs.append(Block(self.alignment, self.sequences, clique)) 7.112 + if ac_count != -1 and len(GCs) >= ac_count: 7.113 + break 7.114 + return GCs 7.115 + 7.116 + def xstring(self, x='X', gap='-'): 7.117 + """ Returns string consisting of gap chars and chars x at self.positions 7.118 + 7.119 + Length of returning string = length of alignment 7.120 + """ 7.121 + monomers = [False] * len(self.alignment) 7.122 + for i in self.positions: 7.123 + monomers[i] = True 7.124 + return ''.join([x if m else gap for m in monomers]) 7.125 + 7.126 + def save_xstring(self, out_file, name, description='', x='X', gap='-', long_line=70): 7.127 + """ Save xstring and name in fasta format """ 7.128 + save_fasta(out_file, self.xstring(x=x, gap=gap), name, description, long_line) 7.129 + 7.130 + def monomers(self, sequence): 7.131 + """ Iterates monomers of this sequence from this block """ 7.132 + alignment_sequence = self.alignment.body[sequence] 7.133 + return (alignment_sequence[i] for i in self.positions) 7.134 + 7.135 + def ca_atoms(self, sequence, pdb_chain): 7.136 + """ Iterates Ca-atom of monomers of this sequence from this block """ 7.137 + return (sequence.pdb_residues[pdb_chain][monomer] for monomer in self.monomers()) 7.138 + 7.139 + def sequences_chains(self): 7.140 + """ Iterates pairs (sequence, chain) """ 7.141 + for sequence in self.alignment.sequences: 7.142 + if sequence in self.sequences: 7.143 + for chain in sequence.pdb_chains: 7.144 + yield (sequence, chain) 7.145 + 7.146 + def superimpose(self): 7.147 + """ Superimpose all pdb_chains in this block """ 7.148 + sequences_chains = list(self.sequences_chains()) 7.149 + if len(sequences_chains) >= 1: 7.150 + sup = Superimposer() 7.151 + fixed_sequence, fixed_chain = sequences_chains.pop() 7.152 + fixed_atoms = self.ca_atoms(fixed_sequence, fixed_chain) 7.153 + for sequence, chain in sequences_chains: 7.154 + moving_atoms = self.ca_atoms(sequence, chain) 7.155 + sup.set_atoms(fixed_atoms, moving_atoms) 7.156 + # Apply rotation/translation to the moving atoms 7.157 + sup.apply(moving_atoms) 7.158 + 7.159 + def pdb_save(self, out_file): 7.160 + """ Save all sequences 7.161 + 7.162 + Returns {(sequence, chain): CHAIN} 7.163 + CHAIN is chain letter in new file 7.164 + """ 7.165 + tmp_file = NamedTemporaryFile(delete=False) 7.166 + tmp_file.close() 7.167 + 7.168 + for sequence, chain in self.sequences_chains(): 7.169 + sequence.pdb_save(tmp_file.name, chain) 7.170 + # TODO: read from tmp_file.name 7.171 + # change CHAIN 7.172 + # add to out_file 7.173 + 7.174 + os.unlink(NamedTemporaryFile) 7.175 +
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/allpy/config.py Thu Nov 18 19:38:05 2010 +0300 8.3 @@ -0,0 +1,18 @@ 8.4 + 8.5 +delta = 2.0 # for geometrical core building 8.6 +minsize = 20 # min size of returning cores 8.7 +maxabsent = 0.15 # deprecated? 8.8 + 8.9 +# pdb download url (XXXX is pdb code place) 8.10 +pdb_url = 'http://www.pdb.org/pdb/files/%s.pdb' 8.11 +pdb_dir = '/tmp/%s.pdb' 8.12 +timeout = 10 # time in sec. for BRON-KERBOSH algorithm 8.13 + 8.14 + 8.15 +# min part or new atoms in new alternative core 8.16 +ac_new_atoms = 0.5 8.17 + 8.18 +# max number of cores (including main core) 8.19 +ac_count = 5 8.20 + 8.21 +
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/allpy/fasta.py Thu Nov 18 19:38:05 2010 +0300 9.3 @@ -0,0 +1,21 @@ 9.4 +def save_fasta(out_file, string, name, description='', long_line=70): 9.5 + """ Saves given string to out_file in fasta_format 9.6 + 9.7 + Splits long lines to substrings of length=long_line 9.8 + To prevent this, set long_line=None 9.9 + """ 9.10 + out_file.write(">%(name)s %(description)s \n" % {'name':name, 'description':description}) 9.11 + if long_line: 9.12 + for i in range(0, len(string) // long_line + 1): 9.13 + out_file.write("%s \n" % string[i*long_line : i*long_line + long_line]) 9.14 + else: 9.15 + out_file.write("%s \n" % string) 9.16 + 9.17 +def determine_long_line(in_file): 9.18 + """ Returns maximum sequence line length in fasta file """ 9.19 + sequences = in_file.read().split('>') 9.20 + for sequence in sequences[1:]: 9.21 + lines = sequence.split('\n')[1:] 9.22 + if len(lines) >= 2: 9.23 + return len(lines[0].strip()) 9.24 + return 70
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/allpy/graph.py Thu Nov 18 19:38:05 2010 +0300 10.3 @@ -0,0 +1,288 @@ 10.4 +# -*- coding: utf-8 -*- 10.5 + 10.6 +from datetime import datetime, timedelta 10.7 +from copy import copy 10.8 + 10.9 +class TimeoutError(Exception): 10.10 + pass 10.11 + 10.12 + 10.13 + 10.14 +class Graph(object): 10.15 + """ Undirected weighted graph 10.16 + 10.17 + Data: 10.18 + nodes -- set of elements 10.19 + lines -- {line: cost}. 10.20 + line is frozenset([e1, e2]) 10.21 + cost is float in (0, 1] or 1 (if all lines are equal) 10.22 + 10.23 + >>> g = Graph(set([1,2,3]), {frozenset([1,2]): 1}) 10.24 + >>> g.fast_cliques() 10.25 + Fast algorithm started 10.26 + [frozenset([1, 2]), frozenset([3])] 10.27 + >>> g = Graph(set([1,2,3]), {frozenset([1,2]): 1, frozenset([1,1]): 1}) 10.28 + >>> g.fast_cliques() 10.29 + Fast algorithm started 10.30 + [frozenset([1, 2]), frozenset([3])] 10.31 + >>> g = Graph(set([1,2,3,4]), {frozenset([1,2]): 0.98, frozenset([1,3]): 0.98, 10.32 + ... frozenset([2,3]): 0.1, frozenset([1,1]): 1}) 10.33 + >>> g.fast_cliques() 10.34 + Fast algorithm started 10.35 + [frozenset([1, 2, 3]), frozenset([4])] 10.36 + >>> g.bron_kerbosh() 10.37 + Bron and Kerbosh algorithm started 10.38 + [frozenset([1, 2, 3]), frozenset([4])] 10.39 + >>> g.cliques() 10.40 + Bron and Kerbosh algorithm started 10.41 + [frozenset([1, 2, 3])] 10.42 + """ 10.43 + 10.44 + def __init__(self, nodes=None, lines=None): 10.45 + if not nodes: 10.46 + nodes = set() 10.47 + if not lines: 10.48 + lines = dict() 10.49 + self.nodes = set(nodes) # copy 10.50 + self.lines = {} 10.51 + for line, cost in lines.items(): 10.52 + if len(line) == 2 and line.issubset(self.nodes): 10.53 + self.lines[line] = cost 10.54 + 10.55 + @staticmethod 10.56 + def line(k1, k2): 10.57 + """ Construct object, representing line of graph """ 10.58 + return frozenset([k1, k2]) 10.59 + 10.60 + def bounded(self, k1, k2): 10.61 + """ Return if these two nodes of the graph are bounded with line """ 10.62 + return k1 == k2 or Graph.line(k1, k2) in self.lines 10.63 + 10.64 + def count_one(self, node): 10.65 + """ Returns number of connections of this node """ 10.66 + return len([node1 for node1 in self.nodes if self.bounded(node, node1)]) - 1 10.67 + 10.68 + def cost_one(self, node): 10.69 + """ Returns sum of costs of all connections of this node """ 10.70 + return sum([self.lines.get(Graph.line(node, node1), 0) 10.71 + for node1 in self.nodes if node != node1]) 10.72 + 10.73 + def count_all(self): 10.74 + """ Returns {node: number of connections of this node} """ 10.75 + c = dict([(node, 0) for node in self.nodes]) 10.76 + for line in self.lines: 10.77 + for node in line: 10.78 + c[node] += 1 10.79 + return c 10.80 + 10.81 + 10.82 + def drop_node(self, node): 10.83 + """ Remove node and all involved lines """ 10.84 + for node1 in self.nodes: 10.85 + self.lines.pop(Graph.line(node, node1), None) 10.86 + self.nodes.discard(node) 10.87 + 10.88 + def add_node(self, node, parent_graph): 10.89 + """ Add node and corresponding lines from parent_graph 10.90 + 10.91 + Added lines should be contained in self graph 10.92 + (takes care of hanging lines) 10.93 + """ 10.94 + self.nodes.add(node) 10.95 + for node1 in self.nodes: 10.96 + line = Graph.line(node, node1) 10.97 + if line in parent_graph.lines: 10.98 + self.lines[line] = parent_graph.lines[line] 10.99 + 10.100 + def drop_nodes(self, nodes): 10.101 + """ Run drop_node for each of given nodes 10.102 + 10.103 + Returns if nodes was not empty (ugly beauty) 10.104 + """ 10.105 + for node in nodes: 10.106 + self.drop_node(node) 10.107 + return bool(nodes) 10.108 + 10.109 + def drop_if_count(self, minsize): 10.110 + """ Run drop_node for each node, that has less than minsize lines """ 10.111 + while True: 10.112 + if not self.drop_nodes([node for (node, count) 10.113 + in self.count_all().items() if count < minsize]): 10.114 + break 10.115 + 10.116 + def bron_kerbosh(self, timeout=-1, minsize=1): 10.117 + """ Bron and Kerboch algorithm implementation 10.118 + 10.119 + returns list of cliques 10.120 + clique is frozenset 10.121 + if timeout=-1, it means infinity 10.122 + if timeout has happened, raises TimeoutError 10.123 + 10.124 + lava flow 10.125 + """ 10.126 + print 'Bron and Kerbosh algorithm started' 10.127 + cliques = [] 10.128 + 10.129 + depth = 0 10.130 + list_candidates = [copy(self.nodes)] 10.131 + list_used = [set()] 10.132 + compsub = [] 10.133 + 10.134 + start_time = datetime.now() 10.135 + timeout_timedelta = timedelta(timeout) 10.136 + 10.137 + while True: # ПОКА... 10.138 + if depth == -1: 10.139 + break # ВСЕ! Все рекурсии (итерации) пройдены 10.140 + candidates = copy(list_candidates[depth]) 10.141 + used = copy(list_used[depth]) 10.142 + if not candidates: # ПОКА candidates НЕ пусто 10.143 + depth -= 1 10.144 + if compsub: 10.145 + compsub.pop() 10.146 + continue 10.147 + 10.148 + # И used НЕ содержит вершины, СОЕДИНЕННОЙ СО ВСЕМИ вершинами из candidates 10.149 + # (все из used НЕ соединены хотя бы с 1 из candidates) 10.150 + used_candidates = False 10.151 + 10.152 + for used1 in used: 10.153 + for candidates1 in candidates: 10.154 + if not self.bounded(used1, candidates1): 10.155 + break 10.156 + else: 10.157 + used_candidates = True 10.158 + 10.159 + if used_candidates: 10.160 + depth -= 1 10.161 + 10.162 + if compsub: 10.163 + compsub.pop() 10.164 + continue 10.165 + 10.166 + # Выбираем вершину v из candidates и добавляем ее в compsub 10.167 + v = candidates.pop() 10.168 + candidates.add(v) 10.169 + compsub.append(v) 10.170 + # Формируем new_candidates и new_used, удаляя из candidates и used вершины, НЕ соединенные с v 10.171 + # (то есть, оставляя только соединенные с v) 10.172 + new_candidates = set() 10.173 + for candidates1 in candidates: 10.174 + if self.bounded(candidates1, v) and candidates1 != v: 10.175 + new_candidates.add(candidates1) 10.176 + 10.177 + new_used = set() 10.178 + for used1 in used: 10.179 + if self.bounded(used1, v) and used1 != v: 10.180 + new_used.add(used1) 10.181 + 10.182 + # Удаляем v из candidates и помещаем в used 10.183 + list_candidates[depth].remove(v) 10.184 + list_used[depth].add(v) 10.185 + # ЕСЛИ new_candidates и new_used пусты 10.186 + if not new_candidates and not new_used: 10.187 + # compsub ? клика 10.188 + if len(compsub) >= minsize: 10.189 + cliques.append(frozenset(compsub)) 10.190 + else: 10.191 + # ИНАЧЕ рекурсивно вызываем bron_kerbosh(new_candidates, new_used) 10.192 + depth += 1 10.193 + 10.194 + # TIMEOUT check start 10.195 + if timeout != -1: 10.196 + if datetime.now() - start_time > timeout_timedelta: 10.197 + raise TimeoutError 10.198 + # TIMEOUT check end 10.199 + 10.200 + if depth >= len(list_candidates): 10.201 + list_candidates.append(set()) 10.202 + list_used.append(set()) 10.203 + 10.204 + list_candidates[depth] = copy(new_candidates) 10.205 + list_used[depth] = copy(new_used) 10.206 + 10.207 + continue 10.208 + 10.209 + # Удаляем v из compsub 10.210 + if compsub: 10.211 + compsub.pop() 10.212 + 10.213 + return cliques 10.214 + 10.215 + 10.216 + def fast_cliques(self, minsize=1): 10.217 + """ returns list of cliques 10.218 + 10.219 + clique is frozenset 10.220 + """ 10.221 + print 'Fast algorithm started' 10.222 + cliques = [] 10.223 + 10.224 + while True: 10.225 + graph = Graph(self.nodes, self.lines) 10.226 + for clique in cliques: 10.227 + graph.drop_nodes(clique) 10.228 + if not graph.nodes: 10.229 + break 10.230 + 10.231 + while True: 10.232 + # drop nodes, while its is possible 10.233 + if len(graph.nodes) == 1: 10.234 + break 10.235 + c = graph.count_all() 10.236 + min_count = min(c.values()) 10.237 + bad_nodes = [node for (node, count) in c.items() if count == min_count] 10.238 + if len(bad_nodes) == len(graph.nodes) and min_count != 0: 10.239 + break 10.240 + 10.241 + costs = dict([(node, graph.cost_one(node)) for node in bad_nodes]) 10.242 + min_cost = min(costs.values()) 10.243 + for node, cost in costs.items(): 10.244 + if cost == min_cost: 10.245 + graph.drop_node(node) 10.246 + break 10.247 + 10.248 + while True: 10.249 + # add nodes, while its is possible 10.250 + candidats = {} 10.251 + for node in self.nodes: 10.252 + c = len([i for i in graph.nodes if self.bounded(node, i)]) 10.253 + if c == len(self.nodes): 10.254 + graph1 = Graph(graph.nodes, graph.lines) 10.255 + graph1.add_node(node, self) 10.256 + candidats[node] = graph1.cost_one(node) 10.257 + if not candidats: 10.258 + break 10.259 + 10.260 + max_cost = max(candidats.values()) 10.261 + node = [node for (node, cost) in candidats.items() if cost == max_cost][0] 10.262 + graph.add_node(node, self) 10.263 + 10.264 + cliques.append(frozenset(graph.nodes)) 10.265 + 10.266 + return cliques 10.267 + 10.268 + 10.269 + def cliques(self, timeout=-1, minsize=1): 10.270 + """ returns length-sorted list of cliques 10.271 + 10.272 + clique is frozenset 10.273 + 10.274 + can change self! 10.275 + 10.276 + try to execute bron_kerbosh 10.277 + if it raises TimeoutError, executes fast_cliques 10.278 + """ 10.279 + 10.280 + self.drop_if_count(minsize) 10.281 + 10.282 + try: 10.283 + cliques = self.bron_kerbosh(timeout, minsize) 10.284 + cliques.sort(key=lambda clique: len(clique), reverse=True) 10.285 + except TimeoutError: 10.286 + cliques = self.fast_cliques(minsize) 10.287 + return cliques 10.288 + 10.289 +if __name__ == "__main__": 10.290 + import doctest 10.291 + doctest.testmod()
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/allpy/markup.py Thu Nov 18 19:38:05 2010 +0300 11.3 @@ -0,0 +1,13 @@ 11.4 +from alignment import Alignment 11.5 + 11.6 +""" 11.7 +Markup class: alignment + list of blocks 11.8 + 11.9 +Mandatory data: 11.10 + * blocks -- list of blocks 11.11 +""" 11.12 + 11.13 +class Markup(Alignment): 11.14 + def from_fasta(): 11.15 + 11.16 + def save_fasta():
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/allpy/monomer.py Thu Nov 18 19:38:05 2010 +0300 12.3 @@ -0,0 +1,105 @@ 12.4 +#!/usr/bin/python 12.5 + 12.6 +from allpy_data.AAdict import AAdict 12.7 +import Bio.PDB 12.8 + 12.9 +index_code3 = {} 12.10 +index_code1_protein = {} 12.11 +index_code1_nucleotide = {} 12.12 +index_name = {} 12.13 + 12.14 + 12.15 +class MonomerType(object): 12.16 + """ Monomer type 12.17 + 12.18 + name -- string like "Valine" 12.19 + code1 -- one-letter code (in upper case) 12.20 + code3 -- three-letter code (in upper case) 12.21 + is_modified -- True of False 12.22 + """ 12.23 + def __init__(self, name, code1, code3, is_modified=False): 12.24 + self.name = name.capitalize() 12.25 + self.code1 = code1.upper() 12.26 + self.code3 = code3.upper() 12.27 + self.is_modified = bool(is_modified) # ugly 12.28 + 12.29 + index_name[self.name] = self 12.30 + index_code3[self.code3] = self 12.31 + 12.32 + @staticmethod 12.33 + def from_code3(code3): 12.34 + return index_code3[code3.upper()] 12.35 + @staticmethod 12.36 + def from_name(name): 12.37 + return index_name[name.capitalize()] 12.38 + 12.39 + @staticmethod 12.40 + def from_pdb_residue(pdb_residue): 12.41 + return MonomerType.from_code3(pdb_residue.get_resname()) 12.42 + 12.43 + # TO DISCUSS 12.44 + def __eq__(self, other): 12.45 + return self.code1 == other.code1 12.46 + 12.47 + def __ne__(self, other): 12.48 + return not (self == other) 12.49 + 12.50 + 12.51 +class Monomer(object): 12.52 + """ Monomer 12.53 + 12.54 + type -- link to MonomerType object 12.55 + """ 12.56 + def __init__(self, monomer_type): 12.57 + self.type = monomer_type 12.58 + 12.59 + def __eq__(self, other): 12.60 + return self.type == other.type 12.61 + 12.62 + def __ne__(self, other): 12.63 + return not (self == other) 12.64 + 12.65 +class AminoAcidType(MonomerType): 12.66 + def __init__(self, name, code1, code3, is_modified=False): 12.67 + MonomerType.__init__(self, name, code1, code3, is_modified) 12.68 + if not is_modified: 12.69 + index_code1_protein[self.code1] = self 12.70 + 12.71 + @staticmethod 12.72 + def from_code1(code1): 12.73 + return index_code1_protein[code1.upper()] 12.74 + def instance(self): 12.75 + """ Returns new AminoAcid object of this type """ 12.76 + return AminoAcid(self) 12.77 + 12.78 +class DNAType(MonomerType): 12.79 + def __init__(self, name, code1, code3, is_modified=False): 12.80 + MonomerType.__init__(self, name, code1, code3, is_modified) 12.81 + if not is_modified: 12.82 + index_code1_nucleotide[self.code1] = self 12.83 + 12.84 + @staticmethod 12.85 + def from_code1(code1): 12.86 + return index_code1_nucleotide[code1.upper()] 12.87 + def instance(self): 12.88 + """ Returns new AminoAcid object of this type """ 12.89 + return DNA(self) 12.90 + 12.91 +class AminoAcid(Monomer): 12.92 + """ Amino acid """ 12.93 + pass 12.94 + 12.95 +class DNA(Monomer): 12.96 + """ Deoxyribonucleic acid """ 12.97 + pass 12.98 + 12.99 +# prepare all aminoacids 12.100 + 12.101 +for code3, data in AAdict.items(): 12.102 + code1, m_type, is_modified, none, name = data 12.103 + if m_type == 'p': 12.104 + AminoAcidType(name, code1, code3, is_modified) 12.105 + if m_type == 'd': 12.106 + DNAType(name, code1, code3, is_modified) 12.107 +del code3, data, code1, m_type, is_modified, none, name 12.108 +
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/allpy/sequence.py Thu Nov 18 19:38:05 2010 +0300 13.3 @@ -0,0 +1,214 @@ 13.4 +#!/usr/bin/python 13.5 +# -*- coding: utf-8 -*- 13.6 + 13.7 +from monomer import AminoAcidType 13.8 +from Bio.PDB import CaPPBuilder, PDBIO 13.9 +from Bio.PDB.DSSP import make_dssp_dict 13.10 +from allpy_pdb import std_id, pdb_id_parse, get_structure 13.11 +import alignment 13.12 +import sys 13.13 +import config 13.14 +import os.path 13.15 +import urllib2 13.16 +from tempfile import NamedTemporaryFile 13.17 +import os 13.18 + 13.19 + 13.20 +class Sequence(object): 13.21 + """ Sequence of Monomers 13.22 + 13.23 + Mandatory data: 13.24 + * name -- str with the name of sequence 13.25 + * description -- str with description of the sequence 13.26 + * monomers -- list of monomer objects (aminoacids or nucleotides) 13.27 + 13.28 + Optional (may be empty): 13.29 + * pdb_chains -- list of Bio.PDB.Chain's 13.30 + * pdb_files -- dictionary like {Bio.PDB.Chain: file_obj} 13.31 + 13.32 + * pdb_residues -- dictionary like {Bio.PDB.Chain: {Monomer: Bio.PDB.Residue}} 13.33 + * pdb_secstr -- dictionary like {Bio.PDB.Chain: {Monomer: 'Secondary structure'}} 13.34 + Code Secondary structure 13.35 + H alpha-helix 13.36 + B Isolated beta-bridge residue 13.37 + E Strand 13.38 + G 3-10 helix 13.39 + I pi-helix 13.40 + T Turn 13.41 + S Bend 13.42 + - Other 13.43 + 13.44 + 13.45 + ?TODO: global pdb_structures 13.46 + """ 13.47 + def __init__(self, monomers=None, name='', description=""): 13.48 + if not monomers: 13.49 + monomers = [] 13.50 + self.name = name 13.51 + self.description = description 13.52 + self.monomers = monomers 13.53 + self.pdb_chains = [] 13.54 + self.pdb_files = {} 13.55 + self.pdb_residues = {} 13.56 + self.pdb_secstr = {} 13.57 + 13.58 + def __len__(self): 13.59 + return len(self.monomers) 13.60 + 13.61 + def __str__(self): 13.62 + """ Returns sequence in one-letter code """ 13.63 + return ''.join([monomer.type.code1 for monomer in self.monomers]) 13.64 + 13.65 + def __eq__(self, other): 13.66 + """ Returns if all corresponding monomers of this sequences are equal 13.67 + 13.68 + If lengths of sequences are not equal, returns False 13.69 + """ 13.70 + return len(self) == len(other) and \ 13.71 + all([a==b for a, b in zip(self.monomers, other.monomers)]) 13.72 + 13.73 + def __ne__(self, other): 13.74 + return not (self == other) 13.75 + 13.76 + def pdb_chain_add(self, pdb_file, pdb_id, pdb_chain, pdb_model=0): 13.77 + """ Reads Pdb chain from file 13.78 + 13.79 + and align each Monomer with PDB.Residue (TODO) 13.80 + """ 13.81 + name = std_id(pdb_id, pdb_chain, pdb_model) 13.82 + structure = get_structure(pdb_file, name) 13.83 + chain = structure[pdb_model][pdb_chain] 13.84 + self.pdb_chains.append(chain) 13.85 + self.pdb_residues[chain] = {} 13.86 + self.pdb_secstr[chain] = {} 13.87 + pdb_sequence = Sequence.from_pdb_chain(chain) 13.88 + a = alignment.Alignment.from_sequences(self, pdb_sequence) 13.89 + a.muscle_align() 13.90 + for monomer, pdb_monomer in a.column(sequence=pdb_sequence, original=self): 13.91 + if pdb_sequence.pdb_has(chain, pdb_monomer): 13.92 + residue = pdb_sequence.pdb_residues[chain][pdb_monomer] 13.93 + self.pdb_residues[chain][monomer] = residue 13.94 + self.pdb_files[chain] = pdb_file 13.95 + 13.96 + def pdb_unload(self): 13.97 + """ Delete all pdb-connected links """ 13.98 + #~ gc.get_referrers(self.pdb_chains[0]) 13.99 + self.pdb_chains = [] 13.100 + self.pdb_residues = {} 13.101 + self.pdb_secstr = {} # FIXME 13.102 + self.pdb_files = {} # FIXME 13.103 + 13.104 + @staticmethod 13.105 + def from_str(fasta_str, name='', description='', monomer_kind=AminoAcidType): 13.106 + """ Import data from one-letter code 13.107 + 13.108 + monomer_kind is class, inherited from MonomerType 13.109 + """ 13.110 + monomers = [monomer_kind.from_code1(aa).instance() for aa in fasta_str] 13.111 + return Sequence(monomers, name, description) 13.112 + 13.113 + @staticmethod 13.114 + def from_pdb_chain(chain): 13.115 + """ Returns Sequence with Monomers with link to Bio.PDB.Residue 13.116 + 13.117 + chain is Bio.PDB.Chain 13.118 + """ 13.119 + cappbuilder = CaPPBuilder() 13.120 + peptides = cappbuilder.build_peptides(chain) 13.121 + sequence = Sequence() 13.122 + sequence.pdb_chains = [chain] 13.123 + sequence.pdb_residues[chain] = {} 13.124 + sequence.pdb_secstr[chain] = {} 13.125 + for peptide in peptides: 13.126 + for ca_atom in peptide.get_ca_list(): 13.127 + residue = ca_atom.get_parent() 13.128 + monomer = AminoAcidType.from_pdb_residue(residue).instance() 13.129 + sequence.pdb_residues[chain][monomer] = residue 13.130 + sequence.monomers.append(monomer) 13.131 + return sequence 13.132 + 13.133 + def pdb_auto_add(self, conformity_info=None, pdb_directory='./tmp'): 13.134 + """ Adds pdb information to each monomer 13.135 + 13.136 + Returns if information has been successfully added 13.137 + TODO: conformity_file 13.138 + 13.139 + id-format lava flow 13.140 + """ 13.141 + if not conformity_info: 13.142 + path = os.path.join(pdb_directory, self.name) 13.143 + if os.path.exists(path) and os.path.getsize(path): 13.144 + match = pdb_id_parse(self.name) 13.145 + self.pdb_chain_add(open(path), match['code'], 13.146 + match['chain'], match['model']) 13.147 + else: 13.148 + match = pdb_id_parse(self.name) 13.149 + if match: 13.150 + code = match['code'] 13.151 + pdb_filename = config.pdb_dir % code 13.152 + if not os.path.exists(pdb_filename) or not os.path.getsize(pdb_filename): 13.153 + url = config.pdb_url % code 13.154 + print "Download %s" % url 13.155 + pdb_file = open(pdb_filename, 'w') 13.156 + data = urllib2.urlopen(url).read() 13.157 + pdb_file.write(data) 13.158 + pdb_file.close() 13.159 + print "Save %s" % pdb_filename 13.160 + pdb_file = open(pdb_filename) 13.161 + self.pdb_chain_add(pdb_file, code, match['chain'], match['model']) 13.162 + 13.163 + def pdb_save(self, out_filename, pdb_chain): 13.164 + """ Saves pdb_chain to out_file """ 13.165 + class GlySelect(Select): 13.166 + def accept_chain(self, chain): 13.167 + if chain == pdb_chain: 13.168 + return 1 13.169 + else: 13.170 + return 0 13.171 + io = PDBIO() 13.172 + structure = chain.get_parent() 13.173 + io.set_structure(structure) 13.174 + io.save(out_filename, GlySelect()) 13.175 + 13.176 + 13.177 + def pdb_add_sec_str(self, pdb_chain): 13.178 + """ Add secondary structure data """ 13.179 + tmp_file = NamedTemporaryFile(delete=False) 13.180 + tmp_file.close() 13.181 + pdb_file = self.pdb_files[pdb_chain].name 13.182 + os.system("dsspcmbi %(pdb)s %(tmp)s" % {'pdb': pdb_file, 'tmp': tmp_file.name}) 13.183 + dssp, keys = make_dssp_dict(tmp_file.name) 13.184 + for monomer in self.monomers: 13.185 + if self.pdb_has(pdb_chain, monomer): 13.186 + residue = self.pdb_residues[pdb_chain][monomer] 13.187 + try: 13.188 + d = dssp[(pdb_chain.get_id(), residue.get_id())] 13.189 + self.pdb_secstr[pdb_chain][monomer] = d[1] 13.190 + except: 13.191 + print "No dssp information about %s at %s" % (monomer, pdb_chain) 13.192 + os.unlink(tmp_file.name) 13.193 + 13.194 + def pdb_has(self, chain, monomer): 13.195 + return chain in self.pdb_residues and monomer in self.pdb_residues[chain] 13.196 + 13.197 + def secstr_has(self, chain, monomer): 13.198 + return chain in self.pdb_secstr and monomer in self.pdb_secstr[chain] 13.199 + 13.200 + @staticmethod 13.201 + def file_slice(file, n_from, n_to, fasta_name='', name='', description='', monomer_kind=AminoAcidType): 13.202 + """ Build and return sequence, consisting of part of sequence from file 13.203 + 13.204 + Does not control gaps 13.205 + """ 13.206 + inside = False 13.207 + number_used = 0 13.208 + s = '' 13.209 + for line in file: 13.210 + line = line.split() 13.211 + if not inside: 13.212 + if line.startswith('>%s' % fasta_name): 13.213 + inside = True 13.214 + else: 13.215 + n = len(line) 13.216 + s += line[(n_from - number_user):(n_to - number_user)] 13.217 + return Sequence.from_str(s, name, description, monomer_kind)
14.1 --- a/geometrical_core/geometrical_core.py Thu Nov 18 00:01:07 2010 +0300 14.2 +++ b/geometrical_core/geometrical_core.py Thu Nov 18 19:38:05 2010 +0300 14.3 @@ -3,7 +3,7 @@ 14.4 version 2.0 14.5 """ 14.6 14.7 -from allpy.lib import config, alignment, block 14.8 +from allpy import config, alignment, block 14.9 Block = block.Block 14.10 Alignment = alignment.Alignment 14.11 import argparse
15.1 --- a/lib/alignment.py Thu Nov 18 00:01:07 2010 +0300 15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 15.3 @@ -1,240 +0,0 @@ 15.4 -#!/usr/bin/python 15.5 - 15.6 -""" 15.7 - "I will not use abbrev." 15.8 - "I will always finish what I st" 15.9 - - Bart Simpson 15.10 - 15.11 -""" 15.12 - 15.13 -import sequence 15.14 -from monomer import AminoAcidType 15.15 -import allpy_data 15.16 -from tempfile import NamedTemporaryFile 15.17 -import os 15.18 -import block 15.19 -from fasta import save_fasta 15.20 - 15.21 -class Alignment(object): 15.22 - """ Alignment 15.23 - 15.24 - Mandatory data: 15.25 - * body -- dict 15.26 - {<Sequence object>:[<Monomer object>,None,<Monomer object>]} 15.27 - keys are the Sequence objects, values are the lists, which 15.28 - contain monomers of those sequences or None for gaps in the 15.29 - corresponding sequence of 15.30 - alignment 15.31 - 15.32 - """ 15.33 - # _sequences -- list of Sequence objects. Sequences don't contain gaps 15.34 - # - see sequence.py module 15.35 - 15.36 - def __init__(self, *args): 15.37 - """overloaded constructor 15.38 - 15.39 - Alignment() -> new empty Alignment 15.40 - Alignment(sequences, body) -> new Alignment with sequences and 15.41 - body initialized from arguments 15.42 - Alignment(fasta_file) -> new Alignment, read body and sequences 15.43 - from fasta file 15.44 - 15.45 - """ 15.46 - if len(args)>1:#overloaded constructor 15.47 - self.sequences=args[0] 15.48 - self.body=args[1] 15.49 - elif len(args)==0: 15.50 - self.sequences=[] 15.51 - self.body={} 15.52 - else: 15.53 - self.sequences, self.body = Alignment.from_fasta(args[0]) 15.54 - 15.55 - def length(self): 15.56 - """ Returns width, ie length of each sequence with gaps """ 15.57 - return max([len(line) for line in self.body.values()]) 15.58 - 15.59 - def height(self): 15.60 - """ The number of sequences in alignment (it's thickness). """ 15.61 - return len(self.body) 15.62 - 15.63 - def identity(self): 15.64 - """ Calculate the identity of alignment positions for colouring. 15.65 - 15.66 - For every (row, column) in alignment the percentage of the exactly 15.67 - same residue in the same column in the alignment is calculated. 15.68 - The data structure is just like the Alignment.body, but istead of 15.69 - monomers it contains float percentages. 15.70 - """ 15.71 - # Oh, God, that's awful! Absolutely not understandable. 15.72 - # First, calculate percentages of amino acids in every column 15.73 - contribution = 1.0 / len(self.sequences) 15.74 - all_columns = [] 15.75 - for position in range(len(self)): 15.76 - column_percentage = {} 15.77 - for seq in self.body: 15.78 - if self.body[seq][position] is not None: 15.79 - aa = self.body[seq][position].code 15.80 - else: 15.81 - aa = None 15.82 - if aa in allpy_data.amino_acids: 15.83 - if aa in column_percentage.keys(): 15.84 - column_percentage[aa] += contribution 15.85 - else: 15.86 - column_percentage[aa] = contribution 15.87 - all_columns.append(column_percentage) 15.88 - # Second, map these percentages onto the alignment 15.89 - self.identity_percentages = {} 15.90 - for seq in self.sequences: 15.91 - self.identity_percentages[seq] = [] 15.92 - for seq in self.identity_percentages: 15.93 - line = self.identity_percentages[seq] 15.94 - for position in range(len(self)): 15.95 - if self.body[seq][position] is not None: 15.96 - aa = self.body[seq][position].code 15.97 - else: 15.98 - aa = None 15.99 - line.append(all_columns[position].get(aa)) 15.100 - return self.identity_percentages 15.101 - 15.102 - @staticmethod 15.103 - def from_fasta(file, monomer_kind=AminoAcidType): 15.104 - """ Import data from fasta file 15.105 - 15.106 - monomer_kind is class, inherited from MonomerType 15.107 - 15.108 - >>> import alignment 15.109 - >>> sequences,body=alignment.Alignment.from_fasta(open("test.fasta")) 15.110 - """ 15.111 - import re 15.112 - 15.113 - sequences = [] 15.114 - body = {} 15.115 - 15.116 - raw_sequences = file.read().split(">") 15.117 - if len(raw_sequences) <= 1: 15.118 - raise Exception("Wrong format of fasta-file %s" % file.name) 15.119 - 15.120 - raw_sequences = raw_sequences[1:] #ignore everything before the first > 15.121 - for raw in raw_sequences: 15.122 - parsed_raw_sequence = raw.split("\n") 15.123 - parsed_raw_sequence = [s.strip() for s in parsed_raw_sequence] 15.124 - name_and_description = parsed_raw_sequence[0] 15.125 - name_and_description = name_and_description.split(" ",1) 15.126 - if len(name_and_description) == 2: 15.127 - name, description = name_and_description 15.128 - elif len(name_and_description) == 1: 15.129 - #if there is description 15.130 - name = name_and_description[0] 15.131 - description = '' 15.132 - else: 15.133 - raise Exception("Wrong name of sequence %(name)$ fasta-file %(file)s" % \ 15.134 - {'name': name, 'file': file.name}) 15.135 - 15.136 - if len(parsed_raw_sequence) <= 1: 15.137 - raise Exception("Wrong format of sequence %(name)$ fasta-file %(file)s" % \ 15.138 - {'name': name, 'file': file.name}) 15.139 - string = "" 15.140 - for piece in parsed_raw_sequence[1:]: 15.141 - piece_without_whitespace_chars = re.sub("\s", "", piece) 15.142 - string += piece_without_whitespace_chars 15.143 - monomers = [] #convert into Monomer objects 15.144 - body_list = [] #create the respective list in body dict 15.145 - for current_monomer in string: 15.146 - if current_monomer not in ["-", ".", "~"]: 15.147 - monomers.append(monomer_kind.from_code1(current_monomer).instance()) 15.148 - body_list.append(monomers[-1]) 15.149 - else: 15.150 - body_list.append(None) 15.151 - s = sequence.Sequence(monomers, name, description) 15.152 - sequences.append(s) 15.153 - body[s] = body_list 15.154 - return sequences, body 15.155 - 15.156 - 15.157 - @staticmethod 15.158 - def from_sequences(*sequences): 15.159 - """ Constructs new alignment from sequences 15.160 - 15.161 - Add None's to right end to make equal lengthes of alignment sequences 15.162 - """ 15.163 - alignment = Alignment() 15.164 - alignment.sequences = sequences 15.165 - max_length = max(len(sequence) for sequence in sequences) 15.166 - for sequence in sequences: 15.167 - gaps_count = max_length - len(sequence) 15.168 - alignment.body[sequence] = sequence.monomers + [None] * gaps_count 15.169 - return alignment 15.170 - 15.171 - def save_fasta(self, out_file, long_line=70, gap='-'): 15.172 - """ Saves alignment to given file 15.173 - 15.174 - Splits long lines to substrings of length=long_line 15.175 - To prevent this, set long_line=None 15.176 - """ 15.177 - block.Block(self).save_fasta(out_file, long_line=long_line, gap=gap) 15.178 - 15.179 - def muscle_align(self): 15.180 - """ Simple align ths alignment using sequences (muscle) 15.181 - 15.182 - uses old Monomers and Sequences objects 15.183 - """ 15.184 - tmp_file = NamedTemporaryFile(delete=False) 15.185 - self.save_fasta(tmp_file) 15.186 - tmp_file.close() 15.187 - os.system("muscle -in %(tmp)s -out %(tmp)s" % {'tmp': tmp_file.name}) 15.188 - sequences, body = Alignment.from_fasta(open(tmp_file.name)) 15.189 - for sequence in self.sequences: 15.190 - try: 15.191 - new_sequence = [i for i in sequences if sequence==i][0] 15.192 - except: 15.193 - raise Exception("Align: Cann't find sequence %s in muscle output" % \ 15.194 - sequence.name) 15.195 - old_monomers = iter(sequence.monomers) 15.196 - self.body[sequence] = [] 15.197 - for monomer in body[new_sequence]: 15.198 - if not monomer: 15.199 - self.body[sequence].append(monomer) 15.200 - else: 15.201 - old_monomer = old_monomers.next() 15.202 - if monomer != old_monomer: 15.203 - raise Exception("Align: alignment errors") 15.204 - self.body[sequence].append(old_monomer) 15.205 - os.unlink(tmp_file.name) 15.206 - 15.207 - 15.208 - def column(self, sequence=None, sequences=None, original=None): 15.209 - """ returns list of columns of alignment 15.210 - 15.211 - sequence or sequences: 15.212 - if sequence is given, then column is (original_monomer, monomer) 15.213 - if sequences is given, then column is (original_monomer, {sequence: monomer}) 15.214 - if both of them are given, it is an error 15.215 - original (Sequence type): 15.216 - if given, this filters only columns represented by original sequence 15.217 - """ 15.218 - if sequence and sequences: 15.219 - raise Exception("Wrong usage. read help") 15.220 - indexes = dict([(v, k) for( k, v) in enumerate(self.sequences)]) 15.221 - alignment = self.body.items() 15.222 - alignment.sort(key=lambda i: indexes[i[0]]) 15.223 - alignment = [monomers for seq, monomers in alignment] 15.224 - for column in zip(*alignment): 15.225 - if not original or column[indexes[original]]: 15.226 - if sequence: 15.227 - yield (column[indexes[original]], column[indexes[sequence]]) 15.228 - else: 15.229 - yield (column[indexes[original]], 15.230 - dict([(s, column[indexes[s]]) for s in sequences])) 15.231 - 15.232 - 15.233 - def secstr(self, sequence, pdb_chain, gap='-'): 15.234 - """ Returns string representing secondary structure """ 15.235 - return ''.join([ 15.236 - (sequence.pdb_secstr[pdb_chain][m] if sequence.secstr_has(pdb_chain, m) else gap) 15.237 - for m in self.body[sequence]]) 15.238 - 15.239 - def save_secstr(self, out_file, sequence, pdb_chain, 15.240 - name, description='', gap='-', long_line=70): 15.241 - """ Save secondary structure and name in fasta format """ 15.242 - save_fasta(out_file, self.secstr(sequence, pdb_chain, gap), name, description, long_line) 15.243 -
16.1 --- a/lib/allpy_data/AAdict.py Thu Nov 18 00:01:07 2010 +0300 16.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 16.3 @@ -1,1200 +0,0 @@ 16.4 - 16.5 -""" 16.6 -Dict: 16.7 - key: 3-letter code from PDB 16.8 - value: (1-letter code, type, is_modified, None) 16.9 - type: 16.10 - p - protein 16.11 - d - dna 16.12 - r - rna 16.13 - is_modified: "M" or None 16.14 - None 16.15 - name 16.16 -""" 16.17 - 16.18 -AAdict = { 16.19 -"CPI": ('x', 'p', None, None, '6-CARBOXYPIPERIDINE'), 16.20 -"AGM": ('r', 'p', 'M', None, '5-METHYL-ARGININE'), 16.21 -"G25": ('g', 'r', 'M', None, '"GUANOSINE-5\'-MONOPHOSPHATE"'), 16.22 -"CPN": ('c', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-CYTOSINE'), 16.23 -"MA6": ('a', 'r', 'M', None, '"6N-DIMETHYLADENOSINE-5\'-MONOPHOSHATE"'), 16.24 -"NYS": ('c', 'p', 'M', None, 'S-{5-[(1R)-2-AMINO-1-HYDROXYETHYL]-2,3-DIHYDROXYPHENYL}-L-CYSTEINE'), 16.25 -"CPC": ('x', 'p', None, None, '"2-METHYL-1-METHYLAMINO-CYCLOPROPANE'), 16.26 -"8FG": ('g', 'd', 'M', None, '"N-(5\'-PHOSPHO-2\'-DEOXYGUANOSIN-8-YL)-2-ACETYLAMINOFLUORENE"'), 16.27 -"SIC": ('x', 'p', None, None, '"(2R)-2-[(3S)-3-AMINO-2,5-DIOXOPYRROLIDIN-1-YL]-3-SULFANYLPROPANOIC'), 16.28 -"PQ1": ('n', 'r', None, None, '"PHOSPHORIC'), 16.29 -"PAS": ('d', 'p', 'M', None, '"2-AMINO-4-OXO-4-PHOSPHONOOXY-BUTYRIC'), 16.30 -"EOV": ('x', 'p', None, None, '(3S,6S,9S,12R,15S,18S,21S,24S,30S,33S)-30-ethyl-33-[(1R,2R,4E)-1-hydroxy-2-methylhex-4-en-1-yl]-1,4,7,10,12,15,19,25,28-nonamethyl-3,21-bis(1-methylethyl)-6,9,18,24-tetrakis(2-methylpropyl)-1,4,7,10,13,16,19,22,25,28,31-undecaazacyclotritriacontane-2,5,8,11,14,17,20,23,26,29,32-undecone'), 16.31 -"B2I": ('i', 'p', 'M', None, '"ISOLEUCINE'), 16.32 -"NYM": ('n', 'd', None, None, "3'-DEOXY-3'-AMINOTHYMIDINE MONOPHOSPHATE"), 16.33 -"URD": ('u', 'r', 'M', None, '1-((2R,3R,4S,5R)-TETRAHYDRO-3,4-DIHYDROXY-5-(HYDROXYMETHYL)FURAN-2-YL)PYRIDINE-2,4(1H,3H)-DIONE'), 16.34 -"NYC": ('x', 'p', None, None, '"[(4E)-2-[(1R,2S)-1-AMINO-2-HYDROXYPROPYL]-4-(1H-INDOL-3-YLMETHYLENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.35 -"AGT": ('x', 'p', None, None, 'S-{(S)-AMINO[(4-AMINOBUTYL)AMINO]METHYL}-L-CYSTEINE'), 16.36 -"NYG": ('x', 'p', None, None, '"[(4Z)-2-[(1S)-1,3-DIAMINO-3-OXOPROPYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.37 -"CPV": ('x', 'p', None, None, '"5-AMINO-6-CYCLOHEXYL-4-HYDROXY-2-ISOPROPYL-HEXANOIC'), 16.38 -"TAV": ('d', 'p', 'M', None, '"N-METHYL-N-{2-[(2-NAPHTHYLSULFONYL)AMINO]-5-[(2-NAPHTHYLSULFONYL)OXY]BENZOYL}-L-ASPARTIC'), 16.39 -"S4G": ('g', 'd', 'M', None, "2'-deoxy-4'-thioguanosine 5'-(dihydrogen phosphate)"), 16.40 -"MA7": ('a', 'd', 'M', None, '"1N-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 16.41 -"S4C": ('c', 'r', 'M', None, '"4\'-THIO-4\'-DEOXY-CYTOSINE-5\'-MONOPHOSPHATE"'), 16.42 -"UAR": ('u', 'r', 'M', None, "URACIL ARABINOSE-5'-PHOSPHATE"), 16.43 -"SPT": ('t', 'd', 'M', None, "5'-THIO-THYMIDINE PHOSPHONIC ACID"), 16.44 -"S4U": ('u', 'r', 'M', None, '"4-THIOURIDINE-5\'-PHOSPHATE"'), 16.45 -"TAF": ('t', 'd', 'M', None, "2'-DEOXY-2'-FLUORO-ARABINO-FURANOSYL THYMINE-5'-PHOSPHATE"), 16.46 -"5NC": ('c', 'd', 'M', None, '"5-AZA-CYTIDINE-5\'MONOPHOSPHATE"'), 16.47 -"CSF": ('c', 'r', 'M', None, "CYTIDINE-5'-MONOPHOSPHATE-3-FLUORO-N-ACETYL-NEURAMINIC ACID"), 16.48 -"0CS": ('a', 'p', 'M', None, '3-[(S)-HYDROPEROXYSULFINYL]-L-ALANINE'), 16.49 -"B2V": ('v', 'p', 'M', None, '"VALINE'), 16.50 -"TAL": ('n', 'r', None, None, '9-(6-DEOXY-ALPHA-L-TALOFURANOSYL)-6-METHYLPURINE'), 16.51 -"SCY": ('c', 'p', 'M', None, 'S-ACETYL-CYSTEINE'), 16.52 -"KYQ": ('k', 'p', 'M', None, '(E)-N~6~-(1-CARBOXY-2-HYDROXYETHYLIDENE)-L-LYSINE'), 16.53 -"CS8": ('n', 'r', None, None, '"3-THIAOCTANOYL-COENZYME'), 16.54 -"TA4": ('x', 'p', None, None, '"(S)-2-[4-(AMINOMETHYL)-1H-1,2,3-TRIAZOL-1-YL]-4-METHYLPENTANOIC'), 16.55 -"ALN": ('a', 'p', 'M', None, 'NAPHTHALEN-2-YL-3-ALANINE'), 16.56 -"GS": ('g', 'd', 'M', None, '"GUANOSINE-5\'-THIO-MONOPHOSPHATE"'), 16.57 -"2FE": ('n', 'd', None, None, '"2\'-FLUORO-2\'-DEOXY-1,N6-ETHENOADENINE"'), 16.58 -"VAL": ('V', 'p', None, None, 'VALINE'), 16.59 -"7DA": ('a', 'd', 'M', None, '"7-DEAZA-2\'-DEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 16.60 -"XPC": ('x', 'p', None, None, '"(3S,4R)-4-AMINOPYRROLIDINE-3-CARBOXYLIC'), 16.61 -"VAF": ('v', 'p', 'M', None, 'METHYLVALINE'), 16.62 -"VAD": ('v', 'p', 'M', None, 'DEAMINOHYDROXYVALINE'), 16.63 -"BGM": ('g', 'd', 'M', None, '"8-BROMO-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.64 -"P": ('g', 'd', 'M', None, "2'-DEOXY-N1,N2-PROPANO GUANOSINE MONOPHOSPHATE"), 16.65 -"LHU": ('u', 'r', 'M', None, '"L-URIDINE-5\'-MONOPHOSPHATE"'), 16.66 -"T48": ('t', 'd', 'M', None, "6'-ALPHA-HYDROXY CARBOCYCLIC THYMIDINE 5'-MONOPHOSPHATE"), 16.67 -"2GT": ('t', 'd', 'M', None, "2'-O-PROPARGYL THYMIDINE-5'-MONOPHOSPHATE"), 16.68 -"HMF": ('a', 'p', 'M', None, '"2-AMINO-4-PHENYL-BUTYRIC'), 16.69 -"BNN": ('a', 'p', 'M', None, 'ACETYL-P-AMIDINOPHENYLALANINE'), 16.70 -"AHB": ('n', 'p', 'M', None, 'BETA-HYDROXYASPARAGINE'), 16.71 -"NPH": ('c', 'p', 'M', None, 'CYSTEINE-METHYLENE-CARBAMOYL-1,10-PHENANTHROLINE'), 16.72 -"SIB": ('c', 'p', 'M', None, '"(2S)-2-AMINO-4-({[(2S,3S,4R,5R)-3,4-DIHYDROXY-5-(6-OXO-1,6-DIHYDRO-9H-PURIN-9-YL)TETRAHYDROFURAN-2-YL]METHYL}THIO)BUTANOIC'), 16.73 -"SNN": ('n', 'p', 'M', None, 'L-3-AMINOSUCCINIMIDE'), 16.74 -"AHH": ('x', 'p', None, None, '"AMINO-HYDROXYHEPTANOIC'), 16.75 -"JW5": ('n', 'r', None, None, "6-(HYDROXYMETHYL)URIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.76 -"PBB": ('c', 'p', 'M', None, 'S-(4-BROMOBENZYL)CYSTEINE'), 16.77 -"PTR": ('y', 'p', 'M', None, 'O-PHOSPHOTYROSINE'), 16.78 -"MAA": ('a', 'p', 'M', None, 'N-METHYLALANINE'), 16.79 -"AHS": ('x', 'p', None, None, '"(3-AMINO-4-CYCLOHEXYL-2-HYDROXY-BUTYL)-ISOBUTYL-CARBAMIC'), 16.80 -"AHP": ('a', 'p', 'M', None, '"2-AMINO-HEPTANOIC'), 16.81 -"MAD": ('a', 'r', 'M', None, '"6-HYDRO-1-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 16.82 -"AHT": ('x', 'p', None, None, '4-(2,5-DIAMINO-5-HYDROXY-PENTYL)-PHENOL'), 16.83 -"XYG": ('x', 'p', None, None, '"[(4Z)-2-[(1Z)-ETHANIMIDOYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.84 -"MAI": ('r', 'p', 'M', None, 'DEOXO-METHYLARGININE'), 16.85 -"CP1": ('c', 'd', 'M', None, '2-(METHYLAMINO)-ETHYLGLYCINE-CARBONYLMETHYLENE-CYTOSINE'), 16.86 -"G2L": ('g', 'r', 'M', None, '"3\'-O-METHYOXYETHYL-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.87 -"FFD": ('n', 'd', None, None, '(1R)-1,4-ANHYDRO-2-DEOXY-1-(3-FLUOROPHENYL)-5-O-PHOSPHONO-D-ERYTHRO-PENTITOL'), 16.88 -"CML": ('c', 'p', 'M', None, '"(2S)-2-{[(2R)-2-AMINO-2-CARBOXYETHYL]SULFANYL}BUTANEDIOIC'), 16.89 -"CMH": ('c', 'p', 'M', None, 'S-(METHYLMERCURY)-L-CYSTEINE'), 16.90 -"ZDU": ('n', 'd', None, None, '"5-(3-AMINOPROPYL)-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.91 -"PCS": ('f', 'p', 'M', None, 'PHENYLALANYLMETHYLCHLORIDE'), 16.92 -"CME": ('c', 'p', 'M', None, 'S,S-(2-HYDROXYETHYL)THIOCYSTEINE'), 16.93 -"CSO": ('c', 'p', 'M', None, 'S-HYDROXYCYSTEINE'), 16.94 -"193": ('x', 'p', None, None, '"(2S)-4-(BETA-ALANYLAMINO)-2-AMINOBUTANOIC'), 16.95 -"1TY": ('y', 'p', 'M', None, '3-{(3E)-4-HYDROXY-6-OXO-3-[(2-PHENYLETHYL)IMINO]CYCLOHEXA-1,4-DIEN-1-YL}ALANINE'), 16.96 -"CB2": ('c', 'd', 'M', None, '"PHOSPHORIC'), 16.97 -"CS3": ('c', 'p', 'M', None, 'S-[3-OXO-3-(2-THIENYL)PROPYL]-L-CYSTEINE'), 16.98 -"64T": ('t', 'd', 'M', None, '"5-HYDROXY-THYMIDINE-5\'-MONOPHOSPHATE"'), 16.99 -"4AC": ('n', 'r', None, None, '"N(4)-ACETYLCYTIDINE-5\'-MONOPHOSPHATE"'), 16.100 -"B3X": ('n', 'p', 'M', None, '"(3S)-3,5-DIAMINO-5-OXOPENTANOIC'), 16.101 -"TST": ('x', 'p', None, None, '"4-METHYL-2-{[4-(TOLUENE-4-SULFONYL)-THIOMORPHOLINE-3-CARBONYL]-AMINO}-PENTANOIC'), 16.102 -"CMT": ('c', 'p', 'M', None, 'O-METHYLCYSTEINE'), 16.103 -"CMR": ('c', 'd', 'M', None, '"2\'-DEOXY-CYTIDINE-5\'-RP-MONOMETHYLPHOSPHONATE"'), 16.104 -"CSH": ('x', 'p', None, None, '"[2-(2-HYDROXY-1-METHYL-ETHYL)-4-(1H-IMIDAZOL-4-YLMETHYL)-5-OXO-IMIDAZOLIDIN-1-YL]-ACETIC'), 16.105 -"VLM": ('x', 'p', None, None, 'VALINYLAMINE'), 16.106 -"G": ('G', 'r', None, None, '"GUANOSINE-5\'-MONOPHOSPHATE"'), 16.107 -"C4S": ('c', 'd', 'M', None, "2'-deoxy-4'-thiocytidine 5'-(dihydrogen phosphate)"), 16.108 -"U2L": ('u', 'r', 'M', None, "5-METHYL-3'-O-METHOXYETHYL URIDINE-5'-MONOPHOSPHATE"), 16.109 -"LSO": ('x', 'p', None, None, '(Z)-N~6~-(3-CARBOXY-1-{[(4-CARBOXY-2-OXOBUTYL)SULFONYL]METHYL}PROPYLIDENE)-L-LYSINE'), 16.110 -"U2N": ('n', 'd', None, None, "2'-AMINO-2'-DEOXYURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.111 -"PLE": ('l', 'p', 'M', None, '"LEUCINE'), 16.112 -"SIN": ('x', 'p', None, None, '"SUCCINIC'), 16.113 -"M2L": ('k', 'p', 'M', None, '"(2R)-2-AMINO-3-(2-DIMETHYLAMINOETHYLSULFANYL)PROPANOIC'), 16.114 -"I58": ('k', 'p', 'M', None, '4R-FLUORO-N6-ETHANIMIDOYL-L-LYSINE'), 16.115 -"U2P": ('u', 'r', 'M', None, '"PHOSPHORIC'), 16.116 -"B2A": ('a', 'p', 'M', None, '"ALANINE'), 16.117 -"TTM": ('t', 'd', 'M', None, '"N3-ETHYL-THYMIDINE-5\'-MONOPHOSPHATE"'), 16.118 -"CSD": ('c', 'p', 'M', None, '3-SULFINOALANINE'), 16.119 -"M2G": ('g', 'r', 'M', None, '"N2-DIMETHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 16.120 -"ASX": ('x', 'p', None, None, '"ASP/ASN'), 16.121 -"AFF": ('n', 'd', None, None, '2-ACETYLAMINOFLUORENE-3-YL'), 16.122 -"TTD": ('t', 'd', 'M', None, '"CIS-SYN'), 16.123 -"AET": ('a', 'r', 'M', None, '"N-[N-(9-B-D-RIBOFURANOSYLPURIN-6-YL)METHYLCARBAMOYL]THREONINE-5\'-MONOPHOSPHATE"'), 16.124 -"C45": ('c', 'd', 'M', None, '"N4-METHOXY-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.125 -"C46": ('c', 'd', 'M', None, '"6H,8H-3,4-DIHYDROPYRIMIDO[4,5-C][1,2]OXAZIN-7-0NE(CYTIDINE)-5\'-MONOPHOSPHATE"'), 16.126 -"FTR": ('w', 'p', 'M', None, 'FLUOROTRYPTOPHANE'), 16.127 -"BLY": ('k', 'p', 'M', None, '"LYSINE'), 16.128 -"C42": ('c', 'd', 'M', None, '"3\'-AMINO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.129 -"C2S": ('c', 'd', 'M', None, '"CYTIDINE-5\'-DITHIOPHOSPHORATE"'), 16.130 -"FTY": ('y', 'p', 'M', None, 'DEOXY-DIFLUOROMETHELENE-PHOSPHOTYROSINE'), 16.131 -"CSA": ('c', 'p', 'M', None, 'S-ACETONYLCYSTEINE'), 16.132 -"I5C": ('c', 'd', 'M', None, '"5-IODO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.133 -"ALY": ('k', 'p', 'M', None, 'N(6)-ACETYLLYSINE'), 16.134 -"P1L": ('c', 'p', 'M', None, 'S-PALMITOYL-L-CYSTEINE'), 16.135 -"C49": ('c', 'd', 'M', None, '"4-THIO,5-FLUORO,5-METHYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.136 -"DSP": ('d', 'p', 'M', None, '"D-ASPARTIC'), 16.137 -"AFA": ('n', 'p', 'M', None, 'N-[7-METHYL-OCT-2,4-DIENOYL]ASPARAGINE'), 16.138 -"P1P": ('n', 'r', None, None, '3-{[OXIDO(OXO)PHOSPHINO]OXY}PROPAN-1-OLATE'), 16.139 -"U25": ('u', 'r', 'M', None, '"URIDINE-5\'-MONOPHOSPHATE"'), 16.140 -"CHS": ('x', 'p', None, None, '"4-AMINO-5-CYCLOHEXYL-3-HYDROXY-PENTANOIC'), 16.141 -"BLE": ('l', 'p', 'M', None, '"LEUCINE'), 16.142 -"DSG": ('n', 'p', 'M', None, 'D-ASPARAGINE'), 16.143 -"DSE": ('s', 'p', 'M', None, 'N-METHYL-D-SERINE'), 16.144 -"S4A": ('a', 'd', 'M', None, "2'-deoxy-4'-thioadenosine 5'-(dihydrogen phosphate)"), 16.145 -"DLS": ('k', 'p', 'M', None, 'DI-ACETYL-LYSINE'), 16.146 -"4SU": ('u', 'r', 'M', None, '"4-THIOURIDINE-5\'-MONOPHOSPHATE"'), 16.147 -"MA": ('a', 'p', 'M', None, '"METHYL'), 16.148 -"TRX": ('w', 'p', 'M', None, '6-HYDROXYTRYPTOPHAN'), 16.149 -"DC": ('C', 'd', None, None, '"2\'-DEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 16.150 -"HLU": ('l', 'p', 'M', None, 'BETA-HYDROXYLEUCINE'), 16.151 -"HSE": ('s', 'p', 'M', None, 'L-HOMOSERINE'), 16.152 -"A5M": ('c', 'r', 'M', None, '"2\'-AMINE-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.153 -"ALS": ('a', 'p', 'M', None, '"2-AMINO-3-OXO-4-SULFO-BUTYRIC'), 16.154 -"CBR": ('c', 'd', 'M', None, '"5-BROMO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.155 -"SHC": ('c', 'p', 'M', None, 'S-HEXYLCYSTEINE'), 16.156 -"B2F": ('f', 'p', 'M', None, '"PHENYLALANINE'), 16.157 -"QUO": ('g', 'r', 'M', None, '"2-AMINO-7-DEAZA-(2\'\',3\'\'-DIHYDROXY-CYCLOPENTYLAMINO)-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.158 -"X4A": ('n', 'd', None, None, '"[(2R,3S,5S)-2,3,5-TRIHYDROXYTETRAHYDROFURAN-2-YL]METHYL'), 16.159 -"BE2": ('x', 'p', None, None, '"2-AMINOBENZOIC'), 16.160 -"CM0": ('n', 'r', None, None, "5-(CARBOXYMETHOXY) URIDINE-5'-MONOPHOSPHATE"), 16.161 -"GLH": ('q', 'p', 'M', None, 'N-5-CYCLOHEXYL-N-5-[(CYCLOHEXYLAMINO)CARBONYL]GLUTAMINE'), 16.162 -"DOH": ('d', 'p', 'M', None, '"BETA-HYDROXY'), 16.163 -"DON": ('l', 'p', 'M', None, '6-DIAZENYL-5-OXO-L-NORLEUCINE'), 16.164 -"GLM": ('x', 'p', None, None, '1-AMINO-PROPAN-2-ONE'), 16.165 -"GLN": ('Q', 'p', None, None, 'GLUTAMINE'), 16.166 -"T4S": ('t', 'd', 'M', None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-4-HYDROSELENO-5-METHYLPYRIMIDIN-2(1H)-ONE'), 16.167 -"DOC": ('c', 'd', 'M', None, '"2\',3\'-DIDEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 16.168 -"T3P": ('t', 'd', 'M', None, '"THYMIDINE-3\'-PHOSPHATE"'), 16.169 -"DOA": ('x', 'p', None, None, '"12-AMINO-DODECANOIC'), 16.170 -"TOX": ('w', 'p', 'M', None, '2-AMINO-3-(1-HYDROPEROXY-1H-INDOL-3-YL)PROPAN-1-OL'), 16.171 -"SMP": ('a', 'd', 'M', None, '"2\'-DEOXY-ADENOSINE-5\'-SP-MONOMETHYLPHOSPHONATE"'), 16.172 -"GLX": ('x', 'p', None, None, '"GLU/GLN'), 16.173 -"GLY": ('G', 'p', None, None, 'GLYCINE'), 16.174 -"GLZ": ('g', 'p', 'M', None, 'AMINO-ACETALDEHYDE'), 16.175 -"CTG": ('t', 'd', 'M', None, '"(5R,6S)-5,6-DIHYDRO-5,6-DIHYDROXYTHYMIDINE-5\'-MONOPHOSPHATE"'), 16.176 -"T38": ('n', 'r', None, None, "2'-O-ETHOXYMETHYLENE THYMIDINE 5'-MONOPHOSPHATE"), 16.177 -"AKL": ('d', 'p', 'M', None, '"3-AMINO-5-CHLORO-4-OXOPENTANOIC'), 16.178 -"T36": ('t', 'd', 'M', None, "SPLIT LINKAGE THYMIDINE 5'-MONOPHOSPHATE"), 16.179 -"T37": ('t', 'd', 'M', None, "3'-AMINO-2'DEOXYTHYMIDINE 5'-MONOPHOSPHATE"), 16.180 -"4TA": ('n', 'r', None, None, '"P1-(5\'-ADENOSYL)P4-(5\'-(2\'-DEOXY-THYMIDYL))TETRAPHOSPHATE"'), 16.181 -"CTH": ('t', 'p', 'M', None, '4-CHLOROTHREONINE'), 16.182 -"GLU": ('E', 'p', None, None, '"GLUTAMIC'), 16.183 -"RCY": ('c', 'p', 'M', None, '"S-[(3S,3\'R)-1\'-HYDROXY-2\',2\',5\',5\'-TETRAMETHYL-2,5-DIOXO-1,3\'-BIPYRROLIDIN-3-YL]-L-CYSTEINE"'), 16.184 -"MDH": ('x', 'p', None, None, 'N-METHYLDEHYDROBUTYRINE'), 16.185 -"MDO": ('x', 'p', None, None, '"{2-[(1S)-1-AMINOETHYL]-5-HYDROXY-4-METHYL-1H-IMIDAZOL-1-YL}ACETIC'), 16.186 -"8OG": ('g', 'd', 'M', None, '"8-OXO-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.187 -"HCS": ('x', 'p', None, None, '"2-AMINO-4-MERCAPTO-BUTYRIC'), 16.188 -"UD5": ('u', 'r', 'M', None, '5-FLUOROURIDINE'), 16.189 -"O2C": ('n', 'd', None, None, '"3\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.190 -"5FU": ('u', 'r', 'M', None, '"5-FLUORO-URIDINE-5\'-MONOPHOSPHATE"'), 16.191 -"SDG": ('g', 'd', 'M', None, '2-AMINO-9-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-9H-PURINE-6-SELENOL'), 16.192 -"MDR": ('n', 'd', None, None, '9-(2-DEOXY-BETA-D-RIBOFURANOSYL)-6-METHYLPURINE'), 16.193 -"BSE": ('s', 'p', 'M', None, 'BETA-3-SERINE'), 16.194 -"4IN": ('x', 'p', None, None, '4-AMINO-L-TRYPTOPHAN'), 16.195 -"FCL": ('f', 'p', 'M', None, '3-CHLORO-L-PHENYLALANINE'), 16.196 -"1SC": ('c', 'r', 'M', None, '"5\'-O-THIOPHOSPHONOCYTIDINE"'), 16.197 -"R7A": ('c', 'p', 'M', None, '3-S-[(4-BROMO-2,2,5,5-TETRAMETHYL-1-OXO-2,5-DIHYDRO-1H-PYRROL-3-YL)METHYL]SULFANYL-L-CYSTEINE'), 16.198 -"6IA": ('a', 'r', 'M', None, '"N6-ISOPENTENYL-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.199 -"XTS": ('g', 'r', 'M', None, '9-[(2R,3R,4S,5R)-3,4-DIHYDROXY-5-(HYDROXYMETHYL)OXOLAN-2-YL]-3H-PURINE-2,6-DIONE'), 16.200 -"DFT": ('n', 'd', None, None, '"1-[2-DEOXYRIBOFURANOSYL]-2,4-DIFLUORO-5-METHYL-BENZENE-5\'MONOPHOSPHATE"'), 16.201 -"FMU": ('n', 'r', None, None, '"5-FLUORO-5-METHYLURIDINE-5\'-MONOPHOSPHATE"'), 16.202 -"XTY": ('n', 'd', None, None, '(1R)-1,4-ANHYDRO-2-DEOXY-1-(6-METHYL-2,4-DIOXO-1,2,3,4-TETRAHYDROQUINAZOLIN-8-YL)-5-O-PHOSPHONO-D-ERYTHRO-PENTITOL'), 16.203 -"MVA": ('v', 'p', 'M', None, 'N-METHYLVALINE'), 16.204 -"LTA": ('x', 'p', None, None, '"4,8-DIAMINO-3-HYDROXY-OCTANOIC'), 16.205 -"01W": ('x', 'p', None, None, '(2S)-2-AMMONIO-4-[(2,4-DINITROPHENYL)AMINO]BUTANOATE'), 16.206 -"DFI": ('x', 'p', None, None, '2,2-DIFLUOROSTATINE'), 16.207 -"YG": ('g', 'r', 'M', None, 'WYBUTOSINE'), 16.208 -"FMG": ('g', 'd', 'M', None, '2-AMINO-9-(2-DEOXY-2-FLUORO-5-O-PHOSPHONO-BETA-D-ARABINOFURANOSYL)-7-METHYL-6-OXO-6,9-DIHYDRO-1H-PURIN-7-IUM'), 16.209 -"DFG": ('g', 'd', 'M', None, "2'-DEOXY-L-RIBO-FURANOSYL GUANINE-5'-MONOPHOSPHATE"), 16.210 -"XTL": ('t', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(THYMIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 16.211 -"DFC": ('c', 'd', 'M', None, "2'-DEOXY-L-RIBO-FURANOSYL CYTOSINE-5'-MONOPHOSPHATE"), 16.212 -"XTH": ('t', 'd', 'M', None, '1-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)-5-METHYLPYRIMIDINE-2,4(1H,3H)-DIONE'), 16.213 -"NTY": ('y', 'p', 'M', None, '"BETA'), 16.214 -"EDC": ('g', 'd', 'M', None, '"N3,N4-ETHENO-2\'-DEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 16.215 -"T49": ('t', 'd', 'M', None, "S4'-2'DEOXYTHYMIDINE 5'-MONOPHOSPHATE"), 16.216 -"EDA": ('a', 'd', 'M', None, '"3-[2-DEOXY-RIBOFURANOSYL]-3H-1,3,4,5A,8-PENTAAZA-AS-INDACENE-5\'-MONOPHOSPHATE"'), 16.217 -"O12": ('x', 'p', None, None, 'N~5~-DODECANOYL-L-ORNITHINE'), 16.218 -"MMT": ('t', 'd', 'M', None, '"5\'-O-(DIMETHYLAMINO)-THYMIDINE"'), 16.219 -"T41": ('n', 'r', None, None, "1-(2-O-METHYL-BETA-D-ARABINOFURANOSYL)THYMIDINE 5'-MONOPHOSPHATE"), 16.220 -"LMS": ('n', 'r', None, None, '"[(2R,3S,4R,5R)-5-(6-AMINO-9H-PURIN-9-YL)-3,4-DIHYDROXYTETRAHYDRO-2-FURANYL]METHYL'), 16.221 -"0AP": ('c', 'd', 'M', None, "2'-deoxycytidine 3',5'-bis(dihydrogen phosphate)"), 16.222 -"ORQ": ('r', 'p', 'M', None, 'N~5~-ACETYL-L-ORNITHINE'), 16.223 -"ORN": ('a', 'p', 'M', None, 'ORNITHINE'), 16.224 -"ALM": ('a', 'p', 'M', None, '1-METHYL-ALANINAL'), 16.225 -"VB1": ('k', 'p', 'M', None, 'N^6^-[(1R)-2-{[(1S)-1-CARBOXYPROPYL]AMINO}-2-OXO-1-(SULFANYLMETHYL)ETHYL]-6-OXO-L-LYSINE'), 16.226 -"PUY": ('n', 'r', None, None, 'PUROMYCIN'), 16.227 -"SBD": ('s', 'p', 'M', None, '"D-NAPHTHYL-1-ACETAMIDO'), 16.228 -"LPS": ('s', 'p', 'M', None, 'O-{HYDROXY[((2R)-2-HYDROXY-3-{[(1S)-1-HYDROXYPENTADECYL]OXY}PROPYL)OXY]PHOSPHORYL}-L-SERINE'), 16.229 -"SC": ('c', 'd', 'M', None, '"2-DEOXY-CYTIDINE-5\'-THIOPHOSPHORATE"'), 16.230 -"ALT": ('a', 'p', 'M', None, 'THIOALANINE'), 16.231 -"GL3": ('g', 'p', 'M', None, 'THIOGLYCIN'), 16.232 -"LME": ('e', 'p', 'M', None, '"(3R)-3-METHYL-L-GLUTAMIC'), 16.233 -"SBL": ('s', 'p', 'M', None, '"L-NAPHTHYL-1-ACETAMIDO'), 16.234 -"ALQ": ('x', 'p', None, None, '"2-METHYL-PROPIONIC'), 16.235 -"CAB": ('a', 'p', 'M', None, '4-CARBOXY-4-AMINOBUTANAL'), 16.236 -"GPL": ('k', 'p', 'M', None, "LYSINE GUANOSINE-5'-MONOPHOSPHATE"), 16.237 -"CAY": ('c', 'p', 'M', None, 'CARBOXYMETHYLENECYSTEINE'), 16.238 -"DPR": ('p', 'p', 'M', None, 'D-PROLINE'), 16.239 -"DPQ": ('y', 'p', 'M', None, '"(S)-2-AMINO-3-(4-HYDROXY-3-OXOCYCLOHEXA-1,4-DIENYL)PROPANOIC'), 16.240 -"DPP": ('a', 'p', 'M', None, '"DIAMMINOPROPANOIC'), 16.241 -"CAS": ('c', 'p', 'M', None, 'S-(DIMETHYLARSENIC)CYSTEINE'), 16.242 -"NC1": ('s', 'p', 'M', None, '"NITROCEFIN'), 16.243 -"IYR": ('y', 'p', 'M', None, '3-IODO-TYROSINE'), 16.244 -"CAV": ('x', 'p', None, None, '"5-AMINO-6-CYCLOHEXYL-3,4-DIHYDROXY-2-ISOPROPYL-HEXANOIC'), 16.245 -"DPY": ('n', 'd', None, None, "2-DEOXYRIBOFURANOSYL-PYRIDINE-2,6-DICARBOXYLIC ACID-5'-MONOPHOSPHATE"), 16.246 -"5AA": ('a', 'd', 'M', None, '"N6-DIMETHYL-3\'-AMINO-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.247 -"DPB": ('t', 'd', 'M', None, '"(S)-1-[2\'-DEOXY-3\',5\'-O-(1-PHOSPHONO)BENZYLIDENE-B-D-THREO-PENTOFURANOSYL]THYMINE"'), 16.248 -"CAL": ('x', 'p', None, None, '"5-AMINO-6-CYCLOHEXYL-4-HYDROXY-2-ISOBUTYL-HEXANOIC'), 16.249 -"DPN": ('f', 'p', 'M', None, 'D-PHENYLALANINE'), 16.250 -"BAL": ('a', 'p', 'M', None, 'BETA-ALANINE'), 16.251 -"DPL": ('p', 'p', 'M', None, '4-OXOPROLINE'), 16.252 -"CAF": ('c', 'p', 'M', None, 'S-DIMETHYLARSINOYL-CYSTEINE'), 16.253 -"DPH": ('f', 'p', 'M', None, 'DEAMINO-METHYL-PHENYLALANINE'), 16.254 -"HIP": ('h', 'p', 'M', None, 'ND1-PHOSPHONOHISTIDINE'), 16.255 -"LG": ('g', 'r', 'M', None, '"L-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.256 -"LA2": ('k', 'p', 'M', None, 'N~6~-[(6R)-6,8-DISULFANYLOCTANOYL]-L-LYSINE'), 16.257 -"KOR": ('m', 'p', 'M', None, 'L-HOMOCYSTEINE-S-N-S-L-CYSTEINE'), 16.258 -"LC": ('c', 'r', 'M', None, '"L-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.259 -"D4M": ('t', 'd', 'M', None, '"[(5R)-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)-2,5-DIHYDROFURAN-2-YL]METHYL'), 16.260 -"5MD": ('n', 'd', None, None, '"5-METHYL-2\'-DEOXYPSEUDOURIDINE"'), 16.261 -"PGN": ('g', 'd', 'M', None, '"2\'-DEOXYGUANOSINE-3\',5\'-DIPHOSPHATE"'), 16.262 -"NHL": ('e', 'p', 'M', None, '"(4S)-4-(2-NAPHTHYLMETHYL)-D-GLUTAMIC'), 16.263 -"PGL": ('x', 'p', None, None, '"AMINOMETHYLENEPHOSPHINIC'), 16.264 -"TA3": ('t', 'd', 'M', None, '(4S,5R)-3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-METHYL-1,3-DIAZABICYCLO[2.2.0]HEXAN-2-ONE'), 16.265 -"XCP": ('x', 'p', None, None, '"(1S,2S)-2-AMINOCYCLOPENTANECARBOXYLIC'), 16.266 -"DYS": ('c', 'p', 'M', None, 'S-[5-(2-AMINOETHYL)-2,3-DIHYDROXYPHENYL]-L-CYSTEINE'), 16.267 -"HIA": ('h', 'p', 'M', None, '"L-HISTIDINE'), 16.268 -"HIC": ('h', 'p', 'M', None, '4-METHYL-HISTIDINE'), 16.269 -"PGP": ('g', 'r', 'M', None, '"GUANOSINE-3\',5\'-DIPHOSPHATE"'), 16.270 -"AB7": ('x', 'p', None, None, '"ALPHA-AMINOBUTYRIC'), 16.271 -"IIL": ('i', 'p', 'M', None, 'ISO-ISOLEUCINE'), 16.272 -"DYG": ('x', 'p', None, None, '"(3S)-3-AMINO-3-[(4Z)-1-(CARBOXYMETHYL)-4-[(4-HYDROXYPHENYL)METHYLIDENE]-5-OXO-IMIDAZOL-2-YL]PROPANOIC'), 16.273 -"PGY": ('g', 'p', 'M', None, 'PHENYLGLYCINE'), 16.274 -"A": ('A', 'r', None, None, '"ADENOSINE-5\'-MONOPHOSPHATE"'), 16.275 -"23F": ('f', 'p', 'M', None, '"(2Z)-2-AMINO-3-PHENYLACRYLIC'), 16.276 -"143": ('c', 'p', 'M', None, 'S-2,3-DIHYDRO-5-GLYCIN-2-YL-ISOXAZOL-3-YL-CYSTEINE'), 16.277 -"HIQ": ('h', 'p', 'M', None, '1-[1,2-DIHYDROXY-1-(HYDROXYMETHYL)ETHYL]-L-HISTIDINE'), 16.278 -"THR": ('T', 'p', None, None, 'THREONINE'), 16.279 -"PG7": ('g', 'd', 'M', None, '"((2R,3R,5R)-5-(2-AMINO-6-HYDROXY-9H-PURIN-9-YL)-3-HYDROXY-TETRAHYDROFURAN-2-YL)METHYL'), 16.280 -"ABR": ('a', 'd', 'M', None, '"(R)-(N-PHENYL-2-HYDROXY-ETHYL)-2\'-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.281 -"HIS": ('H', 'p', None, None, 'HISTIDINE'), 16.282 -"ABT": ('n', 'd', None, None, "3'-AZIDO-3'-DEOXY-THYMIDINE-5'-ALPHA BORANO TRIPHOSPHATE"), 16.283 -"PG1": ('s', 'p', 'M', None, '"PENICILLIN'), 16.284 -"2LU": ('l', 'p', 'M', None, '"2-AMINO-4-METHYL-PENTANYL'), 16.285 -"NZH": ('h', 'p', 'M', None, '(2S)-2-AMINO-3-[1-(1H-TETRAAZOL-5-YL)-1H-IMIDAZOL-4-YL]PROPANAL'), 16.286 -"P5P": ('a', 'r', 'M', None, "PURINE RIBOSIDE-5'-MONOPHOSPHATE"), 16.287 -"STY": ('y', 'p', 'M', None, '"TYROSINE-O-SULPHONIC'), 16.288 -"PG9": ('g', 'p', 'M', None, 'D-PHENYLGLYCINE'), 16.289 -"NCX": ('n', 'd', None, None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-NITRO-1H-INDOLE-3-CARBOXAMIDE'), 16.290 -"NCY": ('x', 'p', None, None, 'N-METHYLCYSTEINE'), 16.291 -"CFL": ('c', 'd', 'M', None, '4-AMINO-1-(2-DEOXY-2-FLUORO-5-O-PHOSPHONO-BETA-D-ARABINOFURANOSYL)PYRIMIDIN-2(1H)-ONE'), 16.292 -"3MD": ('d', 'p', 'M', None, '"2S,3S-3-METHYLASPARTIC'), 16.293 -"1AP": ('a', 'd', 'M', None, '"2,6-DIAMINOPURINE'), 16.294 -"TFE": ('t', 'd', 'M', None, "2'-O-[2-(TRIFLUORO)ETHYL] THYMIDINE-5'-MONOPHOSPHATE"), 16.295 -"D3T": ('t', 'd', 'M', None, '"2\',3\'-DIDEOXY-THYMIDINE-5\'-TRIPHOSPHATE"'), 16.296 -"TFA": ('x', 'p', None, None, '"TRIFLUOROACETYL'), 16.297 -"BHD": ('d', 'p', 'M', None, '"BETA-HYDROXYASPARTIC'), 16.298 -"ONL": ('x', 'p', None, None, '5-OXO-L-NORLEUCINE'), 16.299 -"CFY": ('x', 'p', None, None, '"[(2S)-2-{(2R)-2-[(1S)-1-AMINO-2-PHENYLETHYL]-2-HYDROXY-2,5-DIHYDRO-1,3-THIAZOL-4-YL}-4-(4-HYDROXYBENZYL)-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.300 -"QLG": ('x', 'p', None, None, '"[(4Z)-2-[(1Z)-4-AMINO-4-OXOBUTANIMIDOYL]-4-(2-METHYLPROPYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.301 -"NCB": ('a', 'p', 'M', None, 'N-CARBAMOYL-ALANINE'), 16.302 -"TFQ": ('f', 'p', 'M', None, '4-(2,2,2-TRIFLUOROETHYL)-L-PHENYLALANINE'), 16.303 -"XXY": ('x', 'p', None, None, '2-[(1R,2R)-1-AMINO-2-HYDROXYPROPYL]-1-(CARBOXYMETHYL)-4-(1H-IMIDAZOL-5-YLMETHYL)-1H-IMIDAZOL-5-OLATE'), 16.304 -"23S": ('x', 'p', None, None, '"(S)-2-AMINO-3-(6H-SELENOLO[2,3-B]-PYRROL-4-YL)-PROPIONIC'), 16.305 -"0AU": ('n', 'd', None, None, "5-iodouridine 5'-(dihydrogen phosphate)"), 16.306 -"GHP": ('g', 'p', 'M', None, '4-HYDROXYPHENYLGLYCINE'), 16.307 -"MIA": ('a', 'r', 'M', None, '"2-METHYLTHIO-N6-ISOPENTENYL-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.308 -"AP7": ('a', 'd', 'M', None, "N1-PROTONATED ADENOSINE-5'-MONOPHOSPHATE"), 16.309 -"OAD": ('n', 'r', None, None, "2'-O-ACETYL ADENOSINE-5-DIPHOSPHORIBOSE"), 16.310 -"UDP": ('n', 'r', None, None, '"URIDINE-5\'-DIPHOSPHATE"'), 16.311 -"GHG": ('q', 'p', 'M', None, 'GAMMA-HYDROXY-GLUTAMINE'), 16.312 -"ZFB": ('x', 'p', None, None, '(3R)-3-{[(BENZYLOXY)CARBONYL]AMINO}-2-OXO-4-PHENYLBUTANE-1-DIAZONIUM'), 16.313 -"C38": ('c', 'd', 'M', None, '"5-IODO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.314 -"HAQ": ('x', 'p', None, None, '"5-AMINO-4-OXO-1,2,4,5,6,7-HEXAHYDRO-AZEPINO[3,2,1-HI]INDOLE-2-CARBOXYLIC'), 16.315 -"C34": ('c', 'd', 'M', None, '"N4-METHYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.316 -"C37": ('c', 'd', 'M', None, '"5-FLUORO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.317 -"ONE": ('u', 'r', 'M', None, '"1-(BETA-D-RIBOFURANOSYL)-PYRIDIN-4-ONE-5\'-PHOSPHATE"'), 16.318 -"C31": ('c', 'r', 'M', None, "2'-O-3-AMINOPROPYL CYTIDINE-5'-MONOPHOSPHATE"), 16.319 -"HAR": ('r', 'p', 'M', None, 'N-OMEGA-HYDROXY-L-ARGININE'), 16.320 -"TY2": ('y', 'p', 'M', None, '3-AMINO-L-TYROSINE'), 16.321 -"TY3": ('y', 'p', 'M', None, '3-HYDROXY-L-TYROSINE'), 16.322 -"RT": ('n', 'r', None, None, '"RIBOSYLTHYMINE-5\'-MONOPHOSPHATE"'), 16.323 -"4PE": ('c', 'd', 'M', None, '3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-6-METHYL-3H-PYRROLO[2,3-D]PYRIMIDIN-2-OL'), 16.324 -"4PD": ('c', 'd', 'M', None, '3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-6-METHYL-1,3-DIHYDRO-2H-PYRROLO[2,3-D]PYRIMIDIN-2-ONE'), 16.325 -"4PC": ('c', 'd', 'M', None, '"3-(2\'-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-6-METHYL-3,7-DIHYDRO-2H-PYRROLO[2,3-D]PYRIMIDIN-2-ONE"'), 16.326 -"SAC": ('s', 'p', 'M', None, 'N-ACETYL-SERINE'), 16.327 -"PRO": ('P', 'p', None, None, 'PROLINE'), 16.328 -"PRN": ('a', 'd', 'M', None, "PURINE 2'-DEOXYRIBO-5'-MONOPHOSPHATE"), 16.329 -"6CL": ('k', 'p', 'M', None, '6-CARBOXYLYSINE'), 16.330 -"4PH": ('f', 'p', 'M', None, '4-METHYL-L-PHENYLALANINE'), 16.331 -"FGL": ('g', 'p', 'M', None, '"2-AMINOPROPANEDIOIC'), 16.332 -"6CT": ('t', 'd', 'M', None, '"PHOSPHORIC'), 16.333 -"IAS": ('d', 'p', 'M', None, '"BETA-ASPARTYL'), 16.334 -"PRS": ('p', 'p', 'M', None, 'THIOPROLINE'), 16.335 -"UR3": ('u', 'r', 'M', None, '"3-METHYLURIDINE-5\'-MONOPHOSHATE"'), 16.336 -"SAR": ('g', 'p', 'M', None, 'SARCOSINE'), 16.337 -"TCY": ('a', 'd', 'M', None, '"(2R,3AS,4AR,5AR,5BS)-2-(6-AMINO-9H-PURIN-9-YL)-3A-HYDROXYHEXAHYDROCYCLOPROPA[4,5]CYCLOPENTA[1,2-B]FURAN-5A(4H)-YL'), 16.338 -"4F3": ('x', 'p', None, None, '"[2-(1-AMINO-2-HYDROXY-PROPYL)-4-(4-FLUORO-1H-INDOL-3-YLMETHYL)-5-HYDROXY-IMIDAZOL-1-YL]-ACETIC'), 16.339 -"TPG": ('g', 'r', 'M', None, '"2,2,7-TRIMETHYL-GUANOSINE-5\'-TRIPHOSPHATE-5\'-GUANOSINE"'), 16.340 -"LAL": ('a', 'p', 'M', None, 'N,N-DIMETHYL-L-ALANINE'), 16.341 -"TPC": ('c', 'd', 'M', None, "5'-THIO-2'-DEOXY-CYTOSINE PHOSPHONIC ACID"), 16.342 -"PPU": ('a', 'r', 'M', None, '"PUROMYCIN-5\'-MONOPHOSPHATE"'), 16.343 -"CHF": ('x', 'p', None, None, 'CYCLOHEXYLFLUOROSTATONE'), 16.344 -"BFD": ('d', 'p', 'M', None, '"ASPARTATE'), 16.345 -"TPO": ('t', 'p', 'M', None, 'PHOSPHOTHREONINE'), 16.346 -"H5M": ('p', 'p', 'M', None, 'TRANS-3-HYDROXY-5-METHYLPROLINE'), 16.347 -"AYG": ('x', 'p', None, None, '"[(4E)-2-[(1S)-1-AMINOETHYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.348 -"TPL": ('w', 'p', 'M', None, 'TRYPTOPHANOL'), 16.349 -"AYA": ('a', 'p', 'M', None, 'N-ACETYLALANINE'), 16.350 -"6MC": ('a', 'r', 'M', None, '"CIS-N6-METHYL-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.351 -"6MA": ('a', 'r', 'M', None, '"N6-METHYL-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.352 -"GSR": ('g', 'd', 'M', None, "2'-DEOXY-N2-(R)STYRENE OXIDE GUANOSINE MONOPHOSPHATE"), 16.353 -"EYS": ('x', 'p', None, None, 'S-SELANYLCYSTEINAL'), 16.354 -"LPL": ('x', 'p', None, None, 'LEU-HYDROXYETHYLENE-LEU'), 16.355 -"6MZ": ('n', 'r', None, None, '"N6-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 16.356 -"PR3": ('c', 'p', 'M', None, 'S,S-PROPYLTHIOCYSTEINE'), 16.357 -"2ST": ('t', 'd', 'M', None, "5-METHYL-2'-SE-METHYL-2'-SELENOURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.358 -"0NC": ('a', 'p', 'M', None, 'N-METHYL-L-ALANINAMIDE'), 16.359 -"MRG": ('g', 'd', 'M', None, '"N2-(3-MERCAPTOPROPYL)-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.360 -"KYN": ('a', 'p', 'M', None, 'KYNURENINE'), 16.361 -"G2S": ('g', 'd', 'M', None, '"GUANOSINE-5\'-DITHIOPHOSPHORATE"'), 16.362 -"PYX": ('c', 'p', 'M', None, 'S-[S-THIOPYRIDOXAMINYL]CYSTEINE'), 16.363 -"PYY": ('n', 'r', None, None, '"D-RIBOFURANOSYL-BENZENE-5\'-MONOPHOSPHATE"'), 16.364 -"TYN": ('y', 'p', 'M', None, 'AMINOBENZOFURAZAN-O-TYROSINE'), 16.365 -"TYO": ('y', 'p', 'M', None, '"(4Z,6E)-2-AMINO-7-HYDROPEROXY-4-[(E)-2-HYDROXYVINYL]HEPTA-4,6-DIENOIC'), 16.366 -"KAG": ('g', 'r', 'M', None, "2'-DEOXY-N-[(1S)-1-METHYL-3-OXOPROPYL]GUANOSINE 5'-PHOSPHATE"), 16.367 -"IPG": ('g', 'p', 'M', None, '"N-ISOPROPYL'), 16.368 -"GH3": ('g', 'r', 'M', None, '"3\'-DEOXY-GUANOSINE-5\'-TRIPHOSPHATE"'), 16.369 -"APP": ('x', 'p', None, None, '1-ACETYL-2-CARBOXYPIPERIDINE'), 16.370 -"IPN": ('n', 'd', None, None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-5-IODOURACIL'), 16.371 -"TYB": ('y', 'p', 'M', None, 'TYROSINAL'), 16.372 -"FAG": ('n', 'd', None, None, "[1',2'-DIDEOXY[2-AMINO-5-([9-HYDROXY-AFLATOXINB2-8-YL]-FORMYL-AMINO)-6-OXO-1,6-IHYDRO-PYRIMIDIN-4-YLAMINO]-RIBOFURANOSE]-5-MONOPHOSPHATE GROUP"), 16.373 -"DBY": ('y', 'p', 'M', None, '"3,5'), 16.374 -"APK": ('k', 'p', 'M', None, '"5\'-O-[(S)-{[(5S)-5-AMINO-6-OXOHEXYL]AMINO}(HYDROXY)PHOSPHORYL]ADENOSINE"'), 16.375 -"APH": ('a', 'p', 'M', None, 'P-AMIDINOPHENYL-3-ALANINE'), 16.376 -"API": ('k', 'p', 'M', None, '"2,6-DIAMINOPIMELIC'), 16.377 -"TYX": ('x', 'p', None, None, 'S-(2-ANILINO-2-OXOETHYL)-L-CYSTEINE'), 16.378 -"APO": ('x', 'p', None, None, '"D-2-AMINO-3-PHOSPHONO-PROPIONIC'), 16.379 -"APM": ('x', 'p', None, None, 'M-AMIDINOPHENYL-3-ALANINE'), 16.380 -"TYT": ('y', 'p', 'M', None, '"TYROSINE'), 16.381 -"TYU": ('n', 'r', None, None, 'TETRAHYDROURIDINE'), 16.382 -"DBS": ('s', 'p', 'M', None, '"2-(2,3-DIHYDROXY-BENZOYLAMINO)-3-HYDROXY-PROPIONIC'), 16.383 -"DBU": ('a', 'p', 'M', None, '"(2E)-2-AMINOBUT-2-ENOIC'), 16.384 -"TYQ": ('y', 'p', 'M', None, '3-AMINO-6-HYDROXY-TYROSINE'), 16.385 -"TYR": ('Y', 'p', None, None, 'TYROSINE'), 16.386 -"APE": ('x', 'p', None, None, '"(1-AMINO-2-PHENYL-ETHYL)-CARBAMIC'), 16.387 -"BT5": ('n', 'r', None, None, 'BIOTINYL-5-AMP'), 16.388 -"KST": ('k', 'p', 'M', None, 'N~6~-(5-CARBOXY-3-THIENYL)-L-LYSINE'), 16.389 -"2AD": ('x', 'p', None, None, '"2\'-AMINO-2\'-DEOXYADENOSINE"'), 16.390 -"ARG": ('R', 'p', None, None, 'ARGININE'), 16.391 -"HDP": ('n', 'd', None, None, '"[(1S,6S)-6-HYDROXY-4-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 16.392 -"CZ2": ('c', 'p', 'M', None, 'S-(DIHYDROXYARSINO)CYSTEINE'), 16.393 -"2AO": ('x', 'p', None, None, '(2S)-2-AMINOHEXAN-1-OL'), 16.394 -"G33": ('g', 'd', 'M', None, "8-METHYL-2'-DEOXYGUANOSINE 3'-MONOPHOSPHATE"), 16.395 -"AHO": ('a', 'p', 'M', None, 'N-ACETYL-N-HYDROXY-L-ORNITHINE'), 16.396 -"P2U": ('n', 'd', None, None, '"2\'-DEOXY-PSEUDOURIDINE-5\'MONOPHOSPHATE"'), 16.397 -"P2T": ('t', 'd', 'M', None, "2'-O-PROPYL THYMIDINE-5-MONOPHOSPHATE"), 16.398 -"MG1": ('g', 'd', 'M', None, "2'-DEOXY-1-METHYLGUANOSINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.399 -"G32": ('g', 'd', 'M', None, '"O6-METHYL-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.400 -"2AR": ('a', 'd', 'M', None, '"2\'-DEOXYARISTEROMYCIN-5\'-PHOSPHATE"'), 16.401 -"2AS": ('x', 'p', None, None, '"(2S,3S)-3-AMINO-2-METHYL-4-OXOBUTANOIC'), 16.402 -"G46": ('g', 'r', 'M', None, '"2\'-DEOXY-GUANOSINE-5\'-MONOTHIOPHOSPHATE"'), 16.403 -"G47": ('g', 'd', 'M', None, '"N2-ETHANETHIOL-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.404 -"G48": ('g', 'r', 'M', None, '"2\'-O-METHYOXYETHYL-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.405 -"G49": ('g', 'd', 'M', None, '"N2-METHYL-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.406 -"OCS": ('c', 'p', 'M', None, '"CYSTEINESULFONIC'), 16.407 -"P2Y": ('p', 'p', 'M', None, '(2S)-PYRROLIDIN-2-YLMETHYLAMINE'), 16.408 -"PHA": ('f', 'p', 'M', None, 'PHENYLALANINAL'), 16.409 -"NLQ": ('q', 'p', 'M', None, 'N~2~-ACETYL-L-GLUTAMINE'), 16.410 -"NLP": ('l', 'p', 'M', None, '"(1-AMINO-PENTYL)-PHOSPHONIC'), 16.411 -"MLL": ('l', 'p', 'M', None, '"METHYL'), 16.412 -"CEA": ('c', 'p', 'M', None, 'S-HYDROXY-CYSTEINE'), 16.413 -"HV5": ('a', 'p', 'M', None, 'TERT-BUTYLALANINE'), 16.414 -"HMR": ('r', 'p', 'M', None, 'BETA-HOMOARGININE'), 16.415 -"HRG": ('r', 'p', 'M', None, 'L-HOMOARGININE'), 16.416 -"CSP": ('c', 'p', 'M', None, 'S-PHOSPHOCYSTEINE'), 16.417 -"FA2": ('a', 'd', 'M', None, '"5-(6-AMINO-9H-PURIN-9-YL)-4-HYDROXYTETRAHYDROFURAN-3-YL'), 16.418 -"BMP": ('n', 'r', None, None, '"6-HYDROXYURIDINE-5\'-PHOSPHATE"'), 16.419 -"NLE": ('l', 'p', 'M', None, 'NORLEUCINE'), 16.420 -"RTP": ('n', 'r', None, None, '"RIBAVIRIN'), 16.421 -"BMT": ('t', 'p', 'M', None, '4-METHYL-4-[(E)-2-BUTENYL]-4,N-METHYL-THREONINE'), 16.422 -"G38": ('g', 'd', 'M', None, '"3\'-AMINO-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.423 -"CS4": ('c', 'p', 'M', None, 'S-[3-(3,4-DICHLOROPHENYL)-3-OXOPROPYL]-L-CYSTEINE'), 16.424 -"2FI": ('n', 'd', None, None, '"2\'-FLUORO-2\'-DEOXYINOSINE"'), 16.425 -"TTS": ('y', 'p', 'M', None, '3-((3E)-4-HYDROXY-3-{[2-(4-HYDROXYPHENYL)ETHYL]IMINO}-6-OXOCYCLOHEXA-1,4-DIEN-1-YL)ALANINE'), 16.426 -"CS1": ('c', 'p', 'M', None, 'S-(2-ANILINYL-SULFANYL)-CYSTEINE'), 16.427 -"CS0": ('c', 'p', 'M', None, 'S-(2-HYDROXYETHYL)-L-CYSTEINE'), 16.428 -"NLO": ('l', 'p', 'M', None, 'O-METHYL-L-NORLEUCINE'), 16.429 -"NLN": ('l', 'p', 'M', None, '"NORLEUCINE'), 16.430 -"SHP": ('g', 'p', 'M', None, '(4-HYDROXYMALTOSEPHENYL)GLYCINE'), 16.431 -"CSL": ('c', 'd', 'M', None, '"(D)-2\'-METHYLSELENYL-2\'-DEOXYCYTIDINE-5\'-PHOSPHATE"'), 16.432 -"SHR": ('k', 'p', 'M', None, '"N-(5-AMINO-5-CARBOXYPENTYL)GLUTAMIC'), 16.433 -"OXX": ('d', 'p', 'M', None, '"OXALYL-ASPARTYL'), 16.434 -"B3Y": ('y', 'p', 'M', None, '"(3S)-3-AMINO-4-(4-HYDROXYPHENYL)BUTANOIC'), 16.435 -"DLE": ('l', 'p', 'M', None, 'D-LEUCINE'), 16.436 -"PYA": ('a', 'p', 'M', None, '3-(1,10-PHENANTHROL-2-YL)-L-ALANINE'), 16.437 -"CSE": ('c', 'p', 'M', None, 'SELENOCYSTEINE'), 16.438 -"5FA": ('a', 'r', 'M', None, '"ADENOSINE-5\'-PENTAPHOSPHATE"'), 16.439 -"GCK": ('c', 'd', 'M', None, "PHOSPHORIC ACID 9-(2-GUANIDINOETHOXY-3-(2-DEOXY-BETA-D-ERYTHROPENTOFURANOSYL))-3H-PYRIMIDO-[5,4-B][1,4]-BENZOOXAZIN-2-ONE]-5'-ESTER"), 16.440 -"5FC": ('c', 'd', 'M', None, '"5-FORMYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.441 -"GGL": ('e', 'p', 'M', None, '"GAMMA-GLUTAMIC'), 16.442 -"B3Q": ('x', 'p', None, None, '"(3S)-3,6-DIAMINO-6-OXOHEXANOIC'), 16.443 -"B3S": ('s', 'p', 'M', None, '"(3R)-3-AMINO-4-HYDROXYBUTANOIC'), 16.444 -"B3L": ('x', 'p', None, None, '"(3S)-3-AMINO-5-METHYLHEXANOIC'), 16.445 -"A47": ('a', 'd', 'M', None, "N6-METHOXY ADENOSINE 5'-MONOPHOSPHATE"), 16.446 -"A44": ('a', 'r', 'M', None, "2'-O-METHYOXYETHYL-ADENOSINE 5'-MONOPHOSPHATE"), 16.447 -"5MU": ('u', 'r', 'M', None, "5-METHYLURIDINE 5'-MONOPHOSPHATE"), 16.448 -"CSY": ('x', 'p', None, None, '"[4-(4-HYDROXY-BENZYL)-2-(2-HYDROXY-1-METHYL-ETHYL)-5-OXO-IMIDAZOLIDIN-1-YL]-ACETIC'), 16.449 -"A43": ('a', 'd', 'M', None, "3'-AMINO DEOXYADENOSINE 5'-MONOPHOSPHATE"), 16.450 -"A40": ('a', 'd', 'M', None, "N2-METHYL 2'-DEOXYADENOSINE 5'-MONOPHOSPHATE"), 16.451 -"B3K": ('k', 'p', 'M', None, '"(3S)-3,7-DIAMINOHEPTANOIC'), 16.452 -"B3D": ('d', 'p', 'M', None, '"3-AMINOPENTANEDIOIC'), 16.453 -"B3E": ('e', 'p', 'M', None, '"(3S)-3-AMINOHEXANEDIOIC'), 16.454 -"DLY": ('k', 'p', 'M', None, 'D-LYSINE'), 16.455 -"MTU": ('a', 'r', 'M', None, '9-BETA-D-RIBOFURANOSYL-9H-PURIN-2-AMINE'), 16.456 -"B3A": ('a', 'p', 'M', None, '"(3S)-3-AMINOBUTANOIC'), 16.457 -"CSS": ('c', 'p', 'M', None, 'S-MERCAPTOCYSTEINE'), 16.458 -"CSR": ('c', 'p', 'M', None, 'S-ARSONOCYSTEINE'), 16.459 -"CZZ": ('c', 'p', 'M', None, 'THIARSAHYDROXY-CYSTEINE'), 16.460 -"N10": ('s', 'p', 'M', None, 'O-[(HEXYLAMINO)CARBONYL]-L-SERINE'), 16.461 -"MGG": ('r', 'p', 'M', None, '"2-(2-CARBOXY-ACETYLAMINO)-5-GUANIDINO-PENTANOIC'), 16.462 -"A35": ('a', 'd', 'M', None, "2-AMINO DEOXYADENOSINE 5'-MONOPHOSPHATE"), 16.463 -"AFG": ('g', 'd', 'M', None, '"N-(5\'-PHOSPHO-2\'-DEOXYGUANOSIN-8-YL)-2-AMINOFLUORENE"'), 16.464 -"BTR": ('w', 'p', 'M', None, '6-BROMO-TRYPTOPHAN'), 16.465 -"SSU": ('u', 'r', 'M', None, '"URIDINE-5\'-PHOSPHOROTHIOATE"'), 16.466 -"70U": ('u', 'r', 'M', None, '"5-(O-METHYLACETO)-2-THIO-2-DEOXY-URIDINE-5\'-MONOPHOSPHATE"'), 16.467 -"A34": ('a', 'd', 'M', None, "N6-METHYL DEOXYADENOSINE 5'-MONOPHOSPHATE"), 16.468 -"MGN": ('q', 'p', 'M', None, '2-METHYL-GLUTAMINE'), 16.469 -"XCL": ('c', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(CYTOSIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 16.470 -"G4P": ('n', 'r', None, None, '"GUANOSINE-5\',3\'-TETRAPHOSPHATE"'), 16.471 -"XCS": ('n', 'd', None, None, '(1R)-1-(4-AMINO-6-METHYL-2-OXO-1,2-DIHYDROQUINAZOLIN-8-YL)-1,4-ANHYDRO-2-DEOXY-5-O-PHOSPHONO-D-ERYTHRO-PENTITOL'), 16.472 -"MGQ": ('a', 'r', 'M', None, '"7-BENZYL'), 16.473 -"ABS": ('a', 'd', 'M', None, '"(S)-(N-PHENYL-2-HYDROXY-ETHYL)-2\'-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.474 -"BTA": ('l', 'p', 'M', None, '4-DEMETHYL-LEUCINE'), 16.475 -"MGV": ('g', 'r', 'M', None, '"P-FLUORO-7-BENZYL'), 16.476 -"XCT": ('c', 'd', 'M', None, '4-AMINO-1-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)PYRIMIDIN-2(1H)-ONE'), 16.477 -"TTQ": ('w', 'p', 'M', None, '6-AMINO-7-HYDROXY-L-TRYPTOPHAN'), 16.478 -"MGY": ('g', 'p', 'M', None, 'N-METHYLGLYCINE'), 16.479 -"XCY": ('c', 'd', 'M', None, '"{5-[4-{[4-(AMINOMETHYL)BENZYL]AMINO}-2-OXOPYRIMIDIN-1(2H)-'), 16.480 -"NNH": ('r', 'p', 'M', None, 'NOR-N-OMEGA-HYDROXY-L-ARGININE'), 16.481 -"TBG": ('g', 'p', 'M', None, '"T-BUTYL'), 16.482 -"ATD": ('t', 'd', 'M', None, '"THYMIDINE-3\'-PHOSPHATE"'), 16.483 -"U8U": ('u', 'r', 'M', None, '"5-METHYLAMINOMETHYL-2-THIOURIDINE-5\'-MONOPHOSPHATE"'), 16.484 -"SNC": ('c', 'p', 'M', None, 'S-NITROSO-CYSTEINE'), 16.485 -"ALG": ('r', 'p', 'M', None, '"GUANIDINOBUTYRYL'), 16.486 -"M1G": ('g', 'd', 'M', None, '"3-(2-DEOXY-BETA-D-RIBOFURANOSYL)-PYRIDO[5,6-A]-PURINE-10-ONE-5\'-MONOPHOSPHATE"'), 16.487 -"ATL": ('t', 'd', 'M', None, '"[(1S,3R,4S,7R)-7-HYDROXY-3-(THYMIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 16.488 -"ATM": ('t', 'd', 'M', None, '"3\'-AZIDO-3\'-DEOXYTHYMIDINE-5\'-MONOPHOSPHATE"'), 16.489 -"HPC": ('f', 'p', 'M', None, '3-AMINO-4-PHENYL-BUTAN-2-ONE'), 16.490 -"TP1": ('t', 'd', 'M', None, '2-(METHYLAMINO)-ETHYLGLYCINE-CARBONYLMETHYLENE-THYMINE'), 16.491 -"XUG": ('g', 'd', 'M', None, "2'-SE-METHYL-2'-SELENOGUANOSINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.492 -"ISO": ('x', 'p', None, None, 'PARA-ISOPROPYLANILINE'), 16.493 -"3MM": ('x', 'p', None, None, '(1R)-1-CARBOXY-N,N,N-TRIMETHYL-3-(METHYLSULFANYL)PROPAN-1-AMINIUM'), 16.494 -"175": ('x', 'p', None, None, '3,5-DIHYDRO-5-METHYLIDENE-4H-IMIDAZOL-4-ON'), 16.495 -"2TY": ('y', 'p', 'M', None, '2-HYDROXY-5-{[(1E)-2-PHENYLETHYLIDENE]AMINO}-L-TYROSINE'), 16.496 -"CSB": ('c', 'p', 'M', None, '"CYS'), 16.497 -"IT1": ('k', 'p', 'M', None, '(E)-N~6~-({3-HYDROXY-2-METHYL-5-[(PHOSPHONOOXY)METHYL]PYRIDIN-4-YL}METHYLIDENE)-L-LYSINE'), 16.498 -"UN1": ('x', 'p', None, None, '"2-AMINOHEXANEDIOIC'), 16.499 -"UN2": ('x', 'p', None, None, '"2-AMINO-4,4-DIHYDROXYBUTANOIC'), 16.500 -"ASP": ('D', 'p', None, None, '"ASPARTIC'), 16.501 -"DTH": ('t', 'p', 'M', None, 'D-THREONINE'), 16.502 -"SER": ('S', 'p', None, None, 'SERINE'), 16.503 -"ASU": ('n', 'd', None, None, '"4\'-THIO-2\'4\'-DIDEOXYRIBOFURANOSE-5\'-PHOSPHATE"'), 16.504 -"SEP": ('s', 'p', 'M', None, 'PHOSPHOSERINE'), 16.505 -"LNT": ('x', 'p', None, None, 'N-[(2S)-2-AMINO-1,1-DIHYDROXY-4-METHYLPENTYL]-L-THREONINE'), 16.506 -"A39": ('a', 'r', 'M', None, "2'-O-METHYL-ADENOSINE 5'-MONOPHOSPHATE"), 16.507 -"DGI": ('g', 'd', 'M', None, '"2\'-DEOXYGUANOSINE-5\'-DIPHOSPHATE"'), 16.508 -"DGN": ('q', 'p', 'M', None, 'D-GLUTAMINE'), 16.509 -"DGL": ('e', 'p', 'M', None, '"D-GLUTAMIC'), 16.510 -"SEG": ('a', 'p', 'M', None, 'HYDROXYALANINE'), 16.511 -"ASB": ('d', 'p', 'M', None, '"ASPARTIC'), 16.512 -"ASA": ('d', 'p', 'M', None, '"ASPARTIC'), 16.513 -"SEC": ('a', 'p', 'M', None, '"2-AMINO-3-SELENINO-PROPIONIC'), 16.514 -"SEB": ('s', 'p', 'M', None, 'O-BENZYLSULFONYL-SERINE'), 16.515 -"0A9": ('f', 'p', 'M', None, '"METHYL'), 16.516 -"ASK": ('d', 'p', 'M', None, '"DEHYDROXYMETHYLASPARTIC'), 16.517 -"PVH": ('h', 'p', 'M', None, 'HISTIDINE-METHYL-ESTER'), 16.518 -"ASI": ('d', 'p', 'M', None, 'L-ISO-ASPARTATE'), 16.519 -"SEL": ('s', 'p', 'M', None, '2-AMINO-1,3-PROPANEDIOL'), 16.520 -"ASN": ('N', 'p', None, None, 'ASPARAGINE'), 16.521 -"ASM": ('x', 'p', None, None, '"2-AMINO-4-OXO-4(1H-PYRROL-1-YL)BUTANOIC'), 16.522 -"ASL": ('d', 'p', 'M', None, '"ASPARTIC'), 16.523 -"AS2": ('d', 'p', 'M', None, '"(2R)-2-AMINO-4-OXOBUTANOIC'), 16.524 -"IMC": ('c', 'd', 'M', None, '"N1-[2-DEOXY-RIBOFURANOSYL]-[2-AMINO-5-METHYL-4-OXO-4H-PYRIMIDINE]-5\'-MONOPHOSPHATE"'), 16.525 -"A3P": ('a', 'r', 'M', None, '"ADENOSINE-3\'-5\'-DIPHOSPHATE"'), 16.526 -"CLH": ('k', 'p', 'M', None, '"2-AMINO-6-[2-(2-OXO-ACETYLAMINO)-ACETYLAMINO]-HEXANOIC'), 16.527 -"3DR": ('n', 'd', None, None, '"1\',2\'-DIDEOXYRIBOFURANOSE-5\'-PHOSPHATE"'), 16.528 -"FRD": ('x', 'p', None, None, '1-PHENYL-2-AMINOPROPANE'), 16.529 -"CLD": ('a', 'p', 'M', None, '"D-PARA-CHLOROPHENYL-1-ACTEAMIDOBORONIC'), 16.530 -"CLE": ('l', 'p', 'M', None, '"LEUCINE'), 16.531 -"PDU": ('n', 'd', None, None, '"5(1-PROPYNYL)-2\'-DEOXYURIDINE-5-MONOPHOSPHATE"'), 16.532 -"CLG": ('k', 'p', 'M', None, '"2-AMINO-6-[2-(2-AMINOOXY-ACETYLAMINO)-ACETYLAMINO]-HEXANOIC'), 16.533 -"BBC": ('c', 'p', 'M', None, '3-[(4-AMINOBUTYL)SULFINYL]-2-IMINOPROPAN-1-OL'), 16.534 -"TFO": ('a', 'd', 'M', None, '"[2-(6-AMINO-9H-PURIN-9-YL)-1-METHYLETHOXY]METHYLPHOSPHONIC'), 16.535 -"CLB": ('a', 'p', 'M', None, '"D-PARA-CHLOROPHENYL-1-ACETAMIDOBORONIC'), 16.536 -"TLC": ('t', 'd', 'M', None, '"2-O,3-ETHDIYL-ARABINOFURANOSYL-THYMINE-5\'-MONOPHOSPHATE"'), 16.537 -"2DM": ('n', 'd', None, None, '"2-HYDROXY-3-(PYREN-1-YLMETHOXY)PROPYL'), 16.538 -"A3A": ('a', 'd', 'M', None, '"2\'DEOXY-ALPHA-ANOMERIC-ADENOSINE-5\'-PHOSPHATE"'), 16.539 -"PDL": ('x', 'p', None, None, '"N-(5\'-PHOSPHOPYRIDOXYL)-L-ALANINE"'), 16.540 -"3DA": ('a', 'd', 'M', None, '"3\'-DEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 16.541 -"GT9": ('c', 'p', 'M', None, 'S-NONYL-CYSTEINE'), 16.542 -"CLV": ('x', 'p', None, None, '"{(2S)-2-[(1S)-1-AMINOETHYL]-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 16.543 -"PDD": ('x', 'p', None, None, '"N-(5\'-PHOSPHOPYRIDOXYL)-D-ALANINE"'), 16.544 -"1TQ": ('w', 'p', 'M', None, '6-(FORMYLAMINO)-7-HYDROXY-L-TRYPTOPHAN'), 16.545 -"SEM": ('x', 'p', None, None, '3-AMINO-4-OXYBENZYL-2-BUTANONE'), 16.546 -"TGP": ('g', 'd', 'M', None, "5'-THIO-2'-DEOXY-GUANOSINE PHOSPHONIC ACID"), 16.547 -"OMC": ('c', 'r', 'M', None, '"O2\'-METHYLYCYTIDINE-5\'-MONOPHOSPHATE"'), 16.548 -"AEA": ('x', 'p', None, None, '"(2-AMINO-2-CARBAMOYL-ETHYLSULFANYL)-ACETIC'), 16.549 -"OMG": ('g', 'r', 'M', None, '"O2\'-METHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 16.550 -"H2U": ('u', 'r', 'M', None, '"5,6-DIHYDROURIDINE-5\'-MONOPHOSPHATE"'), 16.551 -"A38": ('a', 'd', 'M', None, "8-OXY DEOXYADENOSINE-5'-MONOPHOSPHATE"), 16.552 -"DTY": ('y', 'p', 'M', None, 'D-TYROSINE'), 16.553 -"PVL": ('x', 'p', None, None, '"PYRUVOYL'), 16.554 -"ABA": ('a', 'p', 'M', None, '"ALPHA-AMINOBUTYRIC'), 16.555 -"OMU": ('u', 'r', 'M', None, "O2'-METHYLURIDINE 5'-MONOPHOSPHATE"), 16.556 -"OMT": ('m', 'p', 'M', None, 'S-DIOXYMETHIONINE'), 16.557 -"CRF": ('x', 'p', None, None, '[2-(1-AMINO-2-HYDROXY-PROPYL)-4-(1H-INDOL-3-YLMETHYLENE)-5-OXO-4,5-DIHYDRO-IMIDAZOL-1-YL]-ACETALDEHYDE'), 16.558 -"FPA": ('f', 'p', 'M', None, '"1,1'), 16.559 -"VMS": ('x', 'p', None, None, '"5\'O-[N-(L-VALYL)SULPHAMOYL]ADENOSINE"'), 16.560 -"T11": ('f', 'p', 'M', None, '4-[3-(TRIFLUOROMETHYL)DIAZIRIDIN-3-YL]-L-PHENYLALANINE'), 16.561 -"2MR": ('r', 'p', 'M', None, '"N3,'), 16.562 -"DNE": ('l', 'p', 'M', None, 'D-NORLEUCINE'), 16.563 -"5IC": ('c', 'r', 'M', None, '"5-IODO-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.564 -"RC7": ('x', 'p', None, None, '{(2R)-4-(4-HYDROXYBENZYL)-2-[2-(1H-IMIDAZOL-4-YL)ETHYL]-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETALDEHYDE'), 16.565 -"BPE": ('c', 'p', 'M', None, '(2S)-2-AMINO-3-[(3-AMINOPROPYL)SULFANYL]PROPAN-1-OL'), 16.566 -"2MT": ('p', 'p', 'M', None, '"(4R)-2,2-DIMETHYL-1,3-THIAZOLIDINE-4-CARBOXYLIC'), 16.567 -"2MU": ('u', 'r', 'M', None, '"2\',5-DIMETHYLURIDINE-5\'-MONOPHOSPHATE"'), 16.568 -"DG": ('G', 'd', None, None, '"2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.569 -"UCL": ('n', 'd', None, None, "5-CHLORO-2'-DEOXYURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.570 -"DA": ('A', 'd', None, None, '"2\'-DEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 16.571 -"AEI": ('d', 'p', 'M', None, '"THREONINE-ASPARTIC'), 16.572 -"N5M": ('c', 'r', 'M', None, "5-nitrocytidine 5'-(dihydrogen phosphate)"), 16.573 -"5IU": ('n', 'd', None, None, '"5-IODO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.574 -"2MG": ('g', 'r', 'M', None, '"2N-METHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 16.575 -"AAR": ('r', 'p', 'M', None, 'ARGININEAMIDE'), 16.576 -"DT": ('T', 'd', None, None, '"THYMIDINE-5\'-MONOPHOSPHATE"'), 16.577 -"DU": ('n', 'd', None, None, '"2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.578 -"HV8": ('x', 'p', None, None, 'BENZYL-2-AMINO-PARAMETHOXY-BENZYLSTATINE'), 16.579 -"MC1": ('s', 'p', 'M', None, '"METHICILLIN'), 16.580 -"2FM": ('m', 'p', 'M', None, 'S-(DIFLUOROMETHYL)HOMOCYSTEINE'), 16.581 -"CYS": ('C', 'p', None, None, 'CYSTEINE'), 16.582 -"CYR": ('c', 'p', 'M', None, 'N~5~-[{[(2R)-2-AMINO-2-CARBOXYETHYL]SULFANYL}(IMINIO)METHYL]-L-ORNITHINATE'), 16.583 -"BIL": ('x', 'p', None, None, '"(3R,4S)-3-AMINO-4-METHYLHEXANOIC'), 16.584 -"PCA": ('e', 'p', 'M', None, '"PYROGLUTAMIC'), 16.585 -"GYC": ('x', 'p', None, None, '"[(4Z)-2-[(1R)-1-AMINO-2-MERCAPTOETHYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.586 -"SMC": ('c', 'p', 'M', None, 'S-METHYLCYSTEINE'), 16.587 -"0AC": ('g', 'p', 'M', None, '"(4S,5S)-5-AMINO-4-HYDROXY-6-PHENYLHEXANOIC'), 16.588 -"BIF": ('f', 'p', 'M', None, '"(R)-2-AMINO-3-(4-PHENYLCYCLOHEXYL)PROPANOIC'), 16.589 -"2BU": ('a', 'd', 'M', None, "(2S,3S)-N6-(2,3,4-TRIHYDROXYBUTYL)-2'-DEOXYADENOSINE MONO PHOSPHORIC ACID"), 16.590 -"2BT": ('t', 'd', 'M', None, '"2\'-O-BUTYL-THYMIDINE"'), 16.591 -"5PC": ('c', 'd', 'M', None, '"5(1-PROPYNYL)-2\'-DEOXYCYTIDINE-5\'-MONOPHOSPHATE"'), 16.592 -"S2M": ('t', 'd', 'M', None, '"2\'-O-[2-(METHOXY)ETHYL]-2-THIOTHYMIDINE-5\'-MONOPHOSPHATE"'), 16.593 -"5MC": ('c', 'r', 'M', None, '"5-METHYLCYTIDINE-5\'-MONOPHOSPHATE"'), 16.594 -"S2P": ('a', 'p', 'M', None, '"(2S)-2-AMINO-3-(4-HYDROXY-1,2,5-THIADIAZOL-3-YL)PROPANOIC'), 16.595 -"C1X": ('k', 'p', 'M', None, '(Z)-N~6~-[(4R,5S)-5-(2-CARBOXYETHYL)-4-(CARBOXYMETHYL)DIHYDRO-2H-THIOPYRAN-3(4H)-YLIDENE]-L-LYSINE'), 16.596 -"CYG": ('c', 'p', 'M', None, '"2-AMINO-4-(AMINO-3-OXO-PROPYLSULFANYLCARBONYL)-BUTYRIC'), 16.597 -"CYF": ('c', 'p', 'M', None, '"5-[2-(2-AMINO-2-CARBAMOYL-ETHYLSULFANYL)-ACETYLAMINO]-2-(3,6-DIHYDROXY-9,9A-DIHYDRO-3H-XANTHEN-9-YL)-BENZOIC'), 16.598 -"5PY": ('t', 'd', 'M', None, '"1-(2\'-DEOXY-5\'-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-METHYLPYRIMIDIN-2(1H)-ONE"'), 16.599 -"CYJ": ('x', 'p', None, None, '(Z)-N~6~-[(4R,5S)-5-(2-CARBOXYETHYL)-4-(CARBOXYMETHYL)PIPERIDIN-3-YLIDENE]-L-LYSINE'), 16.600 -"BIU": ('i', 'p', 'M', None, '5-BROMO-L-ISOLEUCINE'), 16.601 -"ENP": ('n', 'r', None, None, 'ETHENO-NADP'), 16.602 -"AS9": ('x', 'p', None, None, '"N-[HYDROXY(METHYL)PHOSPHORYL]-L-ASPARTIC'), 16.603 -"CYM": ('c', 'p', 'M', None, 'S-METHYLCYSTEINE'), 16.604 -"CY3": ('c', 'p', 'M', None, '2-AMINO-3-MERCAPTO-PROPIONAMIDE'), 16.605 -"DHN": ('v', 'p', 'M', None, '"5-HYDROXY'), 16.606 -"CY1": ('c', 'p', 'M', None, 'ACETAMIDOMETHYLCYSTEINE'), 16.607 -"CY0": ('c', 'p', 'M', None, 'S-{3-[(4-ANILINOQUINAZOLIN-6-YL)AMINO]-3-OXOPROPYL}-L-CYSTEINE'), 16.608 -"SLZ": ('k', 'p', 'M', None, 'L-THIALYSINE'), 16.609 -"CY4": ('c', 'p', 'M', None, 'S-BUTYRYL-CYSTEIN'), 16.610 -"T5S": ('t', 'd', 'M', None, "2'-deoxy-5-(methylselanyl)uridine 5'-phosphate"), 16.611 -"SLR": ('p', 'p', 'M', None, '(3R,4R)-3-HYDROXY-2-[(1S)-1-HYDROXY-2-METHYLPROPYL]-4-METHYL-5-OXO-D-PROLINE'), 16.612 -"IML": ('i', 'p', 'M', None, 'N-METHYL-ISOLEUCINE'), 16.613 -"32S": ('x', 'p', None, None, '"(S)-2-AMINO-3-(4H-SELENOLO[3,2-B]-PYRROL-6-YL)-PROPIONIC'), 16.614 -"CSX": ('c', 'p', 'M', None, '"S-OXY'), 16.615 -"MFC": ('x', 'p', None, None, '5-[1-(3-FLUORO-4-HYDROXY-PHENYL)-METH-(Z)-YLIDENE]-3,5-DIHYDRO-IMIDAZOL-4-ONE'), 16.616 -"32T": ('x', 'p', None, None, '"(S)-2-AMINO-3-(4H-THIENO[3,2-B]-PYRROL-6-YL)-PROPIONIC'), 16.617 -"TFT": ('t', 'd', 'M', None, '"(L)-ALPHA-THREOFURANOSYL-THYMINE-3\'-MONOPHOSPHATE"'), 16.618 -"MLZ": ('k', 'p', 'M', None, 'N-METHYL-LYSINE'), 16.619 -"DHU": ('u', 'r', 'M', None, '"5,6-DIHYDROURIDINE-5\'-PHOSPHATE"'), 16.620 -"ASQ": ('d', 'p', 'M', None, 'PHOSPHOASPARTATE'), 16.621 -"SLA": ('p', 'p', 'M', None, '(3S,4R)-3-HYDROXY-2-[(1S)-1-HYDROXY-2-METHYLPROPYL]-4-METHYL-5-OXO-D-PROLINE'), 16.622 -"DHP": ('x', 'p', None, None, '3-DECYL-2,5-DIOXO-4-HYDROXY-3-PYRROLINE'), 16.623 -"E1X": ('a', 'd', 'M', None, '"PHOSPHORIC'), 16.624 -"XGL": ('g', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(GUANIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 16.625 -"MCL": ('k', 'p', 'M', None, 'NZ-(1-CARBOXYETHYL)-LYSINE'), 16.626 -"TLB": ('n', 'r', None, None, '"2\'-O,3\'-C-METHYLENE-ARABINOFURANOSYL-THYMINE-5\'-MONOPHOSPHATE"'), 16.627 -"MCG": ('x', 'p', None, None, '(S)-(ALPHA)-METHYL-4-CARBOXYPHENYLGLYCINE'), 16.628 -"OTB": ('x', 'p', None, None, '"TERTIARY-BUTOXYFORMIC'), 16.629 -"FT6": ('w', 'p', 'M', None, '6-FLUORO-L-TRYPTOPHAN'), 16.630 -"XGA": ('n', 'd', None, None, '6-AMINO-3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-3,7-DIHYDRO-8H-IMIDAZO[4,5-G]QUINAZOLIN-8-ONE'), 16.631 -"AA4": ('a', 'p', 'M', None, '"2-AMINO-5-HYDROXYPENTANOIC'), 16.632 -"R": ('a', 'd', 'M', None, "2'-DEOXY-N6-(R)STYRENE OXIDE ADENOSINE MONOPHOSPHATE"), 16.633 -"GFL": ('g', 'd', 'M', None, '2-AMINO-9-(2-DEOXY-2-FLUORO-5-O-PHOSPHONO-BETA-D-ARABINOFURANOSYL)-1,9-DIHYDRO-6H-PURIN-6-ONE'), 16.634 -"10C": ('c', 'r', 'M', None, '4-AMINO-1-{2,5-ANHYDRO-4-[(PHOSPHONOOXY)METHYL]-ALPHA-L-LYXOFURANOSYL}PYRIMIDIN-2(1H)-ONE'), 16.635 -"NRQ": ('x', 'p', None, None, '"{(4Z)-4-(4-HYDROXYBENZYLIDENE)-2-[3-(METHYLTHIO)PROPANIMIDOYL]-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 16.636 -"XGU": ('g', 'd', 'M', None, '2-AMINO-9-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)-1,9-DIHYDRO-6H-PURIN-6-ONE'), 16.637 -"MCS": ('c', 'p', 'M', None, '"MALONYL'), 16.638 -"D3": ('n', 'd', None, None, '1-(2-DEOXY-BETA-D-RIBOFURANOSYL)-4-(3-BENZAMIDO)PHENYLIMIDAZOLE'), 16.639 -"PAQ": ('y', 'p', 'M', None, '2-OXY-4-HYDROXY-5-(2-HYDRAZINOPYRIDINE)PHENYLALANINE'), 16.640 -"2PR": ('g', 'd', 'M', None, '"2-AMINO-9-[2-DEOXYRIBOFURANOSYL]-9H-PURINE-5\'-MONOPHOSPHATE"'), 16.641 -"PAT": ('w', 'p', 'M', None, 'ALPHA-PHOSPHONO-TRYPTOPHAN'), 16.642 -"PAU": ('a', 'p', 'M', None, '"PANTOTHENOIC'), 16.643 -"CH": ('c', 'r', 'M', None, "N3-PROTONATED CYTIDINE-5'-MONOPHOSPHATE"), 16.644 -"GCM": ('x', 'p', None, None, '"GLYCYLMETHYLENE'), 16.645 -"CSZ": ('c', 'p', 'M', None, '"S-SELANYL'), 16.646 -"GMS": ('g', 'd', 'M', None, '"2\'-DEOXYGUANOSINE-5\'-MONOSELENOPHOSPHATE"'), 16.647 -"HBN": ('h', 'p', 'M', None, 'N-(2-NAPHTHYL)HISTIDINAMIDE'), 16.648 -"TQQ": ('w', 'p', 'M', None, '"(S)-2-AMINO-3-(6,7-DIHYDRO-6-IMINO-7-OXO-1H-INDOL-3-YL)PROPANOIC'), 16.649 -"2PI": ('x', 'p', None, None, '"2-AMINO-PENTANOIC'), 16.650 -"GSU": ('e', 'p', 'M', None, '"O5\'-(L-GLUTAMYL-SULFAMOYL)-ADENOSINE"'), 16.651 -"CSI": ('g', 'p', 'M', None, '"AMINO-(2-IMINO-HEXAHYDRO-PYRIMIDIN-4-YL)-ACETIC'), 16.652 -"200": ('f', 'p', 'M', None, '4-CHLORO-L-PHENYLALANINE'), 16.653 -"EXY": ('l', 'p', 'M', None, '6-[(2R)-OXIRAN-2-YL]-L-NORLEUCINE'), 16.654 -"12A": ('a', 'r', 'M', None, '"2-METHYLTHIO-N6-(AMINOCARBONYL-L-THREONYL)-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.655 -"DCL": ('x', 'p', None, None, '2-AMINO-4-METHYL-PENTAN-1-OL'), 16.656 -"UNK": ('x', 'p', None, None, 'UNKNOWN'), 16.657 -"DCI": ('x', 'p', None, None, '2-METHYL-BUTYLAMINE'), 16.658 -"DCG": ('g', 'd', 'M', None, '"2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.659 -"4HT": ('w', 'p', 'M', None, '4-HYDROXYTRYPTOPHAN'), 16.660 -"CSU": ('c', 'p', 'M', None, '"CYSTEINE-S-SULFONIC'), 16.661 -"HSO": ('h', 'p', 'M', None, 'HISTIDINOL'), 16.662 -"HSL": ('s', 'p', 'M', None, '"HOMOSERINE'), 16.663 -"TLN": ('n', 'd', None, None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(THYMIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 16.664 -"TZB": ('x', 'p', None, None, '"(4S)-2-[(1E)-1-AMINOPROP-1-ENYL]-4,5-DIHYDRO-1,3-THIAZOLE-4-CARBOXYLIC'), 16.665 -"BTC": ('c', 'p', 'M', None, 'CYSTEINE'), 16.666 -"DCY": ('c', 'p', 'M', None, 'D-CYSTEINE'), 16.667 -"DCT": ('c', 'd', 'M', None, "2',3'-DIDEOXYCYTIDINE 5'-TRIPHOSPHATE"), 16.668 -"4BF": ('y', 'p', 'M', None, '4-BROMO-L-PHENYLALANINE'), 16.669 -"C2L": ('c', 'r', 'M', None, "5-METHYL-3'-O-METHOXYETHYL CYTIDINE 5'-MONOPHOSPHATE"), 16.670 -"RIA": ('a', 'r', 'M', None, '"2\'-O-[(5\'-PHOSPHO)RIBOSYL]ADENOSINE-5\'-MONOPHOSPHATE"'), 16.671 -"IAM": ('a', 'p', 'M', None, '4-[(ISOPROPYLAMINO)METHYL]PHENYLALANINE'), 16.672 -"B1F": ('f', 'p', 'M', None, '"PHENYLALANINE'), 16.673 -"GPN": ('g', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-GUANINE'), 16.674 -"C25": ('c', 'r', 'M', None, '"CYTIDINE-5\'-MONOPHOSPHATE"'), 16.675 -"N2C": ('x', 'p', None, None, 'N,S-DIMETHYLCYSTEINE'), 16.676 -"HAC": ('a', 'p', 'M', None, 'BETA-CYCLOHEXYL-ALANINE'), 16.677 -"MEG": ('e', 'p', 'M', None, '"(2S,3R)-3-METHYL-GLUTAMIC'), 16.678 -"THO": ('x', 'p', None, None, '"REDUCED'), 16.679 -"BNO": ('x', 'p', None, None, '"NORLEUCINE'), 16.680 -"125": ('u', 'r', 'M', None, '"2\'-O-FLUOROETHYL-5-METHYL-URIDINE-5\'-MONOPHOSPHATE"'), 16.681 -"126": ('u', 'r', 'M', None, '"2\'-O-METHYL-[TRI(OXYETHYL)]-5-METHYL-URIDINE-5\'-MONOPHOSPHATE"'), 16.682 -"127": ('u', 'r', 'M', None, '"2\'-O-AMINOOXY-ETHYL-5-METHYL-URIDINE-5\'-MONOPHOSPHATE"'), 16.683 -"128": ('n', 'r', None, None, '"SPIRO(2,4,6-TRINITROBENZENE[1,2A]-2O\',3O\'-METHYLENE-ADENINE-TRIPHOSPHATE"'), 16.684 -"X": ('g', 'd', 'M', None, "2'-DEOXY-N7-(8,9-DIHYDRO-9-HYDROXY-10-DEHYDROXY-AFLATOXIN)GUANOSINE MONOPHOSPHATE"), 16.685 -"HS8": ('h', 'p', 'M', None, '3-(1-SULFO-1H-IMIDAZOL-3-IUM-4-YL)-L-ALANINE'), 16.686 -"NAM": ('a', 'p', 'M', None, '"NAM'), 16.687 -"THC": ('t', 'p', 'M', None, 'N-METHYLCARBONYLTHREONINE'), 16.688 -"HRP": ('w', 'p', 'M', None, '5-HYDROXY-L-TRYPTOPHAN'), 16.689 -"MNV": ('v', 'p', 'M', None, '"N-METHYL-C-AMINO'), 16.690 -"PHI": ('f', 'p', 'M', None, 'IODO-PHENYLALANINE'), 16.691 -"PHM": ('f', 'p', 'M', None, 'PHENYLALANYLMETHANE'), 16.692 -"PHL": ('f', 'p', 'M', None, 'L-PHENYLALANINOL'), 16.693 -"CSW": ('c', 'p', 'M', None, 'CYSTEINE-S-DIOXIDE'), 16.694 -"ZAD": ('a', 'r', 'M', None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-ADENINE"'), 16.695 -"OIC": ('x', 'p', None, None, '"OCTAHYDROINDOLE-2-CARBOXYLIC'), 16.696 -"PHE": ('F', 'p', None, None, 'PHENYLALANINE'), 16.697 -"PHD": ('d', 'p', 'M', None, '"ASPARTYL'), 16.698 -"SYS": ('c', 'p', 'M', None, '3-[(2-AMINO-2-OXOETHYL)SELANYL]-L-ALANINE'), 16.699 -"BG1": ('s', 'p', 'M', None, 'O-[(2S)-2-{METHYL[(METHYLAMINO)SULFONYL]AMINO}PENTANOYL]-L-SERINE'), 16.700 -"NIY": ('y', 'p', 'M', None, 'META-NITRO-TYROSINE'), 16.701 -"MTR": ('t', 'd', 'M', None, '(5-METHYL-6-OXO-1,6-DIHYDRO-PYRIDIN-3-YL)-1,2-DIDEOXY-RIBOFURANOSE-5-MONOPHOSPHATE'), 16.702 -"OAS": ('s', 'p', 'M', None, 'O-ACETYLSERINE'), 16.703 -"BRU": ('n', 'd', None, None, '"5-BROMO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.704 -"NIT": ('x', 'p', None, None, '4-NITROANILINE'), 16.705 -"OIP": ('n', 'd', None, None, "2'-DEOXY-INOSINIC ACID"), 16.706 -"0A0": ('d', 'p', 'M', None, '"2-METHYL-L-ASPARTIC'), 16.707 -"0A1": ('y', 'p', 'M', None, 'O-METHYL-L-TYROSINE'), 16.708 -"0A2": ('k', 'p', 'M', None, '[(1R)-1,5-DIAMINOPENTYL][BIS(ETHANOLATO)]HYDROXYBORATE(1-)'), 16.709 -"CRQ": ('x', 'p', None, None, '"[2-(3-CARBAMOYL-1-IMINO-PROPYL)-4-(4-HYDROXY-BENZYLIDENE)-5-OXO-4,5-DIHYDRO-IMIDAZOL-1-YL]-ACETIC'), 16.710 -"CRW": ('x', 'p', None, None, '"[2-(1-AMINOETHYL)-4-METHYLENE-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.711 -"CRU": ('e', 'p', 'M', None, '"4-[(4Z)-1-(CARBOXYMETHYL)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-2-YL]-4-IMINOBUTANOIC'), 16.712 -"DMH": ('n', 'p', 'M', None, 'N4,N4-DIMETHYL-ASPARAGINE'), 16.713 -"PRR": ('a', 'p', 'M', None, '3-(METHYL-PYRIDINIUM)ALANINE'), 16.714 -"CRX": ('x', 'p', None, None, '"[2-(1-AMINOETHYL)-2-HYDROXY-4-METHYLENE-5-OXOIMIDAZOLIDIN-1-YL]ACETIC'), 16.715 -"DMK": ('d', 'p', 'M', None, '"3,3-DIMETHYL'), 16.716 -"MHL": ('l', 'p', 'M', None, 'N-METHYL-4-HYDROXY-LEUCINE'), 16.717 -"LAA": ('d', 'p', 'M', None, '(3R)-3-HYDROXY-L-ALPHA-ASPARAGINE'), 16.718 -"0ZM": ('x', 'p', None, None, '"(2R)-2-{[(2R)-2-{[(S)-HYDROXY{[(2R,3S,4S,5R,6R)-3,4,5-TRIHYDROXY-6-METHYLTETRAHYDRO-2H-PYRAN-2-YL]OXY}PHOSPHORYL]AMINO}-4-METHYLPENTANOYL]AMINO}-3-(1H-INDOL-3-YL)PROPANOIC'), 16.719 -"DMT": ('x', 'p', None, None, '"3-HYDROXY-4,4-DIMETHYL-2-(METHYLAMINO)-6-OCTENOIC'), 16.720 -"CRG": ('x', 'p', None, None, '"[2-(1-AMINO-2-HYDROXY-PROPYL)-4-(3H-IMIDAZOL-4-YLMETHYLENE)-5-OXO-4,5-DIHYDRO-IMIDAZOL-1-YL]-ACETIC'), 16.721 -"0ZJ": ('x', 'p', None, None, 'N-(SULFANYLACETYL)-D-PHENYLALANYL-N-[(1S)-4-CARBAMIMIDAMIDO-1-(CHLOROACETYL)BUTYL]-L-PROLINAMIDE'), 16.722 -"0ZE": ('x', 'p', None, None, '"AMINO{[(4R)-4-({[(3R,6S,8AS)-6-AMINO-6-BENZYL-5-OXOOCTAHYDROINDOLIZIN-3-YL]CARBONYL}AMINO)-5-(1,3-BENZOTHIAZOL-2-YL)-5-OXOPENTYL]AMINO}METHANIMINIUM'), 16.723 -"CRK": ('x', 'p', None, None, '4-{(Z)-[2-[3-(METHYLSULFANYL)PROPANOYL]-5-OXO-1-(2-OXOETHYL)-1,5-DIHYDRO-4H-IMIDAZOL-4-YLIDENE]METHYL}BENZENOLATE'), 16.724 -"TPH": ('x', 'p', None, None, '"2-AMINO-3-PHENYL-PROPANE-1,1-DIOL'), 16.725 -"1PI": ('x', 'p', None, None, '3-(1-CARBAMIMIDOYL-PIPERIDIN-3-YL)-L-ALANINE'), 16.726 -"CRO": ('x', 'p', None, None, '"{2-[(1R,2R)-1-AMINO-2-HYDROXYPROPYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 16.727 -"0ZC": ('x', 'p', None, None, '"(3R)-2-[N-(FURAN-2-YLCARBONYL)-L-LEUCYL]-2,3,4,9-TETRAHYDRO-1H-BETA-CARBOLINE-3-CARBOXYLIC'), 16.728 -"MIS": ('s', 'p', 'M', None, 'MONOISOPROPYLPHOSPHORYLSERINE'), 16.729 -"C36": ('c', 'd', 'M', None, '"5-METHYL-5-FLUORO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.730 -"NFA": ('f', 'p', 'M', None, '"PHENYLALANINE'), 16.731 -"PU": ('a', 'r', 'M', None, '"PUROMYCIN-N-AMINOPHOSPHONIC'), 16.732 -"G7M": ('g', 'r', 'M', None, '"N7-METHYL-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.733 -"S6G": ('g', 'd', 'M', None, '"6-THIO-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.734 -"LDH": ('k', 'p', 'M', None, 'N~6~-ETHYL-L-LYSINE'), 16.735 -"TCP": ('t', 'd', 'M', None, '"5\'-METHYLTHYMIDINE"'), 16.736 -"TCQ": ('x', 'p', None, None, '3-((3E)-4-(HYDROXYMETHYL)-6-OXO-3-{[(1S,2R)-2-PHENYLCYCLOPROPYL]IMINO}CYCLOHEXA-1,4-DIEN-1-YL)ALANINE'), 16.737 -"8AN": ('a', 'r', 'M', None, "3'-amino-3'-deoxyadenosine 5'-(dihydrogen phosphate)"), 16.738 -"BUC": ('c', 'p', 'M', None, 'S,S-BUTYLTHIOCYSTEINE'), 16.739 -"C32": ('c', 'd', 'M', None, '"5-BROMO-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.740 -"7MG": ('g', 'r', 'M', None, '"7N-METHYL-8-HYDROGUANOSINE-5\'-MONOPHOSPHATE"'), 16.741 -"BUG": ('l', 'p', 'M', None, '"TERT-LEUCYL'), 16.742 -"LEU": ('L', 'p', None, None, 'LEUCINE'), 16.743 -"MHO": ('m', 'p', 'M', None, 'S-OXYMETHIONINE'), 16.744 -"C": ('C', 'r', None, None, '"CYTIDINE-5\'-MONOPHOSPHATE"'), 16.745 -"DDX": ('n', 'd', None, None, '"2\',3\'-DEHYDRO-2\',3\'-DIDEOXYRIBOFURANOSE-5\'-PHOSPHATE"'), 16.746 -"OPR": ('r', 'p', 'M', None, 'C-(3-OXOPROPYL)ARGININE'), 16.747 -"FOX": ('g', 'd', 'M', None, "((1R,2S,4R)-4-{[2-AMINO-5-(FORMYLAMINO)-6-OXO-3,6-DIHYDROPYRIMIDIN-4-YL]AMINO}-2-HYDROXYCYCLOPENTYL)METHYL 5'-PHOSPHATE"), 16.748 -"MTY": ('y', 'p', 'M', None, 'META-TYROSINE'), 16.749 -"TC1": ('c', 'd', 'M', None, '3-(5-PHOSPHO-2-DEOXY-BETA-D-RIBOFURANOSYL)-2-OXO-1,3-DIAZA-PHENOTHIAZINE'), 16.750 -"FOE": ('c', 'p', 'M', None, '2-(2-AMINO-3-OXO-PROPYLSULFANYL)-N-(4-FLUORO-PHENYL)-N-ISOPROPYL-ACETAMIDE'), 16.751 -"MF3": ('x', 'p', None, None, '"2-AMINO-4-TRIFLUOROMETHYLSULFANYL-BUTYRIC'), 16.752 -"DDN": ('n', 'd', None, None, '"3,4-DIHYDRO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.753 -"FME": ('m', 'p', 'M', None, 'N-FORMYLMETHIONINE'), 16.754 -"EFC": ('c', 'p', 'M', None, 'S,S-(2-FLUOROETHYL)THIOCYSTEINE'), 16.755 -"DDG": ('g', 'd', 'M', None, '"2\',3\'-DIDEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.756 -"MHS": ('h', 'p', 'M', None, '"N1-METHYLATED'), 16.757 -"DDE": ('h', 'p', 'M', None, '{3-[4-(2-AMINO-2-CARBOXY-ETHYL)-1H-IMIDAZOL-2-YL]-1-CARBAMOYL-PROPYL}-TRIMETHYL-AMMONIUM'), 16.758 -"CR2": ('x', 'p', None, None, '"{(4Z)-2-(AMINOMETHYL)-4-[(4-HYDROXYPHENYL)METHYLIDENE]-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 16.759 -"DSN": ('s', 'p', 'M', None, 'D-SERINE'), 16.760 -"PSH": ('h', 'p', 'M', None, '1-THIOPHOSPHONO-L-HISTIDINE'), 16.761 -"6MI": ('n', 'd', None, None, '6-METHYL-8-(2-DEOXY-RIBOFURANOSYL)ISOXANTHOPTERIDINE'), 16.762 -"CR7": ('x', 'p', None, None, '"[(4Z)-2-[(1S)-1,5-DIAMINOPENTYL]-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.763 -"0AV": ('a', 'd', 'M', None, "2'-O-methyladenosine 5'-(dihydrogen phosphate)"), 16.764 -"CR5": ('g', 'p', 'M', None, '(2R)-2-(AMINOMETHYL)-2,4-DIHYDROXY-5-OXO-3-(2-OXOETHYL)-2,5-DIHYDRO-1H-IMIDAZOL-3-IUM'), 16.765 -"MOR": ('x', 'p', None, None, 'N-CARBONYLMORPHOLINE'), 16.766 -"CR8": ('x', 'p', None, None, '2-[1-AMINO-2-(1H-IMIDAZOL-5-YL)ETHYL]-1-(CARBOXYMETHYL)-4-[(4-OXOCYCLOHEXA-2,5-DIEN-1-YLIDENE)METHYL]-1H-IMIDAZOL-5-OLATE'), 16.767 -"PSA": ('f', 'p', 'M', None, '"3-HYDROXY-4-AMINO-5-PHENYLPENTANOIC'), 16.768 -"ANI": ('x', 'p', None, None, '4-TRIFLUOROMETHYLANILINE'), 16.769 -"NP3": ('n', 'd', None, None, '"1-[2-DEOXY-RIBOFURANOSYL]-1H-[3-NITRO-PYRROL]-5\'-PHOSPHATE"'), 16.770 -"DM0": ('k', 'p', 'M', None, 'N~2~,N~2~,N~6~,N~6~-TETRAMETHYL-L-LYSINE'), 16.771 -"0AA": ('v', 'p', 'M', None, '"METHYL'), 16.772 -"0AB": ('v', 'p', 'M', None, '(3S,4S)-3-AMINO-4-METHYL-3,4-DIHYDRO-2H-PYRAN-2-ONE'), 16.773 -"FOG": ('f', 'p', 'M', None, 'PHENYLALANINOYL-[1-HYDROXY]-2-PROPYLENE'), 16.774 -"0AD": ('g', 'd', 'M', None, "2'-deoxy-N-propylguanosine 5'-(dihydrogen phosphate)"), 16.775 -"LCC": ('n', 'd', None, None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(5-METHYLCYTOSIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 16.776 -"NVA": ('v', 'p', 'M', None, 'NORVALINE'), 16.777 -"0AG": ('l', 'p', 'M', None, 'N-(ETHOXYCARBONYL)-L-LEUCINE'), 16.778 -"0AH": ('s', 'p', 'M', None, 'O-(BROMOACETYL)-L-SERINE'), 16.779 -"1MA": ('a', 'r', 'M', None, '"6-HYDRO-1-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 16.780 -"0AK": ('d', 'p', 'M', None, '"(2S)-2-AMINO-4-(2-CHLOROETHOXY)-4-OXOBUTANOIC'), 16.781 -"0AM": ('a', 'd', 'M', None, "2'-deoxy-N-[3-(propyldisulfanyl)propyl]adenosine 5'-(dihydrogen phosphate)"), 16.782 -"PST": ('t', 'd', 'M', None, '"THYMIDINE-5\'-THIOPHOSPHATE"'), 16.783 -"PSU": ('u', 'r', 'M', None, '"PSEUDOURIDINE-5\'-MONOPHOSPHATE"'), 16.784 -"1ZX": ('x', 'p', None, None, 'D-PHENYLALANYL-N-[(1S)-1-ACETYL-4-{[AMINO(IMINIO)METHYL]AMINO}BUTYL]-L-PROLINAMIDE'), 16.785 -"ILG": ('e', 'p', 'M', None, '"GLUTAMYL'), 16.786 -"ILE": ('I', 'p', None, None, 'ISOLEUCINE'), 16.787 -"5CM": ('c', 'd', 'M', None, '"5-METHYL-2\'-DEOXY-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.788 -"D11": ('t', 'p', 'M', None, 'D-PHOSHPHOTHREONINE'), 16.789 -"UMS": ('n', 'd', None, None, '"2\'-METHYLSELENYL-2\'-DEOXYURIDINE-5\'-PHOSPHATE"'), 16.790 -"X9Q": ('x', 'p', None, None, '"{(2S)-2-[(1S)-1-AMINOETHYL]-4-BENZYL-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 16.791 -"FGP": ('s', 'p', 'M', None, '"2-AMINO-3-HYDROXY-3-PHOSPHONOOXY-PROPIONIC'), 16.792 -"DVA": ('v', 'p', 'M', None, 'D-VALINE'), 16.793 -"5ZA": ('x', 'p', None, None, '(5Z)-2-[(1S,2R)-1-AMINO-2-HYDROXYPROPYL]-5-[(4-AMINO-1H-INDOL-3-YL)METHYLENE]-3-(2-HYDROXYETHYL)-3,5-DIHYDRO-4H-IMIDAZOL-4-ONE'), 16.794 -"BCC": ('x', 'p', None, None, '6-AMINO-6-BENZYL-5-OXO-OCTAHYDRO-INDOLIZINE-3-CARBALDEHYDE'), 16.795 -"TMB": ('t', 'p', 'M', None, 'N-METHYL-4-[(E)-2-BUTENYL]-4,N-DIMETHYL-THREONINE'), 16.796 -"3AH": ('h', 'p', 'M', None, '[HISTIDIN-1-YL-4H-[1,2,4]TRIAZOL-5-YL]-AMINE'), 16.797 -"BCX": ('c', 'p', 'M', None, 'BETA-3-CYSTEINE'), 16.798 -"KPI": ('k', 'p', 'M', None, '"(2S)-2-AMINO-6-[(1-HYDROXY-1-OXO-PROPAN-2-YLIDENE)AMINO]HEXANOIC'), 16.799 -"A2L": ('a', 'r', 'M', None, "3'-O-METHYOXYETHYL-ADENOSINE 5'-MONOPHOSPHATE"), 16.800 -"A2M": ('a', 'r', 'M', None, '"2\'-O-METHYL-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.801 -"ILX": ('i', 'p', 'M', None, '4,5-DIHYDROXYISOLEUCINE'), 16.802 -"PEC": ('c', 'p', 'M', None, 'S,S-PENTYLTHIOCYSTEINE'), 16.803 -"IGL": ('g', 'p', 'M', None, '"ALPHA-AMINO-2-INDANACETIC'), 16.804 -"OLE": ('x', 'p', None, None, '"2-HYDROXY-4-METHYL-PENTANOIC'), 16.805 -"LPG": ('g', 'p', 'M', None, 'L-PROPARGYLGLYCINE'), 16.806 -"DI": ('n', 'd', None, None, '"2\'-DEOXYINOSINE-5\'-MONOPHOSPHATE"'), 16.807 -"ALO": ('t', 'p', 'M', None, 'ALLO-THREONINE'), 16.808 -"OLT": ('t', 'p', 'M', None, 'O-METHYL-L-THREONINE'), 16.809 -"TBM": ('t', 'p', 'M', None, '4-METHYL-4-[(E)-2-BUTENYL]-4,N-DIMETHYL-THREONINE'), 16.810 -"2AU": ('u', 'r', 'M', None, '"2\'-AMINOURIDINE"'), 16.811 -"LED": ('l', 'p', 'M', None, '(4R)-5-OXO-L-LEUCINE'), 16.812 -"OLZ": ('s', 'p', 'M', None, 'O-(2-AMINOETHYL)-L-SERINE'), 16.813 -"C6C": ('c', 'p', 'M', None, '"S-CYCLOHEXYL'), 16.814 -"IEY": ('x', 'p', None, None, '2-((1E)-2-(5-IMIDAZOLYL)ETHENYL)-4-(P-HYDROXYBENZYLIDENE)-5-IMIDAZOLINONE'), 16.815 -"HEU": ('n', 'd', None, None, '"3-(2-HYDROXYETHYL)-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.816 -"SRA": ('a', 'r', 'M', None, "ADENOSINE -5'-THIO-MONOPHOSPHATE"), 16.817 -"ZTH": ('n', 'r', None, None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-THYMINE"'), 16.818 -"NDN": ('n', 'd', None, None, "2'-DEOXY-5-NITROURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.819 -"C66": ('x', 'p', None, None, '2-AMINOETHYLLYSINE-CARBONYLMETHYLENE-CYTOSINE'), 16.820 -"6CW": ('w', 'p', 'M', None, '6-CHLORO-L-TRYPTOPHAN'), 16.821 -"CR0": ('x', 'p', None, None, '[2-(1-AMINO-2-HYDROXYPROPYL)-2-HYDROXY-4-ISOBUTYL-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETALDEHYDE'), 16.822 -"DBM": ('n', 'r', None, None, '9-(6-DEOXY-BETA-D-ALLOFURANOSYL)-6-METHYLPURINE'), 16.823 -"N": ('n', 'r', None, None, "ANY 5'-MONOPHOSPHATE NUCLEOTIDE"), 16.824 -"N6G": ('g', 'r', 'M', None, '"((2R,3S,4R,5S)-5-(2,6-DIAMINO-9H-PURIN-9-YL)-3,4-DIHYDROXY-TETRAHYDROFURAN-2-YL)METHYL'), 16.825 -"ALC": ('a', 'p', 'M', None, '"2-AMINO-3-CYCLOHEXYL-PROPIONIC'), 16.826 -"S1H": ('s', 'p', 'M', None, '1-HEXADECANOSULFONYL-O-L-SERINE'), 16.827 -"FZN": ('k', 'p', 'M', None, '(2S)-2-amino-6-{[(1Z)-1-{[(2R,3R,4S,5R)-5-({[(R)-{[(R)-{[(2R,3S,4R,5R)-5-(6-amino-9H-purin-9-yl)-3,4-dihydroxytetrahydrofuran-2-yl]methoxy}(hydroxy)phosphoryl]oxy}(hydroxy)phosphoryl]oxy}methyl)-3,4-dihydroxytetrahydrofuran-2-yl]sulfanyl}ethylidene]amino}hexanoic acid'), 16.828 -"0SP": ('a', 'd', 'M', None, "2'-deoxy-N-[3-(propyldisulfanyl)propyl]adenosine 5'-(dihydrogen phosphate)"), 16.829 -"OBS": ('x', 'p', None, None, '(Z)-N^6-[(4S,5R)-5-(2-CARBOXYETHYL)-4-(CARBOXYMETHYL)-1-HYDROXYDIHYDRO-2H-THIOPYRANIUM-3(4H)-YLIDENE]-L-LYSINE'), 16.830 -"2NT": ('t', 'd', 'M', None, "2'-O-[2-[HYDROXY(METHYLENEAMINO)OXY]ETHYL THYMIDINE-5'-MONOPHOSPHATE"), 16.831 -"K1R": ('c', 'p', 'M', None, '"(2S)-2-AMINO-4-[({[(2R)-2-AMINO-2-CARBOXYETHYL]THIO}AMINO)SULFINYL]BUTANOIC'), 16.832 -"NMT": ('t', 'd', 'M', None, '1-(O2-(METHYLCARBAMOYL)-O5-HYDROXYPHOSPHINYL-BETA-D-RIBOFURANOSYL)THYMINE'), 16.833 -"A23": ('a', 'r', 'M', None, "ADENOSINE-5'-PHOSPHATE-2',3'-CYCLIC PHOSPHATE"), 16.834 -"D1P": ('n', 'd', None, None, '"2\'-DEOXY-RIBOFURANOSE-5\'-PHOSPHATE"'), 16.835 -"NMS": ('t', 'd', 'M', None, '1-(O2-(2-METHYLAMINO-2-OXO-ETHYL)-O5-HYDROXYPHOSPHINYL-BETA-D-RIBOFURANOSYL)THYMINE'), 16.836 -"CIR": ('r', 'p', 'M', None, 'CITRULLINE'), 16.837 -"CH6": ('x', 'p', None, None, '"{(4Z)-2-[(1S)-1-AMINO-3-(METHYLSULFANYL)PROPYL]-4-[(4-HYDROXYPHENYL)METHYLIDENE]-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL}ACETIC'), 16.838 -"BJH": ('x', 'p', None, None, '"1(R)-1-ACETAMIDO-2-(3-CARBOXY-2-HYDROXYPHENYL)ETHYL'), 16.839 -"YYG": ('g', 'r', 'M', None, '"4-(3-[5-O-PHOSPHONORIBOFURANOSYL]-4,6-DIMETHYL-8-OXO-4,8-DIHYDRO-3H-1,3,4,5,7A-PENTAAZA-S-INDACEN-YLAMINO-BUTYRIC'), 16.840 -"2MA": ('a', 'r', 'M', None, '"2-METHYLADENOSINE-5\'-MONOPHOSPHATE"'), 16.841 -"NMC": ('g', 'p', 'M', None, '"N-CYCLOPROPYLMETHYL'), 16.842 -"0AY": ('x', 'p', None, None, '"DIETHYL'), 16.843 -"UFP": ('n', 'd', None, None, '"5-FLUORO-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.844 -"SET": ('s', 'p', 'M', None, 'AMINOSERINE'), 16.845 -"UFR": ('n', 'd', None, None, "2'-DEOXY-5-FORMYLURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.846 -"NMM": ('r', 'p', 'M', None, '"(R)-2-AMINO-5-(3-METHYLGUANIDINO)BUTANOIC'), 16.847 -"UFT": ('n', 'd', None, None, "2'-deoxy-2'-fluorouridine 5'-(dihydrogen phosphate)"), 16.848 -"0AZ": ('p', 'p', 'M', None, '(4R)-4-HYDROXY-L-PROLINE'), 16.849 -"5IT": ('t', 'd', 'M', None, '"5-IODO-THYMIDINE-5\'-PHOSPHATE"'), 16.850 -"DIL": ('i', 'p', 'M', None, 'D-ISOLEUCINE'), 16.851 -"FHL": ('x', 'p', None, None, '(E)-N~6~-[3-CARBOXY-1-(HYDROXYMETHYL)PROPYLIDENE]-L-LYSINE'), 16.852 -"0Z6": ('x', 'p', None, None, 'D-PHENYLALANYL-N-[(1S)-4-{[AMINO(IMINIO)METHYL]AMINO}-1-(CHLOROACETYL)BUTYL]-L-PHENYLALANINAMIDE'), 16.853 -"AR4": ('e', 'p', 'M', None, '"2-AMINO-5-(3-FLUORO-3,4-DIHYDROXY-5-HYDROXYMETHYL-TETRAHYDRO-FURAN-2-YLOXY)-5-HYDROXY-PENTANOIC'), 16.854 -"EIT": ('t', 'd', 'M', None, '"((3R,4R,5R)-4-(2-(1H-IMIDAZOL-1-YL)ETHOXY)-3-HYDROXY-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)-TETRAHYDROFURAN-2-YL)METHYL'), 16.855 -"SD2": ('x', 'p', None, None, 'N-(SULFANYLACETYL)TYROSYLPROLYLMETHIONINAMIDE'), 16.856 -"CH7": ('x', 'p', None, None, '"[(4Z)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-2-(3,4,5,6-TETRAHYDROPYRIDIN-2-YL)-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.857 -"N5I": ('n', 'd', None, None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-5-NITRO-1H-INDOLE'), 16.858 -"5AT": ('t', 'd', 'M', None, '"5\'-AMINO-5\'-DEOXYTHYMIDINE"'), 16.859 -"LOL": ('x', 'p', None, None, 'LEUCINOL'), 16.860 -"HYP": ('p', 'p', 'M', None, '4-HYDROXYPROLINE'), 16.861 -"IYT": ('t', 'p', 'M', None, 'N-ALPHA-ACETYL-3,5-DIIODOTYROSYL-D-THREONINE'), 16.862 -"LOV": ('x', 'p', None, None, '"5-AMINO-4-HYDROXY-2-ISOPROPYL-7-METHYL-OCTANOIC'), 16.863 -"LCX": ('k', 'p', 'M', None, '"CARBOXYLATED'), 16.864 -"GND": ('x', 'p', None, None, '"2-AMINO-5-GUANIDINO-PENTANOIC'), 16.865 -"GNE": ('n', 'd', None, None, '1,N2-ETHENOGUANINE'), 16.866 -"FHU": ('u', 'r', 'M', None, '"(5S,6R)-5-FLUORO-6-HYDROXY-PSEUDOURIDINE-5\'-MONOPHOSPHATE"'), 16.867 -"C12": ('x', 'p', None, None, '2-(1-AMINO-2-HYDROXYPROPYL)-4-(4-HYDROXYBENZYL)-1-(2-OXOETHYL)-1H-IMIDAZOL-5-OLATE'), 16.868 -"DIV": ('v', 'p', 'M', None, 'D-ISOVALINE'), 16.869 -"T6A": ('a', 'r', 'M', None, '"N-[N-(9-B-D-RIBOFURANOSYLPURIN-6-YL)CARBAMOYL]THREONINE-5\'-MONOPHOSPHATE"'), 16.870 -"DIR": ('r', 'p', 'M', None, '3-{[(E)-AMINO(HYDROXYIMINO)METHYL]AMINO}ALANINE'), 16.871 -"AIB": ('a', 'p', 'M', None, '"ALPHA-AMINOISOBUTYRIC'), 16.872 -"SOC": ('c', 'p', 'M', None, 'DIOXYSELENOCYSTEINE'), 16.873 -"NSK": ('x', 'p', None, None, '"N-SUCCINYL'), 16.874 -"LCG": ('g', 'd', 'M', None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(GUANIN-9-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 16.875 -"MT2": ('m', 'p', 'M', None, '[(3S)-3-AMINO-3-CARBOXYPROPYL](ETHYL)METHYLSULFONIUM'), 16.876 -"GAU": ('e', 'p', 'M', None, '"(4S)-4-AMINO-5-HYDROXYPENTANOIC'), 16.877 -"PPH": ('l', 'p', 'M', None, '"PHENYLALANINE'), 16.878 -"PPN": ('f', 'p', 'M', None, 'PARA-NITROPHENYLALANINE'), 16.879 -"1MG": ('g', 'r', 'M', None, '"1N-METHYLGUANOSINE-5\'-MONOPHOSPHATE"'), 16.880 -"GAO": ('g', 'r', 'M', None, "GUANINE ARABINOSE-5'-PHOSPHATE"), 16.881 -"FAI": ('n', 'r', None, None, '5-(FORMYLAMINO)-1-(5-O-PHOSPHONO-BETA-D-RIBOFURANOSYL)-1H-IMIDAZOLE-4-CARBOXAMIDE'), 16.882 -"PPW": ('g', 'd', 'M', None, '"7-DEAZA-8-AZA-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.883 -"2ML": ('l', 'p', 'M', None, '2-METHYLLEUCINE'), 16.884 -"MBZ": ('n', 'd', None, None, '"1-[2-DEOXYRIBOFURANOSYL]-4-METHYL-BENZOIMIDAZOLE-5\'-MONOPHOSPHATE"'), 16.885 -"TPN": ('t', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-THYMINE'), 16.886 -"SOY": ('s', 'p', 'M', None, '"OXACILLIN-ACYLATED'), 16.887 -"CBV": ('c', 'r', 'M', None, "5-BROMOCYTIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.888 -"MBQ": ('y', 'p', 'M', None, '2-HYDROXY-5-({1-[(4-METHYLPHENOXY)METHYL]-3-OXOPROP-1-ENYL}AMINO)-L-TYROSINE'), 16.889 -"G31": ('g', 'd', 'M', None, '"3\'-METHYL-2\',3\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.890 -"HTI": ('c', 'p', 'M', None, '(4S)-4-{[(2S)-2-AMINO-3-OXOPROPYL]SULFANYL}-L-HOMOSERINE'), 16.891 -"XX1": ('k', 'p', 'M', None, 'N~6~-7H-PURIN-6-YL-L-LYSINE'), 16.892 -"6OG": ('g', 'd', 'M', None, "6-O-METHYL GUANOSINE-5'-MONOPHOSPHATE"), 16.893 -"0AF": ('w', 'p', 'M', None, '7-HYDROXY-L-TRYPTOPHAN'), 16.894 -"G36": ('g', 'd', 'M', None, '"O6-ETHYL-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.895 -"I": ('n', 'r', None, None, '"INOSINIC'), 16.896 -"YOF": ('y', 'p', 'M', None, '3-FLUOROTYROSINE'), 16.897 -"HPQ": ('f', 'p', 'M', None, 'HOMOPHENYLALANINYLMETHANE'), 16.898 -"LCA": ('a', 'r', 'M', None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(ADENIN-9-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 16.899 -"IU": ('u', 'r', 'M', None, '"5-IODOURIDINE-5\'-MONOPHOSPHATE"'), 16.900 -"CYQ": ('c', 'p', 'M', None, '"2-AMINO-3-PHOSPHONOMETHYLSULFANYL-PROPIONIC'), 16.901 -"M0H": ('c', 'p', 'M', None, 'S-(HYDROXYMETHYL)-L-CYSTEINE'), 16.902 -"FA5": ('n', 'r', None, None, '"ADENOSINE-5\'-[PHENYLALANINYL-PHOSPHATE]"'), 16.903 -"LVG": ('g', 'p', 'M', None, 'L-VINYLGLYCINE'), 16.904 -"HPH": ('x', 'p', None, None, 'PHENYLALANINDIOL'), 16.905 -"IRN": ('n', 'r', None, None, '1-(5-O-PHOSPHONO-BETA-D-RIBOFURANOSYL)-1H-IMIDAZOLE'), 16.906 -"Y": ('a', 'd', 'M', None, "2'-DEOXY-N6-(S)STYRENE OXIDE ADENOSINE MONOPHOSPHATE"), 16.907 -"IC": ('c', 'r', 'M', None, '"ISOCYTIDINE-5\'-MONOPHOSPHATE"'), 16.908 -"4DP": ('w', 'p', 'M', None, '3-[5-(DIMETHYLAMINO)-1,3-DIOXO-1,3-DIHYDRO-2H-ISOINDOL-2-YL]-L-ALANINE'), 16.909 -"HPE": ('f', 'p', 'M', None, 'HOMOPHENYLALANINE'), 16.910 -"PR5": ('a', 'r', 'M', None, "PURINE RIBOSIDE-5'-MONOPHOSPHATE"), 16.911 -"CDE": ('x', 'p', None, None, '1,2-DIMETHYL-PROPYLAMINE'), 16.912 -"SDP": ('s', 'p', 'M', None, '"2-AMINO-3-(DIETHOXY-PHOSPHORYLOXY)-PROPIONIC'), 16.913 -"GN7": ('g', 'd', 'M', None, '"N7-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.914 -"ARV": ('x', 'p', None, None, '5-N-ALLYL-ARGININE'), 16.915 -"2AT": ('t', 'd', 'M', None, "2'-O-ALLYL THYMIDINE-5'-MONOPHOSPHATE"), 16.916 -"T66": ('x', 'p', None, None, '2-AMINOETHYLLYSINE-CARBONYLMETHYLENE-THYMINE'), 16.917 -"LCK": ('k', 'p', 'M', None, '(Z)-N~6~-(2-CARBOXY-1-METHYLETHYLIDENE)-L-LYSINE'), 16.918 -"EHP": ('f', 'p', 'M', None, '3-HYDROXYPHENYLALANINE'), 16.919 -"CHP": ('g', 'p', 'M', None, '3-CHLORO-4-HYDROXYPHENYLGLYCINE'), 16.920 -"HY3": ('p', 'p', 'M', None, '3-HYDROXYPROLINE'), 16.921 -"THX": ('n', 'd', None, None, 'PHOSPHONIC ACID 6-({6-[6-(6-CARBAMOYL-3,6,7,8-TETRAHYDRO-3,6-DIAZA-AS-INDACENE-2-CARBONYL)-3,6,7,8-TETRAHYDRO-3,6-DIAZA-AS-INDOCENE-2-CARBONYL]-3,6,7,8-TETRAHYDRO-3,6-DIAZA-AS-INDACENE-2-CARBONL}-AMINO)-HEXYL ESTER 5-(5-METHYL-2,4-DIOXO-3,4-DIHYDRO-2H-PYRIMIDIN-1-YL)-TETRAHYDRO-FURAN-2-YLMETHYL ESTER'), 16.922 -"LCH": ('n', 'd', None, None, '"[(1R,3R,4R,7S)-7-HYDROXY-3-(5-METHYLCYTOSIN-1-YL)-2,5-DIOXABICYCLO[2.2.1]HEPT-1-YL]METHYL'), 16.923 -"4MF": ('n', 'd', None, None, '1-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-4-METHYL-1H-INDOLE'), 16.924 -"DTR": ('w', 'p', 'M', None, 'D-TRYPTOPHAN'), 16.925 -"MOD": ('x', 'p', None, None, '"L-METHIONYL'), 16.926 -"4MM": ('x', 'p', None, None, '(1S)-1-CARBOXY-N,N,N-TRIMETHYL-3-(METHYLSULFANYL)PROPAN-1-AMINIUM'), 16.927 -"ARO": ('r', 'p', 'M', None, '"C-GAMMA-HYDROXY'), 16.928 -"GSS": ('g', 'd', 'M', None, "2'-DEOXY-N2-(S)STYRENE OXIDE GUANOSINE MONOPHOSPHATE"), 16.929 -"DRZ": ('n', 'd', None, None, '"3\',4\'-DIHYDROXY-PENTANAL-5\'-PHOSPHATE"'), 16.930 -"CCY": ('x', 'p', None, None, '2-(1-AMINO-2-MERCAPTO-ETHYL)-5-(4-HYDROXY-BENZYL)-3-(ETHANOYL)-3,5-DIHYDRO-IMIDAZOL-4-ONE'), 16.931 -"TPQ": ('y', 'p', 'M', None, '5-(2-CARBOXY-2-AMINOETHYL)-2-HYDROXY-1,4-BENZOQUINONE'), 16.932 -"5CS": ('c', 'p', 'M', None, '"2-AMINO-3-(CYSTEIN-S-YL)-ISOXAZOLIDIN-5-YL-ACETIC'), 16.933 -"4OC": ('c', 'r', 'M', None, '"4N,O2\'-METHYLCYTIDINE-5\'-MONOPHOSPHATE"'), 16.934 -"DRP": ('n', 'd', None, None, '"2-DEOXYRIBOFURANOSYL-PYRIDINE-5\'-MONOPHOSPHATE"'), 16.935 -"BOR": ('r', 'p', 'M', None, '"(1R)-1-AMINO-4-{[(E)-AMINO(IMINO)METHYL]AMINO}BUTYLBORONIC'), 16.936 -"DRT": ('t', 'd', 'M', None, "2'-DEOXY-L-RIBO-FURANOSYL THYMINE-5'-MONOPHOSPHATE"), 16.937 -"CCS": ('c', 'p', 'M', None, '"CARBOXYMETHYLATED'), 16.938 -"TS": ('n', 'd', None, None, '"THYMIDINE-5\'-THIOPHOSPHATE"'), 16.939 -"MME": ('m', 'p', 'M', None, '"N-METHYL'), 16.940 -"CCL": ('k', 'p', 'M', None, 'N~6~-[(CYCLOPENTYLOXY)CARBONYL]-D-LYSINE'), 16.941 -"GSC": ('g', 'p', 'M', None, '"2-ETHYLTHIO'), 16.942 -"DRM": ('n', 'd', None, None, '"{[(1R,2S)-2-(2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)CYCLOPENTYL]OXY}METHYLPHOSPHONIC'), 16.943 -"4FB": ('p', 'p', 'M', None, '(4S)-4-FLUORO-L-PROLINE'), 16.944 -"GYS": ('x', 'p', None, None, '"[(4Z)-2-(1-AMINO-2-HYDROXYETHYL)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.945 -"NAL": ('a', 'p', 'M', None, 'BETA-(2-NAPHTHYL)-ALANINE'), 16.946 -"6MT": ('a', 'r', 'M', None, '"TRANS-N6-METHYL-DEOXY-ADENOSINE-5\'-MONOPHOSPHATE"'), 16.947 -"CCC": ('c', 'r', 'M', None, "CYTIDINE-5'-PHOSPHATE-2',3'-CYCLIC PHOSPHATE"), 16.948 -"UMP": ('u', 'r', 'M', None, "2'-DEOXYURIDINE 5'-MONOPHOSPHATE"), 16.949 -"ML3": ('k', 'p', 'M', None, '2-{[(2R)-2-AMINO-2-CARBOXYETHYL]SULFANYL}-N,N,N-TRIMETHYLETHANAMINIUM'), 16.950 -"LPD": ('p', 'p', 'M', None, 'L-PROLINAMIDE'), 16.951 -"OHI": ('h', 'p', 'M', None, '3-(2-OXO-2H-IMIDAZOL-4-YL)-L-ALANINE'), 16.952 -"LYR": ('k', 'p', 'M', None, 'N~6~-[(2Z,4E,6E,8E)-3,7-DIMETHYL-9-(2,6,6-TRIMETHYLCYCLOHEX-1-EN-1-YL)NONA-2,4,6,8-TETRAENYL]LYSINE'), 16.953 -"LYS": ('K', 'p', None, None, 'LYSINE'), 16.954 -"LYX": ('k', 'p', 'M', None, "N''-(2-COENZYME A)-PROPANOYL-LYSINE"), 16.955 -"CYA": ('c', 'p', 'M', None, '"TWO'), 16.956 -"LYZ": ('k', 'p', 'M', None, '5-HYDROXYLYSINE'), 16.957 -"ODP": ('n', 'r', None, None, '"4-OXO-NICOTINAMIDE-ADENINE'), 16.958 -"C3Y": ('c', 'p', 'M', None, 'S-[(1S)-1-HYDROXY-1-(HYDROXYAMINO)ETHYL]-L-CYSTEINE'), 16.959 -"POM": ('p', 'p', 'M', None, 'CIS-5-METHYL-4-OXOPROLINE'), 16.960 -"LYM": ('k', 'p', 'M', None, 'DEOXY-METHYL-LYSINE'), 16.961 -"LYN": ('k', 'p', 'M', None, '"2,6-DIAMINO-HEXANOIC'), 16.962 -"GLQ": ('e', 'p', 'M', None, '"4-AMINO-5-OXO-PENTANOIC'), 16.963 -"PIV": ('x', 'p', None, None, '"PIVALIC'), 16.964 -"OHS": ('d', 'p', 'M', None, 'O-(CARBOXYSULFANYL)-4-OXO-L-HOMOSERINE'), 16.965 -"X9A": ('x', 'p', None, None, 'amino[(3-{(2Z,5S,6S,9R,12S,13R,16R)-5,16-dicarboxy-2-ethylidene-12-[(1E,3E,5S,6R)-6-methoxy-3,5-dimethyl-7-phenylhepta-1,3-dien-1-yl]-1,6,13-trimethyl-3,7,10,14,19-pentaoxo-1,4,8,11,15-pentaazacyclononadecan-9-yl}propyl)amino]methaniminium'), 16.966 -"SMT": ('n', 'r', None, None, '"2\'-[(METHYLTHIO)ETHYLOXY]-THYMIDINE-5\'-MONOPHOSPHATE"'), 16.967 -"XAR": ('n', 'd', None, None, '"[(1R,4S,6S)-4-(6-AMINO-9H-PURIN-9-YL)-6-HYDROXYCYCLOHEX-2-EN-1-YL]METHYL'), 16.968 -"CYD": ('c', 'p', 'M', None, '"2-AMINO-6-(CYSTEIN-S-YL)-5-OXO-HEXANOIC'), 16.969 -"SVA": ('s', 'p', 'M', None, '"SERINE'), 16.970 -"5HT": ('t', 'd', 'M', None, '5-HYDROXY-THYMIDINE'), 16.971 -"5HU": ('n', 'd', None, None, '"5-HYDROXYMETHYLURIDINE-2\'-DEOXY-5\'-MONOPHOSPHATE"'), 16.972 -"XAL": ('a', 'd', 'M', None, '"[(1S,4R,6R)-6-HYDROXY-4-(ADENIN-9-YL)CYCLOHEX-2-EN-1-YL]METHYL'), 16.973 -"T": ('n', 'd', None, None, '"THYMIDINE-5\'-MONOPHOSPHATE"'), 16.974 -"5HP": ('e', 'p', 'M', None, '"PYROGLUTAMIC'), 16.975 -"4SC": ('c', 'd', 'M', None, "4'-THIO-2'-DEOXYCYTIDINE-5'-MONOPHOSPHATE GROUP"), 16.976 -"CQR": ('x', 'p', None, None, '"[(4Z)-2-(AMINOMETHYL)-4-(4-HYDROXYBENZYLIDENE)-5-OXO-4,5-DIHYDRO-1H-IMIDAZOL-1-YL]ACETIC'), 16.977 -"XAD": ('a', 'd', 'M', None, '9-(2,3-DIDEOXY-6-O-PHOSPHONO-BETA-D-ERYTHRO-HEXOPYRANOSYL)-9H-PURIN-6-AMINE'), 16.978 -"XAE": ('n', 'd', None, None, '3-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-3H-IMIDAZO[4,5-G]QUINAZOLIN-8-AMINE'), 16.979 -"TYI": ('y', 'p', 'M', None, '3,5-DIIODOTYROSINE'), 16.980 -"VLL": ('x', 'p', None, None, '"(2S)-2,3-DIAMINOBUTANOIC'), 16.981 -"2BD": ('n', 'd', None, None, "N1-(1-HYDROXY-3-BUTEN-2(S)-YL)-2'-DEOXYINOSINE MONO PHOSPHORIC ACID"), 16.982 -"IIC": ('x', 'p', None, None, '"4-IMIDAZOLMETHYLENE-5-IMIDAZOLONE'), 16.983 -"A66": ('x', 'p', None, None, '2-AMINOETHYLLYSINE-CARBONYLMETHYLENE-ADENINE'), 16.984 -"2EG": ('g', 'd', 'M', None, "2'-DEOXY-N-ETHYLGUANOSINE 5'-PHOSPHATE"), 16.985 -"2SA": ('n', 'r', None, None, '"2-[9-(3,4-DIHYDROXY-5-PHOSPHONOOXYMETHYL-TETRAHYDRO-FURAN-2-YL)-9H-PURIN-6-YLAMINO]-SUCCINIC'), 16.986 -"2CO": ('c', 'p', 'M', None, 'S-HYDROPEROXYCYSTEINE'), 16.987 -"TMD": ('t', 'p', 'M', None, '(6,7-DIHYDRO)4-[(E)-BUTENYL]-4,N-DIMETHYL-THREONINE'), 16.988 -"CXM": ('m', 'p', 'M', None, 'N-CARBOXYMETHIONINE'), 16.989 -"ALA": ('A', 'p', None, None, 'ALANINE'), 16.990 -"GOM": ('g', 'r', 'M', None, 'GLUTAMOL-AMP'), 16.991 -"2VA": ('v', 'p', 'M', None, '"2\'-(L-VALYL)AMINO-2\'-DEOXYADENOSINE"'), 16.992 -"5BU": ('u', 'r', 'M', None, '"5-BROMO-URIDINE-5\'-MONOPHOSPHATE"'), 16.993 -"IGU": ('g', 'd', 'M', None, '"2\'-DEOXYISOGUANINE-5\'-MONOPHOSPHATE"'), 16.994 -"MLE": ('l', 'p', 'M', None, 'N-METHYLLEUCINE'), 16.995 -"T39": ('n', 'r', None, None, "2'-O-METHOXYETHYLENE THYMIDINE 5'-MONOPHOSPHATE"), 16.996 -"FLT": ('y', 'p', 'M', None, '"FLUOROMALONYL'), 16.997 -"U37": ('u', 'r', 'M', None, "URIDINE 5'-MONOTHIOPHOSPHATE"), 16.998 -"U36": ('u', 'r', 'M', None, '"2\'-O-METHYOXYETHYL-URIDINE-5\'-MONOPHOSPHATE"'), 16.999 -"DHL": ('x', 'p', None, None, '2-AMINO-ETHANETHIOL'), 16.1000 -"U33": ('n', 'd', None, None, "5-BROMO-2'-DEOXY URIDINE"), 16.1001 -"TIH": ('a', 'p', 'M', None, 'BETA(2-THIENYL)ALANINE'), 16.1002 -"SMF": ('f', 'p', 'M', None, '4-SULFOMETHYL-L-PHENYLALANINE'), 16.1003 -"FLA": ('a', 'p', 'M', None, 'TRIFLUOROALANINE'), 16.1004 -"HOB": ('n', 'd', None, None, '"CHOLEST-5-EN-3-YL'), 16.1005 -"FLE": ('l', 'p', 'M', None, 'FUROYL-LEUCINE'), 16.1006 -"VDL": ('x', 'p', None, None, '"(2R,3R)-2,3-DIAMINOBUTANOIC'), 16.1007 -"A1P": ('n', 'd', None, None, '9-{2-DEOXY-5-O-[HYDROXY(OXIDO)PHOSPHINO]-BETA-L-ERYTHRO-PENTOFURANOSYL}-9H-PURIN-2-AMINE'), 16.1008 -"0G6": ('x', 'p', None, None, 'D-PHENYLALANYL-N-[(1S)-4-{[AMINO(IMINIO)METHYL]AMINO}-1-(CHLOROACETYL)BUTYL]-L-PROLINAMIDE'), 16.1009 -"LLY": ('k', 'p', 'M', None, 'NZ-(DICARBOXYMETHYL)LYSINE'), 16.1010 -"DHI": ('h', 'p', 'M', None, 'D-HISTIDINE'), 16.1011 -"RON": ('x', 'p', None, None, 'NORVALINE'), 16.1012 -"PTH": ('y', 'p', 'M', None, 'CE1-METHYLENE-HYDROXY-PHOSPHOTYROSINE'), 16.1013 -"T32": ('t', 'd', 'M', None, "6'-ALPHA-METHYL CARBOCYCLIC THYMIDINE 5'-MONOPHOSPHATE"), 16.1014 -"LLP": ('k', 'p', 'M', None, '2-LYSINE(3-HYDROXY-2-METHYL-5-PHOSPHONOOXYMETHYL-PYRIDIN-4-YLMETHANE)'), 16.1015 -"MNU": ('u', 'r', 'M', None, '"(2R,4S)-1-[(4R)-3,4-DIHYDROXYTETRAHYDROFURAN-2-YL]-5-[(METHYLAMINO)METHYL]-1,2,3,4-TETRAHYDROPYRIMIDINE-2,4-DIOL-5\'-MONOPHOSPHATE"'), 16.1016 -"PTA": ('x', 'p', None, None, '"[(1-AMINO-3-METHYL-BUTYL)-HYDROXY-PHOSPHINOYL]-ACETIC'), 16.1017 -"TZO": ('x', 'p', None, None, '"1,3-THIAZOLE-4-CARBOXYLIC'), 16.1018 -"DBZ": ('a', 'p', 'M', None, '3-(BENZOYLAMINO)-L-ALANINE'), 16.1019 -"MNL": ('l', 'p', 'M', None, '4,N-DIMETHYLNORLEUCINE'), 16.1020 -"APN": ('a', 'd', 'M', None, '2-AMINOETHYLGLYCINE-CARBONYLMETHYLENE-ADENINE'), 16.1021 -"OCY": ('c', 'p', 'M', None, 'HYDROXYETHYLCYSTEINE'), 16.1022 -"BCS": ('c', 'p', 'M', None, 'BENZYLCYSTEINE'), 16.1023 -"OSE": ('s', 'p', 'M', None, 'O-SULFO-L-SERINE'), 16.1024 -"3TY": ('x', 'p', None, None, '3-[(3E)-3-(BENZYLHYDRAZONO)-4-HYDROXY-6-OXOCYCLOHEXA-1,4-DIEN-1-YL]-L-ALANINE'), 16.1025 -"SCS": ('c', 'p', 'M', None, '3-(ETHYLDISULFANYL)-L-ALANINE'), 16.1026 -"TYY": ('y', 'p', 'M', None, '3-(4-HYDROXY-3-IMINO-6-OXO-CYCLOHEXA-1,4-DIENYL)-ALANINE'), 16.1027 -"0A5": ('n', 'p', 'M', None, 'N~2~-PROPANOYL-L-ASPARAGINE'), 16.1028 -"PBT": ('n', 'd', None, None, '"[3-HYDROXY-5-(5-METHYL-2,4-DIOXOTETRAHYDRO-1(2H)-PYRIMIDINYL)TETRAHYDRO-2-FURANYL]METHYL'), 16.1029 -"CWR": ('s', 'p', 'M', None, '"(4-METHYL-5-OXO-2,5-DIHYDRO-1H-IMIDAZOL-1-YL)ACETIC'), 16.1030 -"TRO": ('w', 'p', 'M', None, '2-HYDROXY-TRYPTOPHAN'), 16.1031 -"TRN": ('w', 'p', 'M', None, 'NZ2-TRYPTOPHAN'), 16.1032 -"PYO": ('u', 'r', 'M', None, '"1-(BETA-D-RIBOFURANOSYL)-PYRIMIDIN-2-ONE-5\'-PHOSPHATE"'), 16.1033 -"ZGU": ('g', 'r', 'M', None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-GUANINE"'), 16.1034 -"TRG": ('k', 'p', 'M', None, '"L-(N,N'), 16.1035 -"TRF": ('w', 'p', 'M', None, 'N1-FORMYL-TRYPTOPHAN'), 16.1036 -"R1F": ('c', 'p', 'M', None, '3-{[(2,2,5,5-TETRAMETHYL-1-OXO-4-PHENYL-2,5-DIHYDRO-1H-PYRROLIUM-3-YL)METHYL]DISULFANYL}-D-ALANINE'), 16.1037 -"M5M": ('c', 'r', 'M', None, '"2\'-(N-ACETAMIDE)-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.1038 -"PBF": ('f', 'p', 'M', None, 'PARA-(BENZOYL)-PHENYLALANINE'), 16.1039 -"R1B": ('c', 'p', 'M', None, '3-{[(2,2,4,5,5-PENTAMETHYL-1-OXO-2,5-DIHYDRO-1H-PYRROLIUM-3-YL)METHYL]DISULFANYL}-L-ALANINE'), 16.1040 -"DHA": ('a', 'p', 'M', None, '"2-AMINO-ACRYLIC'), 16.1041 -"YCM": ('c', 'p', 'M', None, 'S-(2-AMINO-2-OXOETHYL)-L-CYSTEINE'), 16.1042 -"R1A": ('c', 'p', 'M', None, '3-{[(2,2,5,5-TETRAMETHYL-1-OXO-2,5-DIHYDRO-1H-PYRROLIUM-3-YL)METHYL]DISULFANYL}-D-ALANINE'), 16.1043 -"TRQ": ('w', 'p', 'M', None, '"2-AMINO-3-(6,7-DIOXO-6,7-DIHYDRO-1H-INDOL-3-YL)-PROPIONIC'), 16.1044 -"TRP": ('W', 'p', None, None, 'TRYPTOPHAN'), 16.1045 -"T23": ('n', 'r', None, None, '"2\'-O-METHYL-3\'-METHYL-3\'-DEOXY-ARABINOFURANOSYL-THYMINE-5\'-PHOSPHATE"'), 16.1046 -"TRW": ('w', 'p', 'M', None, '"TRW3-(2-AMINO-3-HYDROXY-PROPYL)-6-(N\'-CYCLOHEXYL-HYDRAZINO)OCTAHYDRO-INDOL-7-OL"'), 16.1047 -"4FW": ('w', 'p', 'M', None, '4-FLUOROTRYPTOPHANE'), 16.1048 -"IVA": ('x', 'p', None, None, '"ISOVALERIC'), 16.1049 -"VOL": ('x', 'p', None, None, 'L-VALINOL'), 16.1050 -"6HT": ('t', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(THYMIN-1-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 16.1051 -"6HG": ('g', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(GUANIN-9-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 16.1052 -"MPJ": ('x', 'p', None, None, '"(1-AMINO-3-METHYLSULFANYL-PROPYL)-PHOSPHINIC'), 16.1053 -"C43": ('c', 'r', 'M', None, '"2\'-O-METHYOXYETHYL-CYTIDINE-5\'-MONOPHOSPHATE"'), 16.1054 -"MPH": ('x', 'p', None, None, '"(1-AMINO-3-METHYLSULFANYL-PROPYL)-PHOSPHONIC'), 16.1055 -"AVN": ('x', 'p', None, None, '"(2S)-AMINO[(5S)-3-CHLORO-4,5-DIHYDROISOXAZOL-5-YL]ACETIC'), 16.1056 -"M3L": ('k', 'p', 'M', None, 'N-TRIMETHYLLYSINE'), 16.1057 -"C5C": ('c', 'p', 'M', None, '"S-CYCLOPENTYL'), 16.1058 -"HTR": ('w', 'p', 'M', None, 'BETA-HYDROXYTRYPTOPHANE'), 16.1059 -"MPQ": ('g', 'p', 'M', None, 'N-METHYL-ALPHA-PHENYL-GLYCINE'), 16.1060 -"ESC": ('m', 'p', 'M', None, '"2-AMINO-4-ETHYL'), 16.1061 -"3ME": ('n', 'd', None, None, '"PHOSPHORIC'), 16.1062 -"TYS": ('y', 'p', 'M', None, 'O-SULFO-L-TYROSINE'), 16.1063 -"6HA": ('a', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(ADENIN-9-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 16.1064 -"KCX": ('k', 'p', 'M', None, '"LYSINE'), 16.1065 -"6HC": ('c', 'd', 'M', None, '"1\',5\'-ANHYDRO-2\',3\'-DIDEOXY-2\'-(CYTOSIN-1-YL)-6\'-O-PHOSPHORYL-D-ARABINO-HEXITOL"'), 16.1066 -"AVC": ('a', 'r', 'M', None, '"ADENOSINE-5\'-MONOPHOSPHATE-2\',3\'-VANADATE"'), 16.1067 -"GTP": ('g', 'r', 'M', None, '"GUANOSINE-5\'-TRIPHOSPHATE"'), 16.1068 -"ACB": ('d', 'p', 'M', None, '"3-METHYL-ASPARTIC'), 16.1069 -"2SI": ('x', 'p', None, None, '"2-O-SULFO-A-L-IDURONIC'), 16.1070 -"NEM": ('h', 'p', 'M', None, '"NE2-METHYLATED'), 16.1071 -"N7P": ('p', 'p', 'M', None, '1-ACETYL-D-PROLINE'), 16.1072 -"SUB": ('x', 'p', None, None, '"3-PHENYL-2-{[4-(TOLUENE-4-SULFONYL)-THIOMORPHOLINE-3-CARBONYL]-AMINO}-PROPIONIC'), 16.1073 -"2AG": ('g', 'p', 'M', None, '"(2S)-2-AMINOPENT-4-ENOIC'), 16.1074 -"SUN": ('s', 'p', 'M', None, 'O-[(R)-(DIMETHYLAMINO)(ETHOXY)PHOSPHORYL]-L-SERINE'), 16.1075 -"SUI": ('x', 'p', None, None, '"(3-AMINO-2,5-DIOXO-1-PYRROLIDINYL)ACETIC'), 16.1076 -"ACL": ('r', 'p', 'M', None, 'DEOXY-CHLOROMETHYL-ARGININE'), 16.1077 -"SUR": ('u', 'r', 'M', None, '"1-(BETA-D-RIBOFURANOSYL)-2-THIO-URACIL-5\'-PHOSPHATE"'), 16.1078 -"BVP": ('n', 'd', None, None, '"(E)-5-(2-BROMOVINYL)-2\'-DEOXYURIDINE-5\'-MONOPHOSPHATE"'), 16.1079 -"HFA": ('x', 'p', None, None, '"ALPHA-HYDROXY-BETA-PHENYL-PROPIONIC'), 16.1080 -"LET": ('x', 'p', None, None, '(Z)-N^6-{3-CARBOXY-1-[(4-CARBOXY-2-OXOBUTOXY)METHYL]PROPYLIDENE}-L-LYSINE'), 16.1081 -"0A8": ('c', 'p', 'M', None, 'S-[(2-CHLOROETHYL)CARBAMOYL]-L-CYSTEINE'), 16.1082 -"D4P": ('x', 'p', None, None, '"(2S)-AMINO(4-HYDROXYPHENYL)ACETIC'), 16.1083 -"2OT": ('t', 'd', 'M', None, "2'-O-[2-(N,N-DIMETHYLAMINOOXY)ETHYL] THYMIDINE-5'-MONOPHOSPHATE"), 16.1084 -"NEP": ('h', 'p', 'M', None, 'N1-PHOSPHONOHISTIDINE'), 16.1085 -"PMT": ('c', 'r', 'M', None, '"PHOSPHORIC'), 16.1086 -"2DT": ('t', 'd', 'M', None, '"3\'-DEOXYTHYMIDINE-5\'-MONOPHOSPHATE"'), 16.1087 -"MLY": ('k', 'p', 'M', None, 'N-DIMETHYL-LYSINE'), 16.1088 -"AD2": ('a', 'd', 'M', None, '"2\'-DEOXY-ADENOSINE-3\'-5\'-DIPHOSPHATE"'), 16.1089 -"CGA": ('e', 'p', 'M', None, '"CARBOXYMETHYLATED'), 16.1090 -"NBQ": ('y', 'p', 'M', None, '2-HYDROXY-5-({1-[(2-NAPHTHYLOXY)METHYL]-3-OXOPROP-1-ENYL}AMINO)TYROSINE'), 16.1091 -"ODS": ('x', 'p', None, None, '"4-METHYLPIPERAZIN-1-YL'), 16.1092 -"7GU": ('g', 'd', 'M', None, '"7-DEAZA-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.1093 -"SAH": ('c', 'p', 'M', None, 'S-ADENOSYL-L-HOMOCYSTEINE'), 16.1094 -"2DF": ('n', 'd', None, None, '"N-(2-DEOXY-BETA-D-ERYTHO-PENTOFURANOSYL-5-PHOSPHATE)'), 16.1095 -"2DA": ('a', 'd', 'M', None, '"2\',3\'-DIDEOXYADENOSINE-5\'-MONOPHOSPHATE"'), 16.1096 -"PCC": ('p', 'p', 'M', None, '5-OXOPROLINE'), 16.1097 -"ODA": ('x', 'p', None, None, '"9-AMINO-6,10-DIOXO-OCTAHYDRO-PYRIDAZINO[1,2-A][1,2]DIAZEPINE-1-CARBOXYLIC'), 16.1098 -"2DO": ('x', 'p', None, None, '(2S)-2-AMINOHEXANE-1,1-DIOL'), 16.1099 -"CGU": ('e', 'p', 'M', None, '"GAMMA-CARBOXY-GLUTAMIC'), 16.1100 -"L2A": ('x', 'p', None, None, '"(2S,5S,8S,11S,15E,20S)-20-AMINO-2-(CARBOXYMETHYL)-11,20-DIMETHYL-5,8-BIS(2-METHYLPROPYL)-3,6,9,21-TETRAOXO-1,4,7,10-TETRAAZACYCLOHENICOS-15-ENE-11-CARBOXYLIC'), 16.1101 -"DNG": ('l', 'p', 'M', None, 'N-FORMYL-D-NORLEUCINE'), 16.1102 -"UMA": ('a', 'p', 'M', None, '"URIDINE-5\'-DIPHOSPHATE-N-ACETYLMURAMOYL-L-ALANINE"'), 16.1103 -"PM3": ('f', 'p', 'M', None, '"2-AMINO-3-(4-PHOSPHONOMETHYL-PHENYL)-PROPIONIC'), 16.1104 -"DNM": ('l', 'p', 'M', None, 'N-METHYL-D-NORLEUCINE'), 16.1105 -"DNL": ('k', 'p', 'M', None, '6-AMINO-HEXANAL'), 16.1106 -"GMA": ('e', 'p', 'M', None, '"4-AMIDO-4-CARBAMOYL-BUTYRIC'), 16.1107 -"1LU": ('l', 'p', 'M', None, '"4-METHYL-PENTANOIC'), 16.1108 -"CDV": ('x', 'p', None, None, '"3-METHYL-2-UREIDO-BUTYRIC'), 16.1109 -"ADX": ('n', 'r', None, None, '"ADENOSINE-5\'-PHOSPHOSULFATE"'), 16.1110 -"LKC": ('n', 'd', None, None, '4-AMINO-1-[(1S,3R,4R,7S)-7-HYDROXY-1-(HYDROXYMETHYL)-2,5-DIOXABICYCLO[2.2.1]HEPT-3-YL]-5-METHYLPYRIMIDIN-2(1H)-ONE'), 16.1111 -"ADD": ('x', 'p', None, None, '"2,6,8-TRIMETHYL-3-AMINO-9-BENZYL-9-METHOXYNONANOIC'), 16.1112 -"CUC": ('x', 'p', None, None, '"CYCLOHEXYLGLYCYL'), 16.1113 -"DNP": ('a', 'p', 'M', None, '3-AMINO-ALANINE'), 16.1114 -"DNS": ('k', 'p', 'M', None, 'N~6~-{[5-(DIMETHYLAMINO)-1-NAPHTHYL]SULFONYL}-L-LYSINE'), 16.1115 -"DNR": ('c', 'd', 'M', None, "2'-DEOXY-N3-PROTONATED CYTIDINE-5'-MONOPHOSPHATE"), 16.1116 -"CG1": ('g', 'r', 'M', None, '"5\'-O-[(R)-HYDROXY(METHOXY)PHOSPHORYL]GUANOSINE"'), 16.1117 -"Z": ('c', 'd', 'M', None, 'ZEBULARINE'), 16.1118 -"GMU": ('n', 'd', None, None, "2'-O-[(2-GUANIDINIUM)ETHYL]-5-METHYLURIDINE 5'-MONOPHOSPHATE"), 16.1119 -"C99": ('x', 'p', None, None, '"{(2R)-2-[(1S,2R)-1-AMINO-2-HYDROXYPROPYL]-2-HYDROXY-4,5-DIOXOIMIDAZOLIDIN-1-YL}ACETIC'), 16.1120 -"GDP": ('g', 'r', 'M', None, '"GUANOSINE-5\'-DIPHOSPHATE"'), 16.1121 -"MED": ('m', 'p', 'M', None, 'D-METHIONINE'), 16.1122 -"GDR": ('g', 'd', 'M', None, '"GUANOSINE-5\'-DIPHOSPHATE-RHAMNOSE"'), 16.1123 -"MEA": ('f', 'p', 'M', None, 'N-METHYLPHENYLALANINE'), 16.1124 -"LEF": ('l', 'p', 'M', None, '(4S)-5-FLUORO-L-LEUCINE'), 16.1125 -"LEH": ('l', 'p', 'M', None, 'N-[12-(1H-IMIDAZOL-1-YL)DODECANOYL]-L-LEUCINE'), 16.1126 -"CHG": ('x', 'p', None, None, '"CYCLOHEXYL-GLYCINE"'), 16.1127 -"MEN": ('n', 'p', 'M', None, '"N-METHYL'), 16.1128 -"G42": ('g', 'd', 'M', None, '"8-OXO-2\'-DEOXY-GUANOSINE-5\'-MONOPHOSPHATE"'), 16.1129 -"5CG": ('g', 'd', 'M', None, '"5\'-CHLORO-5\'-DEOXY-GUANOSINE"'), 16.1130 -"T31": ('u', 'r', 'M', None, "THYMIDINE 5'-MONOTHIOPHOSPHATE"), 16.1131 -"MEU": ('g', 'p', 'M', None, 'O-METHYL-GLYCINE'), 16.1132 -"MET": ('M', 'p', None, None, 'METHIONINE'), 16.1133 -"U34": ('u', 'r', 'M', None, "URIDINE 5'-MONOMETHYLPHOSPHATE"), 16.1134 -"MEQ": ('q', 'p', 'M', None, 'N5-METHYLGLUTAMINE'), 16.1135 -"MEP": ('u', 'r', 'M', None, '"PHOSPHORIC'), 16.1136 -"B1P": ('n', 'd', None, None, '2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSE'), 16.1137 -"IG": ('g', 'r', 'M', None, '"ISOGUANOSINE-5\'-MONOPHOSPHATE"'), 16.1138 -"T2S": ('n', 'r', None, None, '"THYMIDINE-5\'-DITHIOPHOSPHORATE"'), 16.1139 -"ZHP": ('n', 'r', None, None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-HYDROXYPYRIDONE"'), 16.1140 -"AZK": ('k', 'p', 'M', None, '"(S)-2-AMINO-6-AZIDOHEXANOIC'), 16.1141 -"U31": ('u', 'r', 'M', None, "2'-O-3-AMINOPROPYL 2'-DEOXYURIDINE-5'-MONOPHOSPHATE"), 16.1142 -"LTR": ('w', 'p', 'M', None, 'L-TRYPTOPHAN'), 16.1143 -"MSU": ('x', 'p', None, None, '"SUCCINIC'), 16.1144 -"1PA": ('f', 'p', 'M', None, '"PHENYLMETHYLACETIC'), 16.1145 -"MSP": ('a', 'p', 'M', None, '"5\'-O-[(L-METHIONYL)-SULPHAMOYL]ADENOSINE"'), 16.1146 -"MSO": ('m', 'p', 'M', None, '"SELENOMETHIONINE'), 16.1147 -"AZY": ('y', 'p', 'M', None, '3-AZIDO-L-TYROSINE'), 16.1148 -"ENA": ('n', 'r', None, None, 'ETHENO-NAD'), 16.1149 -"MSL": ('m', 'p', 'M', None, '"(2S)-2-AMINO-4-(METHYLSULFONIMIDOYL)BUTANOIC'), 16.1150 -"PF5": ('f', 'p', 'M', None, '2,3,4,5,6-PENTAFLUORO-L-PHENYLALANINE'), 16.1151 -"1PR": ('n', 'r', None, None, '"PHOSPHORIC'), 16.1152 -"3AR": ('x', 'p', None, None, 'N-OMEGA-PROPYL-L-ARGININE'), 16.1153 -"MSE": ('m', 'p', 'M', None, 'SELENOMETHIONINE'), 16.1154 -"AZS": ('s', 'p', 'M', None, 'O-DIAZOACETYL-L-SERINE'), 16.1155 -"MSA": ('g', 'p', 'M', None, '"(2-S-METHYL)'), 16.1156 -"R2P": ('x', 'p', None, None, '"(2R)-2-AMINO-3-(4-HYDROXY-1,2,5-THIADIAZOL-3-YL)PROPANOIC'), 16.1157 -"CAR": ('c', 'd', 'M', None, "CYTOSINE ARABINOSE-5'-PHOSPHATE"), 16.1158 -"DAB": ('a', 'p', 'M', None, '"2,4-DIAMINOBUTYRIC'), 16.1159 -"OTY": ('y', 'p', 'M', None, '"2-AMINO-3-(4-HYDROXY-6-OXOCYCLOHEXA-1,4-DIENYL)PROPANOIC'), 16.1160 -"DAL": ('a', 'p', 'M', None, 'D-ALANINE'), 16.1161 -"DAM": ('x', 'p', None, None, 'N-METHYL-ALPHA-BETA-DEHYDROALANINE'), 16.1162 -"TT": ('n', 'd', None, None, '"[(1R,3R,4S,9R,10S,12R,15AS,15BR,18BR,18CS)-10-HYDROXY-15A,15B-DIMETHYL-13,15,16,18-TETRAOXOHEXADECAHYDRO-8H-9,12-EPOXY-1,4-METHANO-2,5,7-TRIOXA-12A,14,17,18A-TETRAAZACYCLOHEXADECA[1,2,3,4-DEF]BIPHENYLEN-3-YL]METHYL DIHYDROGEN PHOSPHATE"'), 16.1163 -"IOY": ('f', 'p', 'M', None, 'P-IODO-D-PHENYLALANINE'), 16.1164 -"DAH": ('f', 'p', 'M', None, '3,4-DIHYDROXYPHENYLALANINE'), 16.1165 -"8MG": ('g', 'd', 'M', None, '"8-METHYL-2\'-DEOXYGUANOSINE-5\'-MONOPHOSPHATE"'), 16.1166 -"BZG": ('n', 'd', None, None, '6-(BENZYLOXY)-9-(2-DEOXY-5-O-PHOSPHONO-BETA-D-ERYTHRO-PENTOFURANOSYL)-9H-PURIN-2-AMINE'), 16.1167 -"ARM": ('r', 'p', 'M', None, 'DEOXY-METHYL-ARGININE'), 16.1168 -"DAR": ('r', 'p', 'M', None, 'D-ARGININE'), 16.1169 -"DAS": ('d', 'p', 'M', None, '"D-ASPARTIC'), 16.1170 -"MCY": ('c', 'd', 'M', None, '"5-METHYL-2\'-DEOXYCYTIDINE"'), 16.1171 -"SGB": ('s', 'p', 'M', None, 'O-[(S)-METHYL(1-METHYLETHOXY)PHOSPHORYL]-L-SERINE'), 16.1172 -"YRR": ('n', 'd', None, None, '"3-HYDROXY-PYRROLIDIN-2-YLMETHYL-MONOPHOSPHATE'), 16.1173 -"NF2": ('n', 'r', None, None, '(1S)-1,4-ANHYDRO-1-(2,4-DIFLUORO-5-METHYLPHENYL)-5-O-PHOSPHONO-D-RIBITOL'), 16.1174 -"CNU": ('u', 'r', 'M', None, '"5-CYANO-URIDINE-5\'-MONOPHOSPHATE"'), 16.1175 -"E": ('a', 'd', 'M', None, "N-((-)-(7S,8R,9S,10R)[7,8,9-TRIHYDROXY-7,8,9,10-TETRA HYDROBENZO[A]PYREN-10-YL])-2'-DEOXY-ADENOSINE-5'-MONOPHOSPHATE"), 16.1176 -"AA3": ('a', 'p', 'M', None, '"2-AMINOBUTYRIC'), 16.1177 -"GVL": ('x', 'p', None, None, 'O-[(R)-{[(3R)-4-AMINO-3-HYDROXY-2,2-DIMETHYL-4-OXOBUTYL]OXY}(HYDROXY)PHOSPHORYL]-L-SERINE'), 16.1178 -"TNR": ('s', 'p', 'M', None, 'O-(2-ACETAMIDO-2-DEOXY-ALPHA-D-GALACTOPYRANOSYL)-L-SERINE'), 16.1179 -"HOL": ('n', 'd', None, None, '"CHOLEST-5-EN-3-YL'), 16.1180 -"PTM": ('y', 'p', 'M', None, 'ALPHA-METHYL-O-PHOSPHOTYROSINE'), 16.1181 -"AS": ('a', 'd', 'M', None, "2-DEOXY-ADENOSINE -5'-THIO-MONOPHOSPHATE"), 16.1182 -"U": ('U', 'r', None, None, '"URIDINE-5\'-MONOPHOSPHATE"'), 16.1183 -"ESB": ('y', 'p', 'M', None, '3-[(3E)-3-(ETHYLIMINO)-4-HYDROXY-6-OXOCYCLOHEXA-1,4-DIEN-1-YL]-L-ALANINE'), 16.1184 -"DA2": ('x', 'p', None, None, 'NG,NG-DIMETHYL-L-ARGININE'), 16.1185 -"TNB": ('c', 'p', 'M', None, 'S-(2,3,6-TRINITROPHENYL)CYSTEINE'), 16.1186 -"RMP": ('a', 'd', 'M', None, '"2\'-DEOXY-ADENOSINE-5\'-RP-MONOMETHYLPHOSPHONATE"'), 16.1187 -"SME": ('m', 'p', 'M', None, '"METHIONINE'), 16.1188 -"NDF": ('f', 'p', 'M', None, 'N-(CARBOXYCARBONYL)-D-PHENYLALANINE'), 16.1189 -"BOE": ('t', 'd', 'M', None, "2'-O-[2-(BENZYLOXY)ETHYL] THYMIDINE-5'-MONOPHOSPHATE"), 16.1190 -"LGP": ('g', 'd', 'M', None, '"N9-1-HYDROXY-PROP-2-OXYMETHYL-GUANINE-3\'-MONOPHOSPHATE"'), 16.1191 -"SCH": ('c', 'p', 'M', None, 'S-METHYL-THIO-CYSTEINE'), 16.1192 -"T2T": ('n', 'd', None, None, '[(2S,3S,5R)-3-[(2S)-3-({[(2R,3S,4R,5R)-3-HYDROXY-4-METHOXY-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)TETRAHYDROFURAN-2-YL]METHYL}AMINO)-2-METHYL-3-OXOPROPYL]-5-(5-METHYL-2,4-DIOXO-3,4-DIHYDROPYRIMIDIN-1(2H)-YL)TETRAHYDROFURAN-2-YL]METHYL DIHYDROGEN PHOSPHATE'), 16.1193 -"PFF": ('f', 'p', 'M', None, '4-FLUORO-L-PHENYLALANINE'), 16.1194 -"PCE": ('x', 'p', None, None, '"2-(3-AMINO-4-CYCLOHEXYL-2-HYDROXY-BUTYL)-PENT-4-YNOIC'), 16.1195 -"DFO": ('x', 'p', None, None, '2,2-DIFLUORO-3-HYDROSTATINE'), 16.1196 -"DXN": ('n', 'd', None, None, '(1R,3S,4R)-4-(PHOSPHOOXYMETHYL)-CYCLOPENTANE-1,3-DIOL'), 16.1197 -"KGC": ('k', 'p', 'M', None, 'N~6~-[(2R)-2-CARBOXY-5-OXOTETRAHYDROFURAN-2-YL]-L-LYSINE'), 16.1198 -"US1": ('n', 'd', None, None, "2'-DEOXY-3'-THIOURIDINE 5'-(DIHYDROGEN PHOSPHATE)"), 16.1199 -"HHK": ('x', 'p', None, None, '"(2S)-2,8-DIAMINOOCTANOIC'), 16.1200 -"DXD": ('n', 'd', None, None, '(1S,3S,4R)-4-(PHOSPHOOXYMETHYL)-CYCLOPENTANE-1,3-DIOL'), 16.1201 -"ZCY": ('c', 'r', 'M', None, '"(S)-1\'-(2\',3\'-DIHYDROXYPROPYL)-CYTOSINE"'), 16.1202 -"IEL": ('k', 'p', 'M', None, 'N~6~-[(1Z)-ETHANIMIDOYL]-L-LYSINE'), 16.1203 -}
17.1 --- a/lib/allpy_data/__init__.py Thu Nov 18 00:01:07 2010 +0300 17.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 17.3 @@ -1,3 +0,0 @@ 17.4 -""" 17.5 -Module that contains various data relevant to biological sequences. 17.6 -"""
18.1 --- a/lib/allpy_data/amino_acids.py Thu Nov 18 00:01:07 2010 +0300 18.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 18.3 @@ -1,8 +0,0 @@ 18.4 - 18.5 -amino_acids = [ 18.6 - 'A', 'C', 'D', 'E', 'F', 18.7 - 'G', 'H', 'I', 'K', 'L', 18.8 - 'M', 'N', 'P', 'Q', 'R', 18.9 - 'S', 'T', 'V', 'W', 'Y', 18.10 -] 18.11 -
19.1 --- a/lib/allpy_data/blossum62.py Thu Nov 18 00:01:07 2010 +0300 19.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 19.3 @@ -1,28 +0,0 @@ 19.4 -matrix = { 19.5 -"A": {"A": 4, "R": -1, "N": -2, "D": -2, "C": 0, "Q": -1, "E": -1, "G": 0, "H": -2, "I": -1, "L": -1, "K": -1, "M": -1, "F": -2, "P": -1, "S": 1, "T": 0, "W": -3, "Y": -2, "V": 0, "B": -2, "Z": -1, "X": 0, "*": -4}, 19.6 -"R": {"A": -1, "R": 5, "N": 0, "D": -2, "C": -3, "Q": 1, "E": 0, "G": -2, "H": 0, "I": -3, "L": -2, "K": 2, "M": -1, "F": -3, "P": -2, "S": -1, "T": -1, "W": -3, "Y": -2, "V": -3, "B": -1, "Z": 0, "X": -1, "*": -4}, 19.7 -"N": {"A": -2, "R": 0, "N": 6, "D": 1, "C": -3, "Q": 0, "E": 0, "G": 0, "H": 1, "I": -3, "L": -3, "K": 0, "M": -2, "F": -3, "P": -2, "S": 1, "T": 0, "W": -4, "Y": -2, "V": -3, "B": 3, "Z": 0, "X": -1, "*": -4}, 19.8 -"D": {"A": -2, "R": -2, "N": 1, "D": 6, "C": -3, "Q": 0, "E": 2, "G": -1, "H": -1, "I": -3, "L": -4, "K": -1, "M": -3, "F": -3, "P": -1, "S": 0, "T": -1, "W": -4, "Y": -3, "V": -3, "B": 4, "Z": 1, "X": -1, "*": -4}, 19.9 -"C": {"A": 0, "R": -3, "N": -3, "D": -3, "C": 9, "Q": -3, "E": -4, "G": -3, "H": -3, "I": -1, "L": -1, "K": -3, "M": -1, "F": -2, "P": -3, "S": -1, "T": -1, "W": -2, "Y": -2, "V": -1, "B": -3, "Z": -3, "X": -2, "*": -4}, 19.10 -"Q": {"A": -1, "R": 1, "N": 0, "D": 0, "C": -3, "Q": 5, "E": 2, "G": -2, "H": 0, "I": -3, "L": -2, "K": 1, "M": 0, "F": -3, "P": -1, "S": 0, "T": -1, "W": -2, "Y": -1, "V": -2, "B": 0, "Z": 3, "X": -1, "*": -4}, 19.11 -"E": {"A": -1, "R": 0, "N": 0, "D": 2, "C": -4, "Q": 2, "E": 5, "G": -2, "H": 0, "I": -3, "L": -3, "K": 1, "M": -2, "F": -3, "P": -1, "S": 0, "T": -1, "W": -3, "Y": -2, "V": -2, "B": 1, "Z": 4, "X": -1, "*": -4}, 19.12 -"G": {"A": 0, "R": -2, "N": 0, "D": -1, "C": -3, "Q": -2, "E": -2, "G": 6, "H": -2, "I": -4, "L": -4, "K": -2, "M": -3, "F": -3, "P": -2, "S": 0, "T": -2, "W": -2, "Y": -3, "V": -3, "B": -1, "Z": -2, "X": -1, "*": -4}, 19.13 -"H": {"A": -2, "R": 0, "N": 1, "D": -1, "C": -3, "Q": 0, "E": 0, "G": -2, "H": 8, "I": -3, "L": -3, "K": -1, "M": -2, "F": -1, "P": -2, "S": -1, "T": -2, "W": -2, "Y": 2, "V": -3, "B": 0, "Z": 0, "X": -1, "*": -4}, 19.14 -"I": {"A": -1, "R": -3, "N": -3, "D": -3, "C": -1, "Q": -3, "E": -3, "G": -4, "H": -3, "I": 4, "L": 2, "K": -3, "M": 1, "F": 0, "P": -3, "S": -2, "T": -1, "W": -3, "Y": -1, "V": 3, "B": -3, "Z": -3, "X": -1, "*": -4}, 19.15 -"L": {"A": -1, "R": -2, "N": -3, "D": -4, "C": -1, "Q": -2, "E": -3, "G": -4, "H": -3, "I": 2, "L": 4, "K": -2, "M": 2, "F": 0, "P": -3, "S": -2, "T": -1, "W": -2, "Y": -1, "V": 1, "B": -4, "Z": -3, "X": -1, "*": -4}, 19.16 -"K": {"A": -1, "R": 2, "N": 0, "D": -1, "C": -3, "Q": 1, "E": 1, "G": -2, "H": -1, "I": -3, "L": -2, "K": 5, "M": -1, "F": -3, "P": -1, "S": 0, "T": -1, "W": -3, "Y": -2, "V": -2, "B": 0, "Z": 1, "X": -1, "*": -4}, 19.17 -"M": {"A": -1, "R": -1, "N": -2, "D": -3, "C": -1, "Q": 0, "E": -2, "G": -3, "H": -2, "I": 1, "L": 2, "K": -1, "M": 5, "F": 0, "P": -2, "S": -1, "T": -1, "W": -1, "Y": -1, "V": 1, "B": -3, "Z": -1, "X": -1, "*": -4}, 19.18 -"F": {"A": -2, "R": -3, "N": -3, "D": -3, "C": -2, "Q": -3, "E": -3, "G": -3, "H": -1, "I": 0, "L": 0, "K": -3, "M": 0, "F": 6, "P": -4, "S": -2, "T": -2, "W": 1, "Y": 3, "V": -1, "B": -3, "Z": -3, "X": -1, "*": -4}, 19.19 -"P": {"A": -1, "R": -2, "N": -2, "D": -1, "C": -3, "Q": -1, "E": -1, "G": -2, "H": -2, "I": -3, "L": -3, "K": -1, "M": -2, "F": -4, "P": 7, "S": -1, "T": -1, "W": -4, "Y": -3, "V": -2, "B": -2, "Z": -1, "X": -2, "*": -4}, 19.20 -"S": {"A": 1, "R": -1, "N": 1, "D": 0, "C": -1, "Q": 0, "E": 0, "G": 0, "H": -1, "I": -2, "L": -2, "K": 0, "M": -1, "F": -2, "P": -1, "S": 4, "T": 1, "W": -3, "Y": -2, "V": -2, "B": 0, "Z": 0, "X": 0, "*": -4}, 19.21 -"T": {"A": 0, "R": -1, "N": 0, "D": -1, "C": -1, "Q": -1, "E": -1, "G": -2, "H": -2, "I": -1, "L": -1, "K": -1, "M": -1, "F": -2, "P": -1, "S": 1, "T": 5, "W": -2, "Y": -2, "V": 0, "B": -1, "Z": -1, "X": 0, "*": -4}, 19.22 -"W": {"A": -3, "R": -3, "N": -4, "D": -4, "C": -2, "Q": -2, "E": -3, "G": -2, "H": -2, "I": -3, "L": -2, "K": -3, "M": -1, "F": 1, "P": -4, "S": -3, "T": -2, "W": 11, "Y": 2, "V": -3, "B": -4, "Z": -3, "X": -2, "*": -4}, 19.23 -"Y": {"A": -2, "R": -2, "N": -2, "D": -3, "C": -2, "Q": -1, "E": -2, "G": -3, "H": 2, "I": -1, "L": -1, "K": -2, "M": -1, "F": 3, "P": -3, "S": -2, "T": -2, "W": 2, "Y": 7, "V": -1, "B": -3, "Z": -2, "X": -1, "*": -4}, 19.24 -"V": {"A": 0, "R": -3, "N": -3, "D": -3, "C": -1, "Q": -2, "E": -2, "G": -3, "H": -3, "I": 3, "L": 1, "K": -2, "M": 1, "F": -1, "P": -2, "S": -2, "T": 0, "W": -3, "Y": -1, "V": 4, "B": -3, "Z": -2, "X": -1, "*": -4}, 19.25 -"B": {"A": -2, "R": -1, "N": 3, "D": 4, "C": -3, "Q": 0, "E": 1, "G": -1, "H": 0, "I": -3, "L": -4, "K": 0, "M": -3, "F": -3, "P": -2, "S": 0, "T": -1, "W": -4, "Y": -3, "V": -3, "B": 4, "Z": 0, "X": -1, "*": -4}, 19.26 -"Z": {"A": -1, "R": 0, "N": 0, "D": 1, "C": -3, "Q": 3, "E": 4, "G": -2, "H": 0, "I": -3, "L": -3, "K": 1, "M": -1, "F": -3, "P": -1, "S": 0, "T": -1, "W": -3, "Y": -2, "V": -2, "B": 0, "Z": 4, "X": -1, "*": -4}, 19.27 -"X": {"A": 0, "R": -1, "N": -1, "D": -1, "C": -2, "Q": -1, "E": -1, "G": -1, "H": -1, "I": -1, "L": -1, "K": -1, "M": -1, "F": -1, "P": -2, "S": 0, "T": 0, "W": -2, "Y": -1, "V": -1, "B": -1, "Z": -1, "X": -1, "*": -4}, 19.28 -"*": {"A": -4, "R": -4, "N": -4, "D": -4, "C": -4, "Q": -4, "E": -4, "G": -4, "H": -4, "I": -4, "L": -4, "K": -4, "M": -4, "F": -4, "P": -4, "S": -4, "T": -4, "W": -4, "Y": -4, "V": -4, "B": -4, "Z": -4, "X": -4, "*": 1} 19.29 -} 19.30 - 19.31 -gaps = (-8, -4, -2, -1)
20.1 --- a/lib/allpy_pdb.py Thu Nov 18 00:01:07 2010 +0300 20.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 20.3 @@ -1,67 +0,0 @@ 20.4 - 20.5 -import re 20.6 -from Bio.PDB import PDBParser 20.7 - 20.8 -""" Functions to get pdb information from fasta id 20.9 -and to generate fasta id from pdb information 20.10 - 20.11 -pdb information: code, chain, model 20.12 - 20.13 -TODO: same for local pdb files 20.14 -""" 20.15 - 20.16 -# for pdb-codes 20.17 -re1 = re.compile(r"(^|[^a-z0-9])(?P<code>[0-9][0-9a-z]{3})([^a-z0-9](?P<chain>[0-9a-z ]?)(?P<model>[^a-z0-9]([0-9]{1,3}))?)?", re.I) 20.18 - 20.19 -#~ # for files 20.20 -#~ re2 = re.compile(r"(^)([^^]+\.(ent|pdb))([^a-zA-Z0-9]([0-9A-Za-z ]?)([^a-zA-Z0-9]([0-9]{1,3}))?)?$") 20.21 - 20.22 -def std_id(pdb_id, pdb_chain, pdb_model=None): 20.23 - if pdb_model: 20.24 - return "%s_%s_%s" % \ 20.25 - (pdb_id.lower().strip(), pdb_chain.upper().strip(), pdb_model) 20.26 - else: 20.27 - return "%s_%s" % \ 20.28 - (pdb_id.lower().strip(), pdb_chain.upper().strip()) 20.29 - 20.30 -def pdb_id_parse(ID): 20.31 - match = re1.search(ID) 20.32 - if not match: 20.33 - return None 20.34 - d = match.groupdict() 20.35 - if 'chain' not in d or not d['chain']: 20.36 - d['chain'] = ' ' 20.37 - if 'model' not in d or not d['model']: 20.38 - d['model'] = 0 20.39 - return d 20.40 - 20.41 - 20.42 -def get_structure(file, name): 20.43 - return PDBParser().get_structure(name, file) 20.44 - 20.45 -#~ def std_id_parse(ID): 20.46 - #~ """ 20.47 - #~ Parse standart ID to pdb_code, chain and model 20.48 - #~ """ 20.49 - #~ if '.ent' in ID.lower() or '.pdb' in ID.lower(): 20.50 - #~ # it is file 20.51 - #~ parseO = self.re2.search(ID) # files 20.52 - #~ else: 20.53 - #~ parseO = self.re1.search(ID.lower()) # pdb codes 20.54 - #~ if not parseO: 20.55 - #~ return None 20.56 - #~ parse = parseO.groups() 20.57 - #~ if len(parse) < 2: 20.58 - #~ return None 20.59 - #~ code = parse[1] 20.60 - #~ chain = '' 20.61 - #~ model = None 20.62 - #~ if len(parse) >= 4: 20.63 - #~ chain = parse[3] 20.64 - #~ if chain: 20.65 - #~ chain = chain.upper() 20.66 - #~ if len(parse) >= 6: 20.67 - #~ if parse[5]: 20.68 - #~ model = parse[5] 20.69 - #~ return code, chain, model 20.70 -
21.1 --- a/lib/block.py Thu Nov 18 00:01:07 2010 +0300 21.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 21.3 @@ -1,172 +0,0 @@ 21.4 -#!usr/bin/python 21.5 - 21.6 -import sys 21.7 - 21.8 -import alignment 21.9 -import sequence 21.10 -import monomer 21.11 -import config 21.12 -from graph import Graph 21.13 -from Bio.PDB import Superimposer 21.14 -from tempfile import NamedTemporaryFile 21.15 -import os 21.16 -from fasta import save_fasta 21.17 - 21.18 -class Block(object): 21.19 - """ Block of alignment 21.20 - 21.21 - Mandatory data: 21.22 - * self.alignment -- alignment object, which the block belongs to 21.23 - * self.sequences - set of sequence objects that contain monomers 21.24 - and/or gaps, that constitute the block 21.25 - * self.positions -- list of positions of the alignment.body that 21.26 - are included in the block; position[i+1] is always to the right from position[i] 21.27 - 21.28 - Don't change self.sequences -- it may be a link to other block.sequences 21.29 - 21.30 - How to create a new block: 21.31 - >>> import alignment 21.32 - >>> import block 21.33 - >>> proj = alignment.Alignment(open("test.fasta")) 21.34 - >>> block1 = block.Block(proj) 21.35 - """ 21.36 - 21.37 - def __init__(self, alignment, sequences=None, positions=None): 21.38 - """ Builds new block from alignment 21.39 - 21.40 - if sequences==None, all sequences are used 21.41 - if positions==None, all positions are used 21.42 - """ 21.43 - if sequences == None: 21.44 - sequences = set(alignment.sequences) # copy 21.45 - if positions == None: 21.46 - positions = range(len(alignment)) 21.47 - self.alignment = alignment 21.48 - self.sequences = sequences 21.49 - self.positions = positions 21.50 - 21.51 - def save_fasta(self, out_file, long_line=70, gap='-'): 21.52 - """ Saves alignment to given file in fasta-format 21.53 - 21.54 - No changes in the names, descriptions or order of the sequences 21.55 - are made. 21.56 - """ 21.57 - for sequence in self.sequences: 21.58 - alignment_monomers = self.alignment.body[sequence] 21.59 - block_monomers = [alignment_monomers[i] for i in self.positions] 21.60 - string = ''.join([m.type.code1 if m else '-' for m in block_monomers]) 21.61 - save_fasta(out_file, string, sequence.name, sequence.description, long_line) 21.62 - 21.63 - def geometrical_cores(self, max_delta=config.delta, 21.64 - timeout=config.timeout, minsize=config.minsize, 21.65 - ac_new_atoms=config.ac_new_atoms, 21.66 - ac_count=config.ac_count): 21.67 - """ Returns length-sorted list of blocks, representing GCs 21.68 - 21.69 - max_delta -- threshold of distance spreading 21.70 - timeout -- Bron-Kerbosh timeout (then fast O(n ln n) algorithm) 21.71 - minsize -- min size of each core 21.72 - ac_new_atoms -- min part or new atoms in new alternative core 21.73 - current GC is compared with each of already selected GCs 21.74 - if difference is less then ac_new_atoms, current GC is skipped 21.75 - difference = part of new atoms in current core 21.76 - ac_count -- max number of cores (including main core) 21.77 - -1 means infinity 21.78 - If more than one pdb chain for some sequence provided, consider all of them 21.79 - cost is calculated as 1 / (delta + 1) 21.80 - delta in [0, +inf) => cost in (0, 1] 21.81 - """ 21.82 - nodes = self.positions 21.83 - lines = {} 21.84 - for i in self.positions: 21.85 - for j in self.positions: 21.86 - if i < j: 21.87 - distances = [] 21.88 - for sequence in self.sequences: 21.89 - for chain in sequence.pdb_chains: 21.90 - m1 = self.alignment.body[sequence][i] 21.91 - m2 = self.alignment.body[sequence][j] 21.92 - if m1 and m2: 21.93 - r1 = sequence.pdb_residues[chain][m1] 21.94 - r2 = sequence.pdb_residues[chain][m2] 21.95 - ca1 = r1['CA'] 21.96 - ca2 = r2['CA'] 21.97 - d = ca1 - ca2 # Bio.PDB feature 21.98 - distances.append(d) 21.99 - if len(distances) >= 2: 21.100 - delta = max(distances) - min(distances) 21.101 - if delta <= max_delta: 21.102 - lines[Graph.line(i, j)] = 1.0 / (1.0 + max_delta) 21.103 - graph = Graph(nodes, lines) 21.104 - cliques = graph.cliques(timeout=timeout, minsize=minsize) 21.105 - GCs = [] 21.106 - for clique in cliques: 21.107 - for GC in GCs: 21.108 - if len(clique - set(GC.positions)) < ac_new_atoms * len(clique): 21.109 - break 21.110 - else: 21.111 - GCs.append(Block(self.alignment, self.sequences, clique)) 21.112 - if ac_count != -1 and len(GCs) >= ac_count: 21.113 - break 21.114 - return GCs 21.115 - 21.116 - def xstring(self, x='X', gap='-'): 21.117 - """ Returns string consisting of gap chars and chars x at self.positions 21.118 - 21.119 - Length of returning string = length of alignment 21.120 - """ 21.121 - monomers = [False] * len(self.alignment) 21.122 - for i in self.positions: 21.123 - monomers[i] = True 21.124 - return ''.join([x if m else gap for m in monomers]) 21.125 - 21.126 - def save_xstring(self, out_file, name, description='', x='X', gap='-', long_line=70): 21.127 - """ Save xstring and name in fasta format """ 21.128 - save_fasta(out_file, self.xstring(x=x, gap=gap), name, description, long_line) 21.129 - 21.130 - def monomers(self, sequence): 21.131 - """ Iterates monomers of this sequence from this block """ 21.132 - alignment_sequence = self.alignment.body[sequence] 21.133 - return (alignment_sequence[i] for i in self.positions) 21.134 - 21.135 - def ca_atoms(self, sequence, pdb_chain): 21.136 - """ Iterates Ca-atom of monomers of this sequence from this block """ 21.137 - return (sequence.pdb_residues[pdb_chain][monomer] for monomer in self.monomers()) 21.138 - 21.139 - def sequences_chains(self): 21.140 - """ Iterates pairs (sequence, chain) """ 21.141 - for sequence in self.alignment.sequences: 21.142 - if sequence in self.sequences: 21.143 - for chain in sequence.pdb_chains: 21.144 - yield (sequence, chain) 21.145 - 21.146 - def superimpose(self): 21.147 - """ Superimpose all pdb_chains in this block """ 21.148 - sequences_chains = list(self.sequences_chains()) 21.149 - if len(sequences_chains) >= 1: 21.150 - sup = Superimposer() 21.151 - fixed_sequence, fixed_chain = sequences_chains.pop() 21.152 - fixed_atoms = self.ca_atoms(fixed_sequence, fixed_chain) 21.153 - for sequence, chain in sequences_chains: 21.154 - moving_atoms = self.ca_atoms(sequence, chain) 21.155 - sup.set_atoms(fixed_atoms, moving_atoms) 21.156 - # Apply rotation/translation to the moving atoms 21.157 - sup.apply(moving_atoms) 21.158 - 21.159 - def pdb_save(self, out_file): 21.160 - """ Save all sequences 21.161 - 21.162 - Returns {(sequence, chain): CHAIN} 21.163 - CHAIN is chain letter in new file 21.164 - """ 21.165 - tmp_file = NamedTemporaryFile(delete=False) 21.166 - tmp_file.close() 21.167 - 21.168 - for sequence, chain in self.sequences_chains(): 21.169 - sequence.pdb_save(tmp_file.name, chain) 21.170 - # TODO: read from tmp_file.name 21.171 - # change CHAIN 21.172 - # add to out_file 21.173 - 21.174 - os.unlink(NamedTemporaryFile) 21.175 -
22.1 --- a/lib/config.py Thu Nov 18 00:01:07 2010 +0300 22.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 22.3 @@ -1,18 +0,0 @@ 22.4 - 22.5 -delta = 2.0 # for geometrical core building 22.6 -minsize = 20 # min size of returning cores 22.7 -maxabsent = 0.15 # deprecated? 22.8 - 22.9 -# pdb download url (XXXX is pdb code place) 22.10 -pdb_url = 'http://www.pdb.org/pdb/files/%s.pdb' 22.11 -pdb_dir = '/tmp/%s.pdb' 22.12 -timeout = 10 # time in sec. for BRON-KERBOSH algorithm 22.13 - 22.14 - 22.15 -# min part or new atoms in new alternative core 22.16 -ac_new_atoms = 0.5 22.17 - 22.18 -# max number of cores (including main core) 22.19 -ac_count = 5 22.20 - 22.21 -
23.1 --- a/lib/fasta.py Thu Nov 18 00:01:07 2010 +0300 23.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 23.3 @@ -1,21 +0,0 @@ 23.4 -def save_fasta(out_file, string, name, description='', long_line=70): 23.5 - """ Saves given string to out_file in fasta_format 23.6 - 23.7 - Splits long lines to substrings of length=long_line 23.8 - To prevent this, set long_line=None 23.9 - """ 23.10 - out_file.write(">%(name)s %(description)s \n" % {'name':name, 'description':description}) 23.11 - if long_line: 23.12 - for i in range(0, len(string) // long_line + 1): 23.13 - out_file.write("%s \n" % string[i*long_line : i*long_line + long_line]) 23.14 - else: 23.15 - out_file.write("%s \n" % string) 23.16 - 23.17 -def determine_long_line(in_file): 23.18 - """ Returns maximum sequence line length in fasta file """ 23.19 - sequences = in_file.read().split('>') 23.20 - for sequence in sequences[1:]: 23.21 - lines = sequence.split('\n')[1:] 23.22 - if len(lines) >= 2: 23.23 - return len(lines[0].strip()) 23.24 - return 70
24.1 --- a/lib/graph.py Thu Nov 18 00:01:07 2010 +0300 24.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 24.3 @@ -1,288 +0,0 @@ 24.4 -# -*- coding: utf-8 -*- 24.5 - 24.6 -from datetime import datetime, timedelta 24.7 -from copy import copy 24.8 - 24.9 -class TimeoutError(Exception): 24.10 - pass 24.11 - 24.12 - 24.13 - 24.14 -class Graph(object): 24.15 - """ Undirected weighted graph 24.16 - 24.17 - Data: 24.18 - nodes -- set of elements 24.19 - lines -- {line: cost}. 24.20 - line is frozenset([e1, e2]) 24.21 - cost is float in (0, 1] or 1 (if all lines are equal) 24.22 - 24.23 - >>> g = Graph(set([1,2,3]), {frozenset([1,2]): 1}) 24.24 - >>> g.fast_cliques() 24.25 - Fast algorithm started 24.26 - [frozenset([1, 2]), frozenset([3])] 24.27 - >>> g = Graph(set([1,2,3]), {frozenset([1,2]): 1, frozenset([1,1]): 1}) 24.28 - >>> g.fast_cliques() 24.29 - Fast algorithm started 24.30 - [frozenset([1, 2]), frozenset([3])] 24.31 - >>> g = Graph(set([1,2,3,4]), {frozenset([1,2]): 0.98, frozenset([1,3]): 0.98, 24.32 - ... frozenset([2,3]): 0.1, frozenset([1,1]): 1}) 24.33 - >>> g.fast_cliques() 24.34 - Fast algorithm started 24.35 - [frozenset([1, 2, 3]), frozenset([4])] 24.36 - >>> g.bron_kerbosh() 24.37 - Bron and Kerbosh algorithm started 24.38 - [frozenset([1, 2, 3]), frozenset([4])] 24.39 - >>> g.cliques() 24.40 - Bron and Kerbosh algorithm started 24.41 - [frozenset([1, 2, 3])] 24.42 - """ 24.43 - 24.44 - def __init__(self, nodes=None, lines=None): 24.45 - if not nodes: 24.46 - nodes = set() 24.47 - if not lines: 24.48 - lines = dict() 24.49 - self.nodes = set(nodes) # copy 24.50 - self.lines = {} 24.51 - for line, cost in lines.items(): 24.52 - if len(line) == 2 and line.issubset(self.nodes): 24.53 - self.lines[line] = cost 24.54 - 24.55 - @staticmethod 24.56 - def line(k1, k2): 24.57 - """ Construct object, representing line of graph """ 24.58 - return frozenset([k1, k2]) 24.59 - 24.60 - def bounded(self, k1, k2): 24.61 - """ Return if these two nodes of the graph are bounded with line """ 24.62 - return k1 == k2 or Graph.line(k1, k2) in self.lines 24.63 - 24.64 - def count_one(self, node): 24.65 - """ Returns number of connections of this node """ 24.66 - return len([node1 for node1 in self.nodes if self.bounded(node, node1)]) - 1 24.67 - 24.68 - def cost_one(self, node): 24.69 - """ Returns sum of costs of all connections of this node """ 24.70 - return sum([self.lines.get(Graph.line(node, node1), 0) 24.71 - for node1 in self.nodes if node != node1]) 24.72 - 24.73 - def count_all(self): 24.74 - """ Returns {node: number of connections of this node} """ 24.75 - c = dict([(node, 0) for node in self.nodes]) 24.76 - for line in self.lines: 24.77 - for node in line: 24.78 - c[node] += 1 24.79 - return c 24.80 - 24.81 - 24.82 - def drop_node(self, node): 24.83 - """ Remove node and all involved lines """ 24.84 - for node1 in self.nodes: 24.85 - self.lines.pop(Graph.line(node, node1), None) 24.86 - self.nodes.discard(node) 24.87 - 24.88 - def add_node(self, node, parent_graph): 24.89 - """ Add node and corresponding lines from parent_graph 24.90 - 24.91 - Added lines should be contained in self graph 24.92 - (takes care of hanging lines) 24.93 - """ 24.94 - self.nodes.add(node) 24.95 - for node1 in self.nodes: 24.96 - line = Graph.line(node, node1) 24.97 - if line in parent_graph.lines: 24.98 - self.lines[line] = parent_graph.lines[line] 24.99 - 24.100 - def drop_nodes(self, nodes): 24.101 - """ Run drop_node for each of given nodes 24.102 - 24.103 - Returns if nodes was not empty (ugly beauty) 24.104 - """ 24.105 - for node in nodes: 24.106 - self.drop_node(node) 24.107 - return bool(nodes) 24.108 - 24.109 - def drop_if_count(self, minsize): 24.110 - """ Run drop_node for each node, that has less than minsize lines """ 24.111 - while True: 24.112 - if not self.drop_nodes([node for (node, count) 24.113 - in self.count_all().items() if count < minsize]): 24.114 - break 24.115 - 24.116 - def bron_kerbosh(self, timeout=-1, minsize=1): 24.117 - """ Bron and Kerboch algorithm implementation 24.118 - 24.119 - returns list of cliques 24.120 - clique is frozenset 24.121 - if timeout=-1, it means infinity 24.122 - if timeout has happened, raises TimeoutError 24.123 - 24.124 - lava flow 24.125 - """ 24.126 - print 'Bron and Kerbosh algorithm started' 24.127 - cliques = [] 24.128 - 24.129 - depth = 0 24.130 - list_candidates = [copy(self.nodes)] 24.131 - list_used = [set()] 24.132 - compsub = [] 24.133 - 24.134 - start_time = datetime.now() 24.135 - timeout_timedelta = timedelta(timeout) 24.136 - 24.137 - while True: # ПОКА... 24.138 - if depth == -1: 24.139 - break # ВСЕ! Все рекурсии (итерации) пройдены 24.140 - candidates = copy(list_candidates[depth]) 24.141 - used = copy(list_used[depth]) 24.142 - if not candidates: # ПОКА candidates НЕ пусто 24.143 - depth -= 1 24.144 - if compsub: 24.145 - compsub.pop() 24.146 - continue 24.147 - 24.148 - # И used НЕ содержит вершины, СОЕДИНЕННОЙ СО ВСЕМИ вершинами из candidates 24.149 - # (все из used НЕ соединены хотя бы с 1 из candidates) 24.150 - used_candidates = False 24.151 - 24.152 - for used1 in used: 24.153 - for candidates1 in candidates: 24.154 - if not self.bounded(used1, candidates1): 24.155 - break 24.156 - else: 24.157 - used_candidates = True 24.158 - 24.159 - if used_candidates: 24.160 - depth -= 1 24.161 - 24.162 - if compsub: 24.163 - compsub.pop() 24.164 - continue 24.165 - 24.166 - # Выбираем вершину v из candidates и добавляем ее в compsub 24.167 - v = candidates.pop() 24.168 - candidates.add(v) 24.169 - compsub.append(v) 24.170 - # Формируем new_candidates и new_used, удаляя из candidates и used вершины, НЕ соединенные с v 24.171 - # (то есть, оставляя только соединенные с v) 24.172 - new_candidates = set() 24.173 - for candidates1 in candidates: 24.174 - if self.bounded(candidates1, v) and candidates1 != v: 24.175 - new_candidates.add(candidates1) 24.176 - 24.177 - new_used = set() 24.178 - for used1 in used: 24.179 - if self.bounded(used1, v) and used1 != v: 24.180 - new_used.add(used1) 24.181 - 24.182 - # Удаляем v из candidates и помещаем в used 24.183 - list_candidates[depth].remove(v) 24.184 - list_used[depth].add(v) 24.185 - # ЕСЛИ new_candidates и new_used пусты 24.186 - if not new_candidates and not new_used: 24.187 - # compsub ? клика 24.188 - if len(compsub) >= minsize: 24.189 - cliques.append(frozenset(compsub)) 24.190 - else: 24.191 - # ИНАЧЕ рекурсивно вызываем bron_kerbosh(new_candidates, new_used) 24.192 - depth += 1 24.193 - 24.194 - # TIMEOUT check start 24.195 - if timeout != -1: 24.196 - if datetime.now() - start_time > timeout_timedelta: 24.197 - raise TimeoutError 24.198 - # TIMEOUT check end 24.199 - 24.200 - if depth >= len(list_candidates): 24.201 - list_candidates.append(set()) 24.202 - list_used.append(set()) 24.203 - 24.204 - list_candidates[depth] = copy(new_candidates) 24.205 - list_used[depth] = copy(new_used) 24.206 - 24.207 - continue 24.208 - 24.209 - # Удаляем v из compsub 24.210 - if compsub: 24.211 - compsub.pop() 24.212 - 24.213 - return cliques 24.214 - 24.215 - 24.216 - def fast_cliques(self, minsize=1): 24.217 - """ returns list of cliques 24.218 - 24.219 - clique is frozenset 24.220 - """ 24.221 - print 'Fast algorithm started' 24.222 - cliques = [] 24.223 - 24.224 - while True: 24.225 - graph = Graph(self.nodes, self.lines) 24.226 - for clique in cliques: 24.227 - graph.drop_nodes(clique) 24.228 - if not graph.nodes: 24.229 - break 24.230 - 24.231 - while True: 24.232 - # drop nodes, while its is possible 24.233 - if len(graph.nodes) == 1: 24.234 - break 24.235 - c = graph.count_all() 24.236 - min_count = min(c.values()) 24.237 - bad_nodes = [node for (node, count) in c.items() if count == min_count] 24.238 - if len(bad_nodes) == len(graph.nodes) and min_count != 0: 24.239 - break 24.240 - 24.241 - costs = dict([(node, graph.cost_one(node)) for node in bad_nodes]) 24.242 - min_cost = min(costs.values()) 24.243 - for node, cost in costs.items(): 24.244 - if cost == min_cost: 24.245 - graph.drop_node(node) 24.246 - break 24.247 - 24.248 - while True: 24.249 - # add nodes, while its is possible 24.250 - candidats = {} 24.251 - for node in self.nodes: 24.252 - c = len([i for i in graph.nodes if self.bounded(node, i)]) 24.253 - if c == len(self.nodes): 24.254 - graph1 = Graph(graph.nodes, graph.lines) 24.255 - graph1.add_node(node, self) 24.256 - candidats[node] = graph1.cost_one(node) 24.257 - if not candidats: 24.258 - break 24.259 - 24.260 - max_cost = max(candidats.values()) 24.261 - node = [node for (node, cost) in candidats.items() if cost == max_cost][0] 24.262 - graph.add_node(node, self) 24.263 - 24.264 - cliques.append(frozenset(graph.nodes)) 24.265 - 24.266 - return cliques 24.267 - 24.268 - 24.269 - def cliques(self, timeout=-1, minsize=1): 24.270 - """ returns length-sorted list of cliques 24.271 - 24.272 - clique is frozenset 24.273 - 24.274 - can change self! 24.275 - 24.276 - try to execute bron_kerbosh 24.277 - if it raises TimeoutError, executes fast_cliques 24.278 - """ 24.279 - 24.280 - self.drop_if_count(minsize) 24.281 - 24.282 - try: 24.283 - cliques = self.bron_kerbosh(timeout, minsize) 24.284 - cliques.sort(key=lambda clique: len(clique), reverse=True) 24.285 - except TimeoutError: 24.286 - cliques = self.fast_cliques(minsize) 24.287 - return cliques 24.288 - 24.289 -if __name__ == "__main__": 24.290 - import doctest 24.291 - doctest.testmod()
25.1 --- a/lib/markup.py Thu Nov 18 00:01:07 2010 +0300 25.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 25.3 @@ -1,13 +0,0 @@ 25.4 -from alignment import Alignment 25.5 - 25.6 -""" 25.7 -Markup class: alignment + list of blocks 25.8 - 25.9 -Mandatory data: 25.10 - * blocks -- list of blocks 25.11 -""" 25.12 - 25.13 -class Markup(Alignment): 25.14 - def from_fasta(): 25.15 - 25.16 - def save_fasta():
26.1 --- a/lib/monomer.py Thu Nov 18 00:01:07 2010 +0300 26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3 @@ -1,105 +0,0 @@ 26.4 -#!/usr/bin/python 26.5 - 26.6 -from allpy_data.AAdict import AAdict 26.7 -import Bio.PDB 26.8 - 26.9 -index_code3 = {} 26.10 -index_code1_protein = {} 26.11 -index_code1_nucleotide = {} 26.12 -index_name = {} 26.13 - 26.14 - 26.15 -class MonomerType(object): 26.16 - """ Monomer type 26.17 - 26.18 - name -- string like "Valine" 26.19 - code1 -- one-letter code (in upper case) 26.20 - code3 -- three-letter code (in upper case) 26.21 - is_modified -- True of False 26.22 - """ 26.23 - def __init__(self, name, code1, code3, is_modified=False): 26.24 - self.name = name.capitalize() 26.25 - self.code1 = code1.upper() 26.26 - self.code3 = code3.upper() 26.27 - self.is_modified = bool(is_modified) # ugly 26.28 - 26.29 - index_name[self.name] = self 26.30 - index_code3[self.code3] = self 26.31 - 26.32 - @staticmethod 26.33 - def from_code3(code3): 26.34 - return index_code3[code3.upper()] 26.35 - @staticmethod 26.36 - def from_name(name): 26.37 - return index_name[name.capitalize()] 26.38 - 26.39 - @staticmethod 26.40 - def from_pdb_residue(pdb_residue): 26.41 - return MonomerType.from_code3(pdb_residue.get_resname()) 26.42 - 26.43 - # TO DISCUSS 26.44 - def __eq__(self, other): 26.45 - return self.code1 == other.code1 26.46 - 26.47 - def __ne__(self, other): 26.48 - return not (self == other) 26.49 - 26.50 - 26.51 -class Monomer(object): 26.52 - """ Monomer 26.53 - 26.54 - type -- link to MonomerType object 26.55 - """ 26.56 - def __init__(self, monomer_type): 26.57 - self.type = monomer_type 26.58 - 26.59 - def __eq__(self, other): 26.60 - return self.type == other.type 26.61 - 26.62 - def __ne__(self, other): 26.63 - return not (self == other) 26.64 - 26.65 -class AminoAcidType(MonomerType): 26.66 - def __init__(self, name, code1, code3, is_modified=False): 26.67 - MonomerType.__init__(self, name, code1, code3, is_modified) 26.68 - if not is_modified: 26.69 - index_code1_protein[self.code1] = self 26.70 - 26.71 - @staticmethod 26.72 - def from_code1(code1): 26.73 - return index_code1_protein[code1.upper()] 26.74 - def instance(self): 26.75 - """ Returns new AminoAcid object of this type """ 26.76 - return AminoAcid(self) 26.77 - 26.78 -class DNAType(MonomerType): 26.79 - def __init__(self, name, code1, code3, is_modified=False): 26.80 - MonomerType.__init__(self, name, code1, code3, is_modified) 26.81 - if not is_modified: 26.82 - index_code1_nucleotide[self.code1] = self 26.83 - 26.84 - @staticmethod 26.85 - def from_code1(code1): 26.86 - return index_code1_nucleotide[code1.upper()] 26.87 - def instance(self): 26.88 - """ Returns new AminoAcid object of this type """ 26.89 - return DNA(self) 26.90 - 26.91 -class AminoAcid(Monomer): 26.92 - """ Amino acid """ 26.93 - pass 26.94 - 26.95 -class DNA(Monomer): 26.96 - """ Deoxyribonucleic acid """ 26.97 - pass 26.98 - 26.99 -# prepare all aminoacids 26.100 - 26.101 -for code3, data in AAdict.items(): 26.102 - code1, m_type, is_modified, none, name = data 26.103 - if m_type == 'p': 26.104 - AminoAcidType(name, code1, code3, is_modified) 26.105 - if m_type == 'd': 26.106 - DNAType(name, code1, code3, is_modified) 26.107 -del code3, data, code1, m_type, is_modified, none, name 26.108 -
27.1 --- a/lib/sequence.py Thu Nov 18 00:01:07 2010 +0300 27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 27.3 @@ -1,214 +0,0 @@ 27.4 -#!/usr/bin/python 27.5 -# -*- coding: utf-8 -*- 27.6 - 27.7 -from monomer import AminoAcidType 27.8 -from Bio.PDB import CaPPBuilder, PDBIO 27.9 -from Bio.PDB.DSSP import make_dssp_dict 27.10 -from allpy_pdb import std_id, pdb_id_parse, get_structure 27.11 -import alignment 27.12 -import sys 27.13 -import config 27.14 -import os.path 27.15 -import urllib2 27.16 -from tempfile import NamedTemporaryFile 27.17 -import os 27.18 - 27.19 - 27.20 -class Sequence(object): 27.21 - """ Sequence of Monomers 27.22 - 27.23 - Mandatory data: 27.24 - * name -- str with the name of sequence 27.25 - * description -- str with description of the sequence 27.26 - * monomers -- list of monomer objects (aminoacids or nucleotides) 27.27 - 27.28 - Optional (may be empty): 27.29 - * pdb_chains -- list of Bio.PDB.Chain's 27.30 - * pdb_files -- dictionary like {Bio.PDB.Chain: file_obj} 27.31 - 27.32 - * pdb_residues -- dictionary like {Bio.PDB.Chain: {Monomer: Bio.PDB.Residue}} 27.33 - * pdb_secstr -- dictionary like {Bio.PDB.Chain: {Monomer: 'Secondary structure'}} 27.34 - Code Secondary structure 27.35 - H alpha-helix 27.36 - B Isolated beta-bridge residue 27.37 - E Strand 27.38 - G 3-10 helix 27.39 - I pi-helix 27.40 - T Turn 27.41 - S Bend 27.42 - - Other 27.43 - 27.44 - 27.45 - ?TODO: global pdb_structures 27.46 - """ 27.47 - def __init__(self, monomers=None, name='', description=""): 27.48 - if not monomers: 27.49 - monomers = [] 27.50 - self.name = name 27.51 - self.description = description 27.52 - self.monomers = monomers 27.53 - self.pdb_chains = [] 27.54 - self.pdb_files = {} 27.55 - self.pdb_residues = {} 27.56 - self.pdb_secstr = {} 27.57 - 27.58 - def __len__(self): 27.59 - return len(self.monomers) 27.60 - 27.61 - def __str__(self): 27.62 - """ Returns sequence in one-letter code """ 27.63 - return ''.join([monomer.type.code1 for monomer in self.monomers]) 27.64 - 27.65 - def __eq__(self, other): 27.66 - """ Returns if all corresponding monomers of this sequences are equal 27.67 - 27.68 - If lengths of sequences are not equal, returns False 27.69 - """ 27.70 - return len(self) == len(other) and \ 27.71 - all([a==b for a, b in zip(self.monomers, other.monomers)]) 27.72 - 27.73 - def __ne__(self, other): 27.74 - return not (self == other) 27.75 - 27.76 - def pdb_chain_add(self, pdb_file, pdb_id, pdb_chain, pdb_model=0): 27.77 - """ Reads Pdb chain from file 27.78 - 27.79 - and align each Monomer with PDB.Residue (TODO) 27.80 - """ 27.81 - name = std_id(pdb_id, pdb_chain, pdb_model) 27.82 - structure = get_structure(pdb_file, name) 27.83 - chain = structure[pdb_model][pdb_chain] 27.84 - self.pdb_chains.append(chain) 27.85 - self.pdb_residues[chain] = {} 27.86 - self.pdb_secstr[chain] = {} 27.87 - pdb_sequence = Sequence.from_pdb_chain(chain) 27.88 - a = alignment.Alignment.from_sequences(self, pdb_sequence) 27.89 - a.muscle_align() 27.90 - for monomer, pdb_monomer in a.column(sequence=pdb_sequence, original=self): 27.91 - if pdb_sequence.pdb_has(chain, pdb_monomer): 27.92 - residue = pdb_sequence.pdb_residues[chain][pdb_monomer] 27.93 - self.pdb_residues[chain][monomer] = residue 27.94 - self.pdb_files[chain] = pdb_file 27.95 - 27.96 - def pdb_unload(self): 27.97 - """ Delete all pdb-connected links """ 27.98 - #~ gc.get_referrers(self.pdb_chains[0]) 27.99 - self.pdb_chains = [] 27.100 - self.pdb_residues = {} 27.101 - self.pdb_secstr = {} # FIXME 27.102 - self.pdb_files = {} # FIXME 27.103 - 27.104 - @staticmethod 27.105 - def from_str(fasta_str, name='', description='', monomer_kind=AminoAcidType): 27.106 - """ Import data from one-letter code 27.107 - 27.108 - monomer_kind is class, inherited from MonomerType 27.109 - """ 27.110 - monomers = [monomer_kind.from_code1(aa).instance() for aa in fasta_str] 27.111 - return Sequence(monomers, name, description) 27.112 - 27.113 - @staticmethod 27.114 - def from_pdb_chain(chain): 27.115 - """ Returns Sequence with Monomers with link to Bio.PDB.Residue 27.116 - 27.117 - chain is Bio.PDB.Chain 27.118 - """ 27.119 - cappbuilder = CaPPBuilder() 27.120 - peptides = cappbuilder.build_peptides(chain) 27.121 - sequence = Sequence() 27.122 - sequence.pdb_chains = [chain] 27.123 - sequence.pdb_residues[chain] = {} 27.124 - sequence.pdb_secstr[chain] = {} 27.125 - for peptide in peptides: 27.126 - for ca_atom in peptide.get_ca_list(): 27.127 - residue = ca_atom.get_parent() 27.128 - monomer = AminoAcidType.from_pdb_residue(residue).instance() 27.129 - sequence.pdb_residues[chain][monomer] = residue 27.130 - sequence.monomers.append(monomer) 27.131 - return sequence 27.132 - 27.133 - def pdb_auto_add(self, conformity_info=None, pdb_directory='./tmp'): 27.134 - """ Adds pdb information to each monomer 27.135 - 27.136 - Returns if information has been successfully added 27.137 - TODO: conformity_file 27.138 - 27.139 - id-format lava flow 27.140 - """ 27.141 - if not conformity_info: 27.142 - path = os.path.join(pdb_directory, self.name) 27.143 - if os.path.exists(path) and os.path.getsize(path): 27.144 - match = pdb_id_parse(self.name) 27.145 - self.pdb_chain_add(open(path), match['code'], 27.146 - match['chain'], match['model']) 27.147 - else: 27.148 - match = pdb_id_parse(self.name) 27.149 - if match: 27.150 - code = match['code'] 27.151 - pdb_filename = config.pdb_dir % code 27.152 - if not os.path.exists(pdb_filename) or not os.path.getsize(pdb_filename): 27.153 - url = config.pdb_url % code 27.154 - print "Download %s" % url 27.155 - pdb_file = open(pdb_filename, 'w') 27.156 - data = urllib2.urlopen(url).read() 27.157 - pdb_file.write(data) 27.158 - pdb_file.close() 27.159 - print "Save %s" % pdb_filename 27.160 - pdb_file = open(pdb_filename) 27.161 - self.pdb_chain_add(pdb_file, code, match['chain'], match['model']) 27.162 - 27.163 - def pdb_save(self, out_filename, pdb_chain): 27.164 - """ Saves pdb_chain to out_file """ 27.165 - class GlySelect(Select): 27.166 - def accept_chain(self, chain): 27.167 - if chain == pdb_chain: 27.168 - return 1 27.169 - else: 27.170 - return 0 27.171 - io = PDBIO() 27.172 - structure = chain.get_parent() 27.173 - io.set_structure(structure) 27.174 - io.save(out_filename, GlySelect()) 27.175 - 27.176 - 27.177 - def pdb_add_sec_str(self, pdb_chain): 27.178 - """ Add secondary structure data """ 27.179 - tmp_file = NamedTemporaryFile(delete=False) 27.180 - tmp_file.close() 27.181 - pdb_file = self.pdb_files[pdb_chain].name 27.182 - os.system("dsspcmbi %(pdb)s %(tmp)s" % {'pdb': pdb_file, 'tmp': tmp_file.name}) 27.183 - dssp, keys = make_dssp_dict(tmp_file.name) 27.184 - for monomer in self.monomers: 27.185 - if self.pdb_has(pdb_chain, monomer): 27.186 - residue = self.pdb_residues[pdb_chain][monomer] 27.187 - try: 27.188 - d = dssp[(pdb_chain.get_id(), residue.get_id())] 27.189 - self.pdb_secstr[pdb_chain][monomer] = d[1] 27.190 - except: 27.191 - print "No dssp information about %s at %s" % (monomer, pdb_chain) 27.192 - os.unlink(tmp_file.name) 27.193 - 27.194 - def pdb_has(self, chain, monomer): 27.195 - return chain in self.pdb_residues and monomer in self.pdb_residues[chain] 27.196 - 27.197 - def secstr_has(self, chain, monomer): 27.198 - return chain in self.pdb_secstr and monomer in self.pdb_secstr[chain] 27.199 - 27.200 - @staticmethod 27.201 - def file_slice(file, n_from, n_to, fasta_name='', name='', description='', monomer_kind=AminoAcidType): 27.202 - """ Build and return sequence, consisting of part of sequence from file 27.203 - 27.204 - Does not control gaps 27.205 - """ 27.206 - inside = False 27.207 - number_used = 0 27.208 - s = '' 27.209 - for line in file: 27.210 - line = line.split() 27.211 - if not inside: 27.212 - if line.startswith('>%s' % fasta_name): 27.213 - inside = True 27.214 - else: 27.215 - n = len(line) 27.216 - s += line[(n_from - number_user):(n_to - number_user)] 27.217 - return Sequence.from_str(s, name, description, monomer_kind)
28.1 --- a/repeats/repeats.py Thu Nov 18 00:01:07 2010 +0300 28.2 +++ b/repeats/repeats.py Thu Nov 18 19:38:05 2010 +0300 28.3 @@ -5,7 +5,7 @@ 28.4 input_id pos_from pos_to 28.5 """ 28.6 28.7 -from allpy.lib import config, alignment, block, sequence 28.8 +from allpy import config, alignment, block, sequence 28.9 Sequence = sequence.Sequence 28.10 Block = block.Block 28.11 Alignment = alignment.Alignment
29.1 --- a/sec_str/sec_str.py Thu Nov 18 00:01:07 2010 +0300 29.2 +++ b/sec_str/sec_str.py Thu Nov 18 19:38:05 2010 +0300 29.3 @@ -3,12 +3,12 @@ 29.4 29.5 """ 29.6 29.7 -from allpy.lib import config, alignment, block 29.8 +from allpy import config, alignment, block 29.9 Block = block.Block 29.10 Alignment = alignment.Alignment 29.11 import argparse 29.12 import sys 29.13 -from allpy.lib.fasta import determine_long_line 29.14 +from allpy.fasta import determine_long_line 29.15 29.16 r = argparse.FileType('r') 29.17 w = argparse.FileType('w')
30.1 --- a/test/test.py Thu Nov 18 00:01:07 2010 +0300 30.2 +++ b/test/test.py Thu Nov 18 19:38:05 2010 +0300 30.3 @@ -1,7 +1,7 @@ 30.4 import sys 30.5 30.6 -from allpy.lib.alignment import Alignment 30.7 -from allpy.lib.block import Block 30.8 +from allpy.alignment import Alignment 30.9 +from allpy.block import Block 30.10 30.11 p = Alignment(open('test.fasta')) 30.12 print "alignment length: %i" % len(p)