annotate prince_postprocess.py @ 9:5b816b501285 draft default tip

planemo upload
author jowong
date Mon, 26 Nov 2018 02:13:58 -0500
parents 63f3743c2ae4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
82569b47df8d planemo upload
jowong
parents:
diff changeset
1 #!/usr/bin/env python
82569b47df8d planemo upload
jowong
parents:
diff changeset
2
82569b47df8d planemo upload
jowong
parents:
diff changeset
3 import sys
82569b47df8d planemo upload
jowong
parents:
diff changeset
4 import argparse as ap
82569b47df8d planemo upload
jowong
parents:
diff changeset
5 import re
82569b47df8d planemo upload
jowong
parents:
diff changeset
6 parser = ap.ArgumentParser(prog='prince_postprocess', conflict_handler='resolve',
82569b47df8d planemo upload
jowong
parents:
diff changeset
7 description="Postprocess galaxy PRINCE output")
82569b47df8d planemo upload
jowong
parents:
diff changeset
8
82569b47df8d planemo upload
jowong
parents:
diff changeset
9 input = parser.add_argument_group('Input', '')
82569b47df8d planemo upload
jowong
parents:
diff changeset
10 input.add_argument('-i', '--input', nargs=1, required=True, help="PRINCE OUTPUT")
8
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
11 input.add_argument('-s', '--sample', nargs='+', required=True, help="Sample names")
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
12 input.add_argument('-f', '--file', nargs='+', required=True, help="File of forward reads in galaxy convention")
4
82569b47df8d planemo upload
jowong
parents:
diff changeset
13 if len(sys.argv) == 0:
82569b47df8d planemo upload
jowong
parents:
diff changeset
14 parser.print_usage()
82569b47df8d planemo upload
jowong
parents:
diff changeset
15 sys.exit(1)
82569b47df8d planemo upload
jowong
parents:
diff changeset
16
82569b47df8d planemo upload
jowong
parents:
diff changeset
17 args = parser.parse_args()
82569b47df8d planemo upload
jowong
parents:
diff changeset
18
82569b47df8d planemo upload
jowong
parents:
diff changeset
19 #print(args.input)
82569b47df8d planemo upload
jowong
parents:
diff changeset
20 #sample_name = re.sub('(_1.fastq(.gz)*|_2.fastq(.gz)*|.fastq(.gz)*)', '', args.label.rstrip().lstrip())
8
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
21 sample_dict={}
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
22 path_index = 0
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
23 for path in args.file:
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
24 with open(path) as f:
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
25 for line in f:
9
5b816b501285 planemo upload
jowong
parents: 8
diff changeset
26 sample_dict[re.sub(".*/","",line.rstrip())] = args.sample[path_index]
8
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
27 path_index += 1
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
28
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
29
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
30
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
31
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
32
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
33
4
82569b47df8d planemo upload
jowong
parents:
diff changeset
34
82569b47df8d planemo upload
jowong
parents:
diff changeset
35 with open(args.input[0]) as prince_output:
82569b47df8d planemo upload
jowong
parents:
diff changeset
36 with open('prince_postprocess_output.txt', 'w') as output:
82569b47df8d planemo upload
jowong
parents:
diff changeset
37 x = 1
82569b47df8d planemo upload
jowong
parents:
diff changeset
38 index = 0
82569b47df8d planemo upload
jowong
parents:
diff changeset
39 for line in prince_output:
82569b47df8d planemo upload
jowong
parents:
diff changeset
40 if x%2 == 0:
8
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
41 entries =line.rstrip().split(',')
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
42 sample = re.sub('(_1.fastq(.gz)*|_2.fastq(.gz)*|.fastq(.gz)*)', '', sample_dict[entries[0]])
63f3743c2ae4 planemo upload
jowong
parents: 4
diff changeset
43 output.write(re.sub(entries[0], sample, line))
4
82569b47df8d planemo upload
jowong
parents:
diff changeset
44 index += 1
82569b47df8d planemo upload
jowong
parents:
diff changeset
45 else:
82569b47df8d planemo upload
jowong
parents:
diff changeset
46 output.write(line)
82569b47df8d planemo upload
jowong
parents:
diff changeset
47 x += 1
82569b47df8d planemo upload
jowong
parents:
diff changeset
48 #output.write("\n")
82569b47df8d planemo upload
jowong
parents:
diff changeset
49
82569b47df8d planemo upload
jowong
parents:
diff changeset
50