← Back to all sparks
P

pedprobr

ANALYTICS
Velocity0.0

Probability Computations on Pedigrees

pedprobr is the likelihood engine, and it keeps finding ways to compute what it previously could not.

pedigree analysislikelihood computationpeeling algorithmallele lumpingperformance
Current state
pedprobr computes pedigree likelihoods for the ped suite. Version 1.1.0 updated its loop handling to match pedtools 2.11.0, including founder and repeated loop breakers, and improved the peeling algorithm with single-child shortcuts and lower memory use. Version 1.0.0 was the other expansion: special lumping lets markers with mutation models that are un-lumpable in the Kemeny-Snell sense be lumped anyway in certain cases, with alleleLimit as a fallback for the rest.
Where it's heading
Every significant release here removes a class of computation that used to be infeasible, either by making a marker lumpable or by making a loop breakable. The rest is steady peeling-algorithm optimization, which has been reducing memory footprint release after release since 0.9.2. The newly added .diagnostics option suggests the peeling internals are now complex enough that the maintainer needs to inspect them.
Prediction
Since special lumping is documented as covering only some cases so far, expect further lumping situations to be implemented as pedmut adds them.

Recent moves

  1. 1mo ago

    Loop handling updated for pedtools' new loop breakers

    pedprobr picks up pedtools 2.11.0's founder and repeated loop breakers, which is what turns that rewrite into actual likelihood calculations for previously intractable pedigrees. The peeling algorithm also gains single-child shortcuts, lower memory use on looped pedigrees, and optional diagnostics.

    View source ↗
  2. 1y ago

    CRAN example rounding fix

    A platform-specific rounding issue in an example is fixed. Packaging maintenance with no effect on results.

    View source ↗
  3. 1y ago

    Special lumping for previously un-lumpable mutation models

    Allele lumping is rewritten to use pedmut's special lumping, so markers with mutation models that are un-lumpable in the Kemeny-Snell sense can be lumped in certain cases. alleleLimit provides an escape hatch, swapping in the simpler equal model when a marker exceeds a set number of alleles.

    View source ↗
  4. 1y ago

    Genotype distributions gain sparse and table output

    oneMarkerDistribution() supports multi-component pedigrees and gains table and sparse output formats, the latter listing only non-zero combinations. The partialmarker arguments are renamed to marker with a default, and a founder partial-genotype likelihood bug is fixed.

    View source ↗
  5. 2y ago

    Peeling order bug fix

    A rare peeling bug involving reversed peeling order is fixed, and the pedtools floor moves to 2.2.0. Narrow, though peeling bugs are the kind that produce wrong numbers rather than errors.

    View source ↗
  6. 2y ago

    Partial genotype fix for singletons

    A likelihood bug affecting singletons with partial genotypes is fixed, alongside minor optimizations in the marker distribution functions when no mutation model is present.

    View source ↗