Esempio n. 1
0
 def test_params_merge(self):
     t = LoadTree(treestring='((((a,b)ab,c)abc),d)')
     for (label, length, beta) in [('a',1, 20),('b',3,2.0),('ab',4,5.0),]:
         t.getNodeMatchingName(label).params = {'length':length, 'beta':beta}
     t = t.getSubTree(['b', 'c', 'd'])
     self.assertEqual(t.getNodeMatchingName('b').params,
                             {'length':7, 'beta':float(2*3+4*5)/(3+4)})
     self.assertRaises(ValueError, t.getSubTree, ['b','c','xxx'])
     self.assertEqual(str(t.getSubTree(['b','c','xxx'],ignore_missing=True)),
         '(b:7,c)root;')
Esempio n. 2
0
 def test_params_merge(self):
     t = LoadTree(treestring='((((a,b)ab,c)abc),d)')
     for (label, length, beta) in [
         ('a', 1, 20),
         ('b', 3, 2.0),
         ('ab', 4, 5.0),
     ]:
         t.getNodeMatchingName(label).params = {
             'length': length,
             'beta': beta
         }
     t = t.getSubTree(['b', 'c', 'd'])
     self.assertEqual(
         t.getNodeMatchingName('b').params, {
             'length': 7,
             'beta': float(2 * 3 + 4 * 5) / (3 + 4)
         })
     self.assertRaises(ValueError, t.getSubTree, ['b', 'c', 'xxx'])
     self.assertEqual(
         str(t.getSubTree(['b', 'c', 'xxx'], ignore_missing=True)),
         '(b:7,c)root;')
Esempio n. 3
0
    def gettree(self):
        treeobj = LoadTree(filename=os.path.join(data_path, "murphy.tree"))

        return treeobj.getSubTree(seqnames)
Esempio n. 4
0
        header = line.split()[0]
        fileout.write(''.join([">", header, "\n", seqs[header], "\n"]))
        rawseqs.append((header, seqs[header]))
        tips.append(header)
    fileout.close()

    print "Aligning seqs using muscle with -diags"
    seqs = LoadSeqs(data=rawseqs, moltype=RNA, aligned=False)
    aln = align_unaligned_seqs(seqs, RNA, {"-diags": True})
    fileout = open(folderout + "/" + basenames + "-seqsaligned.fasta", 'w')
    fileout.write(str(aln))
    fileout.close()

    print "Folding sequences"
    #get subtree of the clade being folded to pass to PPfold
    tr = LoadTree(argv[3])
    sub_tree = tr.getSubTree(tips, keep_root=True)
    filesubtree = open(folderout + "/" + basenames + "-subtreeDistances.nwk", 'w')
    filesubtree.write(sub_tree.getNewick(with_distances=True))
    filesubtree.close()
    filesubtree = open(folderout + "/" + basenames + "-subtree.nwk", 'w')
    filesubtree.write(sub_tree.getNewick(with_distances=False))
    #call PPfold with aligned sequences and subtree
    args = ["java", "-jar", PPFOLDDIR + "PPfold.jar", folderout + "/" + basenames + "-seqsaligned.fasta", "--outputd", folderout]
    check_call(args)
    
    print "Converting sequences to vienna"
    check_call(["ct2b.pl", folderout + basenames + "-seqsaligned.ct", ">",folderout + basenames + "-vienna.txt"]) 

    print "DONE"
Esempio n. 5
0
    def gettree(self):
        treeobj = LoadTree(filename=os.path.join(data_path, "murphy.tree"))

        return treeobj.getSubTree(seqnames)