Configuration
The following parameters are available at the metapipeline level:
Parameter | Type | Required | Description |
---|---|---|---|
output_dir |
path | yes | Absolute path to directory where output files will be saved |
leading_work_dir |
path | yes | Absolute path to common working directory (under /hot for example for access across all nodes). Cannot be /scratch or any node-specific directory. |
pipeline_work_dir |
path | yes | Absolute path to outputs from each individual pipeline before copying to output_dir . Suggested: /scratch |
project_id |
string | yes | Project identifier used to name the main output directory of the run |
save_intermediate_files |
boolean | yes | Whether to save intermediate files. Default: false |
partition |
string | yes | Partition type for submitting each processing jobs |
clusterOptions |
string | yes | Additional slurm submission options |
max_parallel_jobs |
integer | yes | Number of jobs to submit at once. Default: 5 |
cluster_submission_interval |
integer | yes | Time in minutes to wait between job submissions, Default: 90 |
sample_mode |
string | yes | Mode for sample calling. Options: paired , single , multi . Default: paired |
requested_pipelines |
list | yes | List of pipelines requested. |
use_original_intervals |
boolean | yes | Whether original intervals should be used with pipelines rather than expanded intervals generated by calculate-targeted-coverage |
pipeline_params |
namespace | yes | Namespace containing parameters for each individual pipeline. Parameters for the requested pipelines must be given. |
override_realignment |
boolean | yes | Whether to override conversion to FASTQ and realignment when given BAM input. Default: false |
override_recalibrate_bam |
boolean | yes | Whether to override recalibrate-BAM pipeline when given BAM input. Default: false |
src_snv_tool |
string | yes | Which SNV tool's output to use for SRC. Default: BCFtools-Intersect |
src_cna_tool |
string | yes | Which CNA tool's output to use for SRC. Default: Battenberg |
override_src_precursor_disable |
boolean | yes | Whether to override the automatic disabling of either call-sSNV or call-sCNA when the respective outputs are provided in the input. Default: false |
src_run_all_combinations |
boolean | yes | TO-DO: Whether to run SRC using all combinations of SNV tool and CNA tool. Default: false |
run_downstream_pipelines_serially |
boolean | no | Whether to run pipelines downstream of recalibrate-BAM sequentially. Note: if this option is used in conjunction with downstream_pipeline_order , any pipelines with a given ordering will be run sequentially regardless of the value of this parameter. Default: false |
downstream_pipeline_order |
list | no | List indicating specific order in which to run pipelines downstream of recalibrate-BAM. Default: no order |
input_csv |
path | no | Absolute path to input CSV when using CSV input |
status_email_address |
string | no | Email address to notify when child pipelines start and complete. Default: `` |
UCLAHS-CDS WGS global sample job submission parameters
The following parameters are intended to control the global number and rate of WGS jobs. By default, these parameters are enabled; in the case of non-WGS samples or non-UCLAHS-CDS environment, disable uclahs_cds_wgs
in the config file params.
Input Parameter | Type | Required | Description |
---|---|---|---|
uclahs_cds_wgs |
boolean | yes | Whether global job number and submission limits should be applied. Default: true |
global_rate_limit |
integer | yes | Time in minutes between submission of any WGS jobs. Default: 90 |
Pipeline selection
Pipeline selection is controlled by the requested_pipelines
parameter. Given the list of requested pipelines, metapipeline-DNA will automatically identify any necessary dependencies and enable them for the run.
Pipeline selection follows some default behaviors:
- When given BAM input, the default pipeline selector will perform conversion to FASTQ, re-align the FASTQs, and perform recalibration. This default behavior can be disabled with the
override_realignment
andoverride_recalibrate_bam
parameters. Withoverride_realignment
, the back-conversion to FASTQ and re-alignment will be disabled. Withoverride_recalibrate_bam
, recalibration of the BAM using recalibrate-BAM will be disabled. - When SNV or CNA calls are given as inputs, metapipeline-DNA will automatically disable the call-sSNV and call-sCNA pipelines, respectively, and use the given inputs for call-SRC. This behavior can be controlled by
override_src_precursor_disable
to let metapipeline-DNA run the call-sSNV and call-sCNA pipelines to generate inputs for call-SRC using the BAM or FASTQ inputs. Note: This option only has an effect in the case of mixed inputs being provided as the call-sSNV and call-sCNA pipelines require sequencing data as inputs.
Pipeline-specific params
Each pipeline has a set of parameters that must be provided. The available parameters for each pipeline are documented in the links in the steps. Additionally, the default template.config contains the default set of parameters that need to be defined for each pipeline. Any additional supported parameters can be added as needed. The following keys are used as the pipeline names in this namespace:
Pipeline | Key |
---|---|
convert-BAM2FASTQ |
convert_BAM2FASTQ |
align-DNA |
align_DNA |
recalibrate-BAM |
recalibrate_BAM |
calculate-targeted-coverage |
calculate_targeted_coverage |
generate-SQC-BAM |
generate_SQC_BAM |
call-gSNP |
call_gSNP |
call-sSNV |
call_sSNV |
call-mtSNV |
call_mtSNV |
call-gSV |
call_gSV |
call-sSV |
call_sSV |
call-sCNA |
call_sCNA |
call-SRC |
call_SRC |
Each pipeline also defines a set of resources per process to run. These resources can be modified if necessary on a per-process per-pipeline basis by using the base_resource_update
functionality for the specific pipeline (this functionality is defined in each pipeline's README). For example, to double the base memory of all processes in the call-sSNV pipeline:
params {
...
pipeline_params {
...
call_sSNV {
...
base_resource_update {
memory = [
[[], 2]
]
}
}
...
}
}
Intervals
For targeted or exome sequencing, target intervals can be provided in BED format to some of the steps to control processing. The following steps accept intervals:
Step/pipeline | Parameter name |
---|---|
call-sSNV |
intersect_regions |
call-gSNP |
intervals |
recalibrate-BAM |
intervals |
calculate-targeted-coverage |
target_bed |
For the respective pipeline params, provide the full path to the intervals file in the generated config to make use of the targets. For example:
params {
...
pipeline_params {
...
call_sSNV {
...
intersect_regions = "/full/path/to/intervals"
...
}
...
}
}
Sample modes
The metapipeline supports running samples in three modes: single
, paired
, and multi
. This is controlled by the sample_mode
parameter. In paired
or multi
sample modes, each patient is expected to have exactly one normal sample and one or more tumor samples.
Given the set of input patients and samples, grouping of samples is controlled based on the run mode as follows:
Single sample mode
All samples are processed individually, regardless of patient, as separate jobs.
- Normal samples will go through germline calling (
call-gSNP
,call-gSV
) and somatic SNV calling withMutect2
's normal-only mode. - Tumor samples will go through germline calling (
call-gSNP
) and somatic SNV calling withMutect2
's tumor-only mode.
Paired sample mode
All samples from the same patient are submitted as a single job, with each normal-tumor pair processed separately in the same job.
- Individual samples will go through the
convert-BAM2FASTQ
andalign-DNA
pipelines. - The normal sample will then be paired with each tumor sample and each pair will go through recalibration and the somatic calling pipelines.
- The normal sample will go through
call-gSV
.
Multi sample mode
All samples from the same patient are processed as a single job.
- Individual samples will go through the
convert-BAM2FASTQ
andalign-DNA
pipelines. - The recalibration and germline SNP calling will then proceed on the entire set of samples together.
- Somatic SNV calling will proceed in two ways:
- The normal sample will be paired with each tumor sample and run through the
call-sSNV
pipeline - If
Mutect2
was requested, the entire set of samples will go through multi-sample calling with justMutect2
incall-sSNV
. - The normal sample will be paired with each tumor sample and each pair will go through
call-mtSNV
,call-sSV
, andcall-sCNA
. - The normal sample will go through
call-gSV
.