def test_get_most_likely(self): tree = EvolTree (WRKDIR + 'tree.nw') tree.workdir = 'examples/evol/data/protamine/PRM1/paml/' tree.link_to_evol_model (WRKDIR + 'paml/M1/M1.out', 'M1') tree.link_to_evol_model (WRKDIR + 'paml/M2/M2.out', 'M2') self.assertEqual(round(tree.get_most_likely ('M2','M1'),16), round(6.3280740347111373e-10,16))
def test_call_histface(self): tree = EvolTree (WRKDIR + 'tree.nw') tree.workdir = 'examples/evol/data/protamine/PRM1/paml/' tree.link_to_alignment (WRKDIR + 'alignments.fasta_ali') tree.link_to_evol_model (WRKDIR + 'paml/M2/M2.out', 'M2.a') col = {'NS' : 'grey', 'RX' : 'black', 'RX+': 'grey', 'CN' : 'black', 'CN+': 'grey', 'PS' : 'black', 'PS+': 'black'} col2 = {'NS' : 'white', 'RX' : 'white', 'RX+': 'white', 'CN' : 'white', 'CN+': 'white', 'PS' : 'white', 'PS+': 'white'} M2a = tree.get_evol_model('M2.a') try: import PyQt4 except ImportError: pass else: M2a.set_histface (up=False, kind='stick', hlines=[1.0, 0.3], hlines_col=['red','grey'], header='ugliest face') M2a.set_histface (up=False, kind='curve', colors=col2,errors=True, hlines = [2.5, 1.0, 4.0, 0.5], header = 'Many lines, error boxes, background black', hlines_col=['orange', 'yellow', 'red', 'cyan']) M2a.set_histface (up=False, kind='bar', hlines = [1.0, 0.3], hlines_col=['black','grey'],colors=col) self.assertEqual(str(type(M2a.properties['histface'])), "<class 'ete2.treeview.faces.SequencePlotFace'>")
def test_deep_copy(self): tree = EvolTree (WRKDIR + 'tree.nw') tree.workdir = 'examples/evol/data/protamine/PRM1/paml/' tree.link_to_evol_model (WRKDIR + 'paml/fb/fb.out', 'fb') fba = deepcopy (tree.get_evol_model('fb')) tree._models['fb.a'] = fba self.assertEqual(str(tree.get_evol_model('fb.a')), str(tree.get_evol_model('fb')) )
def test_pickling(self): tree = EvolTree (WRKDIR + 'tree.nw') tree.workdir = ETEPATH + '/examples/data/protamine/PRM1/paml/' tree.link_to_alignment (WRKDIR + 'alignments.fasta_ali') tree.link_to_evol_model (WRKDIR + 'paml/M2/M2.out', 'M2.a') out = open('blip.pik', 'w') dump (tree, out) out.close() out = open('blip.pik') tree2 = load (out) out.close() os.remove('blip.pik') self.assertEqual(str(tree2.get_evol_model('M2.a')), str(tree.get_evol_model('M2.a')) )
def test_load_model(self): tree = EvolTree (WRKDIR + 'tree.nw') tree.workdir = 'examples/evol/data/protamine/PRM1/paml/' tree.link_to_evol_model (WRKDIR + 'paml/fb/fb.out', 'fb') tree.link_to_evol_model (WRKDIR + 'paml/M1/M1.out', 'M1') tree.link_to_evol_model (WRKDIR + 'paml/M2/M2.out', 'M2') tree.link_to_evol_model (WRKDIR + 'paml/M7/M7.out', 'M7') tree.link_to_evol_model (WRKDIR + 'paml/M8/M8.out', 'M8') tree.link_to_alignment (WRKDIR + 'alignments.fasta_ali') self.assertEqual(sorted(tree._models.keys()), sorted(['fb', 'M1', 'M2', 'M7', 'M8'])) self.assertEqual(len (tree.get_evol_model('M2').branches), 194) self.assertEqual(tree.get_evol_model('fb').lnL, -3265.316569) self.assert_('proportions' in str(tree.get_evol_model('M2'))) self.assert_('p2=' in str(tree.get_evol_model('M2'))) self.assert_('proportions' not in str(tree.get_evol_model('fb'))) self.assert_(' #193' in str(tree.get_evol_model('fb')))
def test_labelling_tree(self): tree = EvolTree (WRKDIR + 'tree.nw') tree.workdir = 'examples/evol/data/protamine/PRM1/paml/' random_swap(tree) tree.link_to_evol_model (WRKDIR + 'paml/fb/fb.out', 'fb') self.assert_(check_annotation (tree))
T.show(histfaces = ['M1', 'M2']) ### # re-run without reeeeeeeeee-run print '\n\n\n ----> Now we have runned once those 3 models, we can load again our tree from' print ' ----> our tree file and alignment file, and this time load directly oufiles from previous' print ' with the function link_to_evol_model \n\n%s\n%s\n%s\n' % ('*'*10 + ' doc ' + '*'*10, \ T.link_to_evol_model.func_doc, \ '*'*30) raw_input('runs\n ====> hit some key to see...') T = EvolTree(TREE_PATH) T.link_to_alignment(ALG_PATH) T.workdir = (WORKING_PATH) T.link_to_evol_model(T.workdir + '/fb/out','fb') T.link_to_evol_model(T.workdir + '/M1/out','M1') T.link_to_evol_model(T.workdir + '/M2/out','M2') T.get_evol_model('M2').set_histface(kind='curve', colors=col, up = False, hlines=[1.0,0.3], hlines_col=['black','grey']) T.show(histfaces = ['M1', 'M2']) ### # mark tree functionality print T.write(format=10) name = None while name not in T.get_leaf_names():