Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
 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'>")
Exemplo n.º 3
0
 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'))
                  )
Exemplo n.º 4
0
 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'))
     )
Exemplo n.º 5
0
 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')))
Exemplo n.º 6
0
 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))
Exemplo n.º 7
0
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():