← Back to all sparks
E

ecodive

ANALYTICS
Velocity0.0

R package ecodive by cmmr — release notes from GitHub.

ecodive rebuilt itself into a broad diversity-metric library, breaking as it went

microbiomeecologydiversity-metricsunifracbreaking-changesr-package
Current state
ecodive computes alpha and beta diversity metrics for ecological and microbiome count data, including phylogenetic measures like Faith's PD and the UniFrac family. The 2.0.0 rewrite expanded it from a handful of metrics to roughly fourteen alpha and thirty beta measures while flipping the expected input orientation to samples-as-rows. Subsequent releases have been spent settling the normalisation interface that expansion exposed.
Where it's heading
This is a package that made its breaking changes deliberately and in a cluster. After 2.0.0 reoriented input and removed the weighted parameter, 2.1.0 superseded rescale with norm, and 2.2.6 changed norm's default from percent to none and removed it from some beta functions entirely. That last one matters more than it reads: normalisation defaults silently change the numbers a metric returns, and the direction is toward making the user state their choice rather than inheriting one.
Prediction
With the metric surface broad and the normalisation interface now explicit, expect the next releases to stabilise — documentation and edge-case handling around CLR and rarefaction rather than another interface break.

Recent moves

  1. 4mo ago

    Normalisation now defaults to none, with CLR zero warnings

    norm defaults to none rather than percent and disappears entirely from some beta diversity functions — a quiet change with loud consequences, since results computed under the old default will not match. CLR normalisation now warns when zeros are present with no pseudocount and falls back to half the smallest non-zero count instead of failing silently.

    View source ↗
  2. 7mo ago

    ecodive 2.2.2

    Explicit zeros are dropped from sparse matrices after rarefaction. Housekeeping on the internal representation, with memory rather than result implications.

    View source ↗
  3. 10mo ago

    rescale superseded by norm; crash fixes after the 2.0.0 rewrite

    Arrives four days after 2.0.0 and reads like its cleanup pass: rescale gives way to norm, alpha_div() and beta_div() stop forwarding inapplicable parameters, an empty-pairs crash is fixed, and pseudocount = NULL correctly picks the smallest non-zero count. The normalisation interface introduced here is what the following releases keep adjusting.

    View source ↗
  4. 10mo ago

    2.0.0 expands to ~14 alpha and ~30 beta diversity metrics

    ⚡ SPARK

    The release that redefined the package's scope, taking the metric list to roughly fourteen alpha and thirty beta measures — including the UniFrac variants, Aitchison and the full battery of distance measures — while flipping input to samples-as-rows and dropping the weighted parameter. Everything since has been settling the interface this created.

    View source ↗