Skip to contents

Construct, validate, traverse, and tabulate acyclic scientific provenance graphs, and build auditable sample identity tables that preserve immutable VCF identifiers while supporting public aliases and richer biological groupings.

Usage

new_provenance_node(id, label = id,
  kind = c("input", "transformation", "analysis", "artifact", "report"),
  digest = NA_character_, parameters = list(), software = list(),
  status = c("complete", "planned", "running", "failed", "skipped"),
  started_at = NA_character_, completed_at = NA_character_)

new_provenance_edge(from, to,
  relation = c("derived_from", "consumes", "produces", "documents"),
  artifact = NA_character_)

new_provenance_dag(nodes = list(), edges = list())
add_provenance_node(dag, node)
add_provenance_edge(dag, edge)
provenance_node_table(dag)
provenance_edge_table(dag)
provenance_topological_order(dag)
provenance_ancestors(dag, id)
provenance_descendants(dag, id)
validate_provenance_dag(dag)

new_sample_identity(metadata)
validate_sample_identity(x)
sample_identity_table(x, ordered = FALSE)
resolve_sample_identity(identity, sample_ids)
sample_identity_groups(identity)

Arguments

id

Stable provenance node identifier.

label

Human-readable node label.

kind

Provenance node kind.

digest

Optional content or component digest.

parameters

Named parameter metadata.

software

Named software metadata.

status

Execution status.

started_at, completed_at

Optional timestamps.

from, to

Parent and child node identifiers.

relation

Lineage relationship.

artifact

Optional artifact identifier.

nodes, edges

Lists of provenance nodes and edges.

dag

A PopgenVCFProvenanceDAG.

node, edge

Object to add to a graph.

metadata

Metadata containing the immutable sample column and optional identity columns.

x

A sample identity table or provenance object, as appropriate.

ordered

Whether to apply explicit display ordering.

identity

Metadata or a canonical sample identity table.

sample_ids

Immutable VCF/GDS sample identifiers.

Value

Constructors return validated S3 objects. Table functions return data tables. Traversal functions return character node identifiers or public sample names.

Details

The sample column remains the immutable genotype join key. Optional alias, individual, family, replicate, and display_order columns provide public naming and biological grouping without changing VCF/GDS identity.