Author: bugman
Date: Fri Jan 23 11:02:05 2015
New Revision: 27287
URL: http://svn.gna.org/viewcvs/relax?rev=27287&view=rev
Log:
Created the lib.sequence.aa_codes_three_to_one() function.
The lib.sequence module now contains the AA_CODES dictionary which is a
translation table for the 3
letter amino acid codes to the one letter codes. The new
aa_codes_three_to_one() function performs
the conversion.
Modified:
trunk/lib/sequence.py
Modified: trunk/lib/sequence.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/lib/sequence.py?rev=27287&r1=27286&r2=27287&view=diff
==============================================================================
--- trunk/lib/sequence.py (original)
+++ trunk/lib/sequence.py Fri Jan 23 11:02:05 2015
@@ -1,7 +1,7 @@
from __future__ import absolute_import
###############################################################################
# #
-# Copyright (C) 2003-2014 Edward d'Auvergne #
+# Copyright (C) 2003-2015 Edward d'Auvergne #
# #
# This file is part of the program relax (http://www.nmr-relax.com). #
# #
@@ -24,6 +24,7 @@
"""Module for handling the molecule, residue, and spin sequence data."""
# Python module imports.
+from string import upper
import sys
from warnings import warn
@@ -33,6 +34,54 @@
from lib.io import extract_data, open_write_file, strip, write_data
from lib.selection import spin_id_to_data_list
from lib.warnings import RelaxWarning, RelaxFileEmptyWarning
+
+
+# The 3 letter to 1 letter amino acid code table.
+AA_CODES = {
+ "ALA": "A",
+ "ARG": "R",
+ "ASN": "N",
+ "ASP": "D",
+ "CYS": "C",
+ "GLU": "E",
+ "GLN": "Q",
+ "GLY": "G",
+ "HIS": "H",
+ "ILE": "I",
+ "LEU": "L",
+ "LYS": "K",
+ "MET": "M",
+ "PHE": "F",
+ "PRO": "P",
+ "SER": "S",
+ "THR": "T",
+ "TRP": "W",
+ "TYR": "Y",
+ "VAL": "V",
+}
+
+
+def aa_codes_three_to_one(code):
+ """Convert the given three letter amino acid code to the corresponding one
letter code.
+
+ Any non-standard residues will be converted to 'X'.
+
+
+ @param code: The three letter amino acid code to convert.
+ @type code: str
+ @return: The corresponding one letter amino acid code, or 'X'.
+ @rtype: str
+ """
+
+ # Convert to uppercase.
+ upper_code = upper(code)
+
+ # The code exists.
+ if upper_code in AA_CODES:
+ return AA_CODES[upper_code]
+
+ # No code.
+ return 'X'
def read_spin_data(file=None, dir=None, file_data=None, spin_id_col=None,
mol_name_col=None, res_num_col=None, res_name_col=None, spin_num_col=None,
spin_name_col=None, data_col=None, error_col=None, sep=None, spin_id=None):
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits