mailr27383 - in /trunk/test_suite/unit_tests/_data_store: __init__.py test_seq_align.py


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

Header


Content

Posted by edward on January 30, 2015 - 11:33:
Author: bugman
Date: Fri Jan 30 11:33:40 2015
New Revision: 27383

URL: http://svn.gna.org/viewcvs/relax?rev=27383&view=rev
Log:
Created the Test_seq_align.test_alignment_addition unit test.

This is in the _data_store.test_seq_align unit test module.  This tests the 
setup of the sequence
alignment object via the data_store.seq_align.Sequence_alignment.add() method.


Added:
    trunk/test_suite/unit_tests/_data_store/test_seq_align.py
Modified:
    trunk/test_suite/unit_tests/_data_store/__init__.py

Modified: trunk/test_suite/unit_tests/_data_store/__init__.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_data_store/__init__.py?rev=27383&r1=27382&r2=27383&view=diff
==============================================================================
--- trunk/test_suite/unit_tests/_data_store/__init__.py (original)
+++ trunk/test_suite/unit_tests/_data_store/__init__.py Fri Jan 30 11:33:40 
2015
@@ -1,6 +1,6 @@
 
###############################################################################
 #                                                                            
 #
-# Copyright (C) 2007 Edward d'Auvergne                                       
 #
+# Copyright (C) 2007-2015 Edward d'Auvergne                                  
 #
 #                                                                            
 #
 # This file is part of the program relax (http://www.nmr-relax.com).         
 #
 #                                                                            
 #
@@ -19,6 +19,9 @@
 #                                                                            
 #
 
###############################################################################
 
-__all__ = ['test___init__',
-           'test_diff_tensor',
-           'test_mol_res_spin']
+__all__ = [
+    'test___init__',
+    'test_diff_tensor',
+    'test_mol_res_spin',
+    'test_seq_align'
+]

Added: trunk/test_suite/unit_tests/_data_store/test_seq_align.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_data_store/test_seq_align.py?rev=27383&view=auto
==============================================================================
--- trunk/test_suite/unit_tests/_data_store/test_seq_align.py   (added)
+++ trunk/test_suite/unit_tests/_data_store/test_seq_align.py   Fri Jan 30 
11:33:40 2015
@@ -0,0 +1,122 @@
+###############################################################################
+#                                                                            
 #
+# Copyright (C) 2015 Edward d'Auvergne                                       
 #
+#                                                                            
 #
+# This file is part of the program relax (http://www.nmr-relax.com).         
 #
+#                                                                            
 #
+# This program is free software: you can redistribute it and/or modify       
 #
+# it under the terms of the GNU General Public License as published by       
 #
+# the Free Software Foundation, either version 3 of the License, or          
 #
+# (at your option) any later version.                                        
 #
+#                                                                            
 #
+# This program is distributed in the hope that it will be useful,            
 #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of             
 #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              
 #
+# GNU General Public License for more details.                               
 #
+#                                                                            
 #
+# You should have received a copy of the GNU General Public License          
 #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.      
 #
+#                                                                            
 #
