Skip to content

Guide · Agent skill

How to use the pyOpenMS mass spectrometry agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The pyopenms skill gives an AI agent working knowledge of the pyOpenMS library and a set of ready-made command-line scripts for mass spectrometry data. It covers proteomics and metabolomics work such as feature detection, label-free quantification and accurate-mass annotation. This guide shows you how to install the skill, ask for work in plain language, and run the bundled scripts yourself.

PyOpenMS Mass Spectrometry ToolkitK-Dense-AI/scientific-agent-skills · MIT

Quick start

  1. 1Download and unzip the skill. Download the skill ZIP from this page and unzip it. Place the folder in ~/.claude/skills/ for all projects or in a project's .claude/skills/ folder for one project.
  2. 2Or upload it in the Claude apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the skill.
  3. 3Create the Python environment. Use Python 3.11 or newer, then install pyOpenMS 3.6.0 with pandas, NumPy and Matplotlib as shown in the install section.
  4. 4Check the install. Import pyOpenMS and print its version to confirm it reads 3.6.0.
  5. 5Ask for your analysis. Describe the analysis and file types in plain language, for example a feature table from an mzML file.
  6. 6Run a script with --help. Check the options of the chosen script, then run it on one sample to confirm the output looks right before scaling up.

What the skill makes the agent do

Mass spectrometry instruments produce large raw files, and turning them into usable results needs specialized software. With this skill installed, the agent knows how to use pyOpenMS and a set of scripts to find and align signal peaks across samples, build quantification tables, annotate metabolites by accurate mass and post-process peptide identifications.

The skill tells the agent to run a bundled script when one fits the task and to write new Python only when no script does. Each script is a parameterized command-line tool that handles loading, processing and export.

  • detect_features_metabo.py: untargeted metabolomics feature detection on one sample
  • detect_features_centroided.py: peptide feature detection on centroided data
  • align_link_quantify.py: multi-sample pipeline from feature detection to a quantification matrix CSV
  • consensus_to_matrix.py: converts a consensusXML file into a wide intensity matrix, with optional median or quantile normalization
  • detect_adducts.py: groups adducts and charge variants of the same neutral mass
  • accurate_mass_search.py: annotates features against local formula or structure TSV files by accurate mass
  • convert_format.py: converts between file formats

Install the skill from the ZIP or the Claude apps

Download the skill ZIP from this page and unzip it. To make the skill available to every project on your machine, place the unzipped folder in ~/.claude/skills/. To limit it to one project, place it in that project's .claude/skills/ folder.

If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the skill there.

  • Personal: ~/.claude/skills/
  • Single project: .claude/skills/ inside the project folder
  • Claude apps: Settings → Capabilities → Skills

Set up the Python environment the scripts need

The scripts need CPython 3.11 or newer, pyOpenMS 3.6.0, pandas, NumPy and Matplotlib. The skill's own example creates a virtual environment with uv and installs the packages from the skill directory. Run these commands in a terminal, then activate the environment before running any script.

Verify the install by importing pyOpenMS and printing its version. The skill notes that the bundled binary prints a one-line memory-status notice on import, which is harmless.

uv venv --python 3.13 uv pip install "pyopenms==3.6.0" pandas numpy matplotlib python -c "import pyopenms as ms; print(ms.__version__)"

Trigger the skill with natural requests

You do not need to name the skill or any script. Describe the analysis you want and mention your file types. The agent will pick the skill when the request matches its description, which covers feature detection, peptide or protein identification, label-free quantification, adduct annotation and LC-MS/MS pipelines.

If you want simple spectral similarity or small-molecule library matching, ask for matchms instead. The skill itself points to matchms for that work.

  • Find features in sample.mzML and give me a CSV with retention time and m/z for each.
  • Align these three mzML files, link the features and build a quantification matrix normalized by median.
  • Group the adducts in my feature table that share the same neutral mass.
  • Annotate my features by accurate mass against this local formula TSV.
  • Which scripts do I need for an untargeted metabolomics run on centroided MS1 data?

Run the bundled scripts yourself

Each script accepts --help, which lists its options. Input formats differ between scripts, so check the help text before you start. Run commands from the skill directory with the environment active.

The examples below are taken from the skill. Start with one sample, then move to a multi-sample study once the single-sample output looks right.

python scripts/detect_features_metabo.py sample.mzML --out-csv features.csv 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

Know the limits and safety notes

The skill runs Python scripts on your machine, so review scripts before running them on sensitive data. It does not use the network: the bundled scripts work on local files and do not fetch vendor data or databases. Identification workflows also need search-engine executables, which are a separate install.

Native tests use tiny synthetic files. The skill states that instrument-specific detection and search performance is not validated. Its outputs should not be used for clinical or regulatory decisions. When reporting identification results, state the FDR unit, decoy strategy and threshold.

  • Runs scripts: yes
  • Uses network: no
  • Search-engine executables are required only for certain identification workflows
  • Peptide detection uses an absolute m/z tolerance set with --mz-tol-da, not ppm

Tips for reliable results

Check the spectrum type before detection. The bundled detectors need centroided MS1 data and reject profile data. A sorted spectrum is not necessarily centroided, so confirm the type rather than assuming it.

Record units. Retention times and chromatogram times are in seconds, m/z is in Th and neutral mass is in Da. Keep the same convention in your notes and tables.

  • Use --help on any script before you change defaults.
  • Start with one file, then run the multi-sample pipeline.
  • Keep your own record of tolerances, normalization and the software version used.

What people use it for

  • Turn a single mzML run into an untargeted metabolomics feature table with retention time and m/z columns.
  • Align and link features across several samples, then export a wide intensity matrix for statistics.
  • Group adducts and charge variants that share one neutral mass in a feature table.
  • Annotate features by accurate mass against a local formula or structure TSV file.

Frequently asked questions

How do I install the pyopenms agent skill?

Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder for one project. In the Claude apps you can instead upload it under Settings, then Capabilities, then Skills.

What do I need to run pyOpenMS with this skill?

The skill requires CPython 3.11 or newer and pyOpenMS 3.6.0, plus pandas, NumPy and Matplotlib. Search-engine executables are a separate install and are needed only for certain identification workflows.

Is the pyopenms skill free to use?

The skill is listed under the MIT licence on this page. Check the licence text in the downloaded files for the terms that apply to your use.

Does the pyopenms skill need an internet connection?

No. The skill states that it does not use the network, and its scripts work on local files without fetching vendor data or databases.

What is the difference between pyOpenMS and matchms?

pyOpenMS covers proteomics and metabolomics workflows such as feature detection, identification and quantification. The skill directs simple spectral comparison and small-molecule library matching to matchms instead.

Why does my feature detection script reject my file?

The bundled detectors need centroided MS1 data and reject profile data. Check the spectrum type in your file, and only use the assume-centroided option if you can justify it from the instrument settings.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits metabolomics or proteomics researchers and data analysts who want repeatable LC-MS pipelines from mzML files to feature tables and quantification matrices. It is not a good choice for simple spectral similarity or library matching, which matchms handles better, or for any clinical or regulatory decision, since the skill states its detection and search performance is not validated.

Download the skill