1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
#!/usr/bin/env python
from cogent.util.unit_test import TestCase, main
from cogent.core.info import Info
from cogent.parse.ct import ct_parser
__author__ = "Shandy Wikman"
__copyright__ = "Copyright 2007-2009, The Cogent Project"
__contributors__ = ["Shandy Wikman"]
__license__ = "GPL"
__version__ = "1.4.1"
__maintainer__ = "Shandy Wikman"
__email__ = "ens01svn@cs.umu.se"
__status__ = "Development"
class CtParserTest(TestCase):
"""Provides tests for RNA secondary structure parsers"""
def setUp(self):
"""Setup function"""
#output
self.carnac_out = CARNAC
self.dynalign_out = DYNALIGN
self.mfold_out = MFOLD
self.sfold_out = SFOLD
self.unafold_out = UNAFOLD
self.knetfold_out = KNETFOLD
#expected
self.carnac_exp = [['GCAGAUGGCUUC',[(0,11),(2,9),(3,8)]]]
self.dynalign_exp = [['GCAGAUGGCUUC',[(0,11),(2,9),(3,8)],-46.3]]
self.mfold_exp = [['GCAGAUGGCUUC',[(0,11),(2,9),(3,8)],-23.47]]
self.sfold_exp = [['GCAGAUGGCUUC',[(0,11),(2,9),(3,8)],-22.40]]
self.unafold_exp = [['GCAGAUGGCUUC',[(0,11),(2,9),(3,8)],-20.5]]
self.knetfold_exp = [['GCAGAUGGCUUC',[(0,11),(2,9),(3,8)]]]
def test_carnac_output(self):
"""Test for ct_parser for carnac format"""
obs = ct_parser(self.carnac_out)
self.assertEqual(obs,self.carnac_exp)
def test_dynalign_output(self):
"""Test for ct_parser for dynalign format"""
obs = ct_parser(self.dynalign_out)
self.assertEqual(obs,self.dynalign_exp)
def test_mfold_output(self):
"""Test for ct_parser for mfold format"""
obs = ct_parser(self.mfold_out)
self.assertEqual(obs,self.mfold_exp)
def test_sfold_output(self):
"""Test for ct_parser for sfold format"""
obs = ct_parser(self.sfold_out)
self.assertEqual(obs,self.sfold_exp)
def test_unafold_output(self):
"""Test for ct_parser for unafold format"""
obs = ct_parser(self.unafold_out)
self.assertEqual(obs,self.unafold_exp)
def test_knetfold_output(self):
"""Test for ct_parser for knetfold format"""
obs = ct_parser(self.knetfold_out)
self.assertEqual(obs,self.knetfold_exp)
CARNAC = [' 12 seq1\n', ' 1 G 0 2 12 1\n',
' 2 C 1 3 0 2\n', ' 3 A 2 4 10 3\n',
' 4 G 3 5 9 4\n', ' 5 A 4 6 0 5\n',
' 6 U 5 7 0 6\n', ' 7 G 6 8 0 7\n',
' 8 G 7 9 0 8\n', ' 9 C 8 10 4 9\n',
' 10 U 6 11 3 10 \n', ' 11 U 7 12 0 11\n',
' 12 C 8 13 1 12\n']
DYNALIGN = [' 72 ENERGY = -46.3 seq 3\n',
' 1 G 0 2 12 1\n', ' 2 C 1 3 0 2\n',
' 3 A 2 4 10 3\n', ' 4 G 3 5 9 4\n',
' 5 A 4 6 0 5\n', ' 6 U 5 7 0 6\n',
' 7 G 6 8 0 7\n', ' 8 G 7 9 0 8\n',
' 9 C 8 10 4 9\n', ' 10 U 6 11 3 10 \n',
' 11 U 7 12 0 11\n', ' 12 C 8 13 1 12\n']
MFOLD = [' 12 dG = -23.47 [initially -22.40] seq1 \n',
' 1 G 0 2 12 1\n', ' 2 C 1 3 0 2\n',
' 3 A 2 4 10 3\n', ' 4 G 3 5 9 4\n',
' 5 A 4 6 0 5\n', ' 6 U 5 7 0 6\n',
' 7 G 6 8 0 7\n', ' 8 G 7 9 0 8\n',
' 9 C 8 10 4 9\n', ' 10 U 6 11 3 10 \n',
' 11 U 7 12 0 11\n', ' 12 C 8 13 1 12\n']
SFOLD = ['Structure 1 -22.40 0.63786E-01\n',
' 1 G 0 2 12 1\n', ' 2 C 1 3 0 2\n',
' 3 A 2 4 10 3\n', ' 4 G 3 5 9 4\n',
' 5 A 4 6 0 5\n', ' 6 U 5 7 0 6\n',
' 7 G 6 8 0 7\n', ' 8 G 7 9 0 8\n',
' 9 C 8 10 4 9\n', ' 10 U 6 11 3 10 \n',
' 11 U 7 12 0 11\n', ' 12 C 8 13 1 12\n']
UNAFOLD = ['12\tdG = -20.5\tseq1\n', ' 1 G 0 2 12 1\n',
' 2 C 1 3 0 2\n', ' 3 A 2 4 10 3\n',
' 4 G 3 5 9 4\n', ' 5 A 4 6 0 5\n',
' 6 U 5 7 0 6\n', ' 7 G 6 8 0 7\n',
' 8 G 7 9 0 8\n', ' 9 C 8 10 4 9\n',
' 10 U 6 11 3 10 \n', ' 11 U 7 12 0 11\n',
' 12 C 8 13 1 12\n']
KNETFOLD = [' 12 \n', ' 1 G 0 2 12 1\n',
' 2 C 1 3 0 2\n', ' 3 A 2 4 10 3\n',
' 4 G 3 5 9 4\n', ' 5 A 4 6 0 5\n',
' 6 U 5 7 0 6\n', ' 7 G 6 8 0 7\n',
' 8 G 7 9 0 8\n', ' 9 C 8 10 4 9\n',
' 10 U 6 11 3 10 \n', ' 11 U 7 12 0 11\n',
' 12 C 8 13 1 12\n']
if __name__ == '__main__':
main()
|