diff --git a/modules/seq/base/tests/test_seq.py b/modules/seq/base/tests/test_seq.py index db027f6d05eb6c483b905cae3e0c15f9184ea305..c427c7155d00085b88d32a47cbe9ddbc7364ef50 100644 --- a/modules/seq/base/tests/test_seq.py +++ b/modules/seq/base/tests/test_seq.py @@ -19,6 +19,10 @@ class TestSeq(unittest.TestCase): self.seq_e=seq.CreateSequence('4','AMRLDG----ITGSA') self.seq_e.AttachView(self.protein.Select('aname==CA')) self.seq_e.SetSequenceOffset(1) + self.seq_f=seq.CreateSequence('5','MRLDGKTA-ITGSAR') + self.seq_f.AttachView(self.protein.Select('aname==CA')) + self.seq_g=seq.CreateSequence('6','MRLDGKTALITG---') + self.seq_g.AttachView(self.protein.Select('aname==CA')) def testViewsFromSequencesGapFrontSeqB(self): #~ MRLDGKTALITGSAR @@ -27,44 +31,105 @@ class TestSeq(unittest.TestCase): self.seq_b, self.seq_a.GetAttachedView(), self.seq_b.GetAttachedView()) + self.assertEqual(a.atoms[0].GetResidue().GetOneLetterCode(),'D'); + self.assertEqual(b.atoms[0].GetResidue().GetOneLetterCode(),'D'); + def testViewsFromSequencesGapFrontSeqA(self): + #~ ---DGKTALITGSAR + #~ MRLDGKTALITGSAR + [a,b]=seq.ViewsFromSequences(self.seq_b, + self.seq_a, + self.seq_b.GetAttachedView(), + self.seq_a.GetAttachedView()) + for i,j in zip(a.atoms,b.atoms): print i,j + self.assertEqual(a.atoms[0].GetResidue().GetOneLetterCode(),'D'); + self.assertEqual(b.atoms[0].GetResidue().GetOneLetterCode(),'D'); - assert(a.atoms[0].GetResidue().GetOneLetterCode()=='D'); - assert(b.atoms[0].GetResidue().GetOneLetterCode()=='D'); - #~ self.seq_b.GetResidue(j.GetResidue().GetIndex()).GetOneLetterCode()); - - def testViewsFromSequencesGapMiddleBoth(self): - #~ MRLDG---LITGSAR - #~ MRLDG----ITGSAR - [a,b]=seq.ViewsFromSequences(self.seq_c, - self.seq_d, - self.seq_c.GetAttachedView(), - self.seq_d.GetAttachedView()) - - print 'aaa'+a.atoms[4].name+'aaaa' - assert(a.atoms[0].GetResidue().GetOneLetterCode()=='M'); - assert(b.atoms[0].GetResidue().GetOneLetterCode()=='M'); - assert(a.atoms[4].GetResidue().GetOneLetterCode()=='I'); - assert(b.atoms[4].GetResidue().GetOneLetterCode()=='I'); - #~ self.seq_b.GetResidue(j.GetResidue().GetIndex()).GetOneLetterCode()); - - def testViewsFromSequencesGapSeqOffset(self): + + def testViewsFromSequencesGapRearSeqB(self): #~ MRLDGKTALITGSAR - #~ AMRLDG----ITGSA + #~ ---DGKTALITGSAR [a,b]=seq.ViewsFromSequences(self.seq_a, - self.seq_e, + self.seq_b, self.seq_a.GetAttachedView(), - self.seq_e.GetAttachedView()) + self.seq_b.GetAttachedView()) + + self.assertEqual(a.atoms[0].GetResidue().GetOneLetterCode(),'D'); + self.assertEqual(b.atoms[0].GetResidue().GetOneLetterCode(),'D'); + + def testViewsFromSequencesGapRearSeqA(self): + #~ ---DGKTALITGSAR + #~ MRLDGKTALITGSAR + [a,b]=seq.ViewsFromSequences(self.seq_b, + self.seq_a, + self.seq_b.GetAttachedView(), + self.seq_a.GetAttachedView()) + #~ for i,j in zip(a.atoms,b.atoms): print i,j + self.assertEqual(a.atoms[0].GetResidue().GetOneLetterCode(),'D'); + self.assertEqual(b.atoms[0].GetResidue().GetOneLetterCode(),'D'); - assert(a.atoms[0].GetResidue().GetOneLetterCode()=='M'); - assert(b.atoms[0].GetResidue().GetOneLetterCode()=='M'); - assert(a.atoms[5].GetResidue().GetOneLetterCode()=='I'); - assert(b.atoms[5].GetResidue().GetOneLetterCode()=='I'); + + def testViewsFromSequencesSingleGapMiddle1(self): + #~ MRLDGKTALITGSAR + #~ MRLDGKTA-ITGSAR + [a,b]=seq.ViewsFromSequences(self.seq_a, + self.seq_f, + self.seq_a.GetAttachedView(), + self.seq_f.GetAttachedView()) + self.assertEqual(a.atoms[0].GetResidue().GetOneLetterCode(),'M'); + self.assertEqual(b.atoms[0].GetResidue().GetOneLetterCode(),'M'); + self.assertEqual(a.atoms[8].GetResidue().GetOneLetterCode(),'I'); + self.assertEqual(b.atoms[8].GetResidue().GetOneLetterCode(),'I'); + + def testViewsFromSequencesSingleGapMiddle2(self): + #~ MRLDGKTA-ITGSAR + #~ MRLDGKTALITGSAR + [a,b]=seq.ViewsFromSequences(self.seq_f, + self.seq_a, + self.seq_f.GetAttachedView(), + self.seq_a.GetAttachedView()) + + self.assertEqual(a.atoms[0].GetResidue().GetOneLetterCode(),'M'); + self.assertEqual(b.atoms[0].GetResidue().GetOneLetterCode(),'M'); + self.assertEqual(a.atoms[8].GetResidue().GetOneLetterCode(),'I'); + self.assertEqual(b.atoms[8].GetResidue().GetOneLetterCode(),'I'); + #def testViewsFromSequencesGapMiddleBoth(self): + ##~ MRLDG---LITGSAR + ##~ MRLDG----ITGSAR + #[a,b]=seq.ViewsFromSequences(self.seq_c, + #self.seq_d, + #self.seq_c.GetAttachedView(), + #self.seq_d.GetAttachedView()) + + #print 'aaa'+a.atoms[4].name+'aaaa' + #assertEqual(a.atoms[0].GetResidue().GetOneLetterCode()=='M'); + #assertEqual(b.atoms[0].GetResidue().GetOneLetterCode()=='M'); + #assertEqual(a.atoms[4].GetResidue().GetOneLetterCode()=='I'); + #assertEqual(b.atoms[4].GetResidue().GetOneLetterCode()=='I'); #~ self.seq_b.GetResidue(j.GetResidue().GetIndex()).GetOneLetterCode()); + + #def testViewsFromSequencesGapSeqOffset(self): + ##~ MRLDGKTALITGSAR + ##~ AMRLDG----ITGSA + #[a,b]=seq.ViewsFromSequences(self.seq_a, + #self.seq_e, + #self.seq_a.GetAttachedView(), + #self.seq_e.GetAttachedView()) + + + #assertEqual(a.atoms[0].GetResidue().GetOneLetterCode()=='M'); + #assertEqual(b.atoms[0].GetResidue().GetOneLetterCode()=='M'); + #assertEqual(a.atoms[5].GetResidue().GetOneLetterCode()=='I'); + #assertEqual(b.atoms[5].GetResidue().GetOneLetterCode()=='I'); + ##~ self.seq_b.GetResidue(j.GetResidue().GetIndex()).GetOneLetterCode()); if __name__ == "__main__": # test if python extension for seq module work - unittest.main() + suite = unittest.TestLoader().loadTestsFromTestCase(TestSeq) + unittest.TextTestRunner(verbosity=2).run(suite) + + #~ unittest.main() + diff --git a/modules/seq/base/tests/testfiles/testprotein.pdb b/modules/seq/base/tests/testfiles/testprotein.pdb new file mode 100644 index 0000000000000000000000000000000000000000..75351f1a994074f4d913ccc1e4b0003297f5e433 --- /dev/null +++ b/modules/seq/base/tests/testfiles/testprotein.pdb @@ -0,0 +1,109 @@ +ATOM 1 N MET A 1 21.609 35.384 56.705 1.00 41.48 N +ATOM 2 CA MET A 1 20.601 35.494 57.793 1.00 41.58 C +ATOM 3 C MET A 1 19.654 34.300 57.789 1.00 39.51 C +ATOM 4 O MET A 1 18.447 34.456 57.595 1.00 38.98 O +ATOM 5 CB MET A 1 19.789 36.783 57.639 1.00 45.90 C +ATOM 6 CG MET A 1 20.629 38.055 57.606 1.00 51.18 C +ATOM 7 SD MET A 1 21.638 38.325 59.084 1.00 55.83 S +ATOM 8 CE MET A 1 23.233 37.697 58.529 1.00 54.59 C +ATOM 9 N ARG A 2 20.202 33.112 58.011 1.00 36.39 N +ATOM 10 CA ARG A 2 19.396 31.903 58.033 1.00 34.35 C +ATOM 11 C ARG A 2 18.608 31.739 59.328 1.00 34.20 C +ATOM 12 O ARG A 2 17.651 30.965 59.381 1.00 32.64 O +ATOM 13 CB ARG A 2 20.284 30.681 57.801 1.00 33.48 C +ATOM 14 CG ARG A 2 20.665 30.488 56.342 1.00 31.69 C +ATOM 15 CD ARG A 2 21.557 29.281 56.154 1.00 29.91 C +ATOM 16 NE ARG A 2 22.931 29.557 56.551 1.00 28.95 N +ATOM 17 CZ ARG A 2 23.901 28.653 56.528 1.00 30.21 C +ATOM 18 NH1 ARG A 2 23.640 27.417 56.130 1.00 32.54 N +ATOM 19 NH2 ARG A 2 25.132 28.980 56.893 1.00 29.14 N +ATOM 20 N LEU A 3 19.003 32.473 60.366 1.00 35.07 N +ATOM 21 CA LEU A 3 18.330 32.402 61.664 1.00 34.70 C +ATOM 22 C LEU A 3 17.884 33.787 62.117 1.00 35.41 C +ATOM 23 O LEU A 3 17.853 34.091 63.308 1.00 35.91 O +ATOM 24 CB LEU A 3 19.269 31.793 62.710 1.00 31.47 C +ATOM 25 CG LEU A 3 19.695 30.340 62.501 1.00 29.10 C +ATOM 26 CD1 LEU A 3 20.585 29.897 63.648 1.00 26.97 C +ATOM 27 CD2 LEU A 3 18.461 29.459 62.420 1.00 27.95 C +ATOM 28 N ASP A 4 17.517 34.614 61.149 1.00 36.70 N +ATOM 29 CA ASP A 4 17.099 35.980 61.411 1.00 37.42 C +ATOM 30 C ASP A 4 15.897 36.114 62.343 1.00 37.20 C +ATOM 31 O ASP A 4 14.839 35.529 62.107 1.00 35.42 O +ATOM 32 CB ASP A 4 16.814 36.671 60.079 1.00 40.33 C +ATOM 33 CG ASP A 4 17.023 38.166 60.142 1.00 43.16 C +ATOM 34 OD1 ASP A 4 16.121 38.876 60.638 1.00 44.42 O +ATOM 35 OD2 ASP A 4 18.100 38.629 59.699 1.00 45.27 O +ATOM 36 N GLY A 5 16.085 36.893 63.408 1.00 38.60 N +ATOM 37 CA GLY A 5 15.027 37.141 64.378 1.00 40.00 C +ATOM 38 C GLY A 5 14.640 35.963 65.253 1.00 40.53 C +ATOM 39 O GLY A 5 13.475 35.828 65.645 1.00 40.48 O +ATOM 40 N LYS A 6 15.612 35.110 65.565 1.00 39.87 N +ATOM 41 CA LYS A 6 15.354 33.938 66.391 1.00 38.75 C +ATOM 42 C LYS A 6 16.248 33.899 67.615 1.00 37.16 C +ATOM 43 O LYS A 6 17.363 34.427 67.602 1.00 36.93 O +ATOM 44 CB LYS A 6 15.548 32.665 65.571 1.00 39.36 C +ATOM 45 CG LYS A 6 14.498 32.476 64.504 1.00 40.15 C +ATOM 46 CD LYS A 6 14.601 31.107 63.866 1.00 41.73 C +ATOM 47 CE LYS A 6 13.463 30.880 62.879 1.00 44.93 C +ATOM 48 NZ LYS A 6 12.132 31.017 63.537 1.00 44.56 N +ATOM 49 N THR A 7 15.750 33.261 68.670 1.00 34.56 N +ATOM 50 CA THR A 7 16.484 33.152 69.925 1.00 31.14 C +ATOM 51 C THR A 7 16.945 31.728 70.188 1.00 30.82 C +ATOM 52 O THR A 7 16.175 30.775 70.059 1.00 31.78 O +ATOM 53 CB THR A 7 15.618 33.605 71.114 1.00 30.89 C +ATOM 54 OG1 THR A 7 14.409 32.837 71.147 1.00 31.28 O +ATOM 55 CG2 THR A 7 15.263 35.077 70.991 1.00 32.31 C +ATOM 56 N ALA A 8 18.205 31.586 70.573 1.00 29.62 N +ATOM 57 CA ALA A 8 18.759 30.274 70.854 1.00 29.72 C +ATOM 58 C ALA A 8 19.461 30.202 72.215 1.00 30.28 C +ATOM 59 O ALA A 8 20.244 31.084 72.579 1.00 30.25 O +ATOM 60 CB ALA A 8 19.732 29.874 69.745 1.00 29.05 C +ATOM 61 N LEU A 9 19.163 29.146 72.964 1.00 28.68 N +ATOM 62 CA LEU A 9 19.784 28.923 74.261 1.00 26.72 C +ATOM 63 C LEU A 9 20.780 27.790 74.007 1.00 26.04 C +ATOM 64 O LEU A 9 20.390 26.713 73.554 1.00 26.45 O +ATOM 65 CB LEU A 9 18.733 28.471 75.291 1.00 26.06 C +ATOM 66 CG LEU A 9 19.044 28.458 76.801 1.00 25.33 C +ATOM 67 CD1 LEU A 9 17.929 27.731 77.537 1.00 23.24 C +ATOM 68 CD2 LEU A 9 20.359 27.772 77.089 1.00 25.34 C +ATOM 69 N ILE A 10 22.056 28.036 74.278 1.00 23.49 N +ATOM 70 CA ILE A 10 23.077 27.016 74.090 1.00 24.46 C +ATOM 71 C ILE A 10 23.777 26.777 75.422 1.00 27.09 C +ATOM 72 O ILE A 10 24.431 27.677 75.953 1.00 27.64 O +ATOM 73 CB ILE A 10 24.124 27.460 73.057 1.00 24.13 C +ATOM 74 CG1 ILE A 10 23.427 27.822 71.747 1.00 22.48 C +ATOM 75 CG2 ILE A 10 25.153 26.351 72.842 1.00 17.46 C +ATOM 76 CD1 ILE A 10 24.360 28.402 70.719 1.00 24.59 C +ATOM 77 N THR A 11 23.650 25.565 75.955 1.00 27.49 N +ATOM 78 CA THR A 11 24.256 25.247 77.240 1.00 28.56 C +ATOM 79 C THR A 11 25.740 24.948 77.123 1.00 29.62 C +ATOM 80 O THR A 11 26.186 24.359 76.138 1.00 32.36 O +ATOM 81 CB THR A 11 23.551 24.043 77.899 1.00 27.97 C +ATOM 82 OG1 THR A 11 23.883 22.839 77.199 1.00 27.93 O +ATOM 83 CG2 THR A 11 22.050 24.235 77.863 1.00 27.09 C +ATOM 84 N GLY A 12 26.499 25.356 78.137 1.00 29.33 N +ATOM 85 CA GLY A 12 27.934 25.121 78.150 1.00 29.86 C +ATOM 86 C GLY A 12 28.634 25.744 76.963 1.00 31.12 C +ATOM 87 O GLY A 12 29.570 25.170 76.407 1.00 32.13 O +ATOM 88 N SER A 13 28.186 26.939 76.592 1.00 32.78 N +ATOM 89 CA SER A 13 28.721 27.662 75.443 1.00 33.66 C +ATOM 90 C SER A 13 29.757 28.737 75.764 1.00 35.28 C +ATOM 91 O SER A 13 30.039 29.600 74.933 1.00 36.10 O +ATOM 92 CB SER A 13 27.561 28.292 74.674 1.00 32.16 C +ATOM 93 OG SER A 13 26.712 29.012 75.550 1.00 31.20 O +ATOM 94 N ALA A 14 30.323 28.696 76.963 1.00 36.42 N +ATOM 95 CA ALA A 14 31.320 29.688 77.335 1.00 36.95 C +ATOM 96 C ALA A 14 32.594 29.418 76.550 1.00 37.21 C +ATOM 97 O ALA A 14 33.338 30.338 76.218 1.00 36.96 O +ATOM 98 CB ALA A 14 31.600 29.621 78.834 1.00 36.61 C +ATOM 99 N ARG A 15 32.833 28.146 76.249 1.00 37.46 N +ATOM 100 CA ARG A 15 34.025 27.749 75.511 1.00 38.19 C +ATOM 101 C ARG A 15 33.755 26.585 74.573 1.00 36.88 C +ATOM 102 O ARG A 15 32.648 26.040 74.533 1.00 36.88 O +ATOM 103 CB ARG A 15 35.136 27.342 76.484 1.00 40.06 C +ATOM 104 CG ARG A 15 35.555 28.438 77.445 1.00 43.70 C +ATOM 105 CD ARG A 15 36.475 27.902 78.531 1.00 44.19 C +ATOM 106 NE ARG A 15 36.657 28.880 79.598 0.00 44.00 N +ATOM 107 CZ ARG A 15 37.270 28.625 80.748 0.00 44.01 C +ATOM 108 NH1 ARG A 15 37.389 29.576 81.664 0.00 43.97 N +ATOM 109 NH2 ARG A 15 37.761 27.416 80.985 0.00 43.97 N