← Back to all sparks
M

mpactr

INFRA · APIS
Velocity0.0

Correction of Preprocessed MS Data

mpactr spent two spring releases normalizing case in metadata after users kept tripping on it.

metabolomicsmass-spectrometrypeak-filteringdata-importr-packages
Current state
mpactr filters mass-spectrometry peak tables — removing contaminants, ion duplicates and low-reproducibility features before downstream metabolomics analysis — with a data.table and Rcpp core. Development is slow and the recent releases are small. The May pair both address the same friction: column names and imported table names arriving in inconsistent case and failing to match.
Where it's heading
The package is stabilizing its input contract rather than growing its filtering methods. Metadata column names are now forced lowercase inside import_data() regardless of how the file was written, imported peak_tables names not present in the injection column are lowercased too, and get_meta_data() was renamed to get_metadata() in the same pass. Before that the work was infrastructural — Rcpp introduced to speed up filtering, data.table moved from Depends to Imports, and memory errors cleared so the package passes Valgrind and both sanitizers. Note the earliest entry compares against a v1.0.0 tag that precedes 0.1.0 in the repository, so version ordering in this feed is not reliable.
Prediction
The case-normalization work has now touched both metadata columns and peak table names across two consecutive releases, which suggests the input-matching problem is not fully closed and a third pass is plausible. Nothing in these entries points to new filtering methods.

Recent moves

  1. 3mo ago

    Peak table names lowercased when absent from the injection column

    A follow-on to the previous release's case normalization, extending it from metadata columns to imported peak_tables names. Internal naming consistency with no change to filtering behaviour.

    View source ↗
  2. 3mo ago

    Metadata column names forced lowercase; get_metadata() renamed

    Fixes the input contract at its source: import_data() now lowercases every metadata column name, so files written with uppercase headers stop failing to match. The get_meta_data() to get_metadata() rename breaks existing calls, which is the part users have to act on.

    View source ↗
  3. 10mo ago

    Valgrind and sanitizer memory issues cleared

    Compiled-code hygiene so the package passes under Valgrind, clang-asan and gcc-asan, plus a limit_cores() helper for CRAN check environments. Invisible to users, necessary for the compiled filtering path to stay on CRAN.

    View source ↗
  4. 1y ago

    Rcpp added to speed up filtering; data.table moved to Imports

    The performance foundation of the package as it stands — filtering moves into compiled code — with data.table demoted from Depends to Imports so it no longer attaches to the user's search path. A duplication error is fixed alongside.

    View source ↗
  5. 1y ago

    mpactr 0.1.0

    A pull-request pointer with no description of what changed. Its changelog link compares from a v1.0.0 tag to 0.1.0, which is the clearest sign that tag ordering in this repository does not follow version order.

    View source ↗