Skip to content
Agentmart
Submit a tool

pyopenms

Processes mass spectrometry data with pyOpenMS.

Skill by K-Dense-AI

IndexedMIT★ 54,411
Write a review

Chalk Labs

Need help deploying pyopenms?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/k-dense-ai-pyopenms

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Processes mass spectrometry data with pyOpenMS. Supports proteomics and metabolomics workflows—feature detection, peptide/protein identification, label-free quantification, adduct/accurate-mass annotation, and complex LC-MS/MS pipelines. Supports extensive file formats and algorithms. For simple spectral comparison and small-molecule library matching use matchms.

Use cases: data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/pyopenms

Tools it pre-approves 4

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Read
  • Write
  • Edit
  • Bash

What's inside

Skill name
pyopenms
Description
Processes mass spectrometry data with pyOpenMS. Supports proteomics and metabolomics workflows—feature detection, peptide/protein identification, label-free quantification, adduct/accurate-mass annotation, and complex LC-MS/MS pipelines. Supports extensive file formats and algorithms. For simple spectral comparison and small-molecule library matching use matchms.
License
MIT
Compatibility
Requires CPython 3.11+ and pyOpenMS 3.6.0; pandas and NumPy for tables, Matplotlib for plots. Wheels support macOS 15+ arm64, Linux glibc 2.34+ x86-64/arm64, and Windows x86-64. Search-engine executables are separate.
Allowed tools
Read, Write, Edit, Bash
Metadata
version: 3.0 · skill-author: K-Dense Inc. · last-reviewed: 2026-10-01 · upstream-version: 3.6.0
Instructions
219 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Pre-approves any shell command

Files (24)

  • SKILL.md
  • data_structures.md · references/
  • feature_detection.md · references/
  • file_io.md · references/
  • identification.md · references/
  • metabolomics.md · references/
  • signal_processing.md · references/
  • _common.py · scripts/
  • accurate_mass_search.py · scripts/
  • align_link_quantify.py · scripts/
  • consensus_to_matrix.py · scripts/
  • convert_format.py · scripts/
  • detect_adducts.py · scripts/
  • detect_features_centroided.py · scripts/
  • detect_features_metabo.py · scripts/
  • digest_protein.py · scripts/
  • export_gnps_sirius.py · scripts/
  • extract_chromatograms.py · scripts/
  • inspect_ms_data.py · scripts/
  • mass_calculator.py · scripts/
  • plot_ms_data.py · scripts/
  • process_identifications.py · scripts/
  • process_spectra.py · scripts/
  • theoretical_spectrum.py · scripts/

SKILL.md (first lines)

# PyOpenMS

## Overview

PyOpenMS provides Python bindings to the OpenMS library for computational mass
spectrometry, enabling analysis of proteomics and metabolomics data. Use it to
read/write MS file formats, process raw spectra, detect and quantify features,
identify peptides and proteins, and run end-to-end LC-MS/MS pipelines.

**This skill ships ready-to-run scripts in `scripts/`** covering the most common
high-level workflows. Prefer running a script over writing new code—each is a
parameterized CLI tool that handles loading, processing, and export. Drop into the
Python API (and the `references/`) only when no script fits.

## Installation

```bash
uv venv --python 3.13
uv pip install "pyopenms==3.6.0" pandas numpy matplotlib
```

Verify (note: `__version__` works, but the bundled binary prints a one-line
memory-status notice on import that is harmless):

```python
import pyopenms as ms
print(ms.__version__)  # 3.6.0
```

## Scripts (start here)

Run with `python scripts/<name>.py --help` for full options. Input formats differ by script; inspect its help. Commands below run from the skill
directory with the environment activated. Native regression tests use tiny synthetic
files; instrument-specific detection/search performance is not validated.

### Inspect & convert
| Script | What it does |
|--------|--------------|
| `inspect_ms_data.py` | Summarize any mzML/mzXML/featureXML/consensusXML/idXML (counts, RT/m/z ranges, TIC, metadata); optional per-spectrum CSV. |
| `convert_format.py` | Convert between mzML/mzXML/MGF with optional MS-level, RT, and intensity filtering. |
| `process_spectra.py` | Configurable signal-processing chain: smoothing (Gauss/SGolay), centroiding (PeakPickerHiRes), normalization, S/N and intensity thresholds. |

### Feature detection & quantification
| Script | What it does |
|--------|--------------|
| `detect_features_metabo.py` | Untargeted metabolomics feature finding: MassTraceDetection → ElutionPeakDetection → FeatureFindingMetabo. |
| `detect_features_centroided.py` | Peptide/centroided feature detection via FeatureFinderAlgorithmPicked. |
| `align_link_quantify.py` | Multi-sample pipeline: detect (or load) features → RT alignment → consensus linking → quant matrix CSV. |
| `consensus_to_matrix.py` | consensusXML → wide intensity matrix + metadata, with optional median/quantile normalization and long format. |

