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>