diff --git a/tools/muon/.shed.yml b/tools/muon/.shed.yml
new file mode 100644
index 00000000000..e0c2ee1f9b0
--- /dev/null
+++ b/tools/muon/.shed.yml
@@ -0,0 +1,21 @@
+name: muon
+owner: iuc
+description: "muon is a Python framework for multimodal omics analysis"
+homepage_url: https://muon.readthedocs.io
+long_description: |
+ muon is a Python framework designed to work with multimodal omics data. Incentified by recent advances in acquisition of multimodal data from individual cells, muon aims to provide convenience and speed to its users enabling standardised analysis while staying flexible and expandable. muon stands on the shoulders of and integrates with annotated data object specification and scanpy library for single-cell analysis in Python.
+remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/muon/
+type: unrestricted
+categories:
+- Single Cell
+- Sequence Analysis
+- Transcriptomics
+- Epigenetics
+auto_tool_repositories:
+ name_template: "{{ tool_id }}"
+ description_template: "Wrapper for the muon tool suite: {{ tool_name }}"
+suite:
+ name: "suite_muon"
+ description: "muon is a Python framework for multimodal omics analysis"
+ long_description: |
+ muon is a Python framework designed to work with multimodal omics data. Incentified by recent advances in acquisition of multimodal data from individual cells, muon aims to provide convenience and speed to its users enabling standardised analysis while staying flexible and expandable. muon stands on the shoulders of and integrates with annotated data object specification and scanpy library for single-cell analysis in Python.
\ No newline at end of file
diff --git a/tools/muon/cluster_analyze_embed_muon.xml b/tools/muon/cluster_analyze_embed_muon.xml
new file mode 100644
index 00000000000..9226427a0d7
--- /dev/null
+++ b/tools/muon/cluster_analyze_embed_muon.xml
@@ -0,0 +1,457 @@
+
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `__
+
+Cluster: Cluster cells using the Louvain algorithm ('muon.tl.louvain')
+======================================================================
+
+ Cluster cells using the Louvain algorithm. This runs only the multiplex Louvain algorithm on the MuData object
+ using connectivities of individual modalities
+
+ More details on the `muon documentation
+ `__
+
+Analyze: Run Multi Omics Factor Analysis ('muon.tl.mofa')
+=========================================================
+
+ Run Multi-Omics Factor Analysis
+
+ More details on the `muon documentation
+ `__
+
+Analyze: Similarity Network Fusion ('muon.tl.snf')
+==================================================
+
+ Similarity network fusion (SNF). See Wang et al., 2014 (DOI: 10.1038/nmeth.2810).
+
+ More details on the `muon documentation
+ `__
+
+Embed: Embed the multimodal neighborhood graph using UMAP ('muon.tl.umap')
+==========================================================================
+
+ Embed the multimodal neighborhood graph using UMAP (McInnes et al, 2018). UMAP (Uniform Manifold Approximation
+ and Projection) is a manifold learning technique suitable for visualizing high-dimensional data.
+
+ More details on the `muon documentation
+ `__
+
+ ]]>
+
+
\ No newline at end of file
diff --git a/tools/muon/macros.xml b/tools/muon/macros.xml
new file mode 100644
index 00000000000..675e2ba76ec
--- /dev/null
+++ b/tools/muon/macros.xml
@@ -0,0 +1,263 @@
+
+ 0.1.6
+ 0
+ 23.0
+
+
+ muon
+ leidenalg
+ louvain
+ mofapy2
+
+
+
+
+ muon
+
+
+
+
+
+
+
+
+
+ 10.1186/s13059-021-02577-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ '$hidden_output' &&
+python '$script_file' >> '$hidden_output' &&
+touch 'mudata_info.txt' &&
+cat 'mudata_info.txt' @CMD_prettify_stdout@
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ advanced_common['show_log']
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/muon/mudata_import_export.xml b/tools/muon/mudata_import_export.xml
new file mode 100644
index 00000000000..13c85eb12de
--- /dev/null
+++ b/tools/muon/mudata_import_export.xml
@@ -0,0 +1,146 @@
+
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ operation['mode'] == 'import'
+
+
+
+ operation['mode'] == 'export'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/muon/plot_muon.xml b/tools/muon/plot_muon.xml
new file mode 100644
index 00000000000..60f4841f583
--- /dev/null
+++ b/tools/muon/plot_muon.xml
@@ -0,0 +1,267 @@
+
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ plot_ext == 'png'
+
+
+ plot_ext == 'pdf'
+
+
+ plot_ext == 'svg'
+
+
+ advanced_common['show_log']
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `__
+
+Scatter: Scatter plot in MOFA factor coordinates ('muon.pl.mofa')
+=================================================================
+
+ Scatter plot in MOFA factors coordinates.
+
+ More details on the `muon documentation
+ `__
+
+Scatter: UMAP scatter plot ('muon.pl.umap')
+===========================================
+
+ UMAP Scatter plot.
+
+ More details on the `muon documentation
+ `__
+
+Histogram: Plot Histogram of Fragment lengths within specified region ('muon.pl.histogram')
+===========================================================================================
+
+ Plot Histogram of Fragment lengths within specified region.
+
+ More details on the `muon documentation
+ `__
+
+Ranking: Rank genes according to contributions to MOFA factors ('muon.pl.mofa_loadings')
+========================================================================================
+
+ Rank genes according to contributions to MOFA factors.
+
+ More details on the `muon documentation
+ `__
+ ]]>
+
+
\ No newline at end of file
diff --git a/tools/muon/preprocess_muon.xml b/tools/muon/preprocess_muon.xml
new file mode 100644
index 00000000000..e8e80aa5102
--- /dev/null
+++ b/tools/muon/preprocess_muon.xml
@@ -0,0 +1,316 @@
+
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `__
+
+Filter: Filter variables (features) ('muon.pp.filter_var')
+==========================================================
+
+ Filter variables (features, e.g. genes) in-place using any column in .var or row in .X.
+
+ More details on the `muon documentation
+ `__
+
+Subset: Subset observations (samples or cells) in-place taking observations present only in all modalities ('muon.pp.intersect_obs')
+====================================================================================================================================
+
+ Subset observations (samples or cells) in-place taking observations present only in all modalities.
+
+ More details on the `muon documentation
+ `__
+
+Normalize: Normalize observations to unit L2 norm ('muon.pp.l2norm')
+====================================================================
+
+ Normalize observations to unit L2 norm.
+
+ More details on the `muon documentation
+ `__
+
+Search: Multimodal nearest neighbor search ('muon.pp.neighbors')
+================================================================
+
+ Multimodal nearest neighbor search by implementing the multimodal nearest neighbor method of Hao et al. and Swanson et al.
+ The neighbor search efficiency on this heavily relies on UMAP. In particular, you may want to decrease
+ n_multineighbors for large data set to avoid excessive peak memory use. To achieve results as close as possible
+ to the Seurat implementation, observations must be normalized to unit L2 norm prior to running per-modality
+ nearest-neighbor search.
+
+ More details on the `muon documentation
+ `__
+
+ ]]>
+
+
\ No newline at end of file