-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdexseq_exon_change.py
More file actions
37 lines (29 loc) · 858 Bytes
/
dexseq_exon_change.py
File metadata and controls
37 lines (29 loc) · 858 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
'''The script reads results from DEXSeq and append a column with the number
of DEU for each genes with padjust < a given FDR.
'''
import sys
if len(sys.argv) == 1:
print >> sys.stderr, 'Usage: dexseq_exon_change.py <result_file> [FDR]'
print >> sys.stderr, 'Default FDR = 0.1'
raise SystemExit
result_file = sys.argv[1]
try:
FDR = float(sys.argv[2])
except IndexError:
FDR = 0.1 # default value
genes = {}
for line in open(result_file):
row = line.strip().split()
name = row[0]
if row[4] == "NA":
genes[name] = genes.get(name, 0)
continue
if float(row[4]) < FDR:
genes[name] = genes.get(name, 0) + 1
else:
genes[name] = genes.get(name, 0)
for line in open(result_file):
row = line.strip().split()
name = row[0]
row.append(str(genes[name]))
print '\t'.join(row)