← Back to all sparks
P

PEIMAN2

INFRA · APIS
Velocity0.0

Post-Translational Modification Enrichment, Integration, and Matching Analysis

PEIMAN2 cut its annotation database loose from its release cycle without breaking CRAN.

proteomicspost-translational-modificationenrichment-analysisreproducibilityuniprotr-packages
Current state
PEIMAN2 does enrichment analysis over post-translational modifications, testing whether a protein list is enriched for particular PTMs against UniProt-derived annotations, with translation functions bridging to mass spectrometry workflows. Its answers are only as current as its bundled database, and until June that database could only be refreshed by releasing a new package version. Version 1.1.0 changes that.
Where it's heading
The package has been moving from a fixed snapshot toward versioned, user-selectable data. Earlier releases updated the bundled database in place — 1.0.0 shipped the March 2025 version and said little else — which meant the annotation vintage was whatever the package version implied. Now update_peiman_database() downloads and caches external database files and UniProt PTM lists, enrichment workflows take a database_version argument, and the mass-spec translators take a ptmlist_version, so an analysis can pin a dated database rather than a package release. The CRAN-safe default is preserved deliberately: loading, examples and checks still use the bundled internal data and need no network.
Prediction
Version pinning is now expressible but the release notes do not describe how a chosen version is recorded in output, so surfacing the active database version in results is the natural companion. The database and the UniProt PTM list are versioned separately, which leaves room for a combined manifest.

Recent moves

  1. 2mo ago

    Database updates decouple from package releases

    ⚡ SPARK

    The package stops being a fixed snapshot. Where the annotation vintage was previously whatever the installed version bundled, analyses can now name a dated database, and the data can be refreshed without waiting for a release — while the offline default that keeps CRAN checks passing stays in place.

    View source ↗
  2. 1y ago

    Bundled database refreshed to the March 2025 UniProt vintage

    A data refresh released as a major version, which is exactly the coupling 1.1.0 later breaks: the only way to move the annotation vintage was to move the package version. Typo and code-quality work accompanies it.

    View source ↗
  3. 1y ago

    Documentation fix for the second example dataset

    A documentation-only patch. Note the feed's ordering is unreliable here: this 1.0.1 tag carries a timestamp two minutes earlier than the 1.0.0 tag it follows.

    View source ↗
  4. 2y ago

    Background lists for SEA and PSEA; tidyverse dependency dropped

    The statistically meaningful item is the background list option for singular and protein-set enrichment analysis, which lets the test run against a chosen reference set rather than an implicit universe. Adding proteins with no PTM to the database changes that universe too. The tidyverse dependency is replaced by the specific functions used.

    View source ↗