view add_sample_name_as_first_line.py @ 3:98f9da980bf5 draft default tip

planemo upload for repository https://github.com/jowong4/add_sample_name_as_first_line_of_file commit f3fe76f6cbf17b0ec4162065206483652a6519b7-dirty
author jowong
date Fri, 09 Nov 2018 12:27:57 -0500
parents 74a9f37e2bc9
children
line wrap: on
line source

import sys
import argparse
import re

def Parser():
  the_parser = argparse.ArgumentParser(description="add label to first line of file")
  the_parser.add_argument('--input', required=True, action="store", type=str, help="input file")
  the_parser.add_argument('--output', required=True,  action="store", type=str, help="output file path")
  the_parser.add_argument('--sample', required=True, action="store", type=str, help="label to add in the first line")
  args = the_parser.parse_args()
  return args

args=Parser()
#input=open(args.input)
#output=open(args.output, 'w')

#print >> output, args.label
#print >> output, input

sample_name = re.sub('(_1.fastq(.gz)*|_2.fastq(.gz)*|.fastq(.gz)*)', '', args.sample.rstrip().lstrip())

with open(args.input) as input:
	with open(args.output, 'w') as output:
		output.write(sample_name+"\n")
		for line in input:
			output.write(line)

#input.close()
#output.close()