changeset 30:171f3cf6233d draft

Uploaded
author yhoogstrate
date Tue, 20 May 2014 05:28:36 -0400
parents 27efc93c1ca6
children 9e9b98a1cb12
files edgeR_Design_from_Expression_Matrix.xml
diffstat 1 files changed, 95 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/edgeR_Design_from_Expression_Matrix.xml	Tue May 20 05:28:36 2014 -0400
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="design_from_expression_matrix" name="edgeR: Design- from Expression matrix">
+	<description>Create design- from an expression matrix</description>
+	
+	<command interpreter="python">
+		design_matrix_creator.py
+			-c $expression_matrix
+			
+			#set $unique_columns = []
+			#for $factor in $treatments:
+				#for $level in $factor.rep_factorLevel:
+					#for $val in $level.factorIndex.value:
+						#if str($val) not in $unique_columns:
+							#set $unique_columns = $unique_columns + [str($val)]
+						#end if
+					#end for
+				#end for
+			#end for
+			
+			#set $unique_columns = " ".join(unique_columns)
+			-s $unique_columns
+			
+			-t
+			#for $factor in $treatments:
+				#set $factor_str = str($factor.name).encode('base64').replace('\n','')
+				
+				#for $level in $factor.rep_factorLevel:
+					#set $factor_str = $factor_str+":"+str($level.factorLevel).encode('base64').replace('\n','')+":"+",".join([str(x).strip() for x in $level.factorIndex.value])
+				#end for
+				
+				$factor_str
+			#end for
+			
+			#if $choose_blocking.choice == "true"
+				-b
+				#for blocking in $choose_blocking.blocking_repeat:
+					#set $blocking_str = str($blocking.blocking_name).encode('base64').replace('\n','')
+					
+					#for $block_iter in $blocking.block:
+						#set $block_str = ",".join([str(x).strip() for x in $block_iter.block_index.value])
+						#set $blocking_str = $blocking_str+":"+$block_str
+					#end for
+					
+					$blocking_str
+				#end for
+			#end if
+			
+			 -o $contrast_matrix
+	</command>
+	
+	<inputs>
+		<param format="tabular" name="expression_matrix" type="data" label="Expression matrix (read counts)" help="You can create a count matrix with the tool" />
+		
+		<repeat name="treatments" title="Factor/Condition" min="1">
+			<param name="name" type="text" value="FactorName" label="Specify a name for the factor / condition" help="e.g. 'Tumor vs. Normal', 'Timepoint' or 'DiseaseState'. Field must be non-numerical, preferably only letters!!" />
+			<repeat name="rep_factorLevel" title="Factor level" min="1">
+				<param name="factorLevel" type="text" value="FactorLevel" label="Specify a condition" help="e.g. Tumor or Normal; Treated, untreaded or placebo. Field must be non-numerical, preferably only letters!!" />
+				<param name="factorIndex" numerical="false" use_header_names="true" label="Select columns that are associated with this factor level" type="data_column" data_ref="expression_matrix" multiple="true" size="120" display="checkboxes">
+					<validator type="no_options" message="Please select at least one column." />
+				</param>
+			</repeat>
+		</repeat>
+		
+		<conditional name="choose_blocking">
+			<param name="choice" type="select" label="Define blocking (paired or grouped samples)" help="e.g. to remove batch effects" >
+				<option value="false">No</option>
+				<option value="true">Yes</option>
+			</param>
+			<when value="false" />
+			<when value="true">
+				<repeat name="blocking_repeat" title="Blocking condition" min="1">
+					<param name="blocking_name" type="text" value="" label="Specify a name for a blocking condition" help="e.g.'Patients' or 'Batches'" />
+					<repeat name="block" title="Block" min="2">
+						<param name="block_index" label="Select columns that are associated with this factor level" type="data_column" data_ref="expression_matrix" numerical="True" multiple="true" use_header_names="true" size="120" display="checkboxes">
+							<validator type="no_options" message="Please select at least one column." />
+						</param>
+					</repeat>
+				</repeat>
+			</when>
+		</conditional>
+	</inputs>
+	
+	<outputs>
+		<data format="tabular" name="design_matrix" label="Design matrix" />
+	</outputs>
+	
+	<help>
+edgeR: Design- from Expression matrix
+
+**References**
+
+The test data is coming from:  doi: 10.1093/bioinformatics/btt688.
+http://www.ncbi.nlm.nih.gov/pubmed/24319002
+	</help>
+</tool>