Skip to contents

A module descriptor owns the complete registry contract for one analysis, including execution, dependencies, validation, declared results, scientific references, resource class, parallel-safety declaration, and publication artifacts.

Usage

new_analysis_module_spec(
  name,
  run,
  requires = character(),
  enabled = TRUE,
  description = "",
  validate = validate_module_result,
  outputs = name,
  references = character(),
  resource_class = "standard",
  parallel_safe = FALSE,
  contract_version = "1.0",
  artifacts = character(),
  artifacts_must_exist = FALSE
)

register_analysis_module(registry, module)

# S3 method for class 'PopgenVCFModuleSpec'
print(x, ...)

Arguments

name

Unique module name.

run

Function accepting (analysis, context).

requires

Prerequisite module names.

enabled

Logical value or configuration predicate.

description

Short module description.

validate

Statistical-result validator.

outputs

Declared analysis result names.

references

Scientific references.

resource_class

One of light, standard, heavy, or external.

parallel_safe

Whether the module may run concurrently with independent modules without modifying the shared runtime context.

contract_version

Module contract version.

artifacts

Required artifact identifiers without the module prefix.

artifacts_must_exist

Whether artifact files must exist after execution.

registry

A PopgenVCFRegistry object.

module

A PopgenVCFModuleSpec object.

x

A module descriptor.

...

Unused.

Value

new_analysis_module_spec() returns a PopgenVCFModuleSpec. register_analysis_module() returns the updated registry. The print method returns x invisibly.