Mercurial > repos > davidvanzessen > ig_blast_merge
changeset 0:1f6de7db44b6 draft
Uploaded
author | davidvanzessen |
---|---|
date | Mon, 23 Sep 2013 05:42:54 -0400 |
parents | |
children | 30bbd9fe953c |
files | igblastmerge.py igblastmerge.xml |
diffstat | 2 files changed, 70 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/igblastmerge.py Mon Sep 23 05:42:54 2013 -0400 @@ -0,0 +1,42 @@ +import argparse +import sys +# error +def stop_err( msg ): + sys.stderr.write( "%s\n" % msg ) + sys.exit() + +# main +def main(): + parser = argparse.ArgumentParser() #docs.python.org/dev/library/argparse.html + parser.add_argument("--input", help="Input file(s)", nargs="+") + parser.add_argument("--id", help="Input file(s) id's", nargs="+") + parser.add_argument("--output", help="Output file") + + args = parser.parse_args() + try: + o = open(args.output, 'w') + i = open(args.input[-1], 'r') + separator = "\t" + newline = "\n" + header = "Sample" + line = i.readline() + o.write(line[:line.rfind(newline)] + separator + header + newline) #write the header + i.close() + + for cf,i in zip(args.input,args.id): + f = open(cf, 'r') + line = f.readline() + line = f.readline() #skip header + while line: + o.write(line[:line.rfind(newline)] + separator + i + newline) + line = f.readline() + f.close() + o.close() + + except Exception, ex: + stop_err('Error running new_column.py\n' + str(ex)) + sys.exit(0) + +if __name__ == "__main__": + print sys.argv + main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/igblastmerge.xml Mon Sep 23 05:42:54 2013 -0400 @@ -0,0 +1,28 @@ +<tool id="igblastmerge" name="IgBlastMerge" version="1.0"> + <description>Converting one or more "igBLASTreport parser" outputs for "VDJ Blast plot"</description> + <command interpreter="python"> + igblastmerge.py + --input + #for $i, $f in enumerate($files) + ${f.file} + #end for + --id + #for $i, $f in enumerate($files) + $(f.id) + #end for + --output $out_file + </command> + <inputs> + <repeat name="files" title="File" min="1" default="1"> + <param name="file" format="tabular" type="data" label="Data to Process" /> + <param name="id" type="text" label="ID" /> + </repeat> + </inputs> + <outputs> + <data format="tabular" name="out_file" /> + </outputs> + <help> + Merge several files + </help> + +</tool>