diff macros.xml @ 0:02b1fe7aed76 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/baredsc commit dad42d788f7407976a67ed50cc886ebe79740e32
author iuc
date Mon, 02 Oct 2023 13:24:52 +0000
parents
children 4fff5a293013
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Mon Oct 02 13:24:52 2023 +0000
@@ -0,0 +1,313 @@
+<macros>
+    <token name="@TOOL_VERSION@">1.1.1</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">baredsc</requirement>
+            <requirement type="package" version="1.12">gzip</requirement>
+        </requirements>
+        <version_command><![CDATA[baredSC_1d --version]]></version_command>
+    </xml>
+    <xml name="helpcitations">
+        <help><![CDATA[
+
+            .. class:: infomark
+            
+            **BARED (Bayesian Approach to Retreive Expression Distribution of) Single Cell**
+            
+            baredSC is a tool that uses a Monte-Carlo Markov Chain to estimate a confidence interval on the probability density function (PDF) of expression of one or two genes from single-cell RNA-seq data. It uses the raw counts and the total number of UMI for each cell. The PDF is approximated by a number of 1d or 2d gaussians provided by the user. The likelihood is estimated using the asumption that the raw counts follow a Poisson distribution of parameter equal to the proportion of mRNA for the gene in the cell multiplied by the total number of UMI identified in this cell.
+            
+            To get a description of outputs, please read the `Documentation <https://baredsc.readthedocs.io/en/latest/index.html>`_
+
+            This is a description of the figure with the results. 
+
+            - When the 1d version is used, it displays the mean PDF in solid red line, the median in black dashed lines (/!\backslash the integral of the median is not equal to 1) with the confidence interval of 1 sigma (68%), 2 sigma (95%) and 3 sigma (99.7%) as well as in green, the kernel density estimate of the input values, the detected expression (``log(1 + targetSum * raw / total UMI)``).
+
+            - When the 2d version is used, it displays the PDF as a heatmap as well as a projection on the x and y axis. On the projection, the confidence interval 68% is indicated as a shaded area as well as the mean with a solid red line and the median with a dashed black line. On the top right corner, the correlation is indicated with the confidence interval 68% as well as a confidence interval on the one-sided p-value (the probability that the correlation is the opposite sign of the mean, one sigma confidence interval).
+
+            Usually you should run baredSC_1d or baredSC_2d with 1 to 4 gaussians. Then you combine the different models with combineMultipleModels_1d or combineMultipleModels_2d.
+            
+        ]]></help>
+        <citations>
+            <citation type="doi">10.1186/s12859-021-04507-8</citation>
+        </citations>
+    </xml>
+    <xml name="edam_topics">
+        <edam_topics>
+            <edam_topic>topic_3170</edam_topic>
+            <edam_topic>topic_4028</edam_topic>
+            <edam_topic>topic_2269</edam_topic>
+        </edam_topics>
+    </xml>
+    <xml name="macro_input_counts">
+        <conditional name="input_counts">
+            <param name="filetype" type="select" label="Input type">
+                <option value="tabular">Tabular</option>
+                <option value="anndata">Anndata (for example from Scanpy)</option>
+            </param>
+            <when value="tabular">
+                <param argument="--input" type="data" format="tabular" label="Input table (with header)" help="Expected format is one line per cell, columns with raw counts and one column 'nCount_RNA' with the total number of UMI per cell (optionally other meta data to filter)" />
+            </when>
+            <when value="anndata">
+                <param argument="--inputAnnData" type="data" format="anndata" label="AnnData containing raw counts" />
+            </when>
+        </conditional>
+    </xml>
+    <xml name="macro_single_gene">
+        <param argument="--geneColName" type="text" value="" label="Name of the column with gene counts."/>
+    </xml>
+    <xml name="macro_two_genes">
+        <param argument="--geneXColName" type="text" value="" label="Name of the column with gene counts for gene in x."/>
+        <param argument="--geneYColName" type="text" value="" label="Name of the column with gene counts for gene in y."/>
+    </xml>
+    <xml name="macro_filter_cells">
+        <conditional name="filter">
+            <param name="nb" type="select" label="How many filters columns do you need?">
+                <option value="0">0 (keep all cells from file)</option>
+                <option value="1">1</option>
+                <option value="2">2</option>
+                <option value="3">3</option>
+            </param>
+            <when value="0"/>
+            <when value="1">
+                <param argument="--metadata1ColName" type="text" value="" label="Name of the column with first filter."/>
+                <param argument="--metadata1Values" type="text" value="" label="Values accepted in this column (separated by comma)."/>
+            </when>
+            <when value="2">
+                <param argument="--metadata1ColName" type="text" value="" label="Name of the column with first filter."/>
+                <param argument="--metadata1Values" type="text" value="" label="Values accepted in this column (separated by comma)."/>
+                <param argument="--metadata2ColName" type="text" value="" label="Name of the column with second filter."/>
+                <param argument="--metadata2Values" type="text" value="" label="Values accepted in this column (separated by comma)."/>
+            </when>
+            <when value="3">
+                <param argument="--metadata1ColName" type="text" value="" label="Name of the column with first filter."/>
+                <param argument="--metadata1Values" type="text" value="" label="Values accepted in this column (separated by comma)."/>
+                <param argument="--metadata2ColName" type="text" value="" label="Name of the column with second filter."/>
+                <param argument="--metadata2Values" type="text" value="" label="Values accepted in this column (separated by comma)."/>
+                <param argument="--metadata3ColName" type="text" value="" label="Name of the column with third filter."/>
+                <param argument="--metadata3Values" type="text" value="" label="Values accepted in this column (separated by comma)."/>
+            </when>
+        </conditional>
+    </xml>
+    <xml name="macro_MCMC_params_common_axis" token_axis="x">
+        <param argument="--@AXIS@min" type="float" value="0" label="Minimum value to consider in @AXIS@ axis." help="Choose value small enough to go below smallest value."/>
+        <param argument="--@AXIS@max" type="float" value="2.5" label="Maximum value to consider in @AXIS@ axis." help="Choose value large enough to go above largest value."/>
+        <param argument="--n@AXIS@" type="integer" min="1" value="100" label="Number of values in @AXIS@ to check how your evaluated PDF is compatible with the model." help="Larger values will increase computing time while smaller values will decrease the resolution of your PDF." />
+        <param argument="--minScale@AXIS@" type="float" value="0.1" label="Minimal value of the scale of Gaussians on @AXIS@" help="Cannot be smaller than max of twice the bin size of PDF evaluation and half the bin size on @AXIS@ axis."/>
+    </xml>
+    <xml name="macro_scale_seed">
+        <conditional name="scale">
+            <param name="type" type="select" label="Scale for gene expression">
+                <option value="Seurat">Like in Seurat (log(1+targetSum*X))</option>
+                <option value="log">simply log</option>
+            </param>
+            <when value="Seurat">
+                <param argument="--targetSum" type="float" value="10000" label="targetSum" help="use 0 for the median of nRNA_Counts"/>
+            </when>
+            <when value="log"/>
+        </conditional>
+        <param argument="--seed" type="integer" value="1" label="Seed value to control randomness." help="Change seed value to get new result"/>
+    </xml>
+    <xml name="macro_MCMC_common_baredSC">
+        <param argument="--nnorm" type="integer" min="1" value="2" label="Number of Gaussians to fit." />
+        <param argument="--nsampMCMC" type="integer" min="1" value="100000" label="Number of samplings (iterations) of MCMC." />
+        <conditional name="automaticRestart">
+            <param name="set_minNeff" type="select" label="Auto-rerun in case of obvious non-convergence">
+                <option value="yes">Yes (the job may never stop)</option>
+                <option value="no">No</option>
+            </param>
+            <when value="yes">
+                <param argument="--minNeff" type="float" value="200" label="Minimum number of effective samples to output result." help="If the number of effective samples is below this threshold, the MCMC is automatically rerun with 10 times more samples"/>
+            </when>
+            <when value="no"/>
+        </conditional>
+    </xml>
+    <xml name="combine_outputs" token_d="1">
+        <param argument="--outputs" type="data" format="npz" label="Numpy archives from baredSC_@D@d with different number of Gaussians." multiple="true"/>        
+    </xml>
+    <xml name="macro_plots">
+        <param name="image_file_format" type="select" label="Image output format">
+            <option value="png">png</option>
+            <option value="svg">svg</option>
+            <option value="pdf">pdf</option>
+        </param>
+        <param argument="--title" type="text" value="" label="Title to set to all figures."/>
+        <param argument="--removeFirstSamples" type="integer" value="-1" label="Number of samples to ignore before making the plots" help="Use -1 to use a fourth of the number of samples"/>
+        <param argument="--nsampInPlot" type="integer" value="100000" min="1" label="Approximate number of samples to use in plots"/>   
+    </xml>
+    <xml name="macro_prettybins_1d">
+        <param argument="--prettyBins" type="integer" value="-1" min="-1" label="Number of bins to use in plots." help="Use -1 to use the number of bins used in MCMC"/>   
+    </xml>
+    <xml name="macro_prettybins_axis" token_axis="x">
+        <param argument="--prettyBins@AXIS@" type="integer" value="-1" min="-1" label="Number of bins to use in @AXIS@ in plots." help="Use -1 to use the number of bins used in MCMC"/>   
+    </xml>
+    <xml name="macro_splity">
+        <param argument="--splity" type="text" value="" label="Threshold values separated by space to plot the density for genex for 2 categories in geney values" help="Leave empty if you don't need this type of analysis.">
+            <validator type="regex">(-?[0-9]+( -?[0-9]+)*)?</validator>
+        </param>
+    </xml>
+    <xml name="macro_colorscale">
+        <param argument="--log1pColorScale" type="boolean" truevalue="--log1pColorScale" falsevalue="" checked="false" label="Enable to see regions in plot with low proportion of cells"/>
+    </xml>
+    <xml name="macro_advanced_common_axis" token_axis="x" token_default_osamppdf="5">
+        <param argument="--osamp@AXIS@" type="integer" min="1" value="10" label="Oversampling factor of @AXIS@ values when evaluating PDF of Poisson distribution." />
+        <param argument="--osamp@AXIS@pdf" type="integer" value="@DEFAULT_OSAMPPDF@" label="Oversampling factor of @AXIS@ values when evaluating PDF at each step of the MCMC."/>
+    </xml>
+    <xml name="macro_advanced_evidence">
+        <param argument="--coviscale" type="float" value="1" label="Scale factor to apply to covariance of parameters to get random parameters in logevidence evaluation." />
+        <param argument="--nis" type="integer" value="1000" label="Size of sampling of random parameters in logevidence evaluation." />
+    </xml>
+    <xml name="macro_advanced_common_baredSC">
+        <conditional name="burn">
+            <param name="custom" type="select" label="Custom parameters of the burning phase of MCMC">
+                <option value="no">No</option>
+                <option value="yes">Yes</option>
+            </param>
+            <when value="no"/>
+            <when value="yes">
+                <param argument="--nsampBurnMCMC" type="integer" value="-1" label="Number of samplings (iterations) in the burning phase of mcmc (Set -1 for a fourth of total number of samples)" />
+                <param argument="--T0BurnMCMC" type="float" value="100" label="Initial temperature in the burning phase of MCMC" min="1"/>
+            </when>
+        </conditional>
+    </xml>
+    <xml name="macro_scaleprior">
+        <param argument="--scalePrior" type="float" value="0.3" label="Scale of the truncnorm used in the prior for the correlation."/>
+    </xml>
+    <token name="@REQUIRED_INPUTS_1D@" ><![CDATA[
+        #if str( $input_counts.filetype ) == "tabular":
+            --input '$input_counts.input'
+        #elif str( $input_counts.filetype ) == "anndata":
+            --inputAnnData '$input_counts.inputAnnData'
+        #end if
+        --geneColName '$geneColName'
+    ]]></token>
+    <token name="@REQUIRED_INPUTS_2D@" ><![CDATA[
+        #if str( $input_counts.filetype ) == "tabular":
+            --input '$input_counts.input'
+        #elif str( $input_counts.filetype ) == "anndata":
+            --inputAnnData '$input_counts.inputAnnData'
+        #end if
+        --geneXColName '$geneXColName'
+        --geneYColName '$geneYColName'
+    ]]></token>
+    <token name="@FILTER_CELLS@" ><![CDATA[
+        #if str( $filter.nb ) == "1":
+            --metadata1ColName '$filter.metadata1ColName'
+            --metadata1Values '$filter.metadata1Values'
+        #elif str( $filter.nb ) == "2":
+            --metadata1ColName '$filter.metadata1ColName'
+            --metadata1Values '$filter.metadata1Values'
+            --metadata2ColName '$filter.metadata2ColName'
+            --metadata2Values '$filter.metadata2Values'
+        #elif str( $filter.nb ) == "3":
+            --metadata1ColName '$filter.metadata1ColName'
+            --metadata1Values '$filter.metadata1Values'
+            --metadata2ColName '$filter.metadata2ColName'
+            --metadata2Values '$filter.metadata2Values'
+            --metadata3ColName '$filter.metadata3ColName'
+            --metadata3Values '$filter.metadata3Values'
+        #end if    
+    ]]></token>
+    <token name="@MCMC_1D@" ><![CDATA[
+        --xmin $MCMC.xmin
+        --xmax $MCMC.xmax
+        --xscale '$MCMC.scale.type'
+        #if str( $MCMC.scale.type ) == "Seurat":
+            --targetSum $MCMC.scale.targetSum
+        #end if
+        --nx $MCMC.nx
+        --minScale $MCMC.minScalex
+        --seed $MCMC.seed
+    ]]></token>
+    <token name="@MCMC_2D@" ><![CDATA[
+        --xmin $MCMC.xmin
+        --xmax $MCMC.xmax
+        --nx $MCMC.nx
+        --minScalex $MCMC.minScalex
+        --ymin $MCMC.ymin
+        --ymax $MCMC.ymax
+        --ny $MCMC.ny
+        --minScaley $MCMC.minScaley
+        --scale '$MCMC.scale.type'
+        #if str( $MCMC.scale.type ) == "Seurat":
+            --targetSum $MCMC.scale.targetSum
+        #end if
+        --seed $MCMC.seed
+    ]]></token>
+    <token name="@BAREDSC_COMMON@" ><![CDATA[
+        --nnorm $MCMC.nnorm
+        --nsampMCMC $MCMC.nsampMCMC
+        #if str( $MCMC.automaticRestart.set_minNeff ) == "yes":
+            --minNeff $MCMC.automaticRestart.minNeff
+        #end if
+    ]]></token>
+    <token name="@PLOTS@" ><![CDATA[
+        #if str( $plots.title ) != '':
+            --title '$plots.title'
+        #end if
+        #if $plots.removeFirstSamples != -1:
+            --removeFirstSamples $plots.removeFirstSamples
+        #end if
+        --nsampInPlot $plots.nsampInPlot
+    ]]></token>
+    <token name="@PRETTYBINS_1D@" ><![CDATA[
+        #if $plots.prettyBins != -1:
+            --prettyBins $plots.prettyBins
+        #end if    
+    ]]></token>
+    <token name="@PRETTYBINS_SPLITY_COLORSCALE_2D@" ><![CDATA[
+        #if $plots.prettyBinsx != -1:
+            --prettyBinsx $plots.prettyBinsx
+        #end if
+        #if $plots.prettyBinsy != -1:
+            --prettyBinsy $plots.prettyBinsy
+        #end if
+        ## splity is space separated floats
+        #if str($plots.splity) != '':
+            --splity $plots.splity
+        #end if
+        #if str($plots.log1pColorScale) != '':
+            '$plots.log1pColorScale'
+        #end if
+    ]]></token>
+    <token name="@ADVANCED_COMMON_X@" ><![CDATA[
+        --osampx $advanced.osampx
+        --osampxpdf $advanced.osampxpdf
+        --coviscale $advanced.coviscale
+        --nis $advanced.nis
+    ]]></token>
+    <token name="@ADVANCED_COMMON_COMPLEMENT_2D@" ><![CDATA[
+        --osampy $advanced.osampy
+        --osampypdf $advanced.osampypdf
+        --scalePrior $advanced.scalePrior
+    ]]></token>
+    <token name="@ADVANCED_BAREDSC_COMMON@" ><![CDATA[
+        #if str( $advanced.burn.custom ) == "yes":
+            #if str( $advanced.burn.nsampBurnMCMC ) != "-1":
+                --nsampBurnMCMC $advanced.burn.nsampBurnMCMC
+            #end if
+            --T0BurnMCMC $advanced.burn.T0BurnMCMC
+        #end if
+    ]]></token>
+    <token name="@COMBINE_OUTPUTS@"><![CDATA[
+        --outputs
+        #for $i, $output in enumerate($MCMC.outputs):
+            $i
+        #end for
+    ]]></token>
+    <token name="@ORDER_OUTPUTS_1D@"><![CDATA[
+        mv baredSC_pdf.txt output &&
+        mv baredSC.$plots.image_file_format baredSC &&
+        gunzip baredSC_means.txt.gz
+    ]]></token>
+    <token name="@ORDER_OUTPUTS_2D@"><![CDATA[
+        mv baredSC_pdf2d.txt output &&
+        mv baredSC_pdf2d_flat.txt output &&
+        mv baredSC.$plots.image_file_format baredSC
+        #if str($plots.splity) != '':
+            #for $value in str($plots.splity).split(' '):
+                && mv baredSC_split'$value'.txt baredSC_split'$value'_pdf.txt
+            #end for
+        #end if
+    ]]></token>
+</macros>
\ No newline at end of file