comparison commons/pyRepetUnit/profilesDB/tests/TestProfilesDatabankUtils.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
comparison
equal deleted inserted replaced
17:b0e8584489e6 18:94ab73e8a190
1 import unittest
2 import os
3 from commons.pyRepetUnit.profilesDB.Profiles import Profiles
4 from commons.pyRepetUnit.profilesDB.ProfilesDatabankUtils import ProfilesDatabankUtils
5
6
7 class TestProfilesDatabankUtils( unittest.TestCase ):
8
9 def setUp( self ):
10 self.profilesDBUtils = ProfilesDatabankUtils()
11
12
13 def test_read_emptyFile( self ):
14 file = open( "pfamDBEmpty", "w" )
15 file.close()
16 pfamDB2 = self.profilesDBUtils.read( "pfamDBEmpty" )
17 self.assertEquals( None, pfamDB2 )
18 os.remove( "pfamDBEmpty" )
19
20
21 def test_read( self ):
22 f = open("dummy.hmm", "w")
23 f.write("HMMER2.0 [2.3.2]\n")
24 f.write("NAME fn3\n")
25 f.write("ACC PF00041\n")
26 f.write("DESC Fibronectin type III domain\n")
27 f.write("LENG 84\n")
28 f.write("ALPH Amino\n")
29 f.write("RF no\n")
30 f.write("CS yes\n")
31 f.write("MAP yes\n")
32 f.write("COM hmmbuild -A myhmms fn3.sto\n")
33 f.write("COM hmmcalibrate myhmms\n")
34 f.write("NSEQ 108\n")
35 f.write("DATE Thu Jan 8 17:50:26 2009\n")
36 f.write("CKSUM 6130\n")
37 f.write("GA 7.8 -1.0\n")
38 f.write("TC 7.9 0.1\n")
39 f.write("XT -8455 -4 -1000 -1000 -8455 -4 -8455 -4 \n")
40 f.write("NULT -4 -8455\n")
41 f.write("NULE 595 -1558 85 338 -294 453 -1158 197 249 902 -1085 -142 -21 -313 45 531 201 384 -1998 -644 \n")
42 f.write("EVD -45.973442 0.237545\n")
43 f.write("HMM A C D E F G H I K L M N P Q R S T V W Y \n")
44 f.write(" m->m m->i m->d i->m i->i d->m d->d b->m m->e\n")
45 f.write("COM hmmcalibrate myhmms\n")
46 f.write(" -13 * -6756\n")
47 f.write(" 1 -1698 -4236 -5399 -847 -4220 -2885 -1259 -930 -2438 406 -3428 -4768 3631 -1835 -4773 -1187 -1331 -120 -4666 -1510 1\n")
48 f.write(" - -150 -501 232 46 -382 399 104 -628 211 -461 -722 274 395 44 95 358 118 -368 -296 -251 \n")
49 f.write(" C -144 -3400 -12951 -19 -6286 -701 -1378 -13 * \n")
50 f.write("//\n")
51 f.write("HMMER2.0 [2.3.2]\n")
52 f.write("NAME truc\n")
53 f.write("ACC PF00041\n")
54 f.write("LENG 123\n")
55 f.write("ALPH Amino\n")
56 f.write("RF no\n")
57 f.write("CS yes\n")
58 f.write("MAP yes\n")
59 f.write("COM hmmbuild -A myhmms fn3.sto\n")
60 f.write("COM hmmcalibrate myhmms\n")
61 f.write("NSEQ 108\n")
62 f.write("DATE Thu Jan 8 17:50:26 2009\n")
63 f.write("CKSUM 6130\n")
64 f.write("GA 7.8 -1.0\n")
65 f.write("TC 7.9 0.1\n")
66 f.write("XT -8455 -4 -1000 -1000 -8455 -4 -8455 -4 \n")
67 f.write("NULT -4 -8455\n")
68 f.write("NULE 595 -1558 85 338 -294 453 -1158 197 249 902 -1085 -142 -21 -313 45 531 201 384 -1998 -644 \n")
69 f.write("EVD -45.973442 0.237545\n")
70 f.write("HMM A C D E F G H I K L M N P Q R S T V W Y \n")
71 f.write(" m->m m->i m->d i->m i->i d->m d->d b->m m->e\n")
72 f.write("COM hmmcalibrate myhmms\n")
73 f.write(" -13 * -6756\n")
74 f.write(" 1 -1698 -4236 -5399 -847 -4220 -2885 -1259 -930 -2438 406 -3428 -4768 3631 -1835 -4773 -1187 -1331 -120 -4666 -1510 1\n")
75 f.write(" - -150 -501 232 46 -382 399 104 -628 211 -461 -722 274 395 44 95 358 118 -368 -296 -251 \n")
76 f.write(" C -144 -3400 -12951 -19 -6286 -701 -1378 -13 * \n")
77 f.write("//\n")
78 f.close()
79 pfamDB = self.profilesDBUtils.read("dummy.hmm")
80 expectedProfiles1 = Profiles()
81 expectedProfiles1.name = "fn3"
82 expectedProfiles1.desc = "Fibronectin type III domain"
83 expectedProfiles1.length = 84
84 expectedProfiles2 = Profiles()
85 expectedProfiles2.name = "truc"
86 expectedProfiles2.desc = ""
87 expectedProfiles2.length = 123
88
89 self.assertEqual( expectedProfiles1.name, pfamDB.get(0).name )
90 self.assertEqual( expectedProfiles1.desc, pfamDB.get(0).desc )
91 self.assertEqual( expectedProfiles1.length, pfamDB.get(0).length )
92 self.assertEqual( expectedProfiles2.name, pfamDB.get(1).name )
93 self.assertEqual( expectedProfiles2.desc, pfamDB.get(1).desc )
94 self.assertEqual( expectedProfiles2.length, pfamDB.get(1).length )
95
96 os.remove("dummy.hmm")
97
98
99 if __name__ == "__main__":
100 unittest.main()
101