view prince_postprocess.py @ 4:82569b47df8d draft

planemo upload
author jowong
date Mon, 29 Oct 2018 07:52:12 -0400
parents
children 63f3743c2ae4
line wrap: on
line source

#!/usr/bin/env python

import sys
import argparse as ap
import re
parser = ap.ArgumentParser(prog='prince_postprocess', conflict_handler='resolve',
                           description="Postprocess galaxy PRINCE output")

input = parser.add_argument_group('Input', '')
input.add_argument('-i', '--input', nargs=1, required=True, help="PRINCE OUTPUT")
input.add_argument('-s', '--sample', nargs='*', required=True, help="Sample names")

if len(sys.argv) == 0:
    parser.print_usage()
    sys.exit(1)

args = parser.parse_args()

#print(args.input)
#sample_name = re.sub('(_1.fastq(.gz)*|_2.fastq(.gz)*|.fastq(.gz)*)', '', args.label.rstrip().lstrip())

with open(args.input[0]) as prince_output:
	with open('prince_postprocess_output.txt', 'w') as output:
		x = 1
		index = 0
		for line in prince_output:
			if x%2 == 0:
                                sample = re.sub('(_1.fastq(.gz)*|_2.fastq(.gz)*|.fastq(.gz)*)', '', args.sample[index])
				output.write(re.sub('.*.dat', sample, line))
				index += 1
			else:
				output.write(line)
			x += 1
		#output.write("\n")