bioconductor-psmatch
The PSMatch package helps proteomics practitioners to load, handle and manage Peptide Spectrum Matches. It provides functions to model peptide-protein relations as adjacency matrices and connected components, visualise these as graphs and m
Try your first task
bioconductor-psmatch
Start a fresh conversation. Replace the highlighted placeholders.
Use bioconductor-psmatch to model peptide–protein relationships from [PSM identification data] as an adjacency matrix and connected components, filtering decoys and low-rank matches first, and summarize shared versus unique peptides.
Required inputs
- [PSM identification data]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: bioconductor-psmatchdescription: The PSMatch package helps proteomics practitioners to load, handle and manage Peptide Spectrum Matches. It provides functions to model peptide-protein relations as adjacency matrices and connected components, visualise these as graphs and mwhen_to_use: "Use when: Fragment Ion Calculation: Calculating theoretical MS2 fragment ions (b and y ions) for a peptide sequence using calculateFragments.; Fragment Visualisation: Visualising matched b- and y-ion fragment sequences directly on an MS spectrum using plotSpectraPTM.; Peptide-Protein Modelling: Modelling the relation between peptides and proteins as an adjacency matrix using makeAdjacencyMatrix.; Protein Gr. Not for: For handling and processing raw mass spectrometry spectra, use Spectra because PSMatch relies on it for raw data representation and extraction.; For managing multi-level quantitative proteomics data, use QFeatures because PSMatch focuses on PSM-level"user-invocable: falsePSMatch
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.16.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: S4Vectors, PTMods
- Imports: igraph, Spectra, Matrix, BiocParallel, BiocGenerics, ProtGenerics, QFeatures, MsCoreUtils
- Install:
BiocManager::install("PSMatch")
When to Use
- Fragment Ion Calculation: Calculating theoretical MS2 fragment ions (b and y ions) for a peptide sequence using
calculateFragments. - Fragment Visualisation: Visualising matched b- and y-ion fragment sequences directly on an MS spectrum using
plotSpectraPTM. - Peptide-Protein Modelling: Modelling the relation between peptides and proteins as an adjacency matrix using
makeAdjacencyMatrix. - Protein Group Resolution: Partitioning complex peptide-protein graphs into independent subgraphs using
ConnectedComponentsto explore shared and unique peptides.
When NOT to Use
- For handling and processing raw mass spectrometry spectra, use
SpectrabecausePSMatchrelies on it for raw data representation and extraction. - For managing multi-level quantitative proteomics data, use
QFeaturesbecausePSMatchfocuses on PSM-level filtering and structural relationships. - For applying and managing peptide modifications, use
PTModsbecausePSMatchdelegates canonical modification handling to it.
Data Requirements
- Identification Data: Imported as a
PSMobject containing columns for peptide sequences (e.g.,"sequence") and protein accessions (e.g.,"DatabaseAccess"). - Raw MS Data: Loaded as a
Spectraobject for fragment ion visualisation. - Quantitative Data: Can be imported as a
SummarizedExperimentobject with protein groups named by peptide sequences.
Key Parameters
- addCarbamidomethyl: Logical in
calculateFragmentsandplotSpectraPTMto apply carbamidomethylation of cysteines by default. - variableModifications: Named numeric vector in
calculateFragmentsorplotSpectraPTMto apply variable mass modifications. - binary: Logical in
makeAdjacencyMatrixto create a binary matrix instead of counting occurrences. - protColors: Numeric or character in
plotAdjacencyMatrixto control protein node colours based on string distances. - pepColors: Character vector in
plotAdjacencyMatrixto colour peptide nodes (e.g., by search engine score). - split: Character in
makeAdjacencyMatrix(e.g.,";") to split protein groups into individual proteins.
Best Practices
- Filter out decoy hits and low-rank matches using
filterPsmDecoyandfilterPsmRankbefore constructing adjacency matrices. - Merge raw
Spectradata withPSMidentification data usingjoinSpectraDatato enable fragment visualisation. - Use
prioritiseConnectedComponentsto rank and identify the most interesting connected components (e.g., those with multiple shared peptides). - Extract specific subgraphs using
connectedComponentsto manually inspect complex protein groups withplotAdjacencyMatrix.
Common Pitfalls
- Overlapping fragment ions in visualisations: Restricted plot windows can cause text to overlap. Fix: Run
plotSpectraPTMlocally or adjust thexlimparameter inplotSpectra. - Duplicate keys when merging: Merging spectra and PSMs can result in duplicates. Fix: Be aware that
joinSpectraDatawill only keep the last instance if duplicates are found in the key. - Missing modifications: Fragments might not match the spectrum if fixed modifications are ignored. Fix: Ensure
addCarbamidomethyl = TRUEor explicitly pass modifications viafixedModifications.
Alternatives
- Spectra: For core MS data infrastructure and raw spectra manipulation.
- QFeatures: For downstream quantitative protein-level aggregation and statistical analysis.
- PTMods: For defining and retrieving canonical peptide modifications.
Citations
- Gatto L, Rainer J, Gibb S, Wieczorek S, Burger T, Deflandre G (2026). PSMatch: Handling and Managing Peptide Spectrum Matches. R package.
References
- Homepage: https://bioconductor.org/packages/PSMatch
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/PSMatch/inst/doc/PSMatch.html
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use psmatch. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.