Exemple #1
0
 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)]))
Exemple #2
0
 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)])
                   )
Exemple #3
0
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)
Exemple #4
0
 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)])
                   )
Exemple #5
0
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)
Exemple #6
0
 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()
Exemple #7
0
 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()
Exemple #8
0
#!/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()
Exemple #9
0
 def test_acceptance_03(self):
     nus = Nussinov('GCGCGCGCGCGCGCGCGCGCGCGC')
     ret = nus.compute()
     self.assertEqual(len(ret), 12)
Exemple #10
0
 def test_acceptance_03(self):
     nus = Nussinov('GCGCGCGCGCGCGCGCGCGCGCGC')
     ret = nus.compute()
     self.assertEqual(len(ret), 12)
Exemple #11
0
 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)]))
Exemple #12
0
#!/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()