Package: PTMods
Authors: Laurent Gatto [aut] (ORCID: https://orcid.org/0000-0002-1520-2268),
Sebastian Gibb [aut] (ORCID: https://orcid.org/0000-0001-7406-4443),
Guillaume Deflandre [cre] (ORCID:
https://orcid.org/0009-0008-1257-2416)
Last modified: 2026-02-17 13:50:13.656189
Compiled: Thu Mar 5 19:46:44 2026
Post-translational modifications (PTMs) are covalent modifications that happen after protein biosynthesis and that can have a major influence on protein function. PTMs are biologically very important and can be identified in a high-throughput way using mass spectrometry.
The PTMods package focuses on handling such PTMs and works in
conjuction with the PSMatch and
Spectra packages. It distributes PTMs from
the Unimod database and allows to convert PTM annotations between
multiple annotation formats.
library(PTMods)
The package can be installed from Bioconductor with
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("PTMods")
Alternatively, altough this isn’t recommended in general, it can also be installed from Github.
BiocManager::install("RforMassSpectrometry/PTMods")
The PTMods package distributes the data from the Unimod database:
Unimod is a public domain database, distributed under a copyleft licence: “a copyright notice that permits unrestricted redistribution and modification, provided that all copies and derivatives retain the same permissions.”
The aim is to create a community supported, comprehensive database of protein modifications for mass spectrometry applications. That is, accurate and verifiable values, derived from elemental compositions, for the mass differences introduced by all types of natural and artificial modifications. Other important information includes any mass change, (neutral loss), that occurs during MS/MS analysis, and site specificity, (which residues are susceptible to modification and any constraints on the position of the modification within the protein or peptide).
Source: http://www.unimod.org/unimod_help.html
The package provides the following objects.
modifications dataframe describing 3704
PTMs from the unimod database:data(modifications)
head(modifications)
## Id UnimodId Name Description Composition AvgMass
## Acetyl:K Acetyl:K 1 Acetyl Acetylation H(2) C(2) O 42.0367
## Acetyl:N-term Acetyl:N-term 1 Acetyl Acetylation H(2) C(2) O 42.0367
## Acetyl:C Acetyl:C 1 Acetyl Acetylation H(2) C(2) O 42.0367
## Acetyl:S Acetyl:S 1 Acetyl Acetylation H(2) C(2) O 42.0367
## Acetyl:P-N-term Acetyl:P-N-term 1 Acetyl Acetylation H(2) C(2) O 42.0367
## Acetyl:T Acetyl:T 1 Acetyl Acetylation H(2) C(2) O 42.0367
## MonoMass Site Position Classification SpecGroup
## Acetyl:K 42.01056 K Anywhere Multiple 1
## Acetyl:N-term 42.01056 N-term Any N-term Multiple 2
## Acetyl:C 42.01056 C Anywhere Post-translational 3
## Acetyl:S 42.01056 S Anywhere Post-translational 4
## Acetyl:P-N-term 42.01056 N-term Protein N-term Post-translational 5
## Acetyl:T 42.01056 T Anywhere Post-translational 6
## NeutralLoss LastModified Approved Hidden
## Acetyl:K FALSE 2017-11-08 16:08:56 TRUE FALSE
## Acetyl:N-term FALSE 2017-11-08 16:08:56 TRUE FALSE
## Acetyl:C FALSE 2017-11-08 16:08:56 TRUE TRUE
## Acetyl:S FALSE 2017-11-08 16:08:56 TRUE TRUE
## Acetyl:P-N-term FALSE 2017-11-08 16:08:56 TRUE FALSE
## Acetyl:T FALSE 2017-11-08 16:08:56 TRUE TRUE
aminoacids dataframe describing 24 amino
acids from the unimod database:data(aminoacids)
head(aminoacids)
## OneLetter ThreeLetter FullName AvgMass MonoMass H C N O S Se
## - - 0.0000 0.00000 0 0 0 0 0 0
## A A Ala Alanine 71.0779 71.03711 5 3 1 1 0 0
## R R Arg Arginine 156.1857 156.10111 12 6 4 1 0 0
## N N Asn Asparagine 114.1026 114.04293 6 4 2 2 0 0
## D D Asp Aspartic acid 115.0874 115.02694 5 4 1 3 0 0
## C C Cys Cysteine 103.1429 103.00919 5 3 1 1 1 0
elements data.frame describing 40 chemical
elements from the unimod database:data(elements)
head(elements)
## Name FullName AvgMass MonoMass
## H H Hydrogen 1.007940 1.007825
## 2H 2H Deuterium 2.014102 2.014102
## Li Li Lithium 6.941000 7.016003
## C C Carbon 12.010700 12.000000
## 13C 13C Carbon13 13.003355 13.003355
## N N Nitrogen 14.006700 14.003074
Note that the goal of PTMods is not to place this information in a
biological context. There are other sources of biological information
about post-translational modifications:
Other compilations of modifications with a focus on mass spectrometry:
PTMs can be annotated using different syntaxes:
"M[+15.994915]PEPTIDE" for an oxidation."M[UNIMOD:35]PEPTIDE" for an oxidation."M[Oxidation]PEPTIDE".The convertAnnotion() function can be used to convert between these
different syntaxes:
convertAnnotation("M[Oxidation]PEPTIDE", convertToStyle = "deltaMass")
## [1] "M[+15.994915]PEPTIDE"
convertAnnotation("M[Oxidation]PEPTIDE", convertToStyle = "unimodId")
## [1] "M[UNIMOD:35]PEPTIDE"
convertAnnotation("M[+15.995]PEPTIDE", convertToStyle = "name")
## [1] "M[Oxidation]PEPTIDE"
sessionInfo()
## R Under development (unstable) (2026-01-15 r89304)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.3 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.23-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0 LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] PTMods_0.99.2 BiocStyle_2.39.0
##
## loaded via a namespace (and not attached):
## [1] digest_0.6.39 R6_2.6.1 bookdown_0.46
## [4] fastmap_1.2.0 xfun_0.56 cachem_1.1.0
## [7] knitr_1.51 htmltools_0.5.9 rmarkdown_2.30
## [10] lifecycle_1.0.5 cli_3.6.5 sass_0.4.10
## [13] jquerylib_0.1.4 compiler_4.6.0 tools_4.6.0
## [16] evaluate_1.0.5 bslib_0.10.0 yaml_2.3.12
## [19] otel_0.2.0 BiocManager_1.30.27 jsonlite_2.0.0
## [22] rlang_1.1.7