Workflow: exome alignment and somatic variant detection

Fetched 2023-01-09 22:39:33 GMT
children parents
workflow cluster_outputs Workflow Outputs cluster_inputs Workflow Inputs variants_to_table_genotype_fields variants_to_table_genotype_fields detect_variants Detect Variants workflow variants_to_table_genotype_fields->detect_variants variants_to_table_genotype_fields strelka_cpu_reserved strelka_cpu_reserved strelka_cpu_reserved->detect_variants strelka_cpu_reserved varscan_max_normal_freq varscan_max_normal_freq varscan_max_normal_freq->detect_variants varscan_max_normal_freq varscan_p_value varscan_p_value varscan_p_value->detect_variants varscan_p_value vep_ensembl_version vep_ensembl_version vep_ensembl_version->detect_variants vep_ensembl_version bait_intervals bait_intervals cnvkit cnvkit bait_intervals->cnvkit bait_intervals normal_alignment_and_qc exome alignment with qc, no bqsr, no verify_bam_id bait_intervals->normal_alignment_and_qc bait_intervals tumor_alignment_and_qc exome alignment with qc, no bqsr, no verify_bam_id bait_intervals->tumor_alignment_and_qc bait_intervals trimming trimming trimming->normal_alignment_and_qc trimming trimming->tumor_alignment_and_qc trimming annotate_coding_only annotate_coding_only annotate_coding_only->detect_variants annotate_coding_only reference reference tumor_bam_to_cram BAM to CRAM conversion reference->tumor_bam_to_cram reference reference->cnvkit reference normal_bam_to_cram BAM to CRAM conversion reference->normal_bam_to_cram reference reference->normal_alignment_and_qc reference reference->tumor_alignment_and_qc reference reference->detect_variants reference cnvkit_target_average_size cnvkit_target_average_size cnvkit_target_average_size->cnvkit cnvkit_target_average_size per_target_intervals per_target_intervals per_target_intervals->normal_alignment_and_qc per_target_intervals per_target_intervals->tumor_alignment_and_qc per_target_intervals tumor_sequence tumor_sequence: MT sequencing data and readgroup information tumor_sequence->tumor_alignment_and_qc sequence filter_somatic_llr_tumor_purity filter_somatic_llr_tumor_purity filter_somatic_llr_tumor_purity->detect_variants filter_somatic_llr_tumor_purity variants_to_table_fields variants_to_table_fields variants_to_table_fields->detect_variants variants_to_table_fields varscan_strand_filter varscan_strand_filter varscan_strand_filter->detect_variants varscan_strand_filter target_intervals target_intervals: interval_list file of targets used in the sequencing experiment pad_target_intervals expand interval list regions by a given number of basepairs target_intervals->pad_target_intervals interval_list target_intervals->normal_alignment_and_qc target_intervals target_intervals->tumor_alignment_and_qc target_intervals vep_to_table_fields vep_to_table_fields vep_to_table_fields->detect_variants vep_to_table_fields vep_pick vep_pick vep_pick->detect_variants vep_pick picard_metric_accumulation_level picard_metric_accumulation_level picard_metric_accumulation_level->normal_alignment_and_qc picard_metric_accumulation_level picard_metric_accumulation_level->tumor_alignment_and_qc picard_metric_accumulation_level tumor_sample_name tumor_sample_name tumor_sample_name->detect_variants tumor_sample_name vep_ensembl_assembly vep_ensembl_assembly vep_ensembl_assembly->detect_variants vep_ensembl_assembly qc_minimum_base_quality qc_minimum_base_quality qc_minimum_base_quality->normal_alignment_and_qc qc_minimum_base_quality qc_minimum_base_quality->tumor_alignment_and_qc qc_minimum_base_quality scatter_count scatter_count scatter_count->detect_variants scatter_count summary_intervals summary_intervals summary_intervals->normal_alignment_and_qc summary_intervals summary_intervals->tumor_alignment_and_qc summary_intervals tumor_name tumor_name: String specifying the name of the MT sample tumor_name->tumor_alignment_and_qc final_name normal_name normal_name: String specifying the name of the WT sample normal_name->normal_alignment_and_qc final_name filter_somatic_llr_normal_contamination_rate filter_somatic_llr_normal_contamination_rate filter_somatic_llr_normal_contamination_rate->detect_variants filter_somatic_llr_normal_contamination_rate qc_minimum_mapping_quality qc_minimum_mapping_quality qc_minimum_mapping_quality->normal_alignment_and_qc qc_minimum_mapping_quality qc_minimum_mapping_quality->tumor_alignment_and_qc qc_minimum_mapping_quality synonyms_file synonyms_file synonyms_file->detect_variants synonyms_file vep_cache_dir vep_cache_dir vep_cache_dir->detect_variants vep_cache_dir varscan_min_coverage varscan_min_coverage varscan_min_coverage->detect_variants varscan_min_coverage vep_ensembl_species vep_ensembl_species vep_ensembl_species->detect_variants vep_ensembl_species normal_sequence normal_sequence: WT sequencing data and readgroup information normal_sequence->normal_alignment_and_qc sequence varscan_min_var_freq varscan_min_var_freq varscan_min_var_freq->detect_variants varscan_min_var_freq per_base_intervals per_base_intervals per_base_intervals->normal_alignment_and_qc per_base_intervals per_base_intervals->tumor_alignment_and_qc per_base_intervals target_interval_padding target_interval_padding: number of bp flanking each target region in which to allow variant calls target_interval_padding->pad_target_intervals roi_padding pindel_insert_size pindel_insert_size pindel_insert_size->detect_variants pindel_insert_size filter_somatic_llr_threshold filter_somatic_llr_threshold filter_somatic_llr_threshold->detect_variants filter_somatic_llr_threshold normal_sample_name normal_sample_name normal_sample_name->detect_variants normal_sample_name cle_vcf_filter cle_vcf_filter cle_vcf_filter->detect_variants cle_vcf_filter normal_indel_bam_readcount_tsv normal_indel_bam_readcount_tsv tumor_hs_metrics tumor_hs_metrics tumor_mark_duplicates_metrics tumor_mark_duplicates_metrics tumor_cram tumor_cram normal_per_base_coverage_metrics normal_per_base_coverage_metrics normal_per_base_hs_metrics normal_per_base_hs_metrics tumor_flagstats tumor_flagstats tumor_alignment_summary_metrics tumor_alignment_summary_metrics normal_per_target_hs_metrics normal_per_target_hs_metrics normal_per_target_coverage_metrics normal_per_target_coverage_metrics normal_snv_bam_readcount_tsv normal_snv_bam_readcount_tsv varscan_filtered_vcf varscan_filtered_vcf strelka_filtered_vcf strelka_filtered_vcf tumor_per_base_coverage_metrics tumor_per_base_coverage_metrics mutect_unfiltered_vcf mutect_unfiltered_vcf tumor_summary_hs_metrics tumor_summary_hs_metrics tumor_snv_bam_readcount_tsv tumor_snv_bam_readcount_tsv tumor_per_base_hs_metrics tumor_per_base_hs_metrics mutect_filtered_vcf mutect_filtered_vcf normal_flagstats normal_flagstats normal_cram normal_cram normal_mark_duplicates_metrics normal_mark_duplicates_metrics normal_alignment_summary_metrics normal_alignment_summary_metrics pindel_unfiltered_vcf pindel_unfiltered_vcf vep_summary vep_summary tumor_insert_size_metrics tumor_insert_size_metrics final_filtered_vcf final_filtered_vcf tumor_indel_bam_readcount_tsv tumor_indel_bam_readcount_tsv tumor_per_target_coverage_metrics tumor_per_target_coverage_metrics tumor_per_target_hs_metrics tumor_per_target_hs_metrics normal_hs_metrics normal_hs_metrics final_tsv final_tsv final_vcf final_vcf strelka_unfiltered_vcf strelka_unfiltered_vcf pindel_filtered_vcf pindel_filtered_vcf varscan_unfiltered_vcf varscan_unfiltered_vcf normal_summary_hs_metrics normal_summary_hs_metrics normal_insert_size_metrics normal_insert_size_metrics pad_target_intervals->detect_variants roi_intervals tumor_index_cram samtools index cram tumor_bam_to_cram->tumor_index_cram cram tumor_index_cram->tumor_cram normal_index_cram samtools index cram normal_index_cram->normal_cram normal_bam_to_cram->normal_index_cram cram normal_alignment_and_qc->normal_per_base_coverage_metrics normal_alignment_and_qc->normal_per_base_hs_metrics normal_alignment_and_qc->normal_per_target_hs_metrics normal_alignment_and_qc->normal_per_target_coverage_metrics normal_alignment_and_qc->normal_flagstats normal_alignment_and_qc->normal_mark_duplicates_metrics normal_alignment_and_qc->normal_alignment_summary_metrics normal_alignment_and_qc->normal_hs_metrics normal_alignment_and_qc->normal_summary_hs_metrics normal_alignment_and_qc->normal_insert_size_metrics normal_alignment_and_qc->cnvkit reference normal_alignment_and_qc->normal_bam_to_cram bam normal_alignment_and_qc->detect_variants normal_bam tumor_alignment_and_qc->tumor_hs_metrics tumor_alignment_and_qc->tumor_mark_duplicates_metrics tumor_alignment_and_qc->tumor_flagstats tumor_alignment_and_qc->tumor_alignment_summary_metrics tumor_alignment_and_qc->tumor_per_base_coverage_metrics tumor_alignment_and_qc->tumor_summary_hs_metrics tumor_alignment_and_qc->tumor_per_base_hs_metrics tumor_alignment_and_qc->tumor_insert_size_metrics tumor_alignment_and_qc->tumor_per_target_coverage_metrics tumor_alignment_and_qc->tumor_per_target_hs_metrics tumor_alignment_and_qc->tumor_bam_to_cram bam tumor_alignment_and_qc->cnvkit tumor_bam tumor_alignment_and_qc->detect_variants tumor_bam detect_variants->normal_indel_bam_readcount_tsv detect_variants->normal_snv_bam_readcount_tsv detect_variants->varscan_filtered_vcf detect_variants->strelka_filtered_vcf detect_variants->mutect_unfiltered_vcf detect_variants->tumor_snv_bam_readcount_tsv detect_variants->mutect_filtered_vcf detect_variants->pindel_unfiltered_vcf detect_variants->vep_summary detect_variants->final_filtered_vcf detect_variants->tumor_indel_bam_readcount_tsv detect_variants->final_tsv detect_variants->final_vcf detect_variants->strelka_unfiltered_vcf detect_variants->pindel_filtered_vcf detect_variants->varscan_unfiltered_vcf default1 true default1->detect_variants strelka_exome_mode
Workflow as SVG
  • Selected
  • Default Values
  • Nested Workflows
  • Tools
  • Inputs/Outputs

