IMDash is a containerized workflow for analyzing Ion Mobility–Mass Spectrometry (IMS-MS) data and generating collision cross-section (CCS) outputs. It packages a sequence of community tools behind a GUI and command-line interfaces, and uses container orchestration (Docker or Singularity) to reduce installation and dependency burden.
The most up-to-date documentation (usage, file specifications, troubleshooting) is located at our Documentation site.
At this point, when cloning the repository, it is highly reccomended to use a shallow clone using the following command:
git clone --depth 1 https://github.com/PNNL-CompBio/ion-mob-ms.git
Graphical User Interface:
- Desktop GUI (Windows): Available (recommended for smaller datasets; see docs for known Docker stability limitations).
Download:GUI/GUI_windows.exein this repository. - Desktop GUI (macOS): Archived on Zenodo (Intel/x86 Macs are the primary supported target; see docs for Apple Silicon notes).
Zenodo DOI (v1.1): https://doi.org/10.5281/zenodo.6941767
Command line:
- Cloud (AWS) CLI: Available (Docker-based).
- HPC CLI: Available (Singularity-based; SLURM-oriented templates).
IMDash supports multiple IMS acquisition/processing modes (see docs for exact input requirements and required accessory files):
- DTIMS single-field (calibrated CCS)
- DTIMS stepped-field / multifield (primary CCS determination workflow)
- SLIM / TWIMS-style workflows (calibration-driven CCS workflows)
IMDash links multiple command-line tools into a single end-to-end run, with containers handling dependencies:
- (Recommended) PNNL PreProcessor: smoothing/QC and multifield file handling; currently run separately from IMDash (not fully integrated).
- ProteoWizard (msConvert): vendor format → open format conversion (e.g., mzML)
- MZmine 2: feature detection
- AutoCCS: CCS calculation and reporting
- Optional/experimental: DEIMoS feature extraction support (see docs for current caveats)
IMDash is designed so users can run:
- end-to-end workflows via the GUI, or
- automated runs via the CLI (Cloud/HPC), while still allowing individual steps to be executed separately when needed.
- a future implementation may use nextflow.
IMDash uses Docker for Desktop/Cloud execution and Singularity for HPC execution where Docker is restricted.
Wrapper scripts run each containerized tool and pass outputs between stages (conversion → feature detection → CCS).
A Python backend coordinates tool execution, manages intermediate files, and selects the appropriate workflow path (e.g., single-field vs stepped-field).
A desktop GUI supports interactive configuration, file selection, and execution (Docker Desktop must be running before launching the GUI).
For full, step-by-step instructions, follow the documentation:
Quick pointers (see docs for details and troubleshooting):
- Install Docker Desktop
- Download and unzip the macOS app from Zenodo (v1.1): https://doi.org/10.5281/zenodo.6941767
- Start Docker Desktop, then start the IMDash macOS app
- Install Docker Desktop (+ WSL2 as required)
- Download
GUI/GUI_windows.exefrom this repository - Start Docker Desktop, then start the Windows GUI executable
The docs include a working template for EC2 setup and running the CLI with a JSON run configuration:
The docs include Singularity + SLURM-oriented templates for running with a JSON run configuration:
CLI/— Command-line interfaces for cloud/desktop execution (Python wrapper scripts)GUI/— Graphical user interfaces and desktop executables (Tkinter-based GUI)HPC/— High-performance computing variants using Singularity containers with SLURM templatesdocker/— Docker utilities including container helper scripts and preprocessing utilitiesdocs/— Sphinx-based documentation source and configurationsrc/— R scripts for specialized data processing (metadata extraction, annotation)test-data/— Example datasets for testing and validation (SingleField, SLIM, SteppedField workflows)Post-hoc-scripts/— R-based analysis templates for post-processing resultsweb_dev/— Web development components (Django REST framework backend, React frontend)
See ARCHITECTURE_GUIDE.md for detailed module descriptions and DIRECTORY_GUIDE.md for navigating the codebase.
Contributions are welcome:
- Please open an issue for bugs, feature requests, or tool-integration proposals.
- Pull requests are encouraged for documentation improvements, workflow extensions, and bug fixes.
If you use IMDash in academic work, please cite the IMDash manuscript (and software archive where appropriate):
Ion Mobility-mass spectrometry Dashboard (IMDash): an automated, multi-platform computational pipeline to support production of robust and large-scale experimental collision cross-section libraries
- Note, submission/publication is currently in progress.
Software archive (macOS GUI v1.1):
BSD-2-Clause (see LICENSE).
