示例#1
0
 def test_smap_error(self):
     mul = MulRFModel(extra = None)
     gene2species = phylo.read_gene2species("../../../examples/test/nonBinaryAll.smap")
     stree = treelib.read_tree('../../../examples/test/24Hits.stree')
     gtree = treelib.read_tree('../../../examples/test/24Hits.gtree')
     
     
     with self.assertRaises(Exception):
         mul.optimize_model(gtree, stree, None)
示例#2
0
 def test_nonbinary_trees(self):
     mul = MulRFModel(extra = None)
     gene2species = phylo.read_gene2species("../../../examples/test/nonBinaryAll.smap")
     stree = treelib.read_tree('../../../examples/test/nonBinaryAll.stree')
     gtree = treelib.read_tree('../../../examples/test/nonBinaryAll.gtree')
     
     mul.stree = stree
     mul.gene2species = gene2species
     self.assertEqual(mul.compute_cost(gtree), 6)
示例#3
0
 def test_null_trees(self):
     mul = MulRFModel(extra = None)
     stree = treelib.read_tree('../../../examples/test/EmptyTree.stree')
     gtree = treelib.read_tree('../../../examples/test/EmptyTree.stree')
     gene2species = phylo.read_gene2species("../../../examples/test/24Hits.smap")
     mul.stree = stree
     mul.gene2species = gene2species
     
     with self.assertRaises(AttributeError):
         mul.compute_cost(gtree)
示例#4
0
 def test_deep(self):
     deep = DeepCoalescenceModel(extra = None)
     gene2species = phylo.read_gene2species("../../../examples/test/24Hits.smap")
     stree = treelib.read_tree('../../../examples/test/test1.stree')
     gtree = treelib.read_tree('../../../examples/test/test1.gtree')
     
     deep.stree = stree
     deep.gene2species = gene2species
     
     self.assertEqual(deep.compute_cost(gtree), 2)
示例#5
0
 def test_single_node(self):
     
     sNode = treelib.TreeNode()
     gNode = treelib.TreeNode()
     
     mul = MulRFModel(extra = None)
     gene2species = phylo.read_gene2species("../../../examples/test/nonBinaryAll.smap")
     
     mul.stree = sNode
     mul.gene2species = gene2species
     
     with self.assertRaises(AttributeError):
         mul.compute_cost(gNode)
示例#6
0
    def test_birthDeathPrior_large(self):
        """test birth death prior for large trees"""

        l = 0.000732
        u = 0.000859
        maxdoom = 20

        stree = treelib.read_tree("test/data/fungi.stree")
        gene2species = phylo.read_gene2species("test/data/fungi.smap")
        tree = treelib.read_tree("test/data/fungi/10169/10169.tree")
        recon = phylo.reconcile(tree, stree, gene2species)

        p = c_calcBirthDeathPrior(tree, stree, recon, l, u, maxdoom)
        print p
        self.assert_(p != -INF)
示例#7
0
    def test_birthDeathPrior_large(self):
        """test birth death prior for large trees"""
        
        l = 0.000732 
        u = 0.000859
        maxdoom = 20
        
        stree = treelib.read_tree("test/data/fungi.stree")
        gene2species = phylo.read_gene2species("test/data/fungi.smap")
        tree = treelib.read_tree("test/data/fungi/10169/10169.tree")
        recon = phylo.reconcile(tree, stree, gene2species)

        p = c_calcBirthDeathPrior(tree, stree, recon, l, u, maxdoom)
        print p
        self.assert_(p != -INF)
#gene2species = phylo.read_gene2species(conf.smap)
stree = treelib1.read_tree(conf.stree)
tree = treelib1.read_tree(conf.tree)
if conf.names:
    snames = dict(util.read_delim(conf.names))
else:
    snames = None

if conf.brecon:

    brecon = phylo.read_brecon(conf.brecon, tree, stree)



elif conf.recon:
    recon, events = phylo.read_recon_events(conf.recon, tree, stree)
    brecon = phylo.recon_events2brecon(recon, events)
    
else:
    gene2species = phylo.read_gene2species(conf.smap)
    recon = phylo.reconcile(tree, stree, gene2species)
    events = phylo.label_events(tree, recon)
    brecon = phylo.recon_events2brecon(recon, events)
    
phylo.add_implied_spec_nodes_brecon(tree, brecon)

transsvg.draw_tree(tree, brecon, stree, filename=conf.output,
                   snames=snames)


#=============================================================================
# parse options

conf, args = o.parse_args()

#gene2species = phylo.read_gene2species(conf.smap)
stree = treelib1.read_tree(conf.stree)
tree = treelib1.read_tree(conf.tree)
if conf.names:
    snames = dict(util.read_delim(conf.names))
else:
    snames = None

if conf.brecon:

    brecon = phylo.read_brecon(conf.brecon, tree, stree)

elif conf.recon:
    recon, events = phylo.read_recon_events(conf.recon, tree, stree)
    brecon = phylo.recon_events2brecon(recon, events)

else:
    gene2species = phylo.read_gene2species(conf.smap)
    recon = phylo.reconcile(tree, stree, gene2species)
    events = phylo.label_events(tree, recon)
    brecon = phylo.recon_events2brecon(recon, events)

phylo.add_implied_spec_nodes_brecon(tree, brecon)

transsvg.draw_tree(tree, brecon, stree, filename=conf.output, snames=snames)