Inputs

ID Type Title Doc
trimming https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/types/trimming_options.yml#trimming_options (Optional)
vep_pick
reference File
tumor_name String (Optional) tumor_name: String specifying the name of the MT sample

tumor_name provides a string for what the MT sample will be referred to in the various outputs, for example the VCF files.

normal_name String (Optional) normal_name: String specifying the name of the WT sample

normal_name provides a string for what the WT sample will be referred to in the various outputs, for example the VCF files.

scatter_count Integer

scatters each supported variant detector (varscan, pindel, mutect) into this many parallel jobs

synonyms_file File (Optional)
vep_cache_dir Directory
bait_intervals File
cle_vcf_filter Boolean
tumor_sequence https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/types/sequence_data.yml#sequence_data[] tumor_sequence: MT sequencing data and readgroup information

tumor_sequence represents the sequencing data for the MT sample as either FASTQs or BAMs with accompanying readgroup information. Note that in the @RG field ID and SM are required.

normal_sequence https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/types/sequence_data.yml#sequence_data[] normal_sequence: WT sequencing data and readgroup information

normal_sequence represents the sequencing data for the WT sample as either FASTQs or BAMs with accompanying readgroup information. Note that in the @RG field ID and SM are required.

varscan_p_value Float (Optional)
target_intervals File target_intervals: interval_list file of targets used in the sequencing experiment

