• Fixed getpaired()/getstd()/globalstd() erroring with “$ operator is invalid for atomic vectors” on datasets where no retention-time cluster contains a single (solo) peak: an empty solo extraction dropped the list element and list$solo$rtg then partial-matched the soloindex logical vector. solo is now always kept as a (possibly empty) data frame.
  • Added a db argument to getchainseq() and data(pmdchain), a built-in database of curated, named multi-step reaction chains (e.g. desaturation-elongation, hydroxylation-glucuronidation, sequential oxidation) for known-pathway screening. getchainseq(list, db = pmdchain) runs every database chain against a feature list and returns chainsearch (which chains are present, each with the best-correlated matched path) plus a keggcount specificity score – the number of compound-connected KEGG reaction paths sharing the chain’s paired-mass-distance signature (lower = rarer = more specific; xenobiotic phase-II conjugations are most specific, common edits like methylation/phosphorylation most degenerate). Each step PMD in data(pmdchain) is the exact monoisotopic mass of its CHNOPS element delta (built by data-raw/pmdchain.R). A match is a relational annotation (co-varying, chromatographically resolved features related by the chain’s mass differences), not compound identification or proof that the pathway occurred.
  • The runPMDnet() Shiny app (between-compound / reaction networks) gained a sample-PCA panel for diagnosing whether the dominant variance is biology or a nuisance confound; a targeted reaction-chain search powered by the getchainseq() multi-step PMD grammar (ordered PMDs with wildcards and quantifiers), with downloadable matched chains; and a no-expertise “Screen for known reaction chains” panel that runs getchainseq(db = pmdchain) at one click and returns the named chains present ranked by keggcount specificity (no grammar needed, downloadable).
  • The runPMD() Shiny app gained the same no-expertise “Screen for known reaction chains” panel (getchainseq(db = pmdchain), one click, ranked by keggcount specificity, downloadable).
  • Fixed the Shiny app file lookup (pmd.Rmd) so runPMD() launches on case-sensitive filesystems.
  • Refactored underlying PMD generation, correlation calculations, and clustering into optimized, vectorized methods using data.table yielding significant performance gains.
  • Introduced getchainseq() to parse structural/reaction-directed MS sequences combining both defined PMDs and wildcards/regex-style quantifiers.
  • Introduced gethomolog() specifically designed to extract homologous series in mass spectrometry data based on repeating PMD units.
  • rewrite globalstd algorithm to include multiple charged ions
  • use igraph to track ions cluster in globalstd algorithm
  • change getcorcluster and getcluster to getpseudospectrum and getcorpseudospectrum for pseudo spectrum extraction
  • update globalstd vignettes and related documents
  • fix ppm issue in getchain
  • update sda reaction origin from 10.1101/2024.10.07.617109
  • change sda mode to biolocial/environmental reaction
  • fix bug in getpmddf for none group data
  • CRAN
  • Change URL to doi for citation
  • remove dependance of msnbase, function pmdanno has been moved to rmwf package
  • Add getpmddf to show pmd details with given m/z only data and m/z group information(optional, segmentation m/z group for spatial reactomics analysis)
  • Update reactomics vignette with section “Reactomics analysis for MS only data” and showcase the quantitative analysis for certain PMD
  • add support for mass only data for getchain
  • Add KEGG reaction class and enzyme number to the keggrall database
  • Fix url of demo data
  • add support for mass only data for quantitative reactomics analysis
  • add quantitative methods for dynamic pmds
  • add support for multiple pmds in getpmd function
  • update reactomics vignette to add more details for quantitative analysis of PMD
  • update getchain to handle large data
  • add mass defect filter for getrda and getpaired to retain reaction related PMDs
  • add parameter for getrda for pmd sets and mass defect table
  • change getchain corcutoff to 0.6
  • add MaConDa database
  • fix NULL default value issue in shiny apps
  • spell check
  • goodpractice package check
  • CRAN
  • add option to skip sda in GlobalStd algorithm and set default to F
  • organize the R files
  • add vignette for reactomics analysis
  • add correlation directed analysis function
  • modified getcorcluster function to find independent peaks
  • add vignette section for reduced independent peaks selection in GlobalStd algorithm
  • fix the issue for getchain with multiple masses
  • fix the correlation issue in pos/neg linkage function
  • Output within RT clusters high frequencies PMD(s) as message for user to check
  • Change default ng to NULL in getpared function for automated generate parameter based on data
  • update with citation of cc paper
  • fix the bug in pmd ms/ms annotation due to the change of enviGCMS package
  • fix the order issue from CRAN
  • CRAN
  • update kegg/hmdb database
  • update getsda to use largest average distance to find pmd frequency cutoff, more robust to large dataset
  • add function for pmd ms/ms annotation
  • add function to read in msp file as database
  • detach rcdk package
  • add function to link pos/neg by pmd
  • rewrite getchain to speed up
  • add shiny application pmdnet to perform PMD network analysis
  • add support for formula in getchain to find compounds ions
  • remove frequency cutoff in getsda and use PMD network clusters analysis to determine the cutoff
  • add merge feature for getcluster and such methods could be used to further reduce the GlobalStd peaks
  • remove hmdbp data since pmd network analysis could cover this topic
  • remove the dependence of group for quantitative paired peaks
  • improve shiny application for sda analysis
  • CRAN
  • isotope selection improved to get rid of 1&2 issue
  • fix top issue in getsda
  • fix peak index issue in getcluster
  • add corcutoff for getpmd
  • speed up GlobalStd by mapply
  • add message for getrda
  • add hmdb pmd analysis results as dataset
  • add digits for mass accuracy
  • fix the ms1 larger issue in getpmd
  • add correlations in getpmd
  • add support for quantitative paired peaks list selection for specific reaction
  • add support for target pmd and compound analysis for reaction chain
  • update vignettes
  • change default ng value into auto-detection
  • add top option to limit sda output
  • add support for GlobalStd based targeted analysis
  • add support to extract specific pmd across different retention time groups
  • add PCA similarity factor function from EvolQG package
  • add support to export std peaks based on correlation within retention time group
  • add support to export index for peaks with highest intensity in peaks cluster
  • add support to use intensity data to refine GlobalStd results
  • add support to generate sda analysis for mass list only #5
  • remove multi chargers with a strict rule #4
  • add parameter selection part in vignette #3
  • add support for peaks cluster output #2
  • add support for formula generation in enviGCMS package #1
  • new package for paired mass distance analysis