Skip to content
Automation
Skill

/pyopenms

Python interface to OpenMS for mass spectrometry data analysis. Use for LC-MS/MS proteomics and metabolomics workflows including file handling (mzML, mzXML, mzTab, FASTA, pepXML, protXML, mzIdentML), signal processing, feature detection, peptide identification, and quantitative

From plugin
vibe-skills
2.7k200 skills8 agents3 commands
Install
$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill pyopenms --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pyopenms

Context preview

The summary Claude sees to decide when to auto-load this skill.

Python interface to OpenMS for mass spectrometry data analysis. Use for LC-MS/MS proteomics and metabolomics workflows including file handling (mzML, mzXML, mzTab, FASTA, pepXML, protXML, mzIdentML), signal processing, feature detection, peptide identification, and quantitative

SKILL.md

pyopenms.SKILL.md
name: pyopenms
description: Python interface to OpenMS for mass spectrometry data analysis. Use for LC-MS/MS proteomics and metabolomics workflows including file handling (mzML, mzXML, mzTab, FASTA, pepXML, protXML, mzIdentML), signal processing, feature detection, peptide identification, and quantitative analysis. Apply when working with mass spectrometry data, analyzing proteomics experiments, or processing metabolomics datasets.

PyOpenMS

Overview

PyOpenMS provides Python bindings to the OpenMS library for computational mass spectrometry, enabling analysis of proteomics and metabolomics data. Use for handling mass spectrometry file formats, processing spectral data, detecting features, identifying peptides/proteins, and performing quantitative analysis.

Installation

Install using uv:

uv uv pip install pyopenms

Verify installation:

import pyopenms
print(pyopenms.__version__)

Core Capabilities

PyOpenMS organizes functionality into these domains:

1. File I/O and Data Formats

Handle mass spectrometry file formats and convert between representations.

**Supported formats**: mzML, mzXML, TraML, mzTab, FASTA, pepXML, protXML, mzIdentML, featureXML, consensusXML, idXML

Basic file reading:

import pyopenms as ms

# Read mzML file
exp = ms.MSExperiment()
ms.MzMLFile().load("data.mzML", exp)

# Access spectra
for spectrum in exp:
    mz, intensity = spectrum.get_peaks()
    print(f"Spectrum: {len(mz)} peaks")

**For detailed file handling**: See `references/file_io.md`

2. Signal Processing

Process raw spectral data with smoothing, filtering, centroiding, and normalization.

Basic spectrum processing:

# Smooth spectrum with Gaussian filter
gaussian = ms.GaussFilter()
params = gaussian.getParameters()
params.setValue("gaussian_width", 0.1)
gaussian.setParameters(params)
gaussian.filterExperiment(exp)

**For algorithm details**: See `references/signal_processing.md`

3. Feature Detection

Detect and link features across spectra and samples for quantitative analysis.

# Detect features
ff = ms.FeatureFinder()
ff.run("centroided", exp, features, params, ms.FeatureMap())

**For complete workflows**: See `references/feature_detection.md`

4. Peptide and Protein Identification

Integrate with search engines and process identification results.

**Supported engines**: Comet, Mascot, MSGFPlus, XTandem, OMSSA, Myrimatch

Basic identification workflow:

# Load identification data
protein_ids = []
peptide_ids = []
ms.IdXMLFile().load("identifications.idXML", protein_ids, peptide_ids)

# Apply FDR filtering
fdr = ms.FalseDiscoveryRate()
fdr.apply(peptide_ids)

**For detailed workflows**: See `references/identification.md`

5. Metabolomics Analysis

Perform untargeted metabolomics preprocessing and analysis.

Typical workflow: 1. Load and process raw data 2. Detect features 3. Align retention times across samples 4. Link features to consensus map 5. Annotate with compound databases

**For complete metabolomics workflows**: See `references/metabolomics.md`

Data Structures

PyOpenMS uses these primary objects:

  • **MSExperiment**: Collection of spectra and chromatograms
  • **MSSpectrum**: Single mass spectrum with m/z and intensity pairs
  • **MSChromatogram**: Chromatographic trace
  • **Feature**: Detected chromatographic peak with quality metrics
  • **FeatureMap**: Collection of features
  • **PeptideIdentification**: Search results for peptides
  • **ProteinIdentification**: Search results for proteins

**For detailed documentation**: See `references/data_structures.md`

Common Workflows

Quick Start: Load and Explore Data

import pyopenms as ms

# Load mzML file
exp = ms.MSExperiment()
ms.MzMLFile().load("sample.mzML", exp)

# Get basic statistics
print(f"Number of spectra: {exp.getNrSpectra()}")
print(f"Number of chromatograms: {exp.getNrChromatograms()}")

# Examine first spectrum
spec = exp.getSpectrum(0)
print(f"MS level: {spec.getMSLevel()}")
print(f"Retention time: {spec.getRT()}")
mz, intensity = spec.get_peaks()
print(f"Peaks: {len(mz)}")

Parameter Management

Most algorithms use a parameter system:

# Get algorithm parameters
algo = ms.GaussFilter()
params = algo.getParameters()

# View available parameters
for param in params.keys():
    print(f"{param}: {params.getValue(param)}")

# Modify parameters
params.setValue("gaussian_width", 0.2)
algo.setParameters(params)

Export to Pandas

Convert data to pandas DataFrames for analysis:

import pyopenms as ms
import pandas as pd

# Load feature map
fm = ms.FeatureMap()
ms.FeatureXMLFile().load("features.featureXML", fm)

# Convert to DataFrame
df = fm.get_df()
print(df.head())

Integration with Other Tools

PyOpenMS integrates with:

  • **Pandas**: Export data to DataFrames
  • **NumPy**: Work with peak arrays
  • **Scikit-learn**: Machine learning on MS data
  • **Matplotlib/Seaborn**: Visualization
  • **R**: Via rpy2 bridge

Resources

  • **Official documentation**: https://pyopenms.readthedocs.io
  • **OpenMS documentation**: https://www.openms.org
  • **GitHub**: https://github.com/OpenMS/OpenMS

References

  • `references/file_io.md` - Comprehensive file format handling
  • `references/signal_processing.md` - Signal processing algorithms
  • `references/feature_detection.md` - Feature detection and linking
  • `references/identification.md` - Peptide and protein identification
  • `references/metabolomics.md` - Metabolomics-specific workflows
  • `references/data_structures.md` - Core objects and data structures
Read more
Ships withvibe-skills

VibeSkills is a general-purpose Skill that automatically routes local Skills and intelligently orchestrates harness workflows.

Get the whole plugin

Other skills on vibe-skills.