comparison commons/core/seq/test/Test_Bioseq.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents 769e306b7933
children
comparison
equal deleted inserted replaced
17:b0e8584489e6 18:94ab73e8a190
33 import os 33 import os
34 import sys 34 import sys
35 from commons.core.seq.Bioseq import Bioseq 35 from commons.core.seq.Bioseq import Bioseq
36 from commons.core.utils.FileUtils import FileUtils 36 from commons.core.utils.FileUtils import FileUtils
37 from commons.core.coord.Map import Map 37 from commons.core.coord.Map import Map
38 from commons.core.checker.RepetException import RepetException
38 39
39 40
40 class Test_Bioseq( unittest.TestCase ): 41 class Test_Bioseq( unittest.TestCase ):
41 42
42 def setUp(self): 43 def setUp(self):
899 expNucl = 'N' 900 expNucl = 'N'
900 obsNucl = bioseq.getATGCNFromIUPAC('Z') 901 obsNucl = bioseq.getATGCNFromIUPAC('Z')
901 self.assertEquals(expNucl, obsNucl) 902 self.assertEquals(expNucl, obsNucl)
902 903
903 904
905 def test_getATGCNFromIUPACandATGCN(self):
906 self.assertEquals("G", Bioseq().getATGCNFromIUPACandATGCN('R', 'A'))
907 self.assertEquals("A", Bioseq().getATGCNFromIUPACandATGCN('R', 'G'))
908 self.assertEquals("C", Bioseq().getATGCNFromIUPACandATGCN('Y', 'T'))
909 self.assertEquals("T", Bioseq().getATGCNFromIUPACandATGCN('Y', 'C'))
910 self.assertEquals("C", Bioseq().getATGCNFromIUPACandATGCN('M', 'A'))
911 self.assertEquals("A", Bioseq().getATGCNFromIUPACandATGCN('M', 'C'))
912 self.assertEquals("T", Bioseq().getATGCNFromIUPACandATGCN('K', 'G'))
913 self.assertEquals("G", Bioseq().getATGCNFromIUPACandATGCN('K', 'T'))
914 self.assertEquals("A", Bioseq().getATGCNFromIUPACandATGCN('W', 'T'))
915 self.assertEquals("T", Bioseq().getATGCNFromIUPACandATGCN('W', 'A'))
916 self.assertEquals("G", Bioseq().getATGCNFromIUPACandATGCN('S', 'C'))
917 self.assertEquals("C", Bioseq().getATGCNFromIUPACandATGCN('S', 'G'))
918
919 def test_getATGCNFromIUPACandATGCN_invalid_combination(self):
920 obsMsg = ""
921 try:
922 Bioseq().getATGCNFromIUPACandATGCN('R', 'T')
923 except RepetException as e:
924 obsMsg = e.getMessage()
925
926 self.assertEqual("IUPAC code 'R' and nucleotide 'T' are not compatible", obsMsg)
927
928 def test_getATGCNFromIUPACandATGCN_invalid_IUPAC(self):
929 bioseq = Bioseq()
930 obsMsg = ""
931 try:
932 bioseq.getATGCNFromIUPACandATGCN('B', 'T')
933 except RepetException as e:
934 obsMsg = e.getMessage()
935
936 self.assertEqual("Can't retrieve the third nucleotide from IUPAC code 'B' and nucleotide 'T'", obsMsg)
937
904 def test_partialIUPAC(self): 938 def test_partialIUPAC(self):
905 bioseq = Bioseq() 939 bioseq = Bioseq()
906 bioseq.sequence = "ATGCNRATGCN" 940 bioseq.sequence = "ATGCNRATGCN"
907 expSequence1 = "ATGCNAATGCN" 941 expSequence1 = "ATGCNAATGCN"
908 expSequence2 = "ATGCNGATGCN" 942 expSequence2 = "ATGCNGATGCN"