mailr27676 - in /trunk/test_suite: shared_data/structures/multi_model_and_mol_test.pdb system_tests/structure.py


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

Header


Content

Posted by edward on February 19, 2015 - 15:25:
Author: bugman
Date: Thu Feb 19 15:25:40 2015
New Revision: 27676

URL: http://svn.gna.org/viewcvs/relax?rev=27676&view=rev
Log:
Created the Structure.test_multi_model_and_multi_molecule system test.

This is used to check the loading and writing of a multi-model and 
multi-molecule PDB file.  The
test shows that this functions correctly.


Added:
    trunk/test_suite/shared_data/structures/multi_model_and_mol_test.pdb
Modified:
    trunk/test_suite/system_tests/structure.py

Added: trunk/test_suite/shared_data/structures/multi_model_and_mol_test.pdb
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/structures/multi_model_and_mol_test.pdb?rev=27676&view=auto
==============================================================================
--- trunk/test_suite/shared_data/structures/multi_model_and_mol_test.pdb      
  (added)
+++ trunk/test_suite/shared_data/structures/multi_model_and_mol_test.pdb      
  Thu Feb 19 15:25:40 2015
@@ -0,0 +1,24 @@
+MODEL        1                                                               
   
+ATOM      1  N   LEU A   1       1.000  -2.000  20.000  1.00  0.00           
N  
+ATOM      2  H   LEU A   1       2.000  -2.000  20.000  1.00  0.00           
H  
+TER       3      LEU A   1                                                   
   
+ATOM      4  N   LEU B   1       9.000  -9.000  27.000  1.00  0.00           
N  
+ATOM      5  H   LEU B   1       8.000  -8.000  27.000  1.00  0.00           
H  
+TER       6      LEU B   1                                                   
   
+ATOM      7  N   LEU C   1      12.000 -12.000   7.000  1.00  0.00           
N  
+ATOM      8  H   LEU C   1      11.000 -12.000   7.000  1.00  0.00           
H  
+TER       9      LEU C   1                                                   
   
+ENDMDL                                                                       
   
+MODEL        2                                                               
   
+ATOM      1  N   LEU A   1       1.000  -2.000  20.000  1.00  0.00           
N  
+ATOM      2  H   LEU A   1       2.000  -2.000  20.000  1.00  0.00           
H  
+TER       3      LEU A   1                                                   
   
+ATOM      4  N   LEU B   1       9.000  -9.000  27.000  1.00  0.00           
N  
+ATOM      5  H   LEU B   1       8.000  -8.000  27.000  1.00  0.00           
H  
+TER       6      LEU B   1                                                   
   
+ATOM      7  N   LEU C   1      12.000 -12.000   7.000  1.00  0.00           
N  
+ATOM      8  H   LEU C   1      11.000 -12.000   7.000  1.00  0.00           
H  
+TER       9      LEU C   1                                                   
   
+ENDMDL                                                                       
   
+MASTER        0    0    0    0    0    0    0    0    6    3    0    0       
   
+END                                                                          
   

Modified: trunk/test_suite/system_tests/structure.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/structure.py?rev=27676&r1=27675&r2=27676&view=diff
==============================================================================
--- trunk/test_suite/system_tests/structure.py  (original)
+++ trunk/test_suite/system_tests/structure.py  Thu Feb 19 15:25:40 2015
@@ -3930,6 +3930,55 @@
         self.assertEqual(cdp.structure.sheets[1], sheets[1])
 
 
+    def test_multi_model_and_multi_molecule(self):
+        """Test the loading and writing of a multi-model and multi-molecule 
PDB file."""
+
+        # Path of the structure file.
+        path = status.install_path + 
sep+'test_suite'+sep+'shared_data'+sep+'structures'
+
+        # Load the file.
+        self.interpreter.structure.read_pdb('multi_model_and_mol_test.pdb', 
dir=path)
+
+        # Create a PDB file.
+        file = DummyFileObject()
+        self.interpreter.structure.write_pdb(file=file, force=True)
+
+        # The file contents, without remarks, as they should be.
+        contents = [
+            "MODEL        1                                                  
                \n",
+            "ATOM      1  N   LEU A   1       1.000  -2.000  20.000  1.00  
0.00           N  \n",
+            "ATOM      2  H   LEU A   1       2.000  -2.000  20.000  1.00  
0.00           H  \n",
+            "TER       3      LEU A   1                                      
                \n",
+            "ATOM      4  N   LEU B   1       9.000  -9.000  27.000  1.00  
0.00           N  \n",
+            "ATOM      5  H   LEU B   1       8.000  -8.000  27.000  1.00  
0.00           H  \n",
+            "TER       6      LEU B   1                                      
                \n",
+            "ATOM      7  N   LEU C   1      12.000 -12.000   7.000  1.00  
0.00           N  \n",
+            "ATOM      8  H   LEU C   1      11.000 -12.000   7.000  1.00  
0.00           H  \n",
+            "TER       9      LEU C   1                                      
                \n",
+            "ENDMDL                                                          
                \n",
+            "MODEL        2                                                  
                \n",
+            "ATOM      1  N   LEU A   1       1.000  -2.000  20.000  1.00  
0.00           N  \n",
+            "ATOM      2  H   LEU A   1       2.000  -2.000  20.000  1.00  
0.00           H  \n",
+            "TER       3      LEU A   1                                      
                \n",
+            "ATOM      4  N   LEU B   1       9.000  -9.000  27.000  1.00  
0.00           N  \n",
+            "ATOM      5  H   LEU B   1       8.000  -8.000  27.000  1.00  
0.00           H  \n",
+            "TER       6      LEU B   1                                      
                \n",
+            "ATOM      7  N   LEU C   1      12.000 -12.000   7.000  1.00  
0.00           N  \n",
+            "ATOM      8  H   LEU C   1      11.000 -12.000   7.000  1.00  
0.00           H  \n",
+            "TER       9      LEU C   1                                      
                \n",
+            "ENDMDL                                                          
                \n",
+            "MASTER        0    0    0    0    0    0    0    0    6    3    
0    0          \n",
+            "END                                                             
                \n"
+        ]
+
+        # Check the created PDB file.
+        lines = file.readlines()
+        self.strip_remarks(lines)
+        self.assertEqual(len(contents), len(lines))
+        for i in range(len(lines)):
+            self.assertEqual(contents[i], lines[i])
+
+
     def test_pdb_combined_secondary_structure(self):
         """Test the handling of secondary structure metadata when combining 
multiple PDB structures."""
 




Related Messages


Powered by MHonArc, Updated Thu Feb 19 15:40:02 2015