Workflow: somatic_exome: exome alignment and somatic variant detection

Fetched 2024-11-25 02:40:00 GMT

somatic_exome is designed to perform processing of mutant/wildtype H.sapiens exome sequencing data. It features BQSR corrected alignments, 4 caller variant detection, and vep style annotations. Structural variants are detected via manta and cnvkit. In addition QC metrics are run, including somalier concordance metrics. example input file = analysis_workflows/example_data/somatic_exome.yaml

children parents
Workflow as SVG
  • Selected
  • Default Values
  • Nested Workflows
  • Tools
  • Inputs/Outputs

Inputs

ID Type Title Doc
docm_vcf File

The set of alleles that gatk haplotype caller will use to force-call regardless of evidence

omni_vcf File
trimming https://w3id.org/cwl/view/git/5fda2d9eb52a363bd51011b3851c2afb86318c0c/definitions/types/trimming_options.yml#trimming_options (Optional)
vep_pick

configures how vep will annotate genomic features that each variant overlaps; for a detailed description of each option see https://useast.ensembl.org/info/docs/tools/vep/script/vep_other.html#pick_allele_gene_eg

reference File reference: Reference fasta file for a desired assembly

reference contains the nucleotide sequence for a given assembly (hg37, hg38, etc.) in fasta format for the entire genome. This is what reads will be aligned to. Appropriate files can be found on ensembl at https://ensembl.org/info/data/ftp/index.html When providing the reference secondary files corresponding to reference indices must be located in the same directory as the reference itself. These files can be created with samtools index, bwa index, and picard CreateSequenceDictionary.

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.

somalier_vcf File

a vcf file of known polymorphic sites for somalier to compare normal and tumor samples for identity; sites files can be found at: https://github.com/brentp/somalier/releases

manta_non_wgs Boolean (Optional)

toggles on or off manta settings for WES vs. WGS mode for structural variant detection

scatter_count Integer

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

synonyms_file File (Optional)

synonyms_file allows the use of different chromosome identifiers in vep inputs or annotation files (cache, database, GFF, custom file, fasta). File should be tab-delimited with the primary identifier in column 1 and the synonym in column 2.

vep_cache_dir Directory

path to the vep cache directory, available at: https://useast.ensembl.org/info/docs/tools/vep/script/vep_cache.html#pre

bait_intervals File bait_intervals: interval_list file of baits used in the sequencing experiment

bait_intervals is an interval_list corresponding to the baits used in sequencing reagent. These are essentially coordinates for regions you were able to design probes for in the reagent. Typically the reagent provider has this information available in bed format and it can be converted to an interval_list with Picard BedToIntervalList. Astrazeneca also maintains a repo of baits for common sequencing reagents available at https://github.com/AstraZeneca-NGS/reference_data

bqsr_intervals String[] bqsr_intervals: Array of strings specifying regions for base quality score recalibration

bqsr_intervals provides an array of genomic intervals for which to apply GATK base quality score recalibrations. Typically intervals are given for the entire chromosome (chr1, chr2, etc.), these names should match the format in the reference file.

cle_vcf_filter Boolean
tumor_sequence https://w3id.org/cwl/view/git/5fda2d9eb52a363bd51011b3851c2afb86318c0c/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/5fda2d9eb52a363bd51011b3851c2afb86318c0c/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)
bqsr_known_sites File[] bqsr_known_sites: One or more databases of known polymorphic sites used to exclude regions around known polymorphisms from analysis.

Known polymorphic indels recommended by GATK for a variety of tools including the BaseRecalibrator. This is part of the GATK resource bundle available at http://www.broadinstitute.org/gatk/guide/article?id=1213 File should be in vcf format, and tabix indexed.

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/5fda2d9eb52a363bd51011b3851c2afb86318c0c/definitions/types/labelled_file.yml#labelled_file[]
tumor_sample_name String
manta_call_regions File (Optional)

bgzip-compressed, tabix-indexed BED file specifiying regions to which manta structural variant analysis is limited

