Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [0.1.2] - 2025-10-08

### Automatic update
- `toolshed.g2.bx.psu.edu/repos/ebi-gxa/anndata_ops/anndata_ops/1.9.3+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/ebi-gxa/anndata_ops/anndata_ops/1.9.3+galaxy1`
- `toolshed.g2.bx.psu.edu/repos/goeckslab/vitessce_spatial/vitessce_spatial/3.5.1+galaxy2` was updated to `toolshed.g2.bx.psu.edu/repos/goeckslab/vitessce_spatial/vitessce_spatial/3.5.1+galaxy3`
- `toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy0` was updated to `toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy1`

## [0.1.1] - 2025-06-22

### Fixed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@
"format-version": "0.1",
"license": "MIT",
"name": "Multiplex Tissue Microarray Analysis",
"readme": "# Multiplex tissue image processing and analysis with Galaxy-ME\n\n## Overview\n\nThis workflow processing and analyzes multiple multiplex tissue imaging datasets by\n\n1. Performing **background subtraction, nuclear segmentation, and feature extraction**\n2. Performing hierarchical, GMM-based **cell phenotyping** \n3. Analyzing **multi-sample cell type composition**\n4. Quantifying the **spatial arrangment of cell types** in the tissues\n5. Exploring the original images with all downstream associated data using **interactive dashboards**\n\n## Input datasets\n\n- Collection of registered OME-TIFF images\n- Markers file (CSV) for background subtraction\n\n - Example markers file:\n\n```\nmarker_name,background,exposure,remove\nDNA_1,,,\nControl_A488,,,TRUE\nControl_A555,,,TRUE\nControl_A647,,,TRUE\nDNA_2,,,TRUE\nRNA_Pol_II_CTD,Control_A488,,\npERK,Control_A555,,\np53,Control_A647,,\n...\n```\n\n\n- Phenotype workflow and manual gate files (CSV): A comma-separated Scimap phenotyping file that maps hierarchical cell phenotypes to markers, and a manual gates file that maps markers to manually-determined thresholds\n\n - For examples, see our [tutorial](https://training.galaxyproject.org/training-material/topics/imaging/tutorials/multiplex-tissue-imaging-TMA/tutorial.html) and the [Scimap documentation](https://scimap-doc.readthedocs.io/en/latest/tutorials/scimap-tutorial-cell-phenotyping/).\n\n## Inputs values\n\nAll input values have been preset in the workflow and are optimized for cyclic immunofluorescence images captured using a Rarecyte slide scanner. Some important assumptions are made: \n\n- Channel used for nuclear segmentation (Mesmer): `0`\n- Image resolution (microns per pixel): `0.65`\n\nThe workflow should be imported and edited if these values are not suitable for your datasets. \n\n## Processing\n\nFor more detailed information, see our [tutorial on the Galaxy Training Network](https://training.galaxyproject.org/training-material/topics/imaging/tutorials/multiplex-tissue-imaging-TMA/tutorial.html)\n\n- Nuclear segmentation is performed using **Mesmer**, producing a nuclear mask in TIFF format for each core image\n- Cell/nuclear features (mean marker intensities, spatial coordinates, and morphological measurements) are quantified using **MCQUANT**, producing a CSV table of cells (rows) x features (columns)\n- The quantification table is converted to anndata format (h5ad), a common datatype used by most single-cell and spatial analysis packages\n- Automated cell phenotyping is performed using **Scimap** (see *Warning* section about GMM-based phenotyping)\n- **Scimap** and **Squidpy** are used for spatial analysis\n- Finally, **Vitessce** dashboards combine interactive image viewing with linked single-cell analysis components to allow for integrated initial data exploration\n\n## Tool developers' documentation\n\n- [MCMICRO](https://mcmicro.org/)\n - Basic Illumination\n - ASHLAR\n - UNetCoreograph\n - MCQuant\n- [Mesmer](https://deepcell.readthedocs.io/en/master/)\n- [Scimap](https://scimap-doc.readthedocs.io/en/latest/)\n- [Vitessce](https://vitessce.io/)\n\n\n## Tool references\n\n- Greenwald, N. F., G. Miller, E. Moen, A. Kong, A. Kagel et al., 2021 Whole-cell segmentation of tissue images with human-level performance using large-scale data annotation and deep learning. Nature Biotechnology 40: 555\u2013565. 10.1038/s41587-021-01094-0\n- Schapiro, D., A. Sokolov, C. Yapp, Y.-A. Chen, J. L. Muhlich et al., 2021 MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nature Methods 19: 311\u2013315. 10.1038/s41592-021-01308-y\n- Virshup, I., S. Rybakov, F. J. Theis, P. Angerer, and F. A. Wolf, 2021 anndata: Annotated data. 10.1101/2021.12.16.473007\n- Palla, G., H. Spitzer, M. Klein, D. Fischer, A. C. Schaar et al., 2022 Squidpy: a scalable framework for spatial omics analysis. Nature Methods 19: 171\u2013178. 10.1038/s41592-021-01358-2\n- Nirmal, A. J., and P. K. Sorger, 2024 SCIMAP: A Python Toolkit for Integrated Spatial Analysis of Multiplexed Imaging Data. Journal of Open Source Software 9: 6604. 10.21105/joss.06604",
"release": "0.1.1",
"readme": "# Multiplex tissue image processing and analysis with Galaxy-ME\n\n## Overview\n\nThis workflow processing and analyzes multiple multiplex tissue imaging datasets by\n\n1. Performing **background subtraction, nuclear segmentation, and feature extraction**\n2. Performing hierarchical, GMM-based **cell phenotyping** \n3. Analyzing **multi-sample cell type composition**\n4. Quantifying the **spatial arrangment of cell types** in the tissues\n5. Exploring the original images with all downstream associated data using **interactive dashboards**\n\n## Input datasets\n\n- Collection of registered OME-TIFF images\n- Markers file (CSV) for background subtraction\n\n - Example markers file:\n\n```\nmarker_name,background,exposure,remove\nDNA_1,,,\nControl_A488,,,TRUE\nControl_A555,,,TRUE\nControl_A647,,,TRUE\nDNA_2,,,TRUE\nRNA_Pol_II_CTD,Control_A488,,\npERK,Control_A555,,\np53,Control_A647,,\n...\n```\n\n\n- Phenotype workflow and manual gate files (CSV): A comma-separated Scimap phenotyping file that maps hierarchical cell phenotypes to markers, and a manual gates file that maps markers to manually-determined thresholds\n\n - For examples, see our [tutorial](https://training.galaxyproject.org/training-material/topics/imaging/tutorials/multiplex-tissue-imaging-TMA/tutorial.html) and the [Scimap documentation](https://scimap-doc.readthedocs.io/en/latest/tutorials/scimap-tutorial-cell-phenotyping/).\n\n## Inputs values\n\nAll input values have been preset in the workflow and are optimized for cyclic immunofluorescence images captured using a Rarecyte slide scanner. Some important assumptions are made: \n\n- Channel used for nuclear segmentation (Mesmer): `0`\n- Image resolution (microns per pixel): `0.65`\n\nThe workflow should be imported and edited if these values are not suitable for your datasets. \n\n## Processing\n\nFor more detailed information, see our [tutorial on the Galaxy Training Network](https://training.galaxyproject.org/training-material/topics/imaging/tutorials/multiplex-tissue-imaging-TMA/tutorial.html)\n\n- Nuclear segmentation is performed using **Mesmer**, producing a nuclear mask in TIFF format for each core image\n- Cell/nuclear features (mean marker intensities, spatial coordinates, and morphological measurements) are quantified using **MCQUANT**, producing a CSV table of cells (rows) x features (columns)\n- The quantification table is converted to anndata format (h5ad), a common datatype used by most single-cell and spatial analysis packages\n- Automated cell phenotyping is performed using **Scimap** (see *Warning* section about GMM-based phenotyping)\n- **Scimap** and **Squidpy** are used for spatial analysis\n- Finally, **Vitessce** dashboards combine interactive image viewing with linked single-cell analysis components to allow for integrated initial data exploration\n\n## Tool developers' documentation\n\n- [MCMICRO](https://mcmicro.org/)\n - Basic Illumination\n - ASHLAR\n - UNetCoreograph\n - MCQuant\n- [Mesmer](https://deepcell.readthedocs.io/en/master/)\n- [Scimap](https://scimap-doc.readthedocs.io/en/latest/)\n- [Vitessce](https://vitessce.io/)\n\n\n## Tool references\n\n- Greenwald, N. F., G. Miller, E. Moen, A. Kong, A. Kagel et al., 2021 Whole-cell segmentation of tissue images with human-level performance using large-scale data annotation and deep learning. Nature Biotechnology 40: 555–565. 10.1038/s41587-021-01094-0\n- Schapiro, D., A. Sokolov, C. Yapp, Y.-A. Chen, J. L. Muhlich et al., 2021 MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nature Methods 19: 311–315. 10.1038/s41592-021-01308-y\n- Virshup, I., S. Rybakov, F. J. Theis, P. Angerer, and F. A. Wolf, 2021 anndata: Annotated data. 10.1101/2021.12.16.473007\n- Palla, G., H. Spitzer, M. Klein, D. Fischer, A. C. Schaar et al., 2022 Squidpy: a scalable framework for spatial omics analysis. Nature Methods 19: 171–178. 10.1038/s41592-021-01358-2\n- Nirmal, A. J., and P. K. Sorger, 2024 SCIMAP: A Python Toolkit for Integrated Spatial Analysis of Multiplexed Imaging Data. Journal of Open Source Software 9: 6604. 10.21105/joss.06604",
"report": {
"markdown": "## Multi-sample analysis\n\n### Multi-sample cell type composition\n\nA barplot depicting the relative abundance of cell types across the tissue samples. Cells were classified using Scimap's hierarchical gating tool. Cells may be classified as \"Unknown\" if key lineage markers are missing from the dataset's protein panel or from the phenotyping workflow. Manually adjusting gates may also help improve cell typing. \n\n```galaxy\nhistory_dataset_display(output=\"Multisample barplot\")\n```\n\n\n### Multi-sample spatial distribution of cell types\n\nA spatial scatterplot of the X and Y centroids of every cell in the tissue with color representing cell type. The scale bar is automatically generated using the physical resolution of the instrument, which is a parameter of the Galaxy tool and can be edited in the workflow if necessary. \n\n```galaxy\nhistory_dataset_display(output=\"Spatial Scatterplot Montage\")\n```\n\n## Single sample analysis\n### Quantification of Cell type interactions\n\nA matrix quantifying the number of interactions between cell types within a user-specified radius of each cell. This parameter can be changed in the workflow to suit a particular dataset's needs, but is currently set to facilitate a 30 micrometer radius for images with a physical resolution of 0.65 micrometers per pixel. The X and Y axes are the same with the query cell type on the Y axis with rows normalized to 1. \n\n```galaxy\nhistory_dataset_as_image(output=\"Spatial Interaction Montage\")\n```\n\n### Interactive image exploration\n\nA Vitessce dashboard. The Spatial component shows the actual multiplex tissue image. Marker selection, intensity range manipulation, and cell mask overlays can be controlled in the Spatial Layers component. The intensity distribution among cell types can be explored by selecting a protein from the Gene List component, and will generate a violin plot in the Expression by Cell Sets component, and annotate the UMAP and cell mask by the mean protein intensity. All components can be rearranged, resized, or removed to facilitate easier viewing. \n\n```galaxy\nvisualization(visualization_id=vitessce, output=\"Vitessce Dashboard\")\n```\n"
},
Expand Down Expand Up @@ -477,7 +476,7 @@
},
"11": {
"annotation": "",
"content_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/anndata_ops/anndata_ops/1.9.3+galaxy0",
"content_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/anndata_ops/anndata_ops/1.9.3+galaxy1",
"errors": null,
"id": 11,
"input_connections": {
Expand All @@ -486,7 +485,12 @@
"output_name": "output"
}
},
"inputs": [],
"inputs": [
{
"description": "runtime parameter for tool AnnData Operations",
"name": "cell_metadata"
}
],
"label": null,
"name": "AnnData Operations",
"outputs": [
Expand All @@ -513,15 +517,15 @@
"output_name": "output_h5ad"
}
},
"tool_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/anndata_ops/anndata_ops/1.9.3+galaxy0",
"tool_id": "toolshed.g2.bx.psu.edu/repos/ebi-gxa/anndata_ops/anndata_ops/1.9.3+galaxy1",
"tool_shed_repository": {
"changeset_revision": "a4774b7b2e85",
"changeset_revision": "7ef2403a250d",
"name": "anndata_ops",
"owner": "ebi-gxa",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"add_cell_metadata\": {\"default\": false, \"__current_case__\": 1}, \"copy_adata_to_raw\": false, \"copy_e\": {\"default\": false, \"__current_case__\": 1}, \"copy_l\": {\"default\": false, \"__current_case__\": 1}, \"copy_o\": {\"default\": false, \"__current_case__\": 1}, \"copy_r\": {\"default\": false, \"__current_case__\": 1}, \"copy_u\": {\"default\": false, \"__current_case__\": 1}, \"copy_x\": {\"default\": false, \"__current_case__\": 1}, \"field_unique\": \"\", \"gene_flags\": [], \"gene_symbols_field\": \"index\", \"input_obj_file\": {\"__class__\": \"ConnectedValue\"}, \"modifications\": [{\"__index__\": 0, \"from_obs\": \"CellID\", \"to_obs\": \"CellID_col\", \"keep_original\": false, \"make_unique\": false}], \"output_format\": \"anndata_h5ad\", \"sanitize_varm\": false, \"split_on_obs\": {\"default\": false, \"__current_case__\": 1}, \"swap_layer_to_x\": {\"default\": false, \"__current_case__\": 1}, \"top_genes\": \"50\", \"var_modifications\": [], \"__page__\": null, \"__rerun_remap_job_id__\": null}",
"tool_version": "1.9.3+galaxy0",
"tool_state": "{\"add_cell_metadata\": {\"__current_case__\": 1, \"default\": false}, \"cell_metadata\": {\"__class__\": \"RuntimeValue\"}, \"copy_adata_to_raw\": false, \"copy_e\": {\"default\": false, \"__current_case__\": 1}, \"copy_l\": {\"default\": false, \"__current_case__\": 1}, \"copy_o\": {\"default\": false, \"__current_case__\": 1}, \"copy_r\": {\"default\": false, \"__current_case__\": 1}, \"copy_u\": {\"default\": false, \"__current_case__\": 1}, \"copy_x\": {\"default\": false, \"__current_case__\": 1}, \"field_unique\": \"\", \"gene_flags\": [], \"gene_symbols_field\": \"index\", \"input_obj_file\": {\"__class__\": \"ConnectedValue\"}, \"modifications\": [{\"__index__\": 0, \"from_obs\": \"CellID\", \"to_obs\": \"CellID_col\", \"keep_original\": false, \"make_unique\": false}], \"output_format\": \"anndata_h5ad\", \"sanitize_varm\": false, \"split_on_obs\": {\"default\": false, \"__current_case__\": 1}, \"swap_layer_to_x\": {\"default\": false, \"__current_case__\": 1}, \"top_genes\": \"50\", \"var_modifications\": [], \"__page__\": null, \"__rerun_remap_job_id__\": null}",
"tool_version": "1.9.3+galaxy1",
"type": "tool",
"uuid": "e62c368d-d7db-45d8-a54d-661e0a914ee0",
"when": null,
Expand Down Expand Up @@ -677,7 +681,7 @@
},
"15": {
"annotation": "",
"content_id": "toolshed.g2.bx.psu.edu/repos/goeckslab/vitessce_spatial/vitessce_spatial/3.5.1+galaxy2",
"content_id": "toolshed.g2.bx.psu.edu/repos/goeckslab/vitessce_spatial/vitessce_spatial/3.5.1+galaxy3",
"errors": null,
"id": 15,
"input_connections": {
Expand Down Expand Up @@ -723,15 +727,15 @@
"output_name": "vitessce_config"
}
},
"tool_id": "toolshed.g2.bx.psu.edu/repos/goeckslab/vitessce_spatial/vitessce_spatial/3.5.1+galaxy2",
"tool_id": "toolshed.g2.bx.psu.edu/repos/goeckslab/vitessce_spatial/vitessce_spatial/3.5.1+galaxy3",
"tool_shed_repository": {
"changeset_revision": "70c8be4d59e9",
"changeset_revision": "cab38f254824",
"name": "vitessce_spatial",
"owner": "goeckslab",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"do_phenotyping\": {\"phenotyping_choice\": \"add_h5ad\", \"__current_case__\": 1, \"anndata\": {\"__class__\": \"ConnectedValue\"}, \"scatterplot_embeddings\": {\"embedding\": \"umap\", \"__current_case__\": 0, \"options\": {\"n_neighbors\": \"30\", \"n_pcs\": \"10\", \"knn\": true, \"random_state\": \"0\"}}, \"phenotype_factory\": {\"phenotype_mode\": \"choices\", \"__current_case__\": 0, \"phenotypes\": [\"phenotype\"]}}, \"image\": {\"__class__\": \"ConnectedValue\"}, \"masks\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}",
"tool_version": "3.5.1+galaxy2",
"tool_version": "3.5.1+galaxy3",
"type": "tool",
"uuid": "eb7209e4-90b5-4aac-af74-e70e5e4c2339",
"when": null,
Expand Down Expand Up @@ -844,7 +848,7 @@
},
"18": {
"annotation": "",
"content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy0",
"content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy1",
"errors": null,
"id": 18,
"input_connections": {
Expand Down Expand Up @@ -875,15 +879,15 @@
"output_name": "output"
}
},
"tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy0",
"tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy1",
"tool_shed_repository": {
"changeset_revision": "601575b847c0",
"changeset_revision": "ab55af10f1ff",
"name": "graphicsmagick_image_montage",
"owner": "bgruening",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"width\": \"2\", \"__page__\": 0, \"__rerun_remap_job_id__\": null}",
"tool_version": "1.3.45+galaxy0",
"tool_version": "1.3.45+galaxy1",
"type": "tool",
"uuid": "ecabaf86-d5a6-4cc4-9409-72822264e559",
"when": null,
Expand Down Expand Up @@ -1057,7 +1061,7 @@
},
"22": {
"annotation": "",
"content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy0",
"content_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy1",
"errors": null,
"id": 22,
"input_connections": {
Expand Down Expand Up @@ -1088,15 +1092,15 @@
"output_name": "output"
}
},
"tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy0",
"tool_id": "toolshed.g2.bx.psu.edu/repos/bgruening/graphicsmagick_image_montage/graphicsmagick_image_montage/1.3.45+galaxy1",
"tool_shed_repository": {
"changeset_revision": "601575b847c0",
"changeset_revision": "ab55af10f1ff",
"name": "graphicsmagick_image_montage",
"owner": "bgruening",
"tool_shed": "toolshed.g2.bx.psu.edu"
},
"tool_state": "{\"input\": {\"__class__\": \"ConnectedValue\"}, \"width\": \"2\", \"__page__\": 0, \"__rerun_remap_job_id__\": null}",
"tool_version": "1.3.45+galaxy0",
"tool_version": "1.3.45+galaxy1",
"type": "tool",
"uuid": "6862e2b1-a5c2-4748-ac99-6c7973c80726",
"when": null,
Expand All @@ -1110,6 +1114,7 @@
}
},
"tags": [],
"uuid": "eeedc263-2a29-4651-9b2b-007bf5d3cf4b",
"version": 3
}
"uuid": "f07a5e50-1d8d-45d7-a2d1-f92c5d72a8b2",
"version": 1,
"release": "0.1.2"
}