Example #1
0
 def setUp(self):
     tree_str = "[&R] ((((H**o:0.21,Pongo:0.21)N1:0.28,Macaca:0.49)N2:0.13,Ateles:0.62)N3:0.38,Galago:1.00)N4:0.0;"
     data_str = """
 #NEXUS
 BEGIN DATA;
     DIMENSIONS  NTAX=5 NCHAR=2;
     FORMAT DATATYPE = CONTINUOUS GAP = - MISSING = ?;
     MATRIX
         H**o      4.09434   4.74493
         Pongo     3.61092   3.33220
         Macaca    2.37024   3.36730
         Ateles    2.02815   2.89037
         Galago   -1.46968   2.30259
     ;
 END;
 """
     taxa = dendropy.TaxonNamespace()
     self.tree = dendropy.Tree.get_from_string(tree_str,
                                               'newick',
                                               taxon_namespace=taxa)
     self.char_matrix = dendropy.ContinuousCharacterMatrix.get_from_string(
         data_str, 'nexus', taxon_namespace=taxa)
     self.pic = continuous.PhylogeneticIndependentConstrasts(
         tree=self.tree, char_matrix=self.char_matrix)
     self.expected_vals = []
     self.expected_vals.append({
         # state, corrected edge length, contrast, contrast_var
         "N1": (3.852630000, 0.385000000, 0.483420000, 0.420000000),
         "N2": (3.200378400, 0.345600000, 1.482390000, 0.875000000),
         "N3": (2.780823579, 0.601905551, 1.172228400, 0.965600000),
         "N4": (1.183724613, 0.375743470, 4.250503579, 1.601905551),
     })
     self.expected_vals.append({
         # state, corrected edge length, contrast, contrast_var
         "N1": (4.038565000, 0.385000000, 1.412730000, 0.420000000),
         "N2": (3.743208400, 0.345600000, 0.671265000, 0.875000000),
         "N3": (3.437967150, 0.601905551, 0.852838400, 0.965600000),
         "N4": (3.011356599, 0.375743470, 1.135377150, 1.601905551),
     })
Example #2
0
def pic_compute(tree_sim,Z_singleset,taxa1,order_sim):

    simchar_dict = {}
    keys = ["B.mysticetus", "B.acutorostrata", "C.marginata", "B.borealis",
            "B.physalus", "E.robustus", "B.musculus", "B.omurai",
            "E.australis", "M.novaeangliae", "B.bonaerensis", "B.brydei",
            "B.edeni", "E.glacialis", "E.japonica"]
    for i in range(15):
        simchar_dict[keys[i]] = [Z_singleset[i]]

    simchars = dendropy.ContinuousCharacterMatrix.from_dict(simchar_dict, taxon_namespace=taxa1)
    simpic = continuous.PhylogeneticIndependentConstrasts(tree=tree_sim, char_matrix=simchars)
    sim_ctree = simpic.contrasts_tree(character_index=0,
                                      annotate_pic_statistics=True,
                                      state_values_as_node_labels=False,
                                      corrected_edge_lengths=False)
    sim_pic = []
    sim_label = []
    for nd in sim_ctree.postorder_internal_node_iter():
        sim_pic.append(nd.pic_contrast_standardized)
        sim_label.append(int(nd.label))
    sim_pic_ordered = np.array(sim_pic)[np.argsort(sim_label)]
    return sim_pic_ordered,order_sim
Example #3
0
import dendropy
from dendropy.model import continuous

taxa = dendropy.TaxonNamespace()
tree = dendropy.Tree.get(path="primates.cc.tre",
                         schema="newick",
                         taxon_namespace=taxa)
chars = dendropy.ContinuousCharacterMatrix.get(path="primates.cc.nex",
                                               schema="nexus",
                                               taxon_namespace=taxa)
pic = continuous.PhylogeneticIndependentConstrasts(tree=tree,
                                                   char_matrix=chars)
ctree1 = pic.contrasts_tree(character_index=0,
                            annotate_pic_statistics=True,
                            state_values_as_node_labels=False,
                            corrected_edge_lengths=False)
for nd in ctree1.postorder_internal_node_iter():
    row = [
        nd.pic_state_value, nd.pic_state_variance, nd.pic_contrast_raw,
        nd.pic_edge_length_error
    ]
    row_str = [(("%10.8f") % i) for i in row]
    row_str = "    ".join(row_str)
    label = nd.label.ljust(6)
    print "%s %s" % (label, row_str)
Example #4
0
 def testResolve(self):
     pic = continuous.PhylogeneticIndependentConstrasts(
         tree=self.tree,
         char_matrix=self.char_matrix,
         polytomy_strategy="Resolve")
     ctree = pic.contrasts_tree(1)
Example #5
0
 def testError(self):
     pic = continuous.PhylogeneticIndependentConstrasts(
         tree=self.tree,
         char_matrix=self.char_matrix,
         polytomy_strategy="error")
     self.assertRaises(ValueError, pic.contrasts_tree, 1)
Example #6
0
 def testErrorOnDefault(self):
     pic = continuous.PhylogeneticIndependentConstrasts(
         tree=self.tree, char_matrix=self.char_matrix)
     self.assertRaises(ValueError, pic.contrasts_tree, 1)
Example #7
0
    "Eubalaena_japonica"
]

obsZ_ordered_sim = length[[
    np.where(sim_species_label[i] == extantlabels_array)[0][0]
    for i in range(15)
]]
obsZ = obsZ_ordered_sim
meantrait = np.mean(obsZ)
# PIC calculation
taxa1 = dendropy.TaxonNamespace()
dataset_combined = dendropy.DataSet.get(path=files + "bw_char.nex",
                                        schema="nexus")
tree_emp = dataset_combined.tree_lists[0][0]
chars_emp = dataset_combined.char_matrices[0]
pic_emp = continuous.PhylogeneticIndependentConstrasts(tree=tree_emp,
                                                       char_matrix=chars_emp)
ctree_emp = pic_emp.contrasts_tree(character_index=0,
                                   annotate_pic_statistics=True,
                                   state_values_as_node_labels=False,
                                   corrected_edge_lengths=False)
emp_pic = []
label = []
for nd in ctree_emp.postorder_internal_node_iter():
    emp_pic.append(nd.pic_contrast_standardized)
    label.append(int(nd.label))

emp_pic_orded_node = abs(np.array(emp_pic)[np.argsort(label)])

tree_sim = dendropy.Tree.get(path=files + "bw.nex",
                             schema="nexus",
                             taxon_namespace=taxa1)