-
Notifications
You must be signed in to change notification settings - Fork 3
/
buildXenaFilter.py
104 lines (89 loc) · 2.58 KB
/
buildXenaFilter.py
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import string, os, sys
import uuid, json
def generateFilters (input, column, states, filePrefix, cohort, outdir):
def f1 (x):
if str.isalnum (x):
return x
else:
return "_"
outfile ={}
prefix = "filter_"
if filePrefix :
prefix = prefix +filePrefix+"_"
for state in states:
cleaned =["_"]
for i in range(0, len(state)):
letter = state[i]
s = f1 (letter)
if s =="_" and cleaned[-1]=="_":
continue
cleaned.append(s)
if cleaned[-1]=="_":
cleaned = cleaned[:-1]
cState = string.join(cleaned[1:],'')
fout = open(prefix+cState,'w')
fout.write("sample\n")
outfile[state]=fout
#json
fout = open(prefix+cState+".json",'w')
J= buildJson(cohort,state)
fout.write( json.dumps( J, indent=2 ) )
fout.close()