target_intervals is an interval_list corresponding to the targets for the capture reagent. Bed files with this information can be converted to interval_lists with Picard BedToIntervalList. In general for a WES exome reagent bait_intervals and target_intervals are the same.

summary_intervals https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/types/labelled_file.yml#labelled_file[]
tumor_sample_name String
normal_sample_name String
per_base_intervals https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/types/labelled_file.yml#labelled_file[]
pindel_insert_size Integer
vep_ensembl_species String

ensembl species - Must be present in the cache directory. Examples: homo_sapiens or mus_musculus

vep_ensembl_version String

ensembl version - Must be present in the cache directory. Example: 95

vep_to_table_fields String[]
annotate_coding_only Boolean (Optional)
per_target_intervals https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/types/labelled_file.yml#labelled_file[]
strelka_cpu_reserved Integer (Optional)
varscan_min_coverage Integer (Optional)
varscan_min_var_freq Float (Optional)
vep_ensembl_assembly String

genome assembly to use in vep. Examples: GRCh38 or GRCm38

varscan_strand_filter Integer (Optional)
qc_minimum_base_quality Integer (Optional)
target_interval_padding Integer target_interval_padding: number of bp flanking each target region in which to allow variant calls

The effective coverage of capture products generally extends out beyond the actual regions targeted. This parameter allows variants to be called in these wingspan regions, extending this many base pairs from each side of the target regions.

