mailr3387 - in /1.3: generic_fns/residue.py test_suite/unit_tests/generic_fns/test_residue.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on November 03, 2007 - 14:09:
Author: bugman
Date: Sat Nov  3 14:09:28 2007
New Revision: 3387

URL: http://svn.gna.org/viewcvs/relax?rev=3387&view=rev
Log:
Created the generic_fns.residue.rename() function and fixed the corresponding 
unit tests.


Modified:
    1.3/generic_fns/residue.py
    1.3/test_suite/unit_tests/generic_fns/test_residue.py

Modified: 1.3/generic_fns/residue.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/generic_fns/residue.py?rev=3387&r1=3386&r2=3387&view=diff
==============================================================================
--- 1.3/generic_fns/residue.py (original)
+++ 1.3/generic_fns/residue.py Sat Nov  3 14:09:28 2007
@@ -150,6 +150,37 @@
             mol.res.add_item()
 
 
+def rename(res_id, new_name=None):
+    """Function for renaming residues.
+
+    @param res_id:      The identifier string for the residue(s) to rename.
+    @type res_id:       str
+    @param new_name:    The new residue name.
+    @type new_name:     str
+    """
+
+    # Split up the selection string.
+    mol_token, res_token, spin_token = tokenise(res_id)
+
+    # Disallow spin selections.
+    if spin_token != None:
+        raise RelaxSpinSelectDisallowError
+
+    # Parse the tokens.
+    residues = parse_token(res_token)
+
+    # Molecule loop.
+    for mol in molecule_loop(mol_token):
+        # Loop over the residues of the molecule.
+        for i in xrange(len(mol.res)):
+            # Rename the residue is there is a match.
+            if mol.res[i].num in residues or mol.res[i].name in residues:
+                mol.res[i].name = new_name
+
+
+def renumber(res_from, new_number=None):
+    pass
+
 class Residue:
     def __init__(self, relax):
         """Class containing functions specific to amino-acid sequence."""

Modified: 1.3/test_suite/unit_tests/generic_fns/test_residue.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/test_suite/unit_tests/generic_fns/test_residue.py?rev=3387&r1=3386&r2=3387&view=diff
==============================================================================
--- 1.3/test_suite/unit_tests/generic_fns/test_residue.py (original)
+++ 1.3/test_suite/unit_tests/generic_fns/test_residue.py Sat Nov  3 14:09:28 
2007
@@ -260,7 +260,7 @@
         residue.create(-10, 'His')
 
         # Rename the residue.
-        residue.rename(res_from='@-10', new_name='K')
+        residue.rename(res_id=':-10', new_name='K')
 
         # Test that the residue has been renamed.
         self.assertEqual(relax_data_store['orig'].mol[0].res[0].name, 'K')
@@ -281,13 +281,13 @@
         residue.copy(res_num_from=1, res_name_from='Ala', res_num_to=3)
 
         # Change the first residue's data.
-        relax_data_store['orig'].mol[0].res[0].spin[0].name = 'His'
+        relax_data_store['orig'].mol[0].res[0].name = 'His'
 
         # Copy the residue once more.
         residue.copy(res_num_from=1, res_num_to=4, res_name_to='Met')
 
         # Rename all alanines.
-        residue.rename(res_from='Ala', new_name='Gln')
+        residue.rename(res_id=':Ala', new_name='Gln')
 
         # Test the renaming of alanines.
         self.assertEqual(relax_data_store['orig'].mol[0].res[1].name, 'Gln')
@@ -305,7 +305,7 @@
         """
 
         # Try renaming using a atom id.
-        self.assertRaises(RelaxSpinSelectDisallowError, residue.rename, 
res_from='@111', new_name='K')
+        self.assertRaises(RelaxSpinSelectDisallowError, residue.rename, 
res_id='@111', new_name='K')
 
 
     def test_renumber(self):
@@ -318,7 +318,7 @@
         residue.create(-10, 'His')
 
         # Rename the residue.
-        residue.renumber(res_from='@-10', new_number=10)
+        residue.renumber(res_id='@-10', new_number=10)
 
         # Test that the residue has been renumbered.
         self.assertEqual(relax_data_store['orig'].mol[0].res[0].num, 10)
@@ -344,7 +344,7 @@
         residue.copy(res_num_from=1, res_num_to=4, res_name_to='Met')
 
         # Try renumbering all alanines.
-        self.assertRaises(RelaxError, residue.renumber, res_from='Ala', 
new_number=10)
+        self.assertRaises(RelaxError, residue.renumber, res_id=':Ala', 
new_number=10)
 
 
     def test_renumber_no_spin(self):
@@ -354,4 +354,4 @@
         """
 
         # Try renaming using a atom id.
-        self.assertRaises(RelaxSpinSelectDisallowError, residue.renumber, 
res_from='@111', new_number=10)
+        self.assertRaises(RelaxSpinSelectDisallowError, residue.renumber, 
res_id='@111', new_number=10)




Related Messages


Powered by MHonArc, Updated Sat Nov 03 16:20:10 2007