Mercurial > repos > yufei-luo > s_mart
diff 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 |
line wrap: on
line diff
--- a/commons/core/seq/test/Test_Bioseq.py Mon Apr 22 11:11:10 2013 -0400 +++ b/commons/core/seq/test/Test_Bioseq.py Mon Apr 29 03:20:15 2013 -0400 @@ -35,6 +35,7 @@ from commons.core.seq.Bioseq import Bioseq from commons.core.utils.FileUtils import FileUtils from commons.core.coord.Map import Map +from commons.core.checker.RepetException import RepetException class Test_Bioseq( unittest.TestCase ): @@ -901,6 +902,39 @@ self.assertEquals(expNucl, obsNucl) + def test_getATGCNFromIUPACandATGCN(self): + self.assertEquals("G", Bioseq().getATGCNFromIUPACandATGCN('R', 'A')) + self.assertEquals("A", Bioseq().getATGCNFromIUPACandATGCN('R', 'G')) + self.assertEquals("C", Bioseq().getATGCNFromIUPACandATGCN('Y', 'T')) + self.assertEquals("T", Bioseq().getATGCNFromIUPACandATGCN('Y', 'C')) + self.assertEquals("C", Bioseq().getATGCNFromIUPACandATGCN('M', 'A')) + self.assertEquals("A", Bioseq().getATGCNFromIUPACandATGCN('M', 'C')) + self.assertEquals("T", Bioseq().getATGCNFromIUPACandATGCN('K', 'G')) + self.assertEquals("G", Bioseq().getATGCNFromIUPACandATGCN('K', 'T')) + self.assertEquals("A", Bioseq().getATGCNFromIUPACandATGCN('W', 'T')) + self.assertEquals("T", Bioseq().getATGCNFromIUPACandATGCN('W', 'A')) + self.assertEquals("G", Bioseq().getATGCNFromIUPACandATGCN('S', 'C')) + self.assertEquals("C", Bioseq().getATGCNFromIUPACandATGCN('S', 'G')) + + def test_getATGCNFromIUPACandATGCN_invalid_combination(self): + obsMsg = "" + try: + Bioseq().getATGCNFromIUPACandATGCN('R', 'T') + except RepetException as e: + obsMsg = e.getMessage() + + self.assertEqual("IUPAC code 'R' and nucleotide 'T' are not compatible", obsMsg) + + def test_getATGCNFromIUPACandATGCN_invalid_IUPAC(self): + bioseq = Bioseq() + obsMsg = "" + try: + bioseq.getATGCNFromIUPACandATGCN('B', 'T') + except RepetException as e: + obsMsg = e.getMessage() + + self.assertEqual("Can't retrieve the third nucleotide from IUPAC code 'B' and nucleotide 'T'", obsMsg) + def test_partialIUPAC(self): bioseq = Bioseq() bioseq.sequence = "ATGCNRATGCN"