changeset 0:112cb8dd7838

Initial import
author Michael R. Crusoe <mcrusoe@msu.edu>
date Sat, 28 Jun 2014 15:11:46 -0400
parents
children a9f09834fca4
files normalize-by-median.xml
diffstat 1 files changed, 173 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/normalize-by-median.xml	Sat Jun 28 15:11:46 2014 -0400
@@ -0,0 +1,173 @@
+<tool	id="gedlab-khmer-normalize-by-median"
+	name="Normalize By Median"
+	version="1.1-1"
+	force_history_refresh="true">
+	
+	<description>
+		Filters a fastq/fasta file using digital normalization via
+	    	median k-mer abundances.
+	</description>
+
+	<requirements>
+		<requirement
+			type="python-module"
+			version="1.1">
+				khmer
+		</requirement>
+    	</requirements>
+	
+	<version_command>
+		normalize-by-median.py --version
+    	</version_command>
+
+	<command>
+		mkdir output;
+		cd output;
+		normalize-by-median.py
+		$paired_switch
+		#if $parameters.type == "simple"
+			--ksize=20
+			--n_tables=4
+			--tablesize=$parameters.tablesize
+			--cutoff=20
+		#else
+			--ksize=$parameters.ksize
+			--n_tables=$parameters.n_tables
+			--tablesize=$parameters.tablesize_specific
+			--cutoff=$parameters.cutoff
+		#end if
+		#if $save_countingtable
+			--savetable=$countingtable
+		#end if
+		#if $countingtable_to_load
+			--loadtable=$countingtable_to_load
+		#end if
+		#for input in $inputs
+			$input
+		#end for
+	</command>
+
+	<inputs>
+		<param	name="inputs"
+			multiple="true"
+			type="data"
+			format="fasta,fastq,fastqsanger,fastqsolexa,fastqillumina"
+			label="FAST[AQ] file(s)"
+			help="Put in order of precedence such as longest reads first." />
+
+		<param	name="paired_switch"
+			type="boolean"
+			checked="false"
+			truevalue="--paired"
+			falsevalue=""
+			label="Are the inputs interleaved paired ends?"
+			help="If so, then selecting this option will process the paired ends together." />
+
+		<param	name="countingtable_to_load"
+			type="data"
+			optional="true"
+			label="an optional k-mer counting table to load"
+			help="The inputs file(s) will be processed using the kmer counts in the specified k-mer counting table file as a starting point." />
+
+		<param	name="save_countingtable"
+			type="boolean"
+			label="Save the k-mer counting table(s) in a file"
+			help="" />
+
+		<conditional name="parameters">
+			<param	name="type"
+				type="select"
+				label="Advanced Parameters"
+				help="ksize, n_tabless, a specific tablesize, cutoff" >
+				<option	value="simple"
+					selected="true">
+					Hide
+				</option>
+				<option value="specific">
+					Show
+				</option>
+            		</param>
+			<when	value="simple">
+				<param	name="tablesize"
+					type="select"
+					label="Sample Type"
+					display="radio">
+					<option	value="1e9"
+						selected="true">
+						Microbial Genome
+					</option>
+					<option value="2e9">
+						Animal Transcriptome
+					</option>
+					<option value="4e9">
+						Small Animal Genome or Low-Diversity Metagenome
+					</option>
+					<option value="16e9">
+						Large Animal Genome
+					</option>
+				</param>
+			</when>
+			<when	value="specific">
+				<param	name="ksize"
+					type="integer"
+					value="20"
+					label="ksize"
+					help="k-mer size to use" />
+				<param	name="n_tableses"
+					type="integer"
+					min="1"
+					value="4"
+					label="n_tables"
+					help="number of k-mer counting tables to use" />
+				<param	name="tablesize_specifc"
+					type="text"
+					label="tablesize"
+					help="lower bound on the tablesize to use" />
+				<param	name="cutoff"
+					type="integer"
+					min="1"
+					value="20"
+					label="cutoff" />
+			</when>
+		</conditional>
+	</inputs>
+	<outputs>
+		<data	name="hash"
+			format="data"
+			label="${tool.name} k-mer counting table from  #echo ', '.join(map(str, $inputs ))#">
+			<filter>save_hashtable == True</filter>
+		</data>
+		<data	name="outputs"
+			format="input"
+			label="${tool.name} processed nucleotide sequence file">
+			<discover_datasets pattern="__name__" directory="output" />
+		</data>
+
+	</outputs>
+ 	<stdio>
+        <!-- [HELP] If no exit code rule is defined, the tool will stop if anything is written to STDERR -->
+		<exit_code	range="1:"
+				level="fatal" />
+	</stdio>
+    
+    <!-- [OPTIONAL] Tests to be run manually by the Galaxy admin -->
+    <tests>
+        <!-- [HELP] Test files have to be in the ~/test-data directory
+        <test>
+            <param name="input" value="input_test.tab" />
+            <param name="int"   value="10" />
+            <output name="output" file="output_test.txt" />
+	</test> -->
+        <!-- [HELP] Multiple tests can be defined with different parameters -->
+<!--
+        <test>
+        </test>
+-->
+    </tests>
+    
+    <!-- [OPTIONAL] Help displayed in Galaxy -->
+    <!--
+	<help>
+	</help>
+    -->    
+</tool>