Medical-research-skills pyopenms-skill
Comprehensive tool for computational mass spectrometry using PyOpenMS; use when you need to read/write MS formats (mzML/mzXML/MGF), run signal processing (smoothing/peak picking), detect isotope features, or perform peptide identification in proteomics/metabolomics workflows.
install
source · Clone the upstream repo
git clone https://github.com/aipoch/medical-research-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aipoch/medical-research-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/scientific-skills/Data Analysis/pyopenms-skill" ~/.claude/skills/aipoch-medical-research-skills-pyopenms-skill && rm -rf "$T"
manifest:
scientific-skills/Data Analysis/pyopenms-skill/SKILL.mdsource content
When to Use
- Converting, validating, or batch-processing mass spectrometry files (e.g., mzML, mzXML, MGF) as part of a pipeline.
- Cleaning raw spectra before downstream analysis (smoothing, baseline correction, denoising, peak picking).
- Detecting and linking isotope patterns / features for proteomics or metabolomics feature tables.
- Running identification-oriented steps where peptide/protein identification integration is required.
- Building custom computational MS workflows in Python while leveraging OpenMS algorithms.
Key Features
- MS File I/O: Read/write common MS formats (mzML, mzXML, MGF).
- Signal Processing: Smoothing, baseline correction, filtering, and peak picking.
- Feature Detection: Isotope pattern detection and feature linking utilities.
- Identification Support: Hooks for peptide identification workflows via OpenMS-compatible components.
- Scripted Workflows: A ready-to-use “Load → Process → Analyze” workflow entry point.
Dependencies
Install the following Python packages:
(version: compatible with your OpenMS/PyOpenMS distribution)pyopenms
(version: latest recommended)pandas
(version: latest recommended)numpy
Installation:
uv pip install pyopenms pandas numpy
Example Usage
A complete runnable example using the provided workflow script (
scripts/process_ms.py):
# run_example.py from scripts.process_ms import run_workflow def main(): # Load -> Process -> Analyze # The script is expected to read the input mzML and apply optional filtering. result = run_workflow("data.mzML", apply_filter=True) # The returned object depends on the implementation of run_workflow. # Common patterns include a processed experiment, a feature map, or a summary dict. print("Workflow finished.") print(result) if __name__ == "__main__": main()
Run:
python run_example.py
For manual/custom workflows, see:
- File operations:
references/file_io.md - Signal processing algorithms:
references/signal_processing.md
Implementation Details
- Binding Layer: This skill uses PyOpenMS, the Python bindings for the OpenMS C++ library, to expose core computational MS algorithms.
- Workflow Pattern: The default script follows a standard pipeline structure:
- Load an MS run from disk (e.g., mzML).
- Process spectra (optional filtering/smoothing/baseline correction).
- Analyze results (e.g., peak picking, feature detection, or downstream summaries).
- Configurable Processing: The
flag inapply_filter
is intended to toggle one or more preprocessing steps; exact filters and parameters should be documented inrun_workflow(...)
and the referenced guides.scripts/process_ms.py - Algorithm Reference: Detailed descriptions of available filters and peak pickers, including parameterization, are maintained in
.references/signal_processing.md