def test_build_tree_from_alignment(self): tree = build_tree_from_alignment(self.seqs, DNA) # test expected output for fasttree 1.1 and 2.0.1 try: for o,e in zip(tree.traverse(), DndParser(exp_tree).traverse()): self.assertEqual(o.Name,e.Name) self.assertFloatEqual(o.Length,e.Length) except AssertionError: for o,e in zip(tree.traverse(), DndParser(exp_tree_201).traverse()): self.assertEqual(o.Name,e.Name) self.assertFloatEqual(o.Length,e.Length)
def main(): fdir = sys.argv[1] odir = sys.argv[2] mkdir_p(odir) for fname in glob.iglob("{0}/*.fasta".format(fdir)): groupName = fname.split( os.path.sep )[-1].rstrip(".fasta") print("group {0}".format(groupName)) try: seqs = cogent.LoadSeqs(fname, moltype=cogent.PROTEIN, aligned=False) except Exception as e: print(e) exit(0) aln = align_unaligned_seqs(seqs, cogent.PROTEIN) t = build_tree_from_alignment(aln, cogent.PROTEIN) print("tree for group {0}".format( str(t) ) ) with open( os.path.sep.join( [ odir, groupName+".nwk" ] ), 'wb') as ofile: ofile.write( str(t).replace("'","") )
def bootTree(i, aln_len, seqNames, seqs, outdir): # stats sys.stderr.write('Inferring bootstrap tree: {}\n'.format(i)) # bootstrap index boot_idx = np.random.choice(range(aln_len), aln_len, replace=True) # conversion back to aln object aln_boot = seqs[:,boot_idx] aln_boot = {name:''.join(seq) for name,seq in zip(seqNames, aln_boot)} aln_boot = LoadSeqs(data=aln_boot, moltype=DNA) # inferring tree params = {'-boot' : 0} tree = build_tree_from_alignment(aln_boot, moltype=DNA, params=params) # writing out tree outFile = os.path.join(outdir, 'boot{}.nwk'.format(i)) tree.writeToFile(outFile) return(outFile)
def main(): fdir = sys.argv[1] odir = sys.argv[2] mkdir_p(odir) for fname in glob.iglob("{0}/*.fasta".format(fdir)): groupName = fname.split(os.path.sep)[-1].rstrip(".fasta") print("group {0}".format(groupName)) try: seqs = cogent.LoadSeqs(fname, moltype=cogent.PROTEIN, aligned=False) except Exception as e: print(e) exit(0) aln = align_unaligned_seqs(seqs, cogent.PROTEIN) t = build_tree_from_alignment(aln, cogent.PROTEIN) print("tree for group {0}".format(str(t))) with open(os.path.sep.join([odir, groupName + ".nwk"]), 'wb') as ofile: ofile.write(str(t).replace("'", ""))
def bootTree(i, aln_len, seqNames, seqs, outdir): # stats sys.stderr.write('Inferring bootstrap tree: {}\n'.format(i)) # bootstrap index boot_idx = np.random.choice(range(aln_len), aln_len, replace=True) # conversion back to aln object aln_boot = seqs[:, boot_idx] aln_boot = {name: ''.join(seq) for name, seq in zip(seqNames, aln_boot)} aln_boot = LoadSeqs(data=aln_boot, moltype=DNA) # inferring tree params = {'-boot': 0} tree = build_tree_from_alignment(aln_boot, moltype=DNA, params=params) # writing out tree outFile = os.path.join(outdir, 'boot{}.nwk'.format(i)) tree.writeToFile(outFile) return (outFile)