# GEMspa-CLI: Single-Particle Tracking Analysis (v2.0.0)
**Advanced, modular single-particle tracking (SPT) and ensemble diffusion analysis for microscopy data.**
---
## Overview
`gemspa-cli` is a command-line interface for **GEMspa**, a modular single-particle tracking and diffusion analysis suite.
It performs robust trajectory extraction, per-track MSD fitting, ensemble averaging, step-size statistics, and condition-wise comparisons.
### New in v2.0.0
- **Integrated split metrics by condition** - Automatically generates condition-grouped CSV files
- **Steps and tracks analysis** - Heatmaps and track overlays with step-size coloring
- **Flexible condition extraction** - Removes date codes and handles any dataset naming
- **Unified filtering system** - Consistent filtering across all analysis modules
- **Enhanced CLI interface** - New flags for advanced visualization and analysis
- **PyPI ready** - Clean package structure optimized for distribution
### Features
- **Advanced group analysis** with automatic metrics splitting by condition
- **TrackMate cleaning utility** (`--clean-trackmate`)
- **Unified global filtering parameters** for D and α across the entire pipeline
- **Step-size vs brightness heatmaps** with customizable parameters
- **Track overlays** colored by step size for visual analysis
- **Cross-condition comparison plots** with KS statistical annotations
- **Modular architecture** supporting automatic condition detection and flexible I/O
---
## Installation
### Install from PyPI (Recommended)
```bash
pip install GEMspa-CLI
```
### Create a virtual environment (Optional but recommended)
```bash
python3 -m venv ~/venvs/gemspa
source ~/venvs/gemspa/bin/activate
```
Windows PowerShell:
```powershell
python -m venv %USERPROFILE%\venvs\gemspa
%USERPROFILE%\venvs\gemspa\Scripts\Activate.ps1
```
### Install from source
```bash
git clone https://github.com/your-username/GEMspa-CLI.git
cd GEMspa-CLI
pip install -e .
```
---
## New Features in v2.0.0
### Split Metrics by Condition
Automatically generates condition-grouped CSV files for easy statistical analysis:
```bash
# This happens automatically during advanced group analysis
python -m gemspa.cli -d /path/to/data --time-step 0.01 --micron-per-px 0.11
# Creates: grouped_advanced_analysis/split_metrics_by_condition/
# - D_fit.csv, alpha_fit.csv, r2_fit.csv, etc.
```
### Steps and Tracks Analysis
Generate heatmaps and track overlays with step-size coloring:
```bash
# Generate both heatmaps and track overlays
python -m gemspa.cli -d /path/to/data --steps-tracks
# Generate only heatmaps
python -m gemspa.cli -d /path/to/data --steps-tracks --steps-tracks-mode heatmaps
# Generate only track overlays with custom settings
python -m gemspa.cli -d /path/to/data --steps-tracks --steps-tracks-mode tracks \
--line-width 1.0 --invert-lut-tracks --min-track-length 15
```
### Flexible Condition Extraction
Handles any dataset naming convention by removing date codes and replicate numbers:
- `Traj_20220706_G12V_4.csv` → `G12V`
- `Traj_20220708_G12V_13.csv` → `G12V` (properly pooled!)
- `Traj_20220706_HKWT_2.csv` → `HKWT`
---
## Workflow Overview
```
┌──────────────────────────────────────────────┐
│ TrackMate export → gemspa-cli pipeline │
└──────────────────────────────────────────────┘
│
├── (optional) --clean-trackmate
│ → Traj_<COND>_<REP>.csv
│
├── Per-replicate trajectory analysis
│ → D_fit, α_fit, r², MSD curves, rainbow overlay
│
├── Ensemble pooling by condition
│ → grouped_raw / grouped_filtered
│
├── (optional) --step-size-analysis
│ → KDEs, α₂ non-Gaussian stats, KS tests
│
├── (optional) automatic advanced grouped analysis (default is on)
│ → grouped_advanced_analysis/
│
└── Cross-condition comparison
→ comparison/*.png
```
---
## Core Analysis Logic
### 1. Mean-Square Displacement (MSD)
For each trajectory of \(N\) frames:
\[
\mathrm{MSD}(\tau) = \langle (x_{i+\tau} - x_i)^2 + (y_{i+\tau} - y_i)^2 \rangle_i
\]
where \(\tau\) is the time lag in seconds (`τ = frame × --time-step`).
---
### 2. Diffusion Coefficient (D)
Linear fit to the early MSD regime:
\[
\mathrm{MSD}(\tau) \approx 4D\tau \quad \Rightarrow \quad D = \frac{1}{4}\frac{d(\mathrm{MSD})}{d\tau}
\]
---
### 3. Anomalous Exponent (α)
Log–log slope across valid lags:
\[
\log_{10}\!\big[\mathrm{MSD}(\tau)\big] = \alpha \log_{10}(\tau) + \log_{10}(4D)
\]
- α ≈ 1 → normal diffusion
- α < 1 → subdiffusive
- α > 1 → superdiffusive
---
### 4. Non-Gaussian Parameter (α₂)
Quantifies deviation from Brownian motion based on step-size moments:
\[
\alpha_2 = \frac{\langle r^4 \rangle}{3\langle r^2 \rangle^2} - 1
\]
---
### 5. Velocity Autocorrelation (VACF)
Used in Advanced grouped analysis:
\[
\mathrm{VACF}(k) = \frac{\langle \vec{v}_i \cdot \vec{v}_{i+k} \rangle}
{\langle \vec{v}_i \cdot \vec{v}_i \rangle}
\]
---
## Command-Line Usage
```bash
gemspa-cli -d /path/to/folder [options]
```
**Required**
- `-d, --work-dir` : Directory with trajectory CSVs
### Common Options
#### Input Discovery
- `--csv-pattern` Glob for CSVs (default: `Traj_*.csv`)
- For TrackMate: `"*Spots in tracks*.csv"`
#### Acquisition / Units
- `--time-step` Seconds between frames
- `--micron-per-px` Pixel size in µm
#### Track/fit Constraints
- `--min-track-len` Minimum frames per track
- `--tlag-cutoff` Maximum lag (frames) for MSD fit
#### Parallelism
- `-j, --n-jobs` Processes across replicates
- `--threads-per-rep` Threads per replicate
#### Rainbow Tracks (optional)
- `--rainbow-tracks` Enable colored overlays
- `--img-prefix` Image prefix (e.g., `MAX_`)
- `--rainbow-min-D`, `--rainbow-max-D`, `--rainbow-colormap`, `--rainbow-scale`, `--rainbow-dpi`
#### Ensemble Filters (shared globally)
- `--filter-D-min`, `--filter-D-max` (µm²/s)
- `--filter-alpha-min`, `--filter-alpha-max`
#### Optional Analyses
- `--step-size-analysis` Enable step-size KDE + KS plots
- `--clean-trackmate` Run TrackMate CSV cleaner and exit
- `--no-advanced-group` Disable automatic advanced analysis
---
## Outputs
### Per Replicate `<COND>_<REP>/`
- `msd_results.csv` : Per-track D_fit, α_fit, r²_fit
- `msd_vs_tau.png` : Linear MSD vs τ with D estimate
- `msd_vs_tau_loglog.png` : Log–log MSD vs τ with α slope
- `D_fit_distribution.png` : Histogram of D (log x-axis)
- `alpha_vs_logD.png` : Scatter of α vs log₁₀ D
- `rainbow_tracks.png` : Colored trajectories (if enabled)
### Ensemble Level
- `grouped_raw/` and `grouped_filtered/` subfolders
- Ensemble-averaged MSD plots (`ensemble_msd_vs_tau_<COND>.png`)
- Step-size KDEs (`step_kde_<COND>_(ensemble).png`, filtered variants)
- Global limits: **x ≤ 3 µm**, **y ≥ 1e-5** (log-scale)
### Comparison (`comparison/`)
- `ensemble_filtered_D_histograms.png` (log-scale with KS annotation)
- `ensemble_filtered_alpha_histograms.png`
- `replicate_median_D_boxplot.png`
### Advanced Grouped Analysis (`grouped_advanced_analysis/`)
Automatically runs unless `--no-advanced-group` is specified.
**Per-track metrics**
```
track_id, condition, D_fit, alpha_fit, r2_fit, vacf_lag1,
confinement_idx, hull_area_um2, tortuosity, n_frames
```
**Plots**
- D_fit and α_fit box/violin plots by condition
- VACF histograms and mean curves
- Convex-hull area vs tortuosity scatterplots
### TrackMate Cleaner (`--clean-trackmate`)
Cleans TrackMate exports to GEMspa schema (`x, y, frame, track_id`) and standardizes names as:
```
Traj_<COND>_<REP>.csv
```
Options:
- `--clean-out-dir` : Output directory
- `--clean-include-date` : Include date codes (YYMMDD / YYYYMMDD)
- `--clean-move` : Move instead of copy
- `--clean-dry-run` : Preview only
---
## Example Commands
```bash
# Clean TrackMate CSVs only
gemspa-cli -d /data/TrackMateExports --clean-trackmate
# Full GEMspa run (auto advanced group analysis, no step-size)
gemspa-cli -d /data/GEMspa --time-step 0.03 --micron-per-px 0.11 --min-track-len 4 --tlag-cutoff 4
# Include step-size and rainbow overlays
gemspa-cli -d /data/GEMspa --rainbow-tracks --step-size-analysis
# Skip Advanced analysis module
gemspa-cli -d /data/GEMspa --no-advanced-group
```
---
## Mathematical Summary
| Symbol | Definition | Units |
|:-------:|-------------|:------:|
| τ | Time lag ( frame × Δt ) | s |
| MSD(τ) | Mean square displacement | µm² |
| D | Diffusion coefficient | µm²/s |
| α | Anomalous exponent | – |
| α₂ | Non-Gaussian parameter | – |
| VACF | Velocity autocorrelation | – |
| T | Tortuosity | – |
| A_hull | Convex-hull area | µm² |
---
## Output Organization
```
<work_dir>/
├── <COND>_<REP>/
│ ├── msd_results.csv
│ ├── msd_vs_tau.png
│ └── ...
├── grouped_raw/
│ ├── msd_results.csv
│ └── step_kde/
├── grouped_filtered/
│ ├── msd_results.csv
│ └── step_kde/
├── grouped_advanced_analysis/
└── comparison/
```
---
## Citation
If you use this software, please cite:
> **Bazley A., Keegan S. et al.**
> [GEMspa-CLI (PyPI)](https://pypi.org/project/GEMspa-CLI/)
---
## Acknowledgements
Developed by
1. **Andrew Bazley** and **Sarah Keegan** — *Liam Holt and David Fenyo Labs, Institute for Systems Genetics, NYU Langone Health*
2. **David Duran** — *Liam Holt Lab, Institute for Systems Genetics, NYU Langone Health*
**Original build:** [gemspa-spt (PyPI)](https://pypi.org/project/gemspa-spt/)
**Primary reference:** [Keegan et al., *bioRxiv* 2023.06.26.546612](https://www.biorxiv.org/content/10.1101/2023.06.26.546612v1)
---
---
© 2025 GEMspa Project · MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "GEMspa-CLI",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "single-particle tracking, MSD, diffusion, trackmate, microscopy, analysis",
"author": null,
"author_email": "\"Andrew Bazley, Sarah Keegan\" <Andrew.bazley@nyulangone.org>",
"download_url": "https://files.pythonhosted.org/packages/37/d7/93326275d113abaa037e7e38ad607e47d2ab9df7e740d9b1df36eb431b90/GEMspa-CLI-2.0.0.tar.gz",
"platform": null,
"description": "# GEMspa-CLI: Single-Particle Tracking Analysis (v2.0.0)\n\n**Advanced, modular single-particle tracking (SPT) and ensemble diffusion analysis for microscopy data.**\n\n---\n\n## Overview\n\n`gemspa-cli` is a command-line interface for **GEMspa**, a modular single-particle tracking and diffusion analysis suite. \nIt performs robust trajectory extraction, per-track MSD fitting, ensemble averaging, step-size statistics, and condition-wise comparisons.\n\n### New in v2.0.0\n\n- **Integrated split metrics by condition** - Automatically generates condition-grouped CSV files\n- **Steps and tracks analysis** - Heatmaps and track overlays with step-size coloring\n- **Flexible condition extraction** - Removes date codes and handles any dataset naming\n- **Unified filtering system** - Consistent filtering across all analysis modules\n- **Enhanced CLI interface** - New flags for advanced visualization and analysis\n- **PyPI ready** - Clean package structure optimized for distribution\n\n### Features\n\n- **Advanced group analysis** with automatic metrics splitting by condition\n- **TrackMate cleaning utility** (`--clean-trackmate`)\n- **Unified global filtering parameters** for D and \u03b1 across the entire pipeline\n- **Step-size vs brightness heatmaps** with customizable parameters\n- **Track overlays** colored by step size for visual analysis\n- **Cross-condition comparison plots** with KS statistical annotations\n- **Modular architecture** supporting automatic condition detection and flexible I/O\n\n---\n\n## Installation\n\n### Install from PyPI (Recommended)\n\n```bash\npip install GEMspa-CLI\n```\n\n### Create a virtual environment (Optional but recommended)\n\n```bash\npython3 -m venv ~/venvs/gemspa\nsource ~/venvs/gemspa/bin/activate\n```\n\nWindows PowerShell:\n\n```powershell\npython -m venv %USERPROFILE%\\venvs\\gemspa\n%USERPROFILE%\\venvs\\gemspa\\Scripts\\Activate.ps1\n```\n\n### Install from source\n\n```bash\ngit clone https://github.com/your-username/GEMspa-CLI.git\ncd GEMspa-CLI\npip install -e .\n```\n\n---\n\n## New Features in v2.0.0\n\n### Split Metrics by Condition\nAutomatically generates condition-grouped CSV files for easy statistical analysis:\n\n```bash\n# This happens automatically during advanced group analysis\npython -m gemspa.cli -d /path/to/data --time-step 0.01 --micron-per-px 0.11\n# Creates: grouped_advanced_analysis/split_metrics_by_condition/\n# - D_fit.csv, alpha_fit.csv, r2_fit.csv, etc.\n```\n\n### Steps and Tracks Analysis\nGenerate heatmaps and track overlays with step-size coloring:\n\n```bash\n# Generate both heatmaps and track overlays\npython -m gemspa.cli -d /path/to/data --steps-tracks\n\n# Generate only heatmaps\npython -m gemspa.cli -d /path/to/data --steps-tracks --steps-tracks-mode heatmaps\n\n# Generate only track overlays with custom settings\npython -m gemspa.cli -d /path/to/data --steps-tracks --steps-tracks-mode tracks \\\n --line-width 1.0 --invert-lut-tracks --min-track-length 15\n```\n\n### Flexible Condition Extraction\nHandles any dataset naming convention by removing date codes and replicate numbers:\n\n- `Traj_20220706_G12V_4.csv` \u2192 `G12V`\n- `Traj_20220708_G12V_13.csv` \u2192 `G12V` (properly pooled!)\n- `Traj_20220706_HKWT_2.csv` \u2192 `HKWT`\n\n---\n\n## Workflow Overview\n\n```\n \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 TrackMate export \u2192 gemspa-cli pipeline \u2502\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n \u2502\n \u251c\u2500\u2500 (optional) --clean-trackmate\n \u2502 \u2192 Traj_<COND>_<REP>.csv\n \u2502\n \u251c\u2500\u2500 Per-replicate trajectory analysis\n \u2502 \u2192 D_fit, \u03b1_fit, r\u00b2, MSD curves, rainbow overlay\n \u2502\n \u251c\u2500\u2500 Ensemble pooling by condition\n \u2502 \u2192 grouped_raw / grouped_filtered\n \u2502\n \u251c\u2500\u2500 (optional) --step-size-analysis\n \u2502 \u2192 KDEs, \u03b1\u2082 non-Gaussian stats, KS tests\n \u2502\n \u251c\u2500\u2500 (optional) automatic advanced grouped analysis (default is on)\n \u2502 \u2192 grouped_advanced_analysis/\n \u2502\n \u2514\u2500\u2500 Cross-condition comparison\n \u2192 comparison/*.png\n```\n\n---\n\n## Core Analysis Logic\n\n### 1. Mean-Square Displacement (MSD)\n\nFor each trajectory of \\(N\\) frames:\n\n\\[\n\\mathrm{MSD}(\\tau) = \\langle (x_{i+\\tau} - x_i)^2 + (y_{i+\\tau} - y_i)^2 \\rangle_i\n\\]\n\nwhere \\(\\tau\\) is the time lag in seconds (`\u03c4 = frame \u00d7 --time-step`).\n\n---\n\n### 2. Diffusion Coefficient (D)\n\nLinear fit to the early MSD regime:\n\n\\[\n\\mathrm{MSD}(\\tau) \\approx 4D\\tau \\quad \\Rightarrow \\quad D = \\frac{1}{4}\\frac{d(\\mathrm{MSD})}{d\\tau}\n\\]\n\n---\n\n### 3. Anomalous Exponent (\u03b1)\n\nLog\u2013log slope across valid lags:\n\n\\[\n\\log_{10}\\!\\big[\\mathrm{MSD}(\\tau)\\big] = \\alpha \\log_{10}(\\tau) + \\log_{10}(4D)\n\\]\n\n- \u03b1 \u2248 1 \u2192 normal diffusion \n- \u03b1 < 1 \u2192 subdiffusive \n- \u03b1 > 1 \u2192 superdiffusive\n\n---\n\n### 4. Non-Gaussian Parameter (\u03b1\u2082)\n\nQuantifies deviation from Brownian motion based on step-size moments:\n\n\\[\n\\alpha_2 = \\frac{\\langle r^4 \\rangle}{3\\langle r^2 \\rangle^2} - 1\n\\]\n\n---\n\n### 5. Velocity Autocorrelation (VACF)\n\nUsed in Advanced grouped analysis:\n\n\\[\n\\mathrm{VACF}(k) = \\frac{\\langle \\vec{v}_i \\cdot \\vec{v}_{i+k} \\rangle}\n {\\langle \\vec{v}_i \\cdot \\vec{v}_i \\rangle}\n\\]\n\n---\n\n## Command-Line Usage\n\n```bash\ngemspa-cli -d /path/to/folder [options]\n```\n\n**Required**\n- `-d, --work-dir` : Directory with trajectory CSVs\n\n### Common Options\n\n#### Input Discovery\n- `--csv-pattern` Glob for CSVs (default: `Traj_*.csv`)\n- For TrackMate: `\"*Spots in tracks*.csv\"`\n\n#### Acquisition / Units\n- `--time-step` Seconds between frames \n- `--micron-per-px` Pixel size in \u00b5m\n\n#### Track/fit Constraints\n- `--min-track-len` Minimum frames per track \n- `--tlag-cutoff` Maximum lag (frames) for MSD fit\n\n#### Parallelism\n- `-j, --n-jobs` Processes across replicates \n- `--threads-per-rep` Threads per replicate\n\n#### Rainbow Tracks (optional)\n- `--rainbow-tracks` Enable colored overlays \n- `--img-prefix` Image prefix (e.g., `MAX_`) \n- `--rainbow-min-D`, `--rainbow-max-D`, `--rainbow-colormap`, `--rainbow-scale`, `--rainbow-dpi`\n\n#### Ensemble Filters (shared globally)\n- `--filter-D-min`, `--filter-D-max` (\u00b5m\u00b2/s) \n- `--filter-alpha-min`, `--filter-alpha-max`\n\n#### Optional Analyses\n- `--step-size-analysis` Enable step-size KDE + KS plots \n- `--clean-trackmate` Run TrackMate CSV cleaner and exit \n- `--no-advanced-group` Disable automatic advanced analysis\n\n---\n\n## Outputs\n\n### Per Replicate `<COND>_<REP>/`\n- `msd_results.csv` : Per-track D_fit, \u03b1_fit, r\u00b2_fit \n- `msd_vs_tau.png` : Linear MSD vs \u03c4 with D estimate \n- `msd_vs_tau_loglog.png` : Log\u2013log MSD vs \u03c4 with \u03b1 slope \n- `D_fit_distribution.png` : Histogram of D (log x-axis) \n- `alpha_vs_logD.png` : Scatter of \u03b1 vs log\u2081\u2080 D \n- `rainbow_tracks.png` : Colored trajectories (if enabled)\n\n### Ensemble Level\n- `grouped_raw/` and `grouped_filtered/` subfolders \n- Ensemble-averaged MSD plots (`ensemble_msd_vs_tau_<COND>.png`) \n- Step-size KDEs (`step_kde_<COND>_(ensemble).png`, filtered variants) \n - Global limits: **x \u2264 3 \u00b5m**, **y \u2265 1e-5** (log-scale)\n\n### Comparison (`comparison/`)\n- `ensemble_filtered_D_histograms.png` (log-scale with KS annotation) \n- `ensemble_filtered_alpha_histograms.png` \n- `replicate_median_D_boxplot.png`\n\n### Advanced Grouped Analysis (`grouped_advanced_analysis/`)\nAutomatically runs unless `--no-advanced-group` is specified.\n\n**Per-track metrics**\n```\ntrack_id, condition, D_fit, alpha_fit, r2_fit, vacf_lag1,\nconfinement_idx, hull_area_um2, tortuosity, n_frames\n```\n\n**Plots**\n- D_fit and \u03b1_fit box/violin plots by condition \n- VACF histograms and mean curves \n- Convex-hull area vs tortuosity scatterplots\n\n### TrackMate Cleaner (`--clean-trackmate`)\nCleans TrackMate exports to GEMspa schema (`x, y, frame, track_id`) and standardizes names as:\n```\nTraj_<COND>_<REP>.csv\n```\n\nOptions: \n- `--clean-out-dir` : Output directory \n- `--clean-include-date` : Include date codes (YYMMDD / YYYYMMDD) \n- `--clean-move` : Move instead of copy \n- `--clean-dry-run` : Preview only\n\n---\n\n## Example Commands\n\n```bash\n# Clean TrackMate CSVs only\ngemspa-cli -d /data/TrackMateExports --clean-trackmate\n\n# Full GEMspa run (auto advanced group analysis, no step-size)\ngemspa-cli -d /data/GEMspa --time-step 0.03 --micron-per-px 0.11 --min-track-len 4 --tlag-cutoff 4\n\n# Include step-size and rainbow overlays\ngemspa-cli -d /data/GEMspa --rainbow-tracks --step-size-analysis\n\n# Skip Advanced analysis module\ngemspa-cli -d /data/GEMspa --no-advanced-group\n```\n\n---\n\n## Mathematical Summary\n\n| Symbol | Definition | Units |\n|:-------:|-------------|:------:|\n| \u03c4 | Time lag ( frame \u00d7 \u0394t ) | s |\n| MSD(\u03c4) | Mean square displacement | \u00b5m\u00b2 |\n| D | Diffusion coefficient | \u00b5m\u00b2/s |\n| \u03b1 | Anomalous exponent | \u2013 |\n| \u03b1\u2082 | Non-Gaussian parameter | \u2013 |\n| VACF | Velocity autocorrelation | \u2013 |\n| T | Tortuosity | \u2013 |\n| A_hull | Convex-hull area | \u00b5m\u00b2 |\n\n---\n\n## Output Organization\n\n```\n<work_dir>/\n\u251c\u2500\u2500 <COND>_<REP>/\n\u2502 \u251c\u2500\u2500 msd_results.csv\n\u2502 \u251c\u2500\u2500 msd_vs_tau.png\n\u2502 \u2514\u2500\u2500 ...\n\u251c\u2500\u2500 grouped_raw/\n\u2502 \u251c\u2500\u2500 msd_results.csv\n\u2502 \u2514\u2500\u2500 step_kde/\n\u251c\u2500\u2500 grouped_filtered/\n\u2502 \u251c\u2500\u2500 msd_results.csv\n\u2502 \u2514\u2500\u2500 step_kde/\n\u251c\u2500\u2500 grouped_advanced_analysis/\n\u2514\u2500\u2500 comparison/\n```\n\n---\n\n## Citation\n\nIf you use this software, please cite:\n\n> **Bazley A., Keegan S. et al.** \n> [GEMspa-CLI (PyPI)](https://pypi.org/project/GEMspa-CLI/)\n\n\n---\n\n## Acknowledgements\n\nDeveloped by \n1. **Andrew Bazley** and **Sarah Keegan** \u2014 *Liam Holt and David Fenyo Labs, Institute for Systems Genetics, NYU Langone Health* \n2. **David Duran** \u2014 *Liam Holt Lab, Institute for Systems Genetics, NYU Langone Health*\n\n**Original build:** [gemspa-spt (PyPI)](https://pypi.org/project/gemspa-spt/) \n**Primary reference:** [Keegan et al., *bioRxiv* 2023.06.26.546612](https://www.biorxiv.org/content/10.1101/2023.06.26.546612v1)\n\n---\n\n---\n\n\u00a9 2025 GEMspa Project \u00b7 MIT License\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "GEMspa: Advanced single-particle tracking analysis pipeline with MSD, diffusion analysis, and visualization tools",
"version": "2.0.0",
"project_urls": null,
"split_keywords": [
"single-particle tracking",
" msd",
" diffusion",
" trackmate",
" microscopy",
" analysis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "266639635c26a8953bcd3a5110b9c62afb1a536b45b99989a3c5ce3721ac609e",
"md5": "5218152e29b8a5b8ae17374b9de1035d",
"sha256": "6112f78aeae0a66c2d20fd7f19d55bbb958ae305560433bb0eae866099ca06fe"
},
"downloads": -1,
"filename": "GEMspa_CLI-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5218152e29b8a5b8ae17374b9de1035d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 46676,
"upload_time": "2025-10-23T00:20:43",
"upload_time_iso_8601": "2025-10-23T00:20:43.494014Z",
"url": "https://files.pythonhosted.org/packages/26/66/39635c26a8953bcd3a5110b9c62afb1a536b45b99989a3c5ce3721ac609e/GEMspa_CLI-2.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "37d793326275d113abaa037e7e38ad607e47d2ab9df7e740d9b1df36eb431b90",
"md5": "d522ce5e9b715483825177bf6e0bb569",
"sha256": "968c6eaaf1279a1057333ba8e3d90bf3098373117c0efbbe89a507210cd3e817"
},
"downloads": -1,
"filename": "GEMspa-CLI-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "d522ce5e9b715483825177bf6e0bb569",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 39029,
"upload_time": "2025-10-23T00:20:44",
"upload_time_iso_8601": "2025-10-23T00:20:44.875126Z",
"url": "https://files.pythonhosted.org/packages/37/d7/93326275d113abaa037e7e38ad607e47d2ab9df7e740d9b1df36eb431b90/GEMspa-CLI-2.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-23 00:20:44",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gemspa-cli"
}