0
|
1 #!/usr/bin/env python
|
|
2
|
|
3 import sys
|
|
4 import argparse as ap
|
|
5 import re
|
|
6 parser = ap.ArgumentParser(prog='spotyping_postprocess', conflict_handler='resolve',
|
|
7 description="Postprocess galaxy spotyping output")
|
|
8
|
|
9 input = parser.add_argument_group('Input', '')
|
|
10 input.add_argument('-s', '--sample', nargs='+', required=True, help="Sample names")
|
|
11 input.add_argument('-f', '--file', nargs='+', required=True, help="File of spotyping in galaxy convention")
|
|
12 if len(sys.argv) == 0:
|
|
13 parser.print_usage()
|
|
14 sys.exit(1)
|
|
15
|
|
16 args = parser.parse_args()
|
|
17
|
|
18
|
|
19 sample_dict={}
|
|
20
|
|
21
|
|
22 with open('spotyping_postprocess_output.txt', 'w') as output:
|
|
23 index = 0
|
|
24 for path in args.file:
|
|
25 with open(path) as f:
|
|
26 for line in f:
|
|
27 #sample_dict[re.sub(".*/","",line.rstrip())] = args.sample[path_index]
|
|
28 sample = re.sub('(_1.fastq(.gz)*|_2.fastq(.gz)*|.fastq(.gz)*)', '', args.sample[index].rstrip().lstrip())
|
|
29 output.write(re.sub(".*.dat", sample, line))
|
|
30 index += 1
|
|
31
|