PolyGenius
Contents

LiftoverLDBlocksRule

Liftover LD block boundaries rule

LiftoverLDBlocksRule produces a block set for a build that is not published by lifting the same population's set from a build that is, then re-imposing the canonical partition.

Complements DownloadLDBlocksRule: ld.blocks.transition() routes each request to exactly one of them. The published hg38 sets make this rule dormant for the Berisa-Pickrell populations; it exists for a build or a population the manifest does not cover.

Strictness

A block that does not lift, changes chromosome, inverts, or lands on a non-autosomal contig fails the whole lift. Only a block split across contigs is tolerated, reduced to its majority contig and counted against PG.LDBLOCKS.LIFT.RECONCILE.MAX.

Measured against UCSC's hg19 to hg38 chain, the Berisa-Pickrell sets do not satisfy that bar: EUR yields 1699 clean blocks, 3 that change chromosome and 1 on a non-autosomal contig, with 31 of the 1699 needing majority-contig reconciliation. Nothing is unmapped and nothing inverts. So this rule would refuse to derive the published hg38 sets, which is why they are published rather than derived. website/deploy/update-ld-blocks.R built them under a looser policy: it drops non-autosomal blocks and does not check that a block kept its chromosome.

Super class

PolyGenius::Rule -> LiftoverLDBlocksRule

Methods

Public methods

  • LiftoverLDBlocksRule$new()
  • LiftoverLDBlocksRule$matches()
  • LiftoverLDBlocksRule$inputs()
  • LiftoverLDBlocksRule$requirements()
  • LiftoverLDBlocksRule$run()
  • LiftoverLDBlocksRule$clone()

Method new()

Create the LD block boundary liftover rule.

Usage

LiftoverLDBlocksRule$new()

Method matches()

Check whether this rule applies to one output spec.

Usage

LiftoverLDBlocksRule$matches(output.spec)

Arguments

output.spec — Output resource specification.

Returns

Logical.

Method inputs()

Build dependency inputs: the liftover packages, the source build's block set, and the chain between the two builds.

Usage

LiftoverLDBlocksRule$inputs(output.spec)

Arguments

output.spec — Output resource specification.

Returns

Named list of dependency specs.

Method requirements()

Declare runtime requirements.

Usage

LiftoverLDBlocksRule$requirements(output.spec, inputs)

Arguments

output.spec — Output resource specification (unused).

inputs — Bound input values (unused).

Returns

Named list with cores and memory.

Method run()

Lift the source block set and store the canonical partition.

Usage

LiftoverLDBlocksRule$run(output.spec, inputs, logger = pg.logger())

Arguments

output.spec — Output resource specification.

inputs — Bound input values from inputs().

logger — Rule-scoped logger.

Returns

Named list: data (path), meta, logs.

Method clone()

The objects of this class are cloneable with this method.

Usage

LiftoverLDBlocksRule$clone(deep = FALSE)

Arguments

deep — Whether to make a deep clone.

See Also