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;')
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;')
def gettree(self): treeobj = LoadTree(filename=os.path.join(data_path, "murphy.tree")) return treeobj.getSubTree(seqnames)
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"
def gettree(self): treeobj = LoadTree(filename=os.path.join(data_path, "murphy.tree")) return treeobj.getSubTree(seqnames)