Beispiel #1
0
 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)
Beispiel #4
0
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)