SKILL.md
Version Compatibility
Reference examples tested with: MSnbase 2.28+
Before using code patterns, verify installed versions match. If versions differ:
- Python:
pip show <package>thenhelp(module.function)to check signatures - R:
packageVersion('<pkg>')then?function_nameto verify parameters
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Peptide Identification
"Identify peptides from my MS/MS spectra" → Match tandem mass spectra against a protein database to identify peptide sequences, then control false discovery rate using target-decoy competition.
- Python:
pyopenmsfor in-memory database search and PSM handling - CLI:
comet,MSFragger,X!Tandemfor high-throughput database searching - R:
MSnbase::readMSData()for importing search results
Database Search with pyOpenMS
Goal: Identify peptide sequences from tandem mass spectra by matching against a protein database.
Approach: Load a FASTA database, perform in-silico tryptic digestion to generate theoretical peptides, then match experimental spectra against theoretical fragment ion patterns to identify peptide-spectrum matches (PSMs).
from pyopenms import MSExperiment, MzMLFile, FASTAFile, ProteaseDigestion
from pyopenms import ModificationsDB, AASequence
# Load FASTA database
fasta_entries = []
FASTAFile().load('uniprot_human.fasta', fasta_entries)
# In-silico digestion
digestion = ProteaseDigestion()
digestion.setEnzyme('Trypsin')
digestion.setMissedCleavages(2)
peptides = []
for entry in fasta_entries:
seq = AASequence.fromString(entry.sequence)
result = []
digestion.digest(seq, result)
peptides.extend([(entry.identifier, str(p)) for p in result])
