view add_input_name_as_column.py @ 5:06061aa49527 draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/add_input_name_as_column commit db90fc6943b99322a6d7459f644a6624c69a0be5-dirty
author mvdbeek
date Wed, 06 Mar 2019 09:16:29 -0500
parents 3a1f8302302d
children 3284b72eef56
line wrap: on
line source

import io
import argparse


def Parser():
    the_parser = argparse.ArgumentParser(description="add label to last column of file")
    the_parser.add_argument('--input', required=True, action="store", type=str, help="input tabular file")
    the_parser.add_argument('--output', required=True, action="store", type=str, help="output file path")
    the_parser.add_argument('--label', required=True, action="store", type=str, help="label to add in last column")
    the_parser.add_argument('--header', action="store", type=str, help="column label for last column")
    args = the_parser.parse_args()
    return args


args = Parser()


with io.open(args.input, encoding="utf-8") as input, io.open(args.output, 'w', encoding="utf-8") as output:
    for i, line in enumerate(input):
        line = line.strip('\n')
        if (i == 0) and args.header:
            line = "%s\t%s\n" % (line, args.header)
        else:
            line = "%s\t%s\n" % (line, args.label)
        output.write(line)