diff macros_inspectclusters.xml @ 0:9fec5dd8fbb9 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/raceid3 commit f880060c478d42202df5b78a81329f8af56b1138
author iuc
date Thu, 22 Nov 2018 04:45:41 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_inspectclusters.xml	Thu Nov 22 04:45:41 2018 -0500
@@ -0,0 +1,326 @@
+<macros>
+    <macro name="inspectclusters_inputs" >
+        <param name="inputrds" type="data" format="rdata" label="Input RaceID RDS" help="Requires the RDS output from the cluster analysis" />
+        <conditional name="plotgen">
+            <param name="do_opt" type="select" label="Plot All Clusters?" help="Generates tSNE and F-R plots" >
+                <option value="yes" selected="true" >Yes</option>
+                <option value="no" >No</option>
+            </param>
+            <when value="no" />
+            <when value="yes" />
+        </conditional>
+        <conditional name="plotsym" >
+            <param name="do_opt" type="select" label="Perform Subset Analysis?" >
+                <expand macro="yesno_checkedno" />
+            </param>
+            <when value="no" />
+            <when value="yes">
+                <param name="types_regex" type="text" optional="true" label="Types Regex (removal)" help="Regular expression to be used to remove portions of the cell names, in order to indicate cell type. e.g. if your cells are labelled as 'cdk5_1, cdk5_2, glow_1, glow_2', then a regex of '_\\d$' would trim off the ends and set the cell types to 'cdk5, cdk5, glow, glow'. " >
+                    <expand macro="sanitize_regex" />
+                </param>
+                <expand macro="use_defaults_no" >
+                    <param name="subset_regex" type="text" optional="true" label="Subset of Types: Regex (select)" help="Regular expression to be used to select for cell types of interest. e.g. if we are only interested in 'cdk5' positive cells, then we would simply put 'cdk5' here. ">
+                        <expand macro="sanitize_regex" />
+                    </param>
+                    <param name="fr" type="boolean" checked="false" label="Output FR map instead of tSNE" help="Performs a Fruchterman-Rheingold projection instead of tSNE" />
+                </expand>
+            </when>
+        </conditional>
+        <conditional name="gois" >
+            <param name="do_opt" type="select" label="Examine Genes of Interest" >
+                <expand macro="yesno_checkedno" />
+            </param>
+            <when value="no" />
+            <when value="yes">
+                <param name="inspect_goi_genes" type="text" value="" label="Genes to Examine" >
+                    <expand macro="sanitize_string_vector" />
+                </param>
+                <param name="inspect_goi_cells" type="text" optional="true" label="Cells to Examine" help="Leave blank to examine all" ><!-- "":NULL -->
+                    <expand macro="sanitize_string_vector" />
+                </param>
+                <expand macro="use_defaults_no" >
+                    <!-- Yes, examine genes of interest, but no do not use defaults... -->
+                    <param name="inspect_goi_imputed" type="boolean" checked="false" label="Impute Genes" help="Only works if k-nearest neighbours was used in the clustering" />
+                    <param name="plotexp_n" type="text" optional="true" label="Title of plot" help="If blank, the list of genes are used" >
+                        <expand macro="sanitize_title" />
+                    </param>
+                    <param name="plotmarkg_cthr" type="integer" min="0" value="0" label="Cluster Threshold" help="Include only clusters with cells greater than this" />
+                    <param name="plotmarkg_cl" type="text" optional="true" label="Cluster List" help="List of cluster numbers to include. Leave blank to include all" >
+                        <expand macro="sanitize_numeric_vector" />
+                    </param><!-- "":NULL -->
+                    <param name="plotmarkg_order_cells" type="boolean" checked="false" label="Order Cells" help="Order heatmap by cell names, not by cluster" />
+                    <param name="plotmarkg_aggr" type="boolean" checked="false" label="Average Expression" help="Show only average expression for each cluster" />
+                    <param name="plotmarkg_norm" type="boolean" checked="false" label="Normalise Gene Expression " help="Normalise gene expression to 1 to depict genes on the same scale" />
+                    <param name="plotmarkg_flo" type="integer" max="-5" optional="true" label="Lower-bound for Gene Expression" /><!-- negative or null vals only for this seem to work-->
+                    <param name="plotmarkg_cap" type="integer" min="1" optional="true" label="Upper-bound for Gene Expression" />
+                    <param name="plotmarkg_samples" type="text" optional="true" label="Regex to Select Sample Names For Each cell" >
+                        <expand macro="sanitize_regex" />
+                    </param>
+                    <param name="plotmarkg_cluster_cols" type="boolean" checked="false" label="Cluster columns" />
+                    <param name="plotmarkg_cluster_rows" type="boolean" checked="true" label="Cluster rows" />
+                    <param name="plotmarkg_cluster_set" type="boolean" checked="false" label="Order Clusters by Heirarchal Clustering of Cluster Medoids." />
+                </expand>
+            </when>
+        </conditional>
+        <conditional name="diffgtest" >
+            <param name="do_opt" type="select" label="Differential Gene Testing" >
+                <expand macro="yesno_checkedno" />
+            </param>
+            <when value="no" />
+            <when value="yes" >
+                <expand macro="select_cells" sectionname="set_a" sectiontitle="Cells in Set A" />
+                <expand macro="select_cells" sectionname="set_b" sectiontitle="Cells in Set B" />
+                <expand macro="use_defaults_no" >
+                    <param name="plotdiffg_pthr" type="float" min="0" max="1" value="0.05" label="P-value cutoff" help="Cutoff for displaying differentially expressed genes" />
+                    <param name="plotdiffg_padj" type="boolean" checked="true" label="Apply B-H Correction" help="Display genes with a Benjamini-Hochberg corrected false discovery rate lower than the above P-value threshold" />
+                    <param name="plotdiffg_lthr" type="float" min="0" value="0" label="Log2-Fold Threshold" help="Differentially expressed genes are displayed only for log2 fold-changes higher than this" />
+                    <param name="plotdiffg_mthr" type="float" optional="true" label="Log2 Mean Threshold" help="Differentially expressed genes are displayed only for log2 mean expression greater than this" /><!-- opt:-Inf -->
+                    <param name="plotdiffg_show_names" type="boolean" checked="false" label="Display Gene Names" />
+                </expand>
+            </when>
+        </conditional>
+    </macro>
+    <macro name="inspectclusters_tests" >
+        <test><!-- general plots, plotgen -->
+            <param name="inputrds" value="out_cluster_default.rdat" />
+            <conditional name="plotgen" >
+                <param name="do_opt" value="yes" />
+            </conditional>
+            <output name="outpdf" value="out_cluster_general_default.pdf" />
+        </test>
+        <test><!-- default test, plotsym -->
+            <param name="inputrds" value="out_cluster_default.rdat" />
+            <conditional name="plotsym" >
+                <param name="do_opt" value="yes" />
+                <param name="types_regex" value="\\_\\d+" />
+                <expand macro="test_nondef" >
+                    <param name="subset_regex" value="IV|V" />
+                </expand>
+            </conditional>
+            <conditional name="gois" >
+                <param name="do_opt" value="yes" />
+                <param name="inspect_goi_genes" value="Apoa1,Apoa1bp,Apoa2,Apoa4,Apoa5" />
+            </conditional>
+            <output name="outpdf" value="out_cluster_inspect_default.pdf" />
+        </test>
+        <test><!-- Advanced 1 -->
+            <param name="inputrds" value="out_cluster_default.rdat" />
+            <conditional name="plotsym" >
+                <param name="do_opt" value="yes" />
+                <param name="types_regex" value="\\_\\d+" />
+                <expand macro="test_nondef" >
+                    <param name="subset_regex" value="IV|V" />
+                    <param name="fr" value="true" />
+                </expand>
+            </conditional>
+            <conditional name="gois" >
+                <param name="do_opt" value="yes" />
+                <param name="inspect_goi_genes" value="Apoa1,Apoa1bp,Apoa2,Apoa4,Apoa5" />
+                <expand macro="test_nondef" >
+                    <param name="inspect_goi_imputed" value="false" />
+                    <param name="plotexp_n" value="Test Title" />
+                    <param name="plotmarkg_order_cells" value="true" />
+                    <param name="plotmarkg_aggr" value="true" />
+                    <param name="plotmarkg_norm" value="true" />
+                    <param name="plotmarkg_flo" value="-10" />
+                    <param name="plotmarkg_cap" value="100" />
+                    <param name="plotmarkg_samples" value="(\\_\\d+)$" />
+                    <param name="plotmarkg_cluster_cols" value="true" />
+                    <param name="plotmarkg_cluster_rows" value="false" />
+                    <param name="plotmarkg_cluster_set" value="true" />
+                </expand>
+            </conditional>
+            <conditional name="diffgtest" >
+                <param name="do_opt" value="yes" />
+                <section name="set_a" >
+                    <param name="name_set" value="Test set A" />
+                    <conditional name="meth" >
+                        <param name="type" value="regex" />
+                        <param name="selector" value="^V5.*" />
+                    </conditional>
+                </section>
+                <section name="set_b" >
+                    <param name="name_set" value="Test set B" />
+                    <conditional name="meth" >
+                        <param name="type" value="manual" />
+                        <param name="selector" value="I5d_3,I5d_4,I5d_6,I5d_8,I5d_9,I5d_10,I5d_11,I5d_12,I5d_13,I5d_14" />
+                    </conditional>
+                </section>
+                <expand macro="test_nondef" >
+                    <param name="plotdiffg_pthr" value="0.1" />
+                    <param name="plotdiffg_padj" value="false" />
+                    <param name="plotdiffg_lthr" value="0.2" />
+                    <param name="plotdiffg_mthr" value="0.2" />
+                    <param name="plotdiffg_show_names" value="true" />
+                </expand>
+            </conditional>
+            <output name="outpdf" value="out_cluster_inspect_advanced1.pdf" />
+        </test>
+        <test><!-- Advanced 2 -->
+            <param name="inputrds" value="out_cluster_default.rdat" />
+            <conditional name="plotsym" >
+                <param name="do_opt" value="yes" />
+                <expand macro="test_nondef" >
+                    <param name="fr" value="false" />
+                </expand>
+            </conditional>
+            <conditional name="gois" >
+                <param name="do_opt" value="yes" />
+                <param name="inspect_goi_genes" value="Sp1,Spc24,Spcs1,Spcs2,Spcs3" />
+                <expand macro="test_nondef" >
+                    <param name="plotexp_n" value="Test Title 2" />
+                    <param name="plotmarkg_order_cells" value="true" />
+                    <param name="plotmarkg_aggr" value="true" />
+                    <param name="plotmarkg_norm" value="false" />
+                    <param name="plotmarkg_flo" value="-10" />
+                    <param name="plotmarkg_cap" value="10" />
+                    <param name="plotmarkg_cluster_cols" value="true" />
+                    <param name="plotmarkg_cluster_rows" value="true" />
+                    <param name="plotmarkg_cluster_set" value="true" />
+                </expand>
+            </conditional>
+            <conditional name="diffgtest" >
+                <param name="do_opt" value="yes" />
+                <section name="set_a" >
+                    <param name="name_set" value="Test set A" />
+                    <conditional name="meth" >
+                        <param name="type" value="regex" />
+                        <param name="selector" value="^IV.*" />
+                    </conditional>
+                </section>
+                <section name="set_b" >
+                    <param name="name_set" value="Test set B" />
+                    <conditional name="meth" >
+                        <param name="type" value="cln" />
+                        <param name="selector" value="3" />
+                    </conditional>
+                </section>
+                <expand macro="test_nondef" >
+                    <param name="plotdiffg_pthr" value="0.8" />
+                    <param name="plotdiffg_padj" value="true" />
+                    <param name="plotdiffg_lthr" value="0.8" />
+                    <param name="plotdiffg_mthr" value="0.8" />
+                    <param name="plotdiffg_show_names" value="false" />
+                </expand>
+            </conditional>
+            <output name="outpdf" value="out_cluster_inspect_advanced2.pdf" />
+        </test>
+    </macro>
+    <token name="@INSPECTCLUSTERS_CHEETAH@"><![CDATA[
+
+in.rdat = readRDS('${inputrds}')
+
+perform.plotting = FALSE
+perform.symbolmap = FALSE
+perform.genesofinterest = FALSE
+perform.diffgene = FALSE
+
+#if str($plotgen.do_opt) == "yes":
+perform.plotting = TRUE
+#end if
+
+#if str($plotsym.do_opt) == "yes":
+perform.symbolmap = TRUE
+plotsym = formals(plotsymbolsmap)
+plotsym.use.typeremoveregex = NULL
+plotsym.use.typeremoveregex.subselect = NULL
+plotsym.use.typeremoveregex = as.character( '$plotsym.types_regex' )
+    #if str($plotsym.use.def) == "no":
+plotsym\$fr = as.logical( '$plotsym.use.fr' )
+        #if $plotsym.use.subset_regex:
+plotsym.use.typeremoveregex.subselect = as.character( '$plotsym.use.subset_regex' )
+        #end if
+    #end if
+#end if
+
+#if str($gois.do_opt) == "yes":
+perform.genesofinterest = TRUE
+plotexp = formals(plotexpmap)
+plotmarkg = formals(plotmarkergenes)
+
+inspect.goi.use.genes = string2textvector( '$gois.inspect_goi_genes' )
+plotexp\$g = inspect.goi.use.genes
+plotmarkg\$genes = inspect.goi.use.genes
+
+    #if $gois.inspect_goi_cells:
+inspect.goi.use.cells = as.character( '$gois.inspect_goi_cells' )
+plotexp\$cells = inspect.goi.use.cells
+plotmarkg\$cells = inspect.goi.use.cells
+    #end if
+    #if str($gois.use.def) == "no":
+inspect.goi.use.imputed = as.logical( '$gois.use.inspect_goi_imputed' )
+plotexp\$imputed = inspect.goi.use.imputed
+plotmarkg\$imputed = inspect.goi.use.imputed
+        #if $gois.use.plotmarkg_cl
+plotmarkg\$cl = string2numericvector( '$gois.use.plotmarkg_cl' )
+        #end if
+        #if $gois.use.plotmarkg_cap
+plotmarkg\$cap = as.integer( '$gois.use.plotmarkg_cap' )
+        #end if
+        #if $gois.use.plotmarkg_flo
+plotmarkg\$flo = as.integer( '$gois.use.plotmarkg_flo' )
+        #end if
+        #if $gois.use.plotmarkg_samples
+plotmarkg\$samples = as.character( '$gois.use.plotmarkg_samples' )
+        #end if
+        #if $gois.use.plotexp_n
+plotexp\$n = as.character( '$gois.use.plotexp_n' )
+        #end if
+plotmarkg\$cthr = as.integer( '$gois.use.plotmarkg_cthr' )
+plotmarkg\$order.cells = as.logical( '$gois.use.plotmarkg_order_cells' )
+plotmarkg\$aggr = as.logical( '$gois.use.plotmarkg_aggr' )
+plotmarkg\$norm = as.logical( '$gois.use.plotmarkg_norm' )
+plotmarkg\$cluster_cols = as.logical( '$gois.use.plotmarkg_cluster_cols' )
+plotmarkg\$cluster_rows = as.logical( '$gois.use.plotmarkg_cluster_rows' )
+plotmarkg\$cluster_set = as.logical( '$gois.use.plotmarkg_cluster_set' )
+    #end if
+#end if
+
+#if str($diffgtest.do_opt) == "yes":
+plotdiffg = formals(plotdiffgenesnb)
+
+perform.diffgene = TRUE
+plotdiffg\$Aname = '$diffgtest.set_a.name_set'
+plotdiffg\$Bname = '$diffgtest.set_b.name_set'
+
+gfdat.A.use = list()
+gfdat.B.use = list()
+
+gfdat.A.use\$manual = NULL
+gfdat.A.use\$regex = NULL
+gfdat.A.use\$cln = NULL
+gfdat.B.use\$manual = NULL
+gfdat.B.use\$regex = NULL
+gfdat.B.use\$cln = NULL
+
+    #if str($diffgtest.set_a.meth.type) == "cln":
+gfdat.A.use\$cln = c( '$diffgtest.set_a.meth.selector' )
+    #else if str($diffgtest.set_a.meth.type) == "regex":
+gfdat.A.use\$regex = as.character( '$diffgtest.set_a.meth.selector' )
+    #else if str($diffgtest.set_a.meth.type) == "manual":
+gfdat.A.use\$manual = string2textvector( '$diffgtest.set_a.meth.selector' )
+    #end if
+
+    #if str($diffgtest.set_b.meth.type) == "cln":
+gfdat.B.use\$cln = c( '$diffgtest.set_b.meth.selector' )
+    #else if str($diffgtest.set_b.meth.type) == "regex":
+gfdat.B.use\$regex = as.character( '$diffgtest.set_b.meth.selector' )
+    #else if str($diffgtest.set_b.meth.type) == "manual":
+gfdat.B.use\$manual = string2textvector( '$diffgtest.set_b.meth.selector' )
+    #end if
+
+    #if str($diffgtest.use.def) == "no":
+plotdiffg\$pthr = as.numeric( '$diffgtest.use.plotdiffg_pthr' )
+plotdiffg\$padj = as.logical( '$diffgtest.use.plotdiffg_padj' )
+plotdiffg\$lthr = as.integer( '$diffgtest.use.plotdiffg_lthr' )
+plotdiffg\$show_names = as.logical( '$diffgtest.use.plotdiffg_show_names' )
+        #if $diffgtest.use.plotdiffg_mthr
+plotdiffg\$mthr = as.numeric( '$diffgtest.use.plotdiffg_mthr' )
+        #end if
+    #end if
+#end if
+
+out.pdf='${outpdf}'
+    ]]>
+    </token>
+</macros>