def NJ(thatdm): # Reconstruct tree treehat = DistanceTreeConstructor().nj(thatdm) xtreehat = XTree( treehat, dict((clade, set([clade.name])) for clade in treehat.get_terminals())) return (xtreehat)
def reconstruct_tree_NJ(kmer_distance_matrices, ignore_coalescent=False): candidates = [] for k in kmer_distance_matrices.keys(): thatdm = kmer_distance_matrices[k] treehat = DistanceTreeConstructor().nj(thatdm) xtreehat = XTree( treehat, dict((clade, set([clade.name])) for clade in treehat.get_terminals())) # treehat = DistanceTreeConstructor().nj(kmer_distance_matrices.values()[0]) candidates.append(xtreehat) return (most_common_xtree(candidates))
def reconstruct_tree_CoalescentJCNJ(kmer_distance_matrices): candidates = [] k_pairs = combinations(kmer_distance_matrices.keys(), 2) for k1, k2 in k_pairs: thatdm, thetahat = estimate_parameters3( { k1: kmer_distance_matrices[k1], k2: kmer_distance_matrices[k2] }, mu=1.0) treehat = DistanceTreeConstructor().nj(thatdm) xtreehat = XTree( treehat, dict((clade, set([clade.name])) for clade in treehat.get_terminals())) candidates.append(xtreehat) return (most_common_xtree(candidates))
def NJArgMinSumOfDistancesFromCoalescentJCExpectedKmerPairDistanceParameterizationMap( kmer_distance_matrices): candidates = [] k_pairs = combinations(kmer_distance_matrices.keys(), 2) for k1, k2 in k_pairs: thatdm, thetahat = ArgMinSumOfDistancesFromCoalescentJCExpectedKmerPairDistanceParameterizationMap( { k1: kmer_distance_matrices[k1], k2: kmer_distance_matrices[k2] }, mu=1.0) treehat = DistanceTreeConstructor().nj(thatdm) xtreehat = XTree( treehat, dict((clade, set([clade.name])) for clade in treehat.get_terminals())) candidates.append(xtreehat) return (most_common_xtree(candidates))