+###############################################################################
+
+# Python module imports.
+from unittest import TestCase
+
+# relax module imports.
+from data_store.seq_align import Sequence_alignments
+
+
+class Test_seq_align(TestCase):
+    """Unit tests for the data.seq_align relax module."""
+
+
+    def setUp(self):
+        """Set 'self.seq_align' to an empty instance of the 
Sequence_alignments class."""
+
+        self.seq_align = Sequence_alignments()
+
+
+    def test_alignment_addition(self):
+        """Test the creation of a new sequence alignment object."""
+
+        # The data.
+        object_ids = ['frame_order', 'ensemble', 'ensemble', 'ensemble', 
'ensemble', 'ensemble', 'ensemble', 'ensemble']
+        models = [None, 1, 1, 1, 1, 1, 1, 1]
+        molecules = [
+            'N-dom',
+            'ensemble 4M A',
+            'ensemble 4M B',
+            'ensemble 4M C',
+            'ensemble 4M D',
+            'CaM-IQ A',
+            'CaM-IQ B',
+            'CaM-IQ C'
+        ]
+        sequences = [
+            
'LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARK*****',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****',
+            '                                                                
                                                           
QLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMT*****',
+            '                                                                
                                                           
LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMT*****',
+            '                                                                
                                                           
LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMT*****',
+
+            'TEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADG',
+            
'ADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKM',
+            
'LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMAR'
+        ]
+        strings = [
+            
'---LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARK------------------------------------------------------------------------*****----------------------------------------------------------------------------',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARK----------------------------------------------------------------------------MKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****----------------------------------------------------------------------------',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****----------------------------------------------------------------------------',
+            
'*DQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMTA*****----------------------------------------------------------------------------',
+            
'--QLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARK----MKSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMT*****----------------------------------------------------------------------------',
+            
'---LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARK----MKDEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMT*****----------------------------------------------------------------------------',
+            
'---LTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTIDFPEFLTMMARK-------EEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQMMT*****----------------------------------------------------------------------------',
+        ]
+        gaps = []
+        for i in range(len(strings)):
+            gaps.append([])
+            for j in range(len(strings[0])):
+                if strings[i][j] == '-':
+                    gaps[i].append(1)
+                else:
+                    gaps[i].append(0)
+        msa_algorithm = 'Central Star'
+        pairwise_algorithm = 'NW70'
+        matrix = 'BLOSUM62'
+        gap_open_penalty = 10.0
+        gap_extend_penalty = 1.0
+        end_gap_open_penalty = 0.0
+        end_gap_extend_penalty = 0.0
+
+        # Add the alignment.
+        self.seq_align.add(object_ids=object_ids, models=models, 
molecules=molecules, sequences=sequences, strings=strings, gaps=gaps, 
msa_algorithm=msa_algorithm, pairwise_algorithm=pairwise_algorithm, 
matrix=matrix, gap_open_penalty=gap_open_penalty, 
gap_extend_penalty=gap_extend_penalty, 
end_gap_open_penalty=end_gap_open_penalty, 
end_gap_extend_penalty=end_gap_extend_penalty)
+
+        # Generate the expected IDs.
+        ids = []
+        for i in range(len(object_ids)):
+            ids.append("Object '%s'" % object_ids[i])
+            if models[i] != None:
+                ids[-1] += "; Model %i" % models[i]
+            ids[-1] += "; Molecule '%s'" % molecules[i]
+
+        # Check the data.
+        for i in range(8):
+            print("Checking \"%s\"" % ids[i])
+            self.assertEqual(self.seq_align[0].ids[i], ids[i])
+            self.assertEqual(self.seq_align[0].object_ids[i], object_ids[i])
+            self.assertEqual(self.seq_align[0].models[i], models[i])
+            self.assertEqual(self.seq_align[0].molecules[i], molecules[i])
+            self.assertEqual(self.seq_align[0].sequences[i], sequences[i])
+            self.assertEqual(self.seq_align[0].strings[i], strings[i])
+            self.assertEqual(self.seq_align[0].gaps[i], gaps[i])
+            self.assertEqual(self.seq_align[0].msa_algorithm, msa_algorithm)
+            self.assertEqual(self.seq_align[0].pairwise_algorithm, 
pairwise_algorithm)
+            self.assertEqual(self.seq_align[0].matrix, matrix)
+            self.assertEqual(self.seq_align[0].gap_open_penalty, 
gap_open_penalty)
+            self.assertEqual(self.seq_align[0].gap_extend_penalty, 
gap_extend_penalty)
+            self.assertEqual(self.seq_align[0].end_gap_open_penalty, 
end_gap_open_penalty)
+            self.assertEqual(self.seq_align[0].end_gap_extend_penalty, 
end_gap_extend_penalty)




Related Messages


Powered by MHonArc, Updated Fri Jan 30 11:40:02 2015