### Annotation
| Script | What it does |
|--------|--------------|
| `detect_adducts.py` | Group adducts/charge variants of the same neutral mass (MetaboliteFeatureDeconvolution). |
| `accurate_mass_search.py` | Annotate features against local formula/structure TSVs by accurate mass (AccurateMassSearchEngine → mzTab/CSV). |
| `export_gnps_sirius.py` | Export GNPS FBMN inputs (MGF + quant table) or a SIRIUS `.ms` file. |

### Identification
| Script | What it does |
|--------|--------------|
| `process_identifications.py` | Re-index against FASTA, estimate FDR/q-values, filter (FDR/length/best-per-spectrum), export idXML + CSV. |

### Chemistry
| Script | What it does |
|--------|--------------|
| `mass_calculator.py` | Monoisotopic/average mass, charged m/z, formula, and isotope pattern for peptides or empirical formulas. |
| `digest_protein.py` | In-silico protease digestion of FASTA/sequence → theoretical peptides with masses and m/z. |
| `theoretical_spectrum.py` | Generate annotated theoretical fragment spectra (b/y/a/c/x/z, losses) for a peptide. |

### Targeted & visualization
| Script | What it does |
|--------|--------------|
| `extract_chromatograms.py` | Build TIC/BPC and XIC traces for target m/z (CSV + optional plot). |
| `plot_ms_data.py` | Quick plots: single spectrum, TIC, 2D feature map, MS1 signal map. |

### Common script recipes

```bash
# Inspect a file
python scripts/inspect_ms_data.py sample.mzML --spectra-csv spectra.csv

# Untargeted metabolomics: features for one sample
python scripts/detect_features_metabo.py sample.mzML --out-csv features.csv

# Full multi-sample quantification study
python scripts/align_link_quantify.py s1.mzML s2.mzML s3.mzML --out-prefix study
python scripts/consensus_to_matrix.py study.consensusXML --out quant.csv --normalize median

# Peptide chemistry
python scripts/mass_calculator.py --peptide "PEPTIDEM(Oxidation)K" --charges 1 2 3 --isotopes 5
python scripts/digest_protein.py proteins.fasta --enzyme Trypsin --missed 2 --out peptides.csv

# Identification post-processing
python scripts/process_identifications.py search.idXML --fasta db.fasta --fdr 0.01 --out filtered.idXML --csv hits.csv
```

## Identification confidence

`--fdr` estimates top-hit PSM q-values from one comparable search run and rejects
missing labels, non-finite scores, mixed score types/directions, and absent target
or decoy top hits. It does not recalibrate existing q-values. Before using it, verify target/decoy annotations, score direction, and the search database used to generate the hits. The script applies `FalseDiscoveryRate` to peptide identifications; its threshold does not establish protein-level FDR. Report the tested unit (PSM, unique peptide, or protein), pooling/search settings, decoy strategy, and threshold explicitly. Protein inference and protein-level error control need their own validated workflow; do not label all inferred proteins “1% FDR” from the peptide-hit filter alone. See the [OpenMS FDR API](https://www.openms.org/documentation/html/classOpenMS_1_1FalseDiscoveryRate.html).

## Version 3.6.0 API and scientific checks

OpenMS 3.6.0 moved pyOpenMS to nanobind. The old documentation site's `latest`
page still identifies itself as 3.5.0dev; use installed `help()` and release source
when a signature disagrees. This skill's version 3.0 updates the binding calls and
changes the peptide detector option from `--mz-tol-ppm` to `--mz-tol-da`: its native
algorithm uses an absolute m/z tolerance, so conversion at an arbitrary m/z 400
was incorrect for the rest of the mass range.

- `MassTraceDetection.run(exp, 0)` returns traces; `ElutionPeakDetection.detectPeaks(traces)`
  returns split traces; `FeatureFindingMetabo.run(traces, features)` fills the map
  and returns a tuple. It no longer accepts a third chromatogram output list.
- `Param.keys()` returns strings. Use `PeptideIdentificationList` for mutable IDs;
  `IdXMLFile.load(path)` also supports returning `(proteins, peptides)` in 3.6.
- Feature tables use `rt`/`mz`; consensus tables use `get_intensity_df()` and
  `get_metadata_df()`. RT and chromatogram time are **seconds**; m/z is **Th**;
  neutral mass is **Da**. An OpenMS option named `Da` on an m/z window is absolute

From K-Dense-AI/scientific-agent-skills, MIT.

More from K-Dense-AI/scientific-agent-skills

Signals

Stars
54,411
Forks
4,797
Open issues
8
Last commit (this folder)
Oct 1, 2026 (1 month ago)
Last release
Oct 1, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
3.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from K-Dense-AI

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get pyopenms running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying pyopenms?

CallGet help
Cite this page

pyopenms skill. Agent Mart. https://agentmart.dev/skills/k-dense-ai-pyopenms (last updated 2026-10-24)