-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparse_tree3.py
More file actions
43 lines (35 loc) · 976 Bytes
/
parse_tree3.py
File metadata and controls
43 lines (35 loc) · 976 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os
import re
import sys
#Provide a directory a pruned tree files
dirName = sys.argv[1]
dirList = os.listdir(dirName)
outName = sys.argv[2]
outDir = os.mkdir(outName)
#This scripts takes treefiles created by prunetrees.py and parses them by adding the genename after underscores
#and changing the "2" to a "$1" to run with codeml.
#It outputs all the treefiles as *genename*_edited_tree.nwk into the provided output directory name.
newline = ''
for filename in dirList:
endloc = re.search("_", filename).end()
geneName = filename[0:endloc-1]
openFileName = dirName + filename
file = open(openFileName, 'r')
for c in file.readline():
if c == ":":
pass
elif c == "1":
pass
elif c == "2":
newline += "$1"
elif c == "_":
newline += "_"
newline += geneName
else:
newline += c
newFileName = outName + geneName + "_edited_tree.nwk"
outfile = open(newFileName, 'w')
outfile.write(newline)
outfile.close()
file.close()
newline = ''