Replies: 2 comments 4 replies
|
wow, the PON creation is more complex than I thought but I think the listing of the different tools and subcommands helps tremendously with understanding what is going on 👍 Would it be possible get extend the |
|
@marrip How do we go about implementing this, Martin? I assume the different processes (e.g., tumor-sample preprocessing) will be workflows in NextFlow, with some user inputs that are being channeled through standard external tools most of the time. We didn't get any feedback from Arne yet regarding his wishes for the CANCAN Docker image placement etc. I guess a NextFlow workflow for PON creation wouldn't necessary fit into the current CANCAN repository anyway.. so we can assume it being a tso500_v2_post_processing ("TSOPPI_2"?) workflow. The necessary custom scripts will be a part of tsoppy, I assume. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
under construction
1. Normal sample pre-processing and panel of normals (PON) creation
The importance of PON data
In order to be able to interpret copy number data from a single tumor sample (i.e., without a matched control), appropriate reference data is necessary for defining the expected normal baseline. Besides containing artifacts/noise, targeted assays are also naturally biased in their coverage profile (there will be a coverage peak in the middle of a target probe location, and the coverage will gradually fall off with increasing distance from the probe center; a series of nearby probes will form patterns with hills and valleys in between). Constructing a PON for a given assay allows for:
CANCAN and PureCN both rely on PON data in their analyses. Despite each of them utilizing their custom PON format, the underlying data (coverage and small variant information from a selected set of normal sample) is largely the same. Below is an outline for a PON-creation process that aims to maximize the utilization of information available in TSO500 DNA samples. The approach has been previously tested at OUS.
1.1. Extension of assay target regions
There is coverage data available outside of the declared TSO500 targets, which are mostly limited to exonic regions. Utilizing a set of high-coverage control samples, the core TSO500 targets can be expanded ('grown' upstream and downstream) to cover additional bases at usable coverage (from previous experience, the number of utilized bases can nearly double if the required read depth is >= 50 bp). The extended targets will contain information about additional germline variants, providing additional variant AF data points for the copy number (CN) segmentation process. The HRD add-on (included in the TSO500 assay v2 and available separately for the TSO500 assay v1) has the potential to offer information for variant counts on a higher order of magnitude compared to the core TSO500 regions (OUS has not tested HRD region utilization in its PON efforts so far).
Previously tested target expansion process, utilizing a set
Sof normal samples and a selected maximum padding interval ofpbase-pairs:bedtools slop)bedtools subtract)bedtools merge)S(bedtools coverage)bedtools merge)The whole process operates on BED files.
1.2. Normal sample GATK pre-processing/GATK PON data creation
The goal: Gather information about coverage profiles and recurrent germline variants in a given set of normals samples (
S).Previously tested process:
GATK PreprocessIntervals)picard AddOrReplaceReadGroups)S(GATK CollectReadCounts)S(GATK CreateReadCountPanelOfNormals)GATK DenoiseReadCounts)S(GATK HaplotypeCaller)GATK GenomicsDBImport)S(GATK GenotypeGVCFs)S(GATK VariantRecalibratorandGATK ApplyVQSR)bcftools norm)S: extract PASSing germline variants from the variant set generated upstream, create BED and VCF output files, with the information necessary in downstream steps (custom script)S(GATK CollectAllelicCounts)S, utilizing denoised read counts and allelic counts (GATK ModelSegments)S, filter the heterozygous germline variant AF data generated in the previous step, utilizing a simple read-count threshold in order to limit noise (custom script)1.3. CANCAN- and PureCN-specific reference and PON data
CANCAN-specific data
Regarding coverage normalization, CANCAN can rely on the tumor sample pre-processing performed by GATK (as described in section 2. below). When it comes to germline variant AF data, CANCAN provides functionality for creating a centroid - a filtered set of germline variants with high reliability (variants with stable VAF in the normal sample set) - CANCAN can at the same time account for systematic stable variant AF shifts (e.g., when observing that a certain variant always tends to have AFs around 0.6 when being heterozygous in the normals, rather than the expected 0.5).
PureCN-specific data
PureCN provides a set of commands/tools for creating the necessary reference datasets based on the selected reference genome, the relevant assay targets and the available normal samples:
PureCN IntervalFile.R)NormalDBPureCN PON resource, which aggregates and normalizes the normal sample coverage and germline variant data; based on how one wishes to run PureCN during the tumor sample analysis, one could utilize either GATK-generated coverage data or PureCN's own coverage profile data; the variant input could be based either on the CANCAN-generated centroid variants or the initial germline variant candidates (PureCN NormalDB.R)Multiple PureCN setups/analysis modes have been tested at OUS on a limited number of samples. It is difficult to say which setup is optimal for TSO500 data.
2. Tumor sample pre-processing and analysis
2.1. Tumor sample GATK pre-processing
The tumor sample needs to be pre-processed in order to generate coverage and germline variant data compatible/usable with the PON data:
picard AddOrReplaceReadGroups)GATK CollectReadCounts)GATK DenoiseReadCounts)GATK CollectAllelicCounts)GATK ModelSegments)2.2. CANCAN and PureCN copy number analysis
Both tools need to be run using R. We can utilize standardized R scripts that perform the main CANCAN and PureCN analyses, as well as any R object -> text output conversions that we'll deem useful for later reference (e.g., generating PureCN solution overview tables and CANCAN gene-wise copy number tables).
All reactions