Mercurial > repos > ebi-gxa > seurat_find_variable_genes
changeset 1:a6077346f869 draft
planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 0463f230d18201c740851d72e31a5024f391207f
author | ebi-gxa |
---|---|
date | Mon, 25 Nov 2019 06:10:14 -0500 |
parents | a56efad05337 |
children | 8f67188f11c4 |
files | seurat_find_variable_genes.xml seurat_macros.xml |
diffstat | 2 files changed, 110 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/seurat_find_variable_genes.xml Wed Apr 03 11:17:53 2019 -0400 +++ b/seurat_find_variable_genes.xml Mon Nov 25 06:10:14 2019 -0500 @@ -1,4 +1,4 @@ -<tool id="seurat_find_variable_genes" name="Seurat FindVariableGenes" version="2.3.1+galaxy1"> +<tool id="seurat_find_variable_genes" name="Seurat FindVariableGenes" version="@SEURAT_VERSION@_@VERSION@+galaxy0"> <description>identify variable genes</description> <macros> <import>seurat_macros.xml</import> @@ -8,10 +8,13 @@ <command detect_errors="exit_code"><![CDATA[ seurat-find-variable-genes.R ---input-object-file '$input' +@INPUT_OBJECT@ #if $mean: --mean-function '$mean' #end if +#if $selection_method + --selection-method '$selection_method' +#end if #if $disp: --dispersion-function $disp #end if @@ -27,29 +30,36 @@ #if $yhigh: --y-high-cutoff $yhigh #end if ---output-object-file '$output' +@OUTPUT_OBJECT@ --output-text-file '$output_tab' ]]></command> <inputs> - <param name="input" argument="--input-object-file" type="data" format="rdata" label="Seurat RDS object" help="R serialized object for Seurat, normally the one produced by Seurat FindVariableGenes" /> + <expand macro="input_object_params"/> + <expand macro="output_object_params"/> + <param label="Number of features" optional="true" name="nfeatures" argument="--nfeatures" type="integer" help="Number of features to return."/> <param name="mean" argument="--mean-function" type="text" optional="True" label="Mean function" help="Function to compute x-axis value (average expression). Default is to take the mean of the detected (i.e. non-zero) values."/> <param name="disp" argument="--dispersion-function" type="text" optional="True" label="Dispersion function" help="Function to compute y-axis value (dispersion). Default is to take the standard deviation of all values." /> - <param name="xlow" argument="--x-low-cutoff" type="float" optional="True" label="X-axis low cutoff" help="Bottom cutoff on x-axis for identifying variable genes."/> - <param name="xhigh" argument="--x-high-cutoff" type="float" optional="True" label="X-axis high cutoff" help="Top cutoff on x-axis for identifying variable genes."/> - <param name="ylow" argument="--y-low-cutoff" type="float" optional="True" label="Y-axis low cutoff" help="Bottom cutoff on y-axis for identifying variable genes."/> - <param name="yhigh" argument="--y-high-cutoff" type="float" optional="True" label="Y-axis high cutoff" help="Top cutoff on y-axis for identifying variable genes."/> + <param name="xlow" argument="--x-low-cutoff" type="float" optional="True" label="X-axis low cutoff" help="Bottom cutoff on x-axis (mean) for identifying variable genes."/> + <param name="xhigh" argument="--x-high-cutoff" type="float" optional="True" label="X-axis high cutoff" help="Top cutoff on x-axis (mean) for identifying variable genes."/> + <param name="ylow" argument="--y-low-cutoff" type="float" optional="True" label="Y-axis low cutoff" help="Bottom cutoff on y-axis (dispersion) for identifying variable genes."/> + <param name="yhigh" argument="--y-high-cutoff" type="float" optional="True" label="Y-axis high cutoff" help="Top cutoff on y-axis (dispersion) for identifying variable genes."/> + <param label="Selection method" optional="true" name="selection_method" argument="--selection-method" type="select" help="How to choose top variable features. Choose one of: 'vst', 'mvp', disp."> + <option value="vst" selected="true">vst</option> + <option value="mbp">mbp</option> + <option value="disp">disp</option> + </param> </inputs> <outputs> - <data name="output" format="rdata" from_work_dir="*.rds" label="${tool.name} on ${on_string}: Seurat RDS"/> + <expand macro="output_files"/> <data name="output_tab" format="tabular" from_work_dir="*.tab" label="${tool.name} on ${on_string}: Variable genes tabular file"/> </outputs> <tests> <test> <param name="input" ftype="rdata" value="out_norm.rds"/> - <output name="output" ftype="rdata" value="out_findvar.rds" compare="sim_size"/> + <output name="rds_seurat_file" ftype="rdata" value="out_findvar.rds" compare="sim_size"/> </test> </tests> <help><![CDATA[ @@ -57,11 +67,6 @@ **What it does** -Seurat_ is a toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. -It is developed and maintained by the `Satija Lab`_ at NYGC. Seurat aims to enable users to identify and -interpret sources of heterogeneity from single cell transcriptomic measurements, and to integrate diverse -types of single cell data. - This tool identifies genes that are outliers on a 'mean variability plot'. First, uses a function to calculate average expression (mean.function) and dispersion (dispersion.function) for each gene. Next, divides genes into num.bin (deafult 20) bins based on @@ -69,14 +74,15 @@ bin. The purpose of this is to identify variable genes while controlling for the strong relationship between variability and average expression. -Exact parameter settings may vary empirically from dataset to dataset, and -based on visual inspection of the plot. +For the mean.var.plot method: Exact parameter settings may vary empirically from +dataset to dataset, and based on visual inspection of the plot. Setting the +y.cutoff parameter to 2 identifies features that are more than two standard deviations +away from the average dispersion within a bin. The default X-axis function is the +mean expression level, and for Y-axis it is the log(Variance/mean). All +mean/variance calculations are not performed in log-space, but the results are +reported in log-space - see relevant functions for exact details. -Setting the y.cutoff parameter to 2 identifies genes that are more than two standard -deviations away from the average dispersion within a bin. The default X-axis function -is the mean expression level, and for Y-axis it is the log(Variance/mean). All mean/variance -calculations are not performed in log-space, but the results are reported in log-space - -see relevant functions for exact details. +@SEURAT_INTRO@ -----
--- a/seurat_macros.xml Wed Apr 03 11:17:53 2019 -0400 +++ b/seurat_macros.xml Mon Nov 25 06:10:14 2019 -0500 @@ -1,34 +1,110 @@ <?xml version="1.0"?> <macros> - - <token name="@VERSION@">0.0.5</token> - + <token name="@VERSION@">0.0.6</token> + <token name="@SEURAT_VERSION@">3.1.1</token> <xml name="requirements"> <requirements> <requirement type="package" version="@VERSION@">seurat-scripts</requirement> </requirements> </xml> - <xml name="version"> <version_command><![CDATA[ echo $(R --version | grep version | grep -v GNU)", seurat version" $(R --vanilla --slave -e "library(seurat); cat(sessionInfo()\$otherPkgs\$seurat\$Version)" 2> /dev/null | grep -v -i "WARNING: ") ]]></version_command> </xml> + <xml name="input_object_params"> + <conditional name="input" label="Input format"> + <param type="select" name="format" label="Choose the format of the input" help="RData, Loom or AnnData"> + <option value="rds_seurat" selected="true">RDS with a Seurat object</option> + <option value="loom">Loom</option> + <option value="anndata">AnnData</option> + <option value="rds_sce">RDS with a Single Cell Experiment object</option> + </param> + <when value="anndata"> + <param type="data" name="anndata_file" label="AnnData file" help="The AnnData format provided by Scanpy" format="h5,h5ad"/> + </when> + <when value="loom"> + <param type="data" name="loom_file" label="Loom file" help="Input as Loom v? file" format="h5,h5loom"/> + </when> + <when value="rds_seurat"> + <param type="data" name="rds_seurat_file" label="RDS file" help="Input as RDS file with Seurat 3 object" format="rdata"/> + </when> + <when value="rds_sce"> + <param type="data" name="rds_sce_file" label="RDS file" help="Input as RDS file with Single Cell Experiment object" format="rdata"/> + </when> + </conditional> + </xml> + + <token name="@INPUT_OBJECT@"> + #if $input.format == "anndata" + --input-object-file '$input.anndata_file' --input-format anndata + #else if $input.format == "loom" + --input-object-file '$input.loom_file' --input-format loom + #else if $input.format == "rds_seurat" + --input-object-file '$input.rds_seurat_file' --input-format seurat + #else if $input.format == "rds_sce" + --input-object-file '$input.rds_sce_file' --input-format singlecellexperiment + #end if + </token> + + <xml name="output_object_params"> + <param type="select" name="format" label="Choose the format of the output" help="Seurat, Single Cell Experiment or Loom"> + <option value="rds_seurat" selected="true">RDS with a Seurat object</option> + <option value="loom">Loom</option> + <option value="rds_sce">RDS with a Single Cell Experiment object</option> + </param> + </xml> + + <xml name="output_files"> + <data name="loom_file" from_work_dir="seurat_obj.loom" format="h5" label="${tool.name} on ${on_string}: Seurat Loom"> + <filter>format == 'loom'</filter> + </data> + <data name="rds_seurat_file" format="rdata" label="${tool.name} on ${on_string}: Seurat RDS"> + <filter>format == 'rds_seurat'</filter> + </data> + <data name="rds_sce_file" format="rdata" label="${tool.name} on ${on_string}: Seurat Single Cell Experiment RDS"> + <filter>format == 'rds_sce'</filter> + </data> + </xml> + + <token name="@OUTPUT_OBJECT@"> + #if $format == "anndata" + --output-object-file '$anndata_file' --output-format anndata + #else if $format == "loom" + --output-object-file seurat_obj.loom --output-format loom + #else if $format == "rds_seurat" + --output-object-file '$rds_seurat_file' --output-format seurat + #else if $format == "rds_sce" + --output-object-file '$rds_sce_file' --output-format singlecellexperiment + #end if + </token> + <xml name="genes-use-input"> - <param name="genes_use" argument="--genes-use" optional="true" type="data" format="tsv, txt" label="Genes to use" help="A file with gene names to use in construction of SNN graph if building directly based on expression data rather than a dimensionally reduced representation (i.e. PCs)."/> + <param name="genes_use" argument="--genes-use" optional="true" type="data" format="tsv,txt,tabular" label="Genes to use" help="A file with gene names to use in construction of SNN graph if building directly based on expression data rather than a dimensionally reduced representation (i.e. PCs)."/> </xml> <xml name="dims-use-input"> <param name="dims_use" argument="--dims-use" min="1" optional="true" type="integer" label="PCA Dimensions to use" help="Number of PCs (dimensions) to use in construction of the SNN graph."/> </xml> + <token name="@SEURAT_INTRO@"><![CDATA[ +Seurat_ is a toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. +It is developed and maintained by the `Satija Lab`_ at NYGC. Seurat aims to enable users to identify and +interpret sources of heterogeneity from single cell transcriptomic measurements, and to integrate diverse +types of single cell data. + ]]></token> + <token name="@VERSION_HISTORY@"><![CDATA[ **Version history** -0.0.1: Initial contribution. Maria Doyle, https://github.com/mblue9. +3.1.1_0.0.6+galaxy0: Moved to Seurat 3. + + Find clusters: removed dims-use, k-param, prune-snn. 2.3.1+galaxy0: Improved documentation and further exposition of all script's options. Pablo Moreno, Jonathan Manning and Ni Huang, Expression Atlas team https://www.ebi.ac.uk/gxa/home at EMBL-EBI https://www.ebi.ac.uk/. Parts obtained from wrappers from Christophe Antoniewski(https://github.com/drosofff) and Lea Bellenger(https://github.com/bellenger-l). + +0.0.1: Initial contribution. Maria Doyle, https://github.com/mblue9. ]]></token>