Learn R Programming

pmd: Paired Mass Distance Analysis for GC/LC-MS Based Non-Targeted Analysis and Reactomics Analysis

Paired mass distance (PMD) analysis proposed in Yu, Olkowicz and Pawliszyn (2018) and PMD based reactomics proposed in Yu and Petrick (2020) for gas/liquid chromatography–mass spectrometry (GC/LC-MS) based non-targeted analysis. PMD analysis including GlobalStd algorithm and structure/reaction directed analysis. GlobalStd algorithm could found independent peaks in m/z-retention time profiles based on retention time hierarchical cluster analysis and frequency analysis of paired mass distances within retention time groups. Structure directed analysis could be used to find potential relationship among those independent peaks in different retention time groups based on frequency of paired mass distances. Reactomics analysis could also be performed to build PMD network, assign sources and make biomarker reaction discovery. GUIs for PMD analysis is also included as 'shiny' applications.

Installation

You can install package from this GitHub repository:

remotes::install_github("yufree/pmd")

Or find a stable version from CRAN:

install.packages('pmd')

Usage

  • PMD Analysis Tutorial

  • Reactomics Analysis Tutorial

  • For MS only data such as FT-ICR or MS imaging data, check the section of "Reactomics analysis for MS only data" in Reactomics Analysis Tutorial or this blog post.

  • PMD analysis paper. This paper proposed structure/reaction directed analysis with PMD.

  • Reactomics paper. This paper contained the concepts of PMD based reactomics, applications and data mining of reaction database and compounds database.

  • Slides. This is the slides for ASMS 2020 Reboot and here is the video of presentation. Press "P" and you will see the notes for each slide with details. Another full version of reactomics presentation for one hour presentation could be found here. I will not update the conference presentation while I will add new contents for the full version of reactomics presentation whenever I have new results.

To perform GlobalStd algorithm, use the following code:

library(pmd)
data("spmeinvivo")
pmd <- getpaired(spmeinvivo)
std <- getstd(pmd)

To perform structure/reaction directed analysis, use the following code:

sda <- getsda(std)

To perform GlobalStd algorithem along with structure/reaction directed analysis, use the following code:

result <- globalstd(spmeinvivo)

To use the shiny application within the package, use the following code:

runPMD()

To check the pmd reaction database:

# all reaction
data("omics")
View(omics)
# kegg reaction
data("keggrall")
View(keggrall)
# literature reaction for mass spectrometry
data("sda")
View(sda)

To check the HMDB pmd database:

data("hmdb")
View(hmdb)

To cite related papers:

citation('pmd')

Copy Link

Version

Install

install.packages('pmd')

Monthly Downloads

242

Version

0.2.7

License

GPL-2

Maintainer

Miao YU

Last Published

January 15th, 2025

Functions in pmd (0.2.7)

hmdb

A dataframe containing HMDB with unique accurate mass pmd with three digits frequency larger than 1 and accuracy percentage larger than 0.9.
getmspmd

read in MSP file as list for EI-MS annotation
getcorcluster

Get Pseudo-Spectrum as peaks cluster based on correlation analysis.
getpaired

Filter ions/peaks based on retention time hierarchical clustering, paired mass distances(PMD) and PMD frequency analysis.
getsda

Perform structure/reaction directed analysis for peaks list.
plotrtg

Plot the retention time group
plotpaired

Plot the mass pairs and high frequency mass distances
plotstd

Plot the std mass from GlobalStd algorithm
plotsda

Plot the specific structure directed analysis(SDA) groups
getms2pmd

read in MSP file as list for ms/ms annotation
runPMDnet

Shiny application for PMD network analysis
spmeinvivo

A peaks list dataset containing 9 samples from 3 fish with triplicates samples for each fish from LC-MS.
sda

A dataset containing common Paired mass distances of substructure, ions replacements, and reaction
getstd

Find the independent ions for each retention time hierarchical clustering based on PMD relationship within each retention time cluster and isotope and return the index of the std data for each retention time cluster.
getposneg

Link pos mode peak list with neg mode peak list by pmd.
getrda

Perform structure/reaction directed analysis for mass only.
pcasf

Compare matrices using PCA similarity factor
plotstdsda

Plot the std mass from GlobalStd algorithm in structure directed analysis(SDA) groups
gettarget

Get multiple injections index for selected retention time
plotstdrt

Plot the std mass from GlobalStd algorithm in certain retention time groups
plotcn

plot PMD KEGG network for certain compounds and output network average distance and degree
getchain

Get reaction chain for specific mass to charge ratio
getcluster

Get Pseudo-Spectrum as peaks cluster based on pmd analysis.
getpmd

Get pmd for specific reaction
MaConDa

mass spectrometry contaminants database for PMD check
getpmddf

Get pmd details for specific reaction after the removal of isotopouge.
getcda

Perform correlation directed analysis for peaks list.
globalstd

GlobalStd algorithm with structure/reaction directed analysis
getreact

Get quantitative paired peaks list for specific reaction/pmd
runPMD

Shiny application for PMD analysis
omics

A dataframe containing multiple reaction database ID and their related accurate mass pmd and related reactions
keggrall

A dataframe containing reaction related accurate mass pmd and related reaction formula with KEGG ID