def __write_algn(self, fullpath): """ to write algn in paml format """ seq_group = SeqGroup() for n in self: seq_group.id2seq[n.node_id] = n.nt_sequence seq_group.id2name[n.node_id] = n.name seq_group.name2id[n.name] = n.node_id seq_group.write(outfile=fullpath, format='paml')
def __write_algn(self, fullpath): """ to write algn in paml format """ seq_group = SeqGroup () for n in self: seq_group.id2seq [n.node_id] = n.nt_sequence seq_group.id2name [n.node_id] = n.name seq_group.name2id [n.name ] = n.node_id seq_group.write (outfile=fullpath, format='paml')
def link_to_alignment(self, alignment, alg_format="fasta"): missing_leaves = [] missing_internal = [] if type(alignment) == SeqGroup: alg = alignment else: alg = SeqGroup(alignment, format=alg_format) # sets the seq of for n in self.traverse(): try: n.add_feature("sequence",alg.get_seq(n.name)) except KeyError: if n.is_leaf(): missing_leaves.append(n.name) else: missing_internal.append(n.name) if len(missing_leaves)>0: print >>sys.stderr, \ "Warnning: [%d] terminal nodes could not be found in the alignment." %\ len(missing_leaves)
def link_to_alignment(self, alignment, alg_format="fasta", **kwargs): missing_leaves = [] missing_internal = [] if type(alignment) == SeqGroup: alg = alignment else: alg = SeqGroup(alignment, format=alg_format, **kwargs) # sets the seq of for n in self.traverse(): try: n.add_feature("sequence",alg.get_seq(n.name)) except KeyError: if n.is_leaf(): missing_leaves.append(n.name) else: missing_internal.append(n.name) if len(missing_leaves)>0: print >>sys.stderr, \ "Warnning: [%d] terminal nodes could not be found in the alignment." %\ len(missing_leaves)
from ete_dev import PhyloTree, PhylomeDBConnector, SeqGroup p = PhylomeDBConnector() w,x, t = p.get_best_tree("Hsa0000001", 1) a, l = p.get_clean_alg("Hsa0000001", 1) A = SeqGroup(a, "iphylip") for s in A.id2seq: A.id2seq[s]=A.id2seq[s][:30] t.link_to_alignment(A) print t.get_species() print t t.set_outgroup(t&"Ddi0002240") sp = PhyloTree("(((((((((((Hsa, Ptr), Mmu), ((Mms, Rno), (Bta, Cfa))), Mdo), Gga), Xtr), (Dre, Fru))),Cin) (Dme, Aga)), Ddi);") reconciled, evs = t.reconcile(sp) print reconciled reconciled.show()