Author: bugman
Date: Thu Jan 22 19:55:49 2015
New Revision: 27280
URL: http://svn.gna.org/viewcvs/relax?rev=27280&view=rev
Log:
Created the Test_align_protein.test_align_pairwise_PAM250 unit test.
This is in the unit test module _lib._sequence_alignment.test_align_protein.
It check the protein
alignment function lib.sequence_alignment.align_protein.align_pairwise()
together with the PAM250
substitution matrix.
Modified:
trunk/test_suite/unit_tests/_lib/_sequence_alignment/test_align_protein.py
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=27280&r1=27279&r2=27280&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 22 19:55:49 2015
@@ -79,3 +79,56 @@
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])
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits