GEMspa-CLI


NameGEMspa-CLI JSON
Version 2.0.0 PyPI version JSON
download
home_pageNone
SummaryGEMspa: Advanced single-particle tracking analysis pipeline with MSD, diffusion analysis, and visualization tools
upload_time2025-10-23 00:20:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseMIT
keywords single-particle tracking msd diffusion trackmate microscopy analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.75289s