def test_acceptance_01(self): nus = Nussinov('GGGAAAUCC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret, ([(1, 8), (2, 7), (3, 6)], [(1, 8), (2, 7), (4, 6)], [(1, 8), (2, 7), (5, 6)]))
def test_acceptance_02(self): nus = Nussinov('GGAAACCGAAAC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret,([(0,6), (1,5), (7,11)], [(0,11), (1,5), (6,7)]) )
class NussinovTest(unittest.TestCase): def setUp(self): self.basic_data = 'ACGU' self.basic = Nussinov(self.basic_data) def test_compute_return(self): ret = self.basic.compute() self.assertIsInstance(ret, list) def test_init_matrix(self): self.basic._init_matrix() self.assertEqual(len(self.basic.matrix), len(self.basic_data)) for i in xrange(len(self.basic_data)): for j in xrange(len(self.basic_data)): if i-1 <= j: self.assertEqual(self.basic.matrix[i][j], 0) else: self.assertEqual(self.basic.matrix[i][j], -1) def test_fill_diagonal(self): self.basic._fill_diagonal(1) self.assertEqual(self.basic.matrix[1][2], 1) self.basic._fill_diagonal(2) self.basic._fill_diagonal(3) self.assertEqual(self.basic.matrix[0][3], 2) def test_build_matrix(self): self.basic._build_matrix() self.assertEqual(self.basic.matrix[0][3], 2) self.assertEqual(self.basic.matrix[1][2], 1) def test_generate_trace(self): self.basic._build_matrix() self.basic._generate_trace() def test_acceptance_01(self): nus = Nussinov('GGGAAAUCC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret, ([(1,8), (2,7), (3,6)], [(1,8), (2,7), (4,6)], [(1,8), (2,7), (5,6)]) ) def test_acceptance_02(self): nus = Nussinov('GGAAACCGAAAC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret,([(0,6), (1,5), (7,11)], [(0,11), (1,5), (6,7)]) ) def test_acceptance_03(self): nus = Nussinov('GCGCGCGCGCGCGCGCGCGCGCGC') ret = nus.compute() self.assertEqual(len(ret), 12)
def test_acceptance_01(self): nus = Nussinov('GGGAAAUCC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret, ([(1,8), (2,7), (3,6)], [(1,8), (2,7), (4,6)], [(1,8), (2,7), (5,6)]) )
class NussinovTest(unittest.TestCase): def setUp(self): self.basic_data = 'ACGU' self.basic = Nussinov(self.basic_data) def test_compute_return(self): ret = self.basic.compute() self.assertIsInstance(ret, list) def test_init_matrix(self): self.basic._init_matrix() self.assertEqual(len(self.basic.matrix), len(self.basic_data)) for i in xrange(len(self.basic_data)): for j in xrange(len(self.basic_data)): if i - 1 <= j: self.assertEqual(self.basic.matrix[i][j], 0) else: self.assertEqual(self.basic.matrix[i][j], -1) def test_fill_diagonal(self): self.basic._fill_diagonal(1) self.assertEqual(self.basic.matrix[1][2], 1) self.basic._fill_diagonal(2) self.basic._fill_diagonal(3) self.assertEqual(self.basic.matrix[0][3], 2) def test_build_matrix(self): self.basic._build_matrix() self.assertEqual(self.basic.matrix[0][3], 2) self.assertEqual(self.basic.matrix[1][2], 1) def test_generate_trace(self): self.basic._build_matrix() self.basic._generate_trace() def test_acceptance_01(self): nus = Nussinov('GGGAAAUCC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret, ([(1, 8), (2, 7), (3, 6)], [(1, 8), (2, 7), (4, 6)], [(1, 8), (2, 7), (5, 6)])) def test_acceptance_02(self): nus = Nussinov('GGAAACCGAAAC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret, ([(0, 6), (1, 5), (7, 11)], [(0, 11), (1, 5), (6, 7)])) def test_acceptance_03(self): nus = Nussinov('GCGCGCGCGCGCGCGCGCGCGCGC') ret = nus.compute() self.assertEqual(len(ret), 12)
def RunAlgorithm(self): i = 0 text = self.RnaCodeTextEdit.toPlainText() TextList = text.split(QRegExp("\\s+")) if TextList.count() - 1 == 0: msgBox = QMessageBox() msgBox.setText("Can't run algorithm without data!") msgBox.exec_() return self.ResultTabView.setRowCount(TextList.count()) for line in TextList: nuss = Nussinov(line) ret = nuss.compute() item1 = QTableWidgetItem(line) item2 = QTableWidgetItem(QString(("%s\n" % (ret)))) self.ResultTabView.setItem(i, 0, item1) self.ResultTabView.setItem(i, 1, item2) i = i + 1 #self.ResultTabView. .write("%s %s\n" % (len(ret), ret)) self.ResultTabView.resizeColumnsToContents()
def RunAlgorithm(self): i = 0 text = self.RnaCodeTextEdit.toPlainText() TextList = text.split(QRegExp("\\s+")) if TextList.count() -1 == 0 : msgBox = QMessageBox() msgBox.setText("Can't run algorithm without data!") msgBox.exec_() return self.ResultTabView.setRowCount(TextList.count()) for line in TextList: nuss = Nussinov(line) ret = nuss.compute() item1 = QTableWidgetItem(line) item2 = QTableWidgetItem(QString(("%s\n" % (ret)) )) self.ResultTabView.setItem(i,0,item1) self.ResultTabView.setItem(i,1,item2) i = i + 1 #self.ResultTabView. .write("%s %s\n" % (len(ret), ret)) self.ResultTabView.resizeColumnsToContents()
#!/usr/bin/python from file_reader import * from nussinov import Nussinov if __name__ == "__main__": input_path = 'test_data' output_path = 'out' out = open(output_path, 'w') reader = FileReader(input_path) for line in reader: nuss = Nussinov(line) ret = nuss.compute() out.write("%s %s\n" % (len(ret), ret)) out.close()
def test_acceptance_03(self): nus = Nussinov('GCGCGCGCGCGCGCGCGCGCGCGC') ret = nus.compute() self.assertEqual(len(ret), 12)
def test_acceptance_02(self): nus = Nussinov('GGAAACCGAAAC') ret = nus.compute() self.assertEqual(len(ret), 3) self.assertIn(ret, ([(0, 6), (1, 5), (7, 11)], [(0, 11), (1, 5), (6, 7)]))