Mercurial > repos > goeckslab > bayestme_deconvolve
diff deconvolve.xml @ 0:4f6d716e5da2 draft
planemo upload for repository https://github.com/goeckslab/tools-st/tree/main/tools/bayesTME commit 26edd05a863adac97cb54a9fb2ae5613ce95df50
| author | goeckslab |
|---|---|
| date | Wed, 03 Dec 2025 19:49:22 +0000 |
| parents | |
| children | 8139addbe3c3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deconvolve.xml Wed Dec 03 19:49:22 2025 +0000 @@ -0,0 +1,242 @@ +<tool id="bayestme_deconvolve" name="BayesTME: Deconvolve" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description>Reference-free and Reference-based Spot Deconvolution for Spatial Transcriptomics with BayesTME</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="bayestme_requirements"/> + <command detect_errors="aggressive"><![CDATA[ + + ## Filtering Step (optional) + #if str($filter_genes.pre_filter) == 'filter_genes': + + filter_genes + --adata '${adata}' + --output 'dataset_filtered.h5ad' + --n-top-by-standard-deviation '${n_top_by_standard_deviation}' + #if str($spot_threshold) + --spot-threshold '${spot_threshold}' + #end if + #if $filter_ribosomal_genes + --filter-ribosomal-genes + #end if + #if $mode.deconv_mode == 'reference_based' + --expression-truth '${mode.expression_truth}' + #end if + #if $verbose + -v + #end if + && + #else + + ## Just use unfiltered + ln -s '${adata}' 'dataset_filtered.h5ad' && + + #end if + + ## Deconvolve Step + deconvolve + --adata 'dataset_filtered.h5ad' + --adata-output 'dataset_deconvolved.h5ad' + --output 'deconvolution_samples.h5' + #if $mode.deconv_mode == 'reference_free' + --n-components '${mode.n_components}' + #end if + #if $mode.deconv_mode == 'reference_based' + --expression-truth '${mode.expression_truth}' + --reference-scrna-celltype-column '${mode.reference_scrna_celltype_column}' + --reference-scrna-sample-column '${mode.reference_scrna_sample_column}' + #end if + --spatial-smoothing-parameter '${deconv_params.spatial_smoothing_parameter}' + --n-samples '${deconv_params.n_samples}' + --n-svi-steps '${deconv_params.n_svi_steps}' + #if $deconv_params.use_spatial_guide + --use-spatial-guide + #else + --no-use-spatial-guide + #end if + #if $additional_cli.verbose + -v + #end if + #if str($additional_cli.seed) + --seed '${additional_cli.seed}' + #end if + + ]]></command> + + <inputs> + + <!-- Required Input ST Data --> + <param argument="--adata" type="data" format="h5ad" label="Input AnnData in h5 format, expected to be already bleed corrected"/> + + <!-- Filter Genes Options (from macros) --> + <conditional name="filter_genes"> + <param name="pre_filter" type="select" label="Optional: Filter Genes By Spatial Variance Prior To Deconvolution" > + <option value="no_filtering" selected="true">No Filtering</option> + <option value="filter_genes">Filter Genes Prior To Deconvolution</option> + </param> + <when value="no_filtering"> + </when> + <when value="filter_genes"> + <expand macro="filter_genes_options" /> + </when> + </conditional> + + <!-- Deconvolution Strategy --> + <conditional name="mode"> + + <param name="deconv_mode" type="select" label="Deconvolution Strategy"> + <option value="reference_free" selected="true">Reference-free (unsupervised)</option> + <option value="reference_based">Reference-based (with scRNA reference)</option> + </param> + + <!-- Reference-free: Specify Number of Cell Types --> + <when value="reference_free"> + <param argument="--n-components" type="integer" optional="false" label="Number of cell types to deconvolve into"/> + </when> + + <!-- Reference-based: Provide scRNA Ref --> + <when value="reference_based"> + <param argument="--expression-truth" type="data" format="h5ad" optional="true" label="Matched scRNA data in h5ad format, will be used to enforce a prior on celltypes and expression"/> + <param argument="--reference-scrna-celltype-column" type="text" label="The name of the column with celltype id in the matched scRNA anndata"/> + <param argument="--reference-scrna-sample-column" type="text" label="The name of the column with sample id in the matched scRNA anndata"/> + </when> + + </conditional> + + <!-- Deconvolution Parameters --> + <section name="deconv_params" title="Deconvolution Parameters" expanded="false"> + <param argument="--spatial-smoothing-parameter" type="float" value="0.5" label="Spatial smoothing parameter (referred to as lambda in paper)"/> + <param argument="--n-samples" type="integer" value="100" label="Number of samples from the posterior distribution or variational family"/> + <param argument="--n-svi-steps" type="integer" value="20000" label="Number of steps for fitting variational family"/> + <param name="use_spatial_guide" argument="--use-spatial-guide, --no-use-spatial-guide" type="boolean" checked="true" label="Use spatial guide (variational family with spatial priors) for SVI"/> + </section> + + <!-- Additional CLI Options --> + <section name="additional_cli" title="Additional Arguments" expanded="false"> + <param argument="--seed" type="integer" optional="true" label="Seed value for random number generator"/> + <param argument="--verbose" type="boolean" checked="false" label="Enable verbose logging"/> + </section> + + </inputs> + + <outputs> + <data name="adata_output" format="h5ad" label="BayesTME Deconvolve on ${on_string}: dataset_deconvolved.h5ad" from_work_dir="dataset_deconvolved.h5ad"/> + <data name="output" format="h5" label="BayesTME Deconvolve on ${on_string}: deconvolution_samples.h5" from_work_dir="deconvolution_samples.h5"/> + <data name="deconvolution_loss" format="pdf" label="BayesTME Deconvolve on ${on_string}: deconvolution_loss.pdf" from_work_dir="deconvolution_loss.pdf"/> + </outputs> + + <tests> + + <!-- Reference-free Deconvolution Test --> + <test> + <param name="adata" value="visium_test_dataset.h5ad"/> + <conditional name="mode" > + <param name="deconv_mode" value="reference_free"/> + <param name="n_components" value="3"/> + </conditional> + <section name="deconv_params" > + <param name="spatial_smoothing_parameter" value="0.5"/> + <param name="n_samples" value="10"/> + <param name="n_svi_steps" value="10"/> + </section> + <section name="additional_cli" > + <param name="seed" value="93"/> + </section> + <conditional name="filter_genes" > + <param name="pre_filter" value="filter_genes"/> + <param name="n_top_by_standard_deviation" value="40"/> + <section name="additional_filtering_options" > + <param name="filter_ribosomal_genes" value="true"/> + </section> + </conditional> + <output name="adata_output" file="refFree_test_data/dataset_deconvolved.h5ad" compare="sim_size" delta="20000"> + <assert_contents> + <has_h5_keys keys="obsm/bayestme_cell_type_counts,obsm/bayestme_cell_type_probabilities,varm/bayestme_omega,varm/bayestme_omega_difference,varm/bayestme_relative_expression,varm/bayestme_relative_mean_expression,uns/bayestme_n_cell_types"/> + </assert_contents> + </output> + <output name="output" file="refFree_test_data/deconvolution_samples.h5" compare="sim_size" delta="500000"> + <assert_contents> + <has_h5_keys keys="beta_trace,cell_num_total_trace,cell_prob_trace,expression_trace,losses,reads_trace"/> + </assert_contents> + </output> + <output name="deconvolution_loss" file="refFree_test_data/deconvolution_loss.pdf" compare="sim_size" delta="20000" ftype="pdf"/> + </test> + + <!-- Reference-based Deconvolution Test --> + <test> + <param name="adata" value="visium_test_dataset.h5ad"/> + <conditional name="mode" > + <param name="deconv_mode" value="reference_based"/> + <param name="expression_truth" value="refBased_test_data/scRef_test_dataset.h5ad"/> + <param name="reference_scrna_celltype_column" value="cell_type"/> + <param name="reference_scrna_sample_column" value="donor_id"/> + </conditional> + <section name="deconv_params" > + <param name="spatial_smoothing_parameter" value="0.5"/> + <param name="n_samples" value="10"/> + <param name="n_svi_steps" value="10"/> + </section> + <section name="additional_cli" > + <param name="seed" value="93"/> + </section> + <conditional name="filter_genes" > + <param name="pre_filter" value="filter_genes"/> + <param name="n_top_by_standard_deviation" value="40"/> + <section name="additional_filtering_options" > + <param name="filter_ribosomal_genes" value="true"/> + </section> + </conditional> + <output name="adata_output" file="refBased_test_data/dataset_deconvolved.h5ad" compare="sim_size" delta="20000"> + <assert_contents> + <has_h5_keys keys="obsm/bayestme_cell_type_counts,obsm/bayestme_cell_type_probabilities,varm/bayestme_omega,varm/bayestme_omega_difference,varm/bayestme_relative_expression,varm/bayestme_relative_mean_expression,uns/bayestme_n_cell_types"/> + </assert_contents> + </output> + <output name="output" file="refBased_test_data/deconvolution_samples.h5" compare="sim_size" delta="500000"> + <assert_contents> + <has_h5_keys keys="beta_trace,cell_num_total_trace,cell_prob_trace,expression_trace,losses,reads_trace"/> + </assert_contents> + </output> + <output name="deconvolution_loss" file="refBased_test_data/deconvolution_loss.pdf" compare="sim_size" delta="20000" ftype="pdf"/> + </test> + + </tests> + <help> +<![CDATA[ + +usage: deconvolve [-h] [--adata ADATA] [--adata-output ADATA_OUTPUT] [-i] [--output OUTPUT] [--seed SEED] [--n-components N_COMPONENTS] + [--spatial-smoothing-parameter SPATIAL_SMOOTHING_PARAMETER] [--n-samples N_SAMPLES] [--expression-truth EXPRESSION_TRUTH] + [--reference-scrna-celltype-column REFERENCE_SCRNA_CELLTYPE_COLUMN] [--reference-scrna-sample-column REFERENCE_SCRNA_SAMPLE_COLUMN] + [--n-svi-steps N_SVI_STEPS] [--use-spatial-guide | --no-use-spatial-guide] [-v] + +Deconvolve data + +options: + -h, --help show this help message and exit + --adata ADATA Input AnnData in h5 format, expected to be already bleed corrected + --adata-output ADATA_OUTPUT + A new AnnData in h5 format created with the deconvolution summary results appended. + -i, --inplace If provided, append deconvolution summary results to the --adata archive in place + --output OUTPUT Path where DeconvolutionResult will be written h5 format + --seed SEED Seed value for random number generator. + --n-components N_COMPONENTS + Number of cell types to deconvolve into. + --spatial-smoothing-parameter SPATIAL_SMOOTHING_PARAMETER + Spatial smoothing parameter (referred to as lambda in paper) + --n-samples N_SAMPLES + Number of samples from the posterior distribution or variational family. + --expression-truth EXPRESSION_TRUTH + Matched scRNA data in h5ad format, will be used to enforce a prior on celltypes and expression. + --reference-scrna-celltype-column REFERENCE_SCRNA_CELLTYPE_COLUMN + The name of the column with celltype id in the matched scRNA anndata. + --reference-scrna-sample-column REFERENCE_SCRNA_SAMPLE_COLUMN + The name of the column with sample id in the matched scRNA anndata. + --n-svi-steps N_SVI_STEPS + Number of steps for fitting variational family + --use-spatial-guide, --no-use-spatial-guide + Use spatial guide (variational family with spatial priors) for SVI + -v, --verbose Enable verbose logging + +]]> + </help> + <expand macro="citations"/> +</tool> \ No newline at end of file
