Configuration Schema#
Schema V2#
schema_versionMust be integer
2.project_nameRequired project identifier.
output_dirOptional output root, relative to the config file when not absolute. Defaults to
..samplesRequired path to the strict TSV sample sheet, relative to the config file when not absolute.
assayandgenomeDefault to
twist_human_methylomeandhg38. Both must exactly match the selected profile manifest.reference_modelocalresolves an installed profile.managedacquires a profile from the validated registry and is the default for new projects.reference_rootRoot containing profile directories.
CFTK_REFERENCE_ROOToverrides this value at runtime for portability.reference_profileA profile ID string or an object containing
idand optionalversion. When version is omitted, exactly one installed version must exist.fragmentomics_scopeOptional advanced fragmentomics scope:
auto,panel, orgenome.autoselects panel-overlapping reads and regions for the default Twist Human Methylome targeted assay and genome-wide inputs for other assays.panelis useful for a custom capture profile;genomeis an expert override and should be used only with validated whole-genome inputs.processOptional compact object with positive integer
cores,parallel_samples, andmin_depthvalues. Defaults are 20, 1, and 10.coresis one total workflow CPU budget. Concurrent sample commands receivefloor(cores / effective_parallel_samples)threads each, andparallel_samplescannot exceedcores. When fewer samples remain than requested, CFTK recalculates the per-sample share from the effective number. Duplicate marking usessambambaby default. Advanced users may setduplicate_marking_tooltopicardorsamblasterwhen their environment or validation protocol requires it. The optionalpicard_java_memoryvalue uses JVM size notation such as8gor4096mand defaults to8g.
Sample Sheet Schema#
The required columns are sample, group, role, input_type,
r1, r2, and bam. Schema v2 supports one or two groups. A one-group
project is processing/QC-only and may use a control or case role. A
two-group project requires exactly one control group and one case
group. FASTQ samples require R1 and R2; BAM samples require a BAM path. Rows and
group insertion order are preserved.
Resolved Contract#
CFTK resolves schema v2 internally into the legacy nested keys expected by
existing commands: comparison, grouped samples, reference_data,
process, and analysis. The profile target_bed is used for Picard
coverage. For WPS, occupancy, and DELFI, the default Twist auto scope also
uses it to restrict reads and reported intervals to panel overlap; it does not
filter methylation calling or other downstream analyses.
For a one-group project, comparison is unset and comparative commands
require a two-group project rather than inferring or duplicating a group.
Legacy Schema#
Configs without schema_version: 2 retain the established requirements:
project_name, output_dir, comparison, samples,
reference_data, process, and analysis. Required references are
genome_fa, genome_2bit, and chrom_sizes. Legacy behavior and field
names are preserved.