mailr18098 - in /branches/cst: ./ generic_fns/interatomic.py test_suite/system_tests/interatomic.py


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

Header


Content

Posted by edward on December 10, 2012 - 18:39:
Author: bugman
Date: Mon Dec 10 18:39:30 2012
New Revision: 18098

URL: http://svn.gna.org/viewcvs/relax?rev=18098&view=rev
Log:
Merged revisions 18096-18097 via svnmerge from 
svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk

........
  r18096 | bugman | 2012-12-10 18:32:38 +0100 (Mon, 10 Dec 2012) | 3 lines
  
  Expanded the Interatomic.test_copy system test to check interatomic.copy 
without spin IDs.
........
  r18097 | bugman | 2012-12-10 18:33:29 +0100 (Mon, 10 Dec 2012) | 3 lines
  
  Added a test for the presence of target sequence data in 
generic_fns.interatomic.copy().
........

Modified:
    branches/cst/   (props changed)
    branches/cst/generic_fns/interatomic.py
    branches/cst/test_suite/system_tests/interatomic.py

Propchange: branches/cst/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Dec 10 18:39:30 2012
@@ -1,1 +1,1 @@
-/trunk:1-18091
+/trunk:1-18097

Modified: branches/cst/generic_fns/interatomic.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/cst/generic_fns/interatomic.py?rev=18098&r1=18097&r2=18098&view=diff
==============================================================================
--- branches/cst/generic_fns/interatomic.py (original)
+++ branches/cst/generic_fns/interatomic.py Mon Dec 10 18:39:30 2012
@@ -29,7 +29,7 @@
 
 # relax module imports.
 from generic_fns import pipes
-from generic_fns.mol_res_spin import Selection, count_spins, return_spin
+from generic_fns.mol_res_spin import Selection, count_spins, return_spin, 
spin_loop
 from relax_errors import RelaxError, RelaxInteratomError, 
RelaxNoInteratomError, RelaxNoSpinError
 from relax_io import write_data
 
@@ -73,6 +73,12 @@
         if count_spins(selection=spin_id2, pipe=pipe_to, skip_desel=False) 
== 0:
             raise RelaxNoSpinError(spin_id2, pipe_to)
 
+    # Check for the sequence data in the target pipe if no spin IDs are 
given.
+    if not spin_id1 and not spin_id2:
+        for spin, spin_id in spin_loop(pipe=pipe_from, return_id=True):
+            if not return_spin(spin_id, pipe=pipe_to):
+                raise RelaxNoSpinError(spin_id, pipe_to)
+
     # Test if pipe_from contains interatomic data (skipping the rest of the 
function if it is missing).
     if not exists_data(pipe_from):
         return

Modified: branches/cst/test_suite/system_tests/interatomic.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/cst/test_suite/system_tests/interatomic.py?rev=18098&r1=18097&r2=18098&view=diff
==============================================================================
--- branches/cst/test_suite/system_tests/interatomic.py (original)
+++ branches/cst/test_suite/system_tests/interatomic.py Mon Dec 10 18:39:30 
2012
@@ -28,6 +28,7 @@
 
 # relax module imports.
 from data import Relax_data_store; ds = Relax_data_store()
+from relax_errors import RelaxNoSpinError
 from status import Status; status = Status()
 from test_suite.system_tests.base_classes import SystemTestCase
 
@@ -66,22 +67,40 @@
         self.interpreter.interatomic.copy(pipe_from='orig', spin_id1=':2@N', 
spin_id2=':2@H')
         self.interpreter.interatomic.copy(pipe_from='orig', spin_id1=':1@H', 
spin_id2=':1@N')
 
-        # Check the sequence data.
-        self.assertEqual(cdp.mol[0].name, 'Test mol')
-        self.assertEqual(cdp.mol[0].res[0].name, 'His')
-        self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
-        self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'H')
-        self.assertEqual(cdp.mol[0].res[1].name, 'His')
-        self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
-        self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'H')
+        # Create a new data pipe to copy the data to.
+        self.interpreter.pipe.create(pipe_name="new 2", pipe_type='N-state')
 
-        # Check the interatomic data.
-        self.assertEqual(cdp.interatomic[0].spin_id1, ':2@N')
-        self.assertEqual(cdp.interatomic[0].spin_id2, ':2@H')
-        self.assertEqual(cdp.interatomic[0].y, 2)
-        self.assertEqual(cdp.interatomic[1].spin_id1, ':1@N')
-        self.assertEqual(cdp.interatomic[1].spin_id2, ':1@H')
-        self.assertEqual(cdp.interatomic[1].x, 1)
+        # Copy the data.
+        try:
+            self.interpreter.interatomic.copy(pipe_from='orig')
+        except RelaxNoSpinError:
+            print("Correct RelaxError encountered.")
+        self.interpreter.sequence.copy(pipe_from='orig')
+        self.interpreter.interatomic.copy(pipe_from='orig')
+
+        # Loop over the two new pipes.
+        interatom_index = [[0, 1], [1, 0]]
+        pipes = ['new', 'new 2']
+        for i in range(len(pipes)):
+            # Switch pipes.
+            self.interpreter.pipe.switch(pipes[i])
+
+            # Check the sequence data.
+            self.assertEqual(cdp.mol[0].name, 'Test mol')
+            self.assertEqual(cdp.mol[0].res[0].name, 'His')
+            self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'N')
+            self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'H')
+            self.assertEqual(cdp.mol[0].res[1].name, 'His')
+            self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
+            self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'H')
+
+            # Check the interatomic data.
+            
self.assertEqual(cdp.interatomic[interatom_index[i][0]].spin_id1, ':2@N')
+            
self.assertEqual(cdp.interatomic[interatom_index[i][0]].spin_id2, ':2@H')
+            self.assertEqual(cdp.interatomic[interatom_index[i][0]].y, 2)
+            
self.assertEqual(cdp.interatomic[interatom_index[i][1]].spin_id1, ':1@N')
+            
self.assertEqual(cdp.interatomic[interatom_index[i][1]].spin_id2, ':1@H')
+            self.assertEqual(cdp.interatomic[interatom_index[i][1]].x, 1)
 
 
     def test_manipulation(self):




Related Messages


Powered by MHonArc, Updated Mon Dec 10 18:40:02 2012