normal_sample_name String
per_base_intervals https://w3id.org/cwl/view/git/5fda2d9eb52a363bd51011b3851c2afb86318c0c/definitions/types/labelled_file.yml#labelled_file[] per_base_intervals: additional intervals over which to summarize coverage/QC at a per-base resolution

per_base_intervals is a list of regions (in interval_list format) over which to summarize coverage/QC at a per-base resolution.

pindel_insert_size Integer
validated_variants File (Optional)

An optional VCF with variants that will be flagged as 'VALIDATED' if found in this pipeline's main output VCF

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[]

VEP fields in final output

annotate_coding_only Boolean (Optional)

if set to true, vep only returns consequences that fall in the coding regions of transcripts

filter_docm_variants Boolean (Optional)
manta_output_contigs Boolean (Optional)

if set to true configures manta to output assembled contig sequences in the final VCF files

per_target_intervals https://w3id.org/cwl/view/git/5fda2d9eb52a363bd51011b3851c2afb86318c0c/definitions/types/labelled_file.yml#labelled_file[] per_target_intervals: additional intervals over which to summarize coverage/QC at a per-target resolution

per_target_intervals list of regions (in interval_list format) over which to summarize coverage/QC at a per-target resolution.

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)
vep_custom_annotations https://w3id.org/cwl/view/git/5fda2d9eb52a363bd51011b3851c2afb86318c0c/definitions/types/vep_custom_annotation.yml#vep_custom_annotation[]

custom type, check types directory for input format

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[]

The names of one or more standard VCF fields or INFO fields to include in the output table

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.

mutect_artifact_detection_mode Boolean
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[]

The name of a genotype field to include in the output table

mutect_max_alt_alleles_in_normal_count Integer (Optional)
mutect_max_alt_allele_in_normal_fraction Float (Optional)
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
manta
../tools/manta_somatic.cwl (CommandLineTool)
Set up and execute manta
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.

concordance
../tools/concordance.cwl (CommandLineTool)
Concordance checking between Tumor and Normal BAM
detect_variants
detect_variants.cwl (Workflow)
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
alignment_exome.cwl (Workflow)
exome alignment with qc
normal_alignment_and_qc
alignment_exome.cwl (Workflow)
exome alignment with qc

Outputs

ID Type Label Doc
final_tsv File
final_vcf File
cn_diagram File (Optional)
tumor_cram File
normal_cram File
vep_summary File
all_candidates File
cn_scatter_plot File (Optional)
tumor_flagstats File
diploid_variants File (Optional)
intervals_target File (Optional)
normal_flagstats File
small_candidates File
somatic_variants File (Optional)
tumor_hs_metrics File
docm_filtered_vcf File
normal_hs_metrics File
final_filtered_vcf File
reference_coverage File (Optional)
mutect_filtered_vcf File
pindel_filtered_vcf File
tumor_only_variants File (Optional)
intervals_antitarget File (Optional)
strelka_filtered_vcf File
varscan_filtered_vcf File
mutect_unfiltered_vcf File
pindel_unfiltered_vcf File
tumor_target_coverage File
normal_target_coverage File
strelka_unfiltered_vcf File
tumor_bin_level_ratios File
tumor_segmented_ratios File
varscan_unfiltered_vcf File
tumor_summary_hs_metrics File[]
normal_summary_hs_metrics File[]
tumor_antitarget_coverage File
tumor_insert_size_metrics File
tumor_per_base_hs_metrics File[]
tumor_verify_bam_id_depth File
normal_antitarget_coverage File
normal_insert_size_metrics File
normal_per_base_hs_metrics File[]
normal_verify_bam_id_depth File
tumor_per_target_hs_metrics File[]
tumor_snv_bam_readcount_tsv File
tumor_verify_bam_id_metrics File
normal_per_target_hs_metrics File[]
normal_snv_bam_readcount_tsv File
normal_verify_bam_id_metrics File
somalier_concordance_metrics File
tumor_indel_bam_readcount_tsv File
tumor_mark_duplicates_metrics File
normal_indel_bam_readcount_tsv File
normal_mark_duplicates_metrics File
somalier_concordance_statistics 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/5fda2d9eb52a363bd51011b3851c2afb86318c0c/definitions/pipelines/somatic_exome.cwl