varscan_max_normal_freq Float (Optional)
variants_to_table_fields String[]
cnvkit_target_average_size Integer (Optional)

approximate size of split target bins for CNVkit; if not set a suitable window size will be set by CNVkit automatically

qc_minimum_mapping_quality Integer (Optional)
filter_somatic_llr_threshold Float

Sets the stringency (log-likelihood ratio) used to filter out non-somatic variants. Typical values are 10=high stringency, 5=normal, 3=low stringency. Low stringency may be desirable when read depths are low (as in WGS) or when tumor samples are impure.

filter_somatic_llr_tumor_purity Float

Sets the purity of the tumor used in the somatic llr filter, used to remove non-somatic variants. Probably only needs to be adjusted for low-purity (< 50%). Range is 0 to 1

picard_metric_accumulation_level String
variants_to_table_genotype_fields String[]
filter_somatic_llr_normal_contamination_rate Float

Sets the fraction of tumor present in the normal sample (range 0 to 1), used in the somatic llr filter. Useful for heavily contaminated adjacent normals. Range is 0 to 1

Steps

ID Runs Label Doc
cnvkit
../tools/cnvkit_batch.cwl (CommandLineTool)

Note: cnvkit batch is a complex command that is capable of running all or part of the cnvkit internal pipeline, depending on the combination of inputs provided to it. In order to take advantage of this, most inputs to this cwl are optional, so that different workflows can use different forms of the command while still using a single cwl file. For further reading, see the relevant cnvkit docs at https://cnvkit.readthedocs.io/en/stable/quickstart.html#build-a-reference-from-normal-samples-and-infer-tumor-copy-ratios https://cnvkit.readthedocs.io/en/stable/pipeline.html#batch In our pipelines, the command form is mainly determined by the components of the reference input. The somatic_exome cwl pipeline provides a fasta file and a normal bam, which causes the batch pipeline to construct a copy number reference (.cnn file) based on the normal bam. The germline_wgs cwl pipeline does not provide a normal bam; instead it passes a cnn reference file as an optional input. This file is intended to be manually generated from a reference normal sample for use in the pipeline. If it is not provided, cnvkit will automatically generate a flat reference file.

detect_variants Detect Variants workflow
tumor_index_cram
../tools/index_cram.cwl (CommandLineTool)
samtools index cram
normal_index_cram
../tools/index_cram.cwl (CommandLineTool)
samtools index cram
tumor_bam_to_cram
../tools/bam_to_cram.cwl (CommandLineTool)
BAM to CRAM conversion
normal_bam_to_cram
../tools/bam_to_cram.cwl (CommandLineTool)
BAM to CRAM conversion
pad_target_intervals
../tools/interval_list_expand.cwl (CommandLineTool)
expand interval list regions by a given number of basepairs
tumor_alignment_and_qc exome alignment with qc, no bqsr, no verify_bam_id
normal_alignment_and_qc exome alignment with qc, no bqsr, no verify_bam_id

Outputs

ID Type Label Doc
final_tsv File
final_vcf File
tumor_cram File
normal_cram File
vep_summary File
tumor_flagstats File
normal_flagstats File
tumor_hs_metrics File
normal_hs_metrics File
final_filtered_vcf File
mutect_filtered_vcf File
pindel_filtered_vcf File
strelka_filtered_vcf File
varscan_filtered_vcf File
mutect_unfiltered_vcf File
pindel_unfiltered_vcf File
strelka_unfiltered_vcf File
varscan_unfiltered_vcf File
tumor_summary_hs_metrics File[]
normal_summary_hs_metrics File[]
tumor_insert_size_metrics File
tumor_per_base_hs_metrics File[]
normal_insert_size_metrics File
normal_per_base_hs_metrics File[]
tumor_per_target_hs_metrics File[]
tumor_snv_bam_readcount_tsv File
normal_per_target_hs_metrics File[]
normal_snv_bam_readcount_tsv File
tumor_indel_bam_readcount_tsv File
tumor_mark_duplicates_metrics File
normal_indel_bam_readcount_tsv File
normal_mark_duplicates_metrics File
tumor_alignment_summary_metrics File
tumor_per_base_coverage_metrics File[]
normal_alignment_summary_metrics File
normal_per_base_coverage_metrics File[]
tumor_per_target_coverage_metrics File[]
normal_per_target_coverage_metrics File[]
Permalink: https://w3id.org/cwl/view/git/b8000c793d6e7ce4d690406c4f914c5c62acd51f/definitions/pipelines/somatic_exome_nonhuman.cwl