Pyopenms
Automate repetitive workflows and reduce manual effort
Example: Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example: Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example: Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Time estimate: 15-45 minutes depending on use case complexity
Prerequisites
Submit your Claude Code skill and start earning
epx add K-Dense-AI/scientific-agent-skills --skill pyopenmsCompatible with
Supported agents
name: "pyopenms"
description: "Complete mass spectrometry analysis platform. Use for proteomics workflows feature detection, peptide identification, protein quantification, and complex LC-MS/MS pipelines. Supports extensive file fo..."
| name | pyopenms |
| description | Complete mass spectrometry analysis platform. Use for proteomics workflows feature detection, peptide identification, protein quantification, and complex LC-MS/MS pipelines. Supports extensive file formats and algorithms. Best for proteomics, comprehensive MS data processing. For simple spectral comparison and metabolite ID use matchms. |
| license | 3 clause BSD license |
| metadata | version: "1.0" skill-author: K-Dense Inc. |
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.
Install using uv:
uv pip install pyopenms
Verify installation:
import pyopenms
print(pyopenms.__version__)
PyOpenMS organizes functionality into these domains:
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
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
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
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
Perform untargeted metabolomics preprocessing and analysis.
Typical workflow:
For complete metabolomics workflows: See references/metabolomics.md
PyOpenMS uses these primary objects:
For detailed documentation: See references/data_structures.md
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)}")
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)
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())
PyOpenMS integrates with:
references/file_io.md - Comprehensive file format handlingreferences/signal_processing.md - Signal processing algorithmsreferences/feature_detection.md - Feature detection and linkingreferences/identification.md - Peptide and protein identificationreferences/metabolomics.md - Metabolomics-specific workflowsreferences/data_structures.md - Core objects and data structuresAI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionpyopenmsExecute the skills CLI command in your project's root directory to begin installation:
epx add K-Dense-AI/scientific-agent-skills --skill pyopenmsFetches pyopenms from K-Dense-AI/scientific-agent-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
.cursor/skills/pyopenms
Restart Cursor to activate pyopenms. Access via /pyopenmsin your agent's command palette.
Learn more:View source on GitHubSkills CLI docsAbout CursorWhat are agent skills?
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
infographics
K-Dense-AI/scientific-agent-skills · Science · same repo
peer-review
K-Dense-AI/scientific-agent-skills · Science · same repo
latex-posters
K-Dense-AI/scientific-agent-skills · Science · same repo
scientific-schematics
K-Dense-AI/scientific-agent-skills · Science · same repo
scikit-learn
K-Dense-AI/scientific-agent-skills · Science · same repo
geopandas
K-Dense-AI/scientific-agent-skills · Science · same repo
pyopenms reduced setup friction for our internal harness; good balance of opinion and flexibility.
I recommend pyopenms for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Registry listing for pyopenms matched our evaluation — installs cleanly and behaves as described in the markdown.
pyopenms is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Solid pick for teams standardizing on skills: pyopenms is focused, and the summary matches what you get after install.
Keeps context tight: pyopenms is the kind of skill you can hand to a new teammate without a long onboarding doc.
We added pyopenms from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
We added pyopenms from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
pyopenms has been reliable in day-to-day use. Documentation quality is above average for community skills.
Useful defaults in pyopenms — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
showing 1-10 of 62