mailr27348 - in /trunk/test_suite/unit_tests/_lib/_sequence_alignment: __init__.py test_align_protein.py test_msa.py


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

Header


Content

Posted by edward on January 29, 2015 - 13:33:
Author: bugman
Date: Thu Jan 29 13:33:32 2015
New Revision: 27348

URL: http://svn.gna.org/viewcvs/relax?rev=27348&view=rev
Log:
Renamed the Test_align_protein.test_align_multiple_from_pairwise unit test.

This is now the Test_msa.test_central_star unit test of the 
_lib._sequence_alignment.test_msa unit
test module (it was originally in the 
_lib._sequence_alignment.test_align_protein unit test module).
This is in preparation for converting the
lib.sequence_alignment.align_protein.align_multiple_from_pairwise() function 
into the
lib.sequence_alignment.msa.central_star() function.


Added:
    trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_msa.py
      - copied, changed from r27346, 
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py
Modified:
    trunk/test_suite/unit_tests/_lib/_sequence_alignment/__init__.py
    trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py

Modified: trunk/test_suite/unit_tests/_lib/_sequence_alignment/__init__.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_lib/_sequence_alignment/__init__.py?rev=27348&r1=27347&r2=27348&view=diff
==============================================================================
--- trunk/test_suite/unit_tests/_lib/_sequence_alignment/__init__.py    
(original)
+++ trunk/test_suite/unit_tests/_lib/_sequence_alignment/__init__.py    Thu 
Jan 29 13:33:32 2015
@@ -21,5 +21,6 @@
 
 
 __all__ = [
-    'test___init__'
+    'test___init__',
+    'test_msa'
 ]

Modified: 
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py?rev=27348&r1=27347&r2=27348&view=diff
==============================================================================
--- 
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py  
(original)
+++ 
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py  
Thu Jan 29 13:33:32 2015
@@ -29,80 +29,6 @@
 
 class Test_align_protein(TestCase):
     """Unit tests for the lib.sequence_alignment.align_protein relax 
module."""
-
-    def test_align_multiple_from_pairwise(self):
-        """Test the multiple protein sequence, fusing pairwise alignments 
via lib.sequence_alignment.align_protein.align_multiple_from_pairwise().
-
-        This uses the sequences:
-
-            - 'TEEQVDADGGT',
-            - 'ADQLTEEQVDADGNGTIDFPEFLTMMARKM',
-            - 'LTEEQMINEVDAGNGTIDFPEFLTMMAR'.
-
-        The result should be::
-
-            Pairwise protein alignment.
-            Substitution matrix:           BLOSUM62
-            Gap opening penalty:           5.0
-            Gap extend penalty:            1.0
-            
-            Input sequence 1:              TEEQVDADGGT
-            Input sequence 2:              ADQLTEEQVDADGNGTIDFPEFLTMMARKM
-            
-            Aligned sequence 1:            ----TEEQVDADG-GT--------------
-            Aligned sequence 2:            ADQLTEEQVDADGNGTIDFPEFLTMMARKM
-                                               ********* **              
-            
-            
-            Pairwise protein alignment.
-            Substitution matrix:           BLOSUM62
-            Gap opening penalty:           5.0
-            Gap extend penalty:            1.0
-            
-            Input sequence 1:              TEEQVDADGGT
-            Input sequence 2:              LTEEQMINEVDAGNGTIDFPEFLTMMAR
-            
-            Aligned sequence 1:            -TEEQ----VDADGGT------------
-            Aligned sequence 2:            LTEEQMINEVDAGNGTIDFPEFLTMMAR
-                                            ****    ***  **            
-
-            ----TEEQ----VDADG-GT--------------
-            ADQLTEEQ----VDADGNGTIDFPEFLTMMARKM
-            ---LTEEQMINEVDA-GNGTIDFPEFLTMMAR--
-        """
-
-        # The sequences.
-        seq1 =     'TEEQVDADGGT'
-        seq2 = 'ADQLTEEQVDADGNGTIDFPEFLTMMARKM'
-        seq3 =    'LTEEQMINEVDAGNGTIDFPEFLTMMAR'
-        print(seq1)
-        print(seq2)
-        print(seq3)
-
-        # Perform the alignment.
-        strings, gaps = align_multiple_from_pairwise(seq1, [seq2, seq3], 
matrix='BLOSUM62', gap_open_penalty=5.0, gap_extend_penalty=1.0)
-        print(strings[0])
-        print(strings[1])
-        print(strings[2])
-        print(gaps)
-
-        # Check the alignment.
-        self.assertEqual(strings[0], '----TEEQ----VDADG-GT--------------')
-        self.assertEqual(strings[1], 'ADQLTEEQ----VDADGNGTIDFPEFLTMMARKM')
-        self.assertEqual(strings[2], '---LTEEQMINEVDA-GNGTIDFPEFLTMMAR--')
-
-        # The gap matrix.
-        real_gaps = zeros((3, 34), int16)
-        for i in (range(4) + range(8, 12) + [17] + range(20, 34)):
-            real_gaps[0, i] = 1
-        for i in range(8, 12):
-            real_gaps[1, i] = 1
-        for i in (range(3) + [15, 33, 34]):
-            real_gaps[2, i] = 1
-        for i in range(3):
-            for j in range(34):
-                self.assertEqual(gaps[i, j], real_gaps[i][j])
-
 
     def test_align_pairwise_PAM250(self):
         """Test the Needleman-Wunsch sequence alignment for two protein 
sequences using the PAM250 substitution matrix.

Copied: trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_msa.py 
(from r27346, 
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py)
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_msa.py?p2=trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_msa.py&p1=trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py&r1=27346&r2=27348&rev=27348&view=diff
==============================================================================
--- 
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py  
(original)
+++ trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_msa.py    Thu 
Jan 29 13:33:32 2015
@@ -24,14 +24,14 @@
 from unittest import TestCase
 
 # relax module imports.
-from lib.sequence_alignment.align_protein import 
align_multiple_from_pairwise, align_pairwise
+from lib.sequence_alignment.msa import central_star
 
 
-class Test_align_protein(TestCase):
-    """Unit tests for the lib.sequence_alignment.align_protein relax 
module."""
+class Test_msa(TestCase):
+    """Unit tests for the lib.sequence_alignment.msa relax module."""
 
-    def test_align_multiple_from_pairwise(self):
-        """Test the multiple protein sequence, fusing pairwise alignments 
via lib.sequence_alignment.align_protein.align_multiple_from_pairwise().
+    def test_central_star(self):
+        """Test the central star multiple sequence alignment function 
lib.sequence_alignment.msa.central_star().
 
         This uses the sequences:
 
@@ -80,7 +80,7 @@
         print(seq3)
 
         # Perform the alignment.
-        strings, gaps = align_multiple_from_pairwise(seq1, [seq2, seq3], 
matrix='BLOSUM62', gap_open_penalty=5.0, gap_extend_penalty=1.0)
+        strings, gaps = central_star([seq1, seq2, seq3], matrix='BLOSUM62', 
gap_open_penalty=5.0, gap_extend_penalty=1.0)
         print(strings[0])
         print(strings[1])
         print(strings[2])
@@ -102,158 +102,3 @@
         for i in range(3):
             for j in range(34):
                 self.assertEqual(gaps[i, j], real_gaps[i][j])
-
-
-    def test_align_pairwise_PAM250(self):
-        """Test the Needleman-Wunsch sequence alignment for two protein 
sequences using the PAM250 substitution matrix.
-
-        This uses the sequences:
-
-            - 
'IHAAEEKDWKTAYSYbgFYEAFEGYdsidspkaitslkymllckimlntpedvqalvsgkla',
-            - 
'LHAADEKDFKTAFSYabiggapFYEAFEGYdsvdekvsaltalkymllckvmldlpdevnsllsakl'.
-
-        From online servers, the results with a gap open penalty of 5 and 
gap extend of 0.5 should be::
-
-            https://www.ebi.ac.uk/Tools/psa/emboss_needle/
-            EMBOSS_001          
IHAAEEKDWKTAYSYb--g---FYEAFEGYdsidspk--aitslkymllckimlntpedvqalvsgkla
-                                :|||:|||.|||:||.  |   ||||||||||:|. |  
|:|:||||||||:||:.|::|::|:|:|| 
-            EMBOSS_001          
LHAADEKDFKTAFSYabiggapFYEAFEGYdsvde-kvsaltalkymllckvmldlpdevnsllsakl-
-
-            http://web.expasy.org/cgi-bin/sim/sim.pl?prot
-            UserSeq1            
IHAAEEKDWKTAYSYBG-----FYEAFEGYDSIDSPK--AITSLKYMLLCKIMLNTPEDVQALVSGKL
-            UserSeq2            
LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDE-KVSALTALKYMLLCKVMLDLPDEVNSLLSAKL
-                                 *** *** *** **       ********** *  *  * * 
******** **  *  *  * * **
-        """
-
-        # The sequences.
-        seq1 = 
'IHAAEEKDWKTAYSYbgFYEAFEGYdsidspkaitslkymllckimlntpedvqalvsgkla'
-        seq2 = 
'LHAADEKDFKTAFSYabiggapFYEAFEGYdsvdekvsaltalkymllckvmldlpdevnsllsakl'
-        print(seq1)
-        print(seq2)
-
-        # Perform the alignment.
-        align1, align2, gaps = align_pairwise(seq1, seq2, matrix='PAM250', 
gap_open_penalty=5.0, gap_extend_penalty=0.5)
-        print(align1)
-        print(align2)
-        print(gaps)
-
-        # Check the alignment.
-        self.assertEqual(align1, 
'IHAAEEKDWKTAYSYB--G---FYEAFEGYDSIDSPK--AITSLKYMLLCKIMLNTPEDVQALVSGKLA')
-        self.assertEqual(align2, 
'LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDE-KVSALTALKYMLLCKVMLDLPDEVNSLLSAKL-')
-
-        # The gap matrix.
-        real_gaps = zeros((2, 69), int16)
-        real_gaps[0, 16] = 1
-        real_gaps[0, 17] = 1
-        real_gaps[0, 19] = 1
-        real_gaps[0, 20] = 1
-        real_gaps[0, 21] = 1
-        real_gaps[0, 37] = 1
-        real_gaps[0, 38] = 1
-        real_gaps[1, 35] = 1
-        real_gaps[1, 68] = 1
-        for i in range(2):
-            for j in range(68):
-                self.assertEqual(gaps[i, j], real_gaps[i][j])
-    def test_align_pairwise(self):
-        """Test the Needleman-Wunsch sequence alignment for two protein 
sequences.
-
-        This uses the sequences:
-
-            - 
'IHAAEEKDWKTAYSYbgFYEAFEGYdsidspkaitslkymllckimlntpedvqalvsgkla',
-            - 
'LHAADEKDFKTAFSYabiggapFYEAFEGYdsvdekvsaltalkymllckvmldlpdevnsllsakl'.
-
-        From online servers, the results with a gap open penalty of 5 and 
gap extend of 1 should be::
-
-            https://www.ebi.ac.uk/Tools/psa/emboss_needle/
-            EMBOSS_001           
IHAAEEKDWKTAYSY-B-G---FYEAFEGYDSIDSP-KAITSLKYMLLCKIMLNTPEDVQALVSGKLA
-                                 :|||:|||:|||:|| | |   ||||||||||:|.. 
.|:|:||||||||:||:.|::|.:|:|.||
-            EMBOSS_001           
LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDEKVSALTALKYMLLCKVMLDLPDEVNSLLSAKL-
-
-            http://web.expasy.org/cgi-bin/sim/sim.pl?prot
-            UserSeq1             
IHAAEEKDWKTAYSY-B-G---FYEAFEGYDSIDSP-KAITSLKYMLLCKIMLNTPEDVQALVSGKL
-            UserSeq2             
LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDEKVSALTALKYMLLCKVMLDLPDEVNSLLSAKL
-                                  *** *** *** ** * *   ********** *    * * 
******** **  *  *  * * **
-        """
-
-        # The sequences.
-        seq1 = 
'IHAAEEKDWKTAYSYbgFYEAFEGYdsidspkaitslkymllckimlntpedvqalvsgkla'
-        seq2 = 
'LHAADEKDFKTAFSYabiggapFYEAFEGYdsvdekvsaltalkymllckvmldlpdevnsllsakl'
-        print(seq1)
-        print(seq2)
-
-        # Perform the alignment.
-        align1, align2, gaps = align_pairwise(seq1, seq2, matrix='BLOSUM62', 
gap_open_penalty=5.0, gap_extend_penalty=1.0)
-        print(align1)
-        print(align2)
-        print(gaps)
-
-        # Check the alignment.
-        self.assertEqual(align1, 
'IHAAEEKDWKTAYSY-B-G---FYEAFEGYDSIDSP-KAITSLKYMLLCKIMLNTPEDVQALVSGKLA')
-        self.assertEqual(align2, 
'LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDEKVSALTALKYMLLCKVMLDLPDEVNSLLSAKL-')
-
-        # The gap matrix.
-        real_gaps = zeros((2, 68), int16)
-        real_gaps[0, 15] = 1
-        real_gaps[0, 17] = 1
-        real_gaps[0, 19] = 1
-        real_gaps[0, 20] = 1
-        real_gaps[0, 21] = 1
-        real_gaps[0, 36] = 1
-        real_gaps[1, 67] = 1
-        for i in range(2):
-            for j in range(68):
-                self.assertEqual(gaps[i, j], real_gaps[i][j])
-
-
-    def test_align_pairwise_PAM250(self):
-        """Test the Needleman-Wunsch sequence alignment for two protein 
sequences using the PAM250 substitution matrix.
-
-        This uses the sequences:
-
-            - 
'IHAAEEKDWKTAYSYbgFYEAFEGYdsidspkaitslkymllckimlntpedvqalvsgkla',
-            - 
'LHAADEKDFKTAFSYabiggapFYEAFEGYdsvdekvsaltalkymllckvmldlpdevnsllsakl'.
-
-        From online servers, the results with a gap open penalty of 5 and 
gap extend of 0.5 should be::
-
-            https://www.ebi.ac.uk/Tools/psa/emboss_needle/
-            EMBOSS_001          
IHAAEEKDWKTAYSYb--g---FYEAFEGYdsidspk--aitslkymllckimlntpedvqalvsgkla
-                                :|||:|||.|||:||.  |   ||||||||||:|. |  
|:|:||||||||:||:.|::|::|:|:|| 
-            EMBOSS_001          
LHAADEKDFKTAFSYabiggapFYEAFEGYdsvde-kvsaltalkymllckvmldlpdevnsllsakl-
-
-            http://web.expasy.org/cgi-bin/sim/sim.pl?prot
-            UserSeq1            
IHAAEEKDWKTAYSYBG-----FYEAFEGYDSIDSPK--AITSLKYMLLCKIMLNTPEDVQALVSGKL
-            UserSeq2            
LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDE-KVSALTALKYMLLCKVMLDLPDEVNSLLSAKL
-                                 *** *** *** **       ********** *  *  * * 
******** **  *  *  * * **
-        """
-
-        # The sequences.
-        seq1 = 
'IHAAEEKDWKTAYSYbgFYEAFEGYdsidspkaitslkymllckimlntpedvqalvsgkla'
-        seq2 = 
'LHAADEKDFKTAFSYabiggapFYEAFEGYdsvdekvsaltalkymllckvmldlpdevnsllsakl'
-        print(seq1)
-        print(seq2)
-
-        # Perform the alignment.
-        align1, align2, gaps = align_pairwise(seq1, seq2, matrix='PAM250', 
gap_open_penalty=5.0, gap_extend_penalty=0.5)
-        print(align1)
-        print(align2)
-        print(gaps)
-
-        # Check the alignment.
-        self.assertEqual(align1, 
'IHAAEEKDWKTAYSYB--G---FYEAFEGYDSIDSPK--AITSLKYMLLCKIMLNTPEDVQALVSGKLA')
-        self.assertEqual(align2, 
'LHAADEKDFKTAFSYABIGGAPFYEAFEGYDSVDE-KVSALTALKYMLLCKVMLDLPDEVNSLLSAKL-')
-
-        # The gap matrix.
-        real_gaps = zeros((2, 69), int16)
-        real_gaps[0, 16] = 1
-        real_gaps[0, 17] = 1
-        real_gaps[0, 19] = 1
-        real_gaps[0, 20] = 1
-        real_gaps[0, 21] = 1
-        real_gaps[0, 37] = 1
-        real_gaps[0, 38] = 1
-        real_gaps[1, 35] = 1
-        real_gaps[1, 68] = 1
-        for i in range(2):
-            for j in range(68):
-                self.assertEqual(gaps[i, j], real_gaps[i][j])




Related Messages


Powered by MHonArc, Updated Thu Jan 29 13:40:02 2015