体细胞突变检测分析流程-系列1( WES&Panel)

2023-07-27 15:01:34 浏览数 (2)

Sentieon●体细胞变异检测-系列1

Sentieon 致力于解决生物信息数据分析中的速度与准确度瓶颈,通过算法的深度优化和企业级的软件工程,大幅度提升NGS数据处理的效率、准确度和可靠性。

针对体细胞变异检测,Sentieon软件提供两个模块:TNscope和TNhaplotyer2。

TNscope:此模块使用Sentieon特有的算法,拥有更快的计算速度(提速10倍 )和更高的计算精度,对临床基因诊断样本尤其适用;

TNhaplotyper2:此模块匹配Mutect2(现在匹配到4.1.9)结果的同时,计算速度提升10倍以上。

WES or Panel 变异检测分析

以下给出的步骤脚本,主要针对ctDNA和其他高深度测序的样本数据(2000-5000x depth, AF > 0.3%)

第一步:Alignment

代码语言:javascript复制
# ****************************************** 
# 1a. Mapping reads with BWA-MEM, sorting for tumor sample 
# ****************************************** 
( sentieon bwa mem -M -R "@RGtID:$tumortSM:$tumortPL:$platform" 
-t $nt -K 10000000 $fasta $tumor_fastq_1 $tumor_fastq_2 || 
echo -n 'error' ) | 
sentieon util sort -o tumor_sorted.bam -t $nt --sam2bam -i -

# ****************************************** 
# 1b. Mapping reads with BWA-MEM, sorting for normal sample 
# ****************************************** 
( sentieon bwa mem -M -R "@RGtID:$normaltSM:$normaltPL:$platform" 
-t $nt -K 10000000 $fasta $normal_fastq_1 $normal_fastq_2 || 
echo -n 'error' ) | 
sentieon util sort -o normal_sorted.bam -t $nt --sam2bam -i -

第二步:PCR Duplicate Removal (Skip For Amplicon)

代码语言:javascript复制
# ****************************************** 
# 2a. Remove duplicate reads for tumor sample. 
# ****************************************** 
# ******************************************  
sentieon driver -t $nt -i tumor_sorted.bam 
      --algo LocusCollector 
      --fun score_info  tumor_score.txt sentieon driver -t $nt -i tumor_sorted.bam 
      --algo Dedup 
      --score_info tumor_score.txt 
      --metrics tumor_dedup_metrics.txt  tumor_deduped.bam
# ****************************************** 
# 2b. Remove duplicate reads for normal sample. 
# ****************************************** 
sentieon driver -t $nt -i normal_sorted.bam 
     --algo LocusCollector 
     --fun score_info  normal_score.txt sentieon driver -t $nt -i normal_sorted.bam 
     --algo Dedup 
     --score_info normal_score.txt 
     --metrics normal_dedup_metrics.txt  normal_deduped.bam

第三步: Base Quality Score Recalibration (Skip For Small Panel)

代码语言:javascript复制
# ****************************************** 
# 3a. Base recalibration for tumor sample
# ******************************************
sentieon driver -r $fasta -t $nt -i tumor_deduped.bam --interval $BED 
    --algo QualCal 
    -k $dbsnp 
    -k $known_Mills_indels 
    -k $known_1000G_indels  tumor_recal_data.table
# ****************************************** 
# 3b. Base recalibration for normal sample 
# ****************************************** 
sentieon driver -r $fasta -t $nt -i normal_deduped.bam --interval $BED 
     --algo QualCal 
     -k $dbsnp 
     -k $known_Mills_indels 
     -k $known_1000G_indels  
     normal_recal_data.table

第四步:Variant Calling

代码语言:javascript复制
sentieon driver -r $fasta -t $nt -i tumor_deduped.bam -i normal_deduped.bam --interval $BED -interval_padding 10 
    --algo TNscope 
    --tumor_sample $TUMOR_SM 
    --normal_sample $NORMAL_SM 
    --dbsnp $dbsnp 
    --sv_mask_ext 10 
    --max_fisher_pv_active 0.05 
    --min_tumor_allele_frac 0.01 
    --filter_t_alt_frac 0.01 
    --max_normal_alt_frac 0.005 
    --max_normal_alt_qsum 200 
    --max_normal_alt_cnt 5 
    --assemble_mode 4 
    [--pon panel_of_normal.vcf ] 
    output_tnscope.pre_filter.vcf.gz

第五步:Variant Filtration

代码语言:javascript复制
bcftools annotate -x "FILTER/triallelic_site" output_tnscope.pre_filter.vcf.gz |  
    bcftools filter -m   -s "insignificant" -e "(PV>0.25 && PV2>0.25)" |  
    bcftools filter -m   -s "insignificant" -e "(INFO/STR == 1 && PV>0.05)" |  
    bcftools filter -m   -s "orientation_bias" -e "FMT/FOXOG[0] == 1" |  
    bcftools filter -m   -s "strand_bias" -e "SOR > 3" |  
    bcftools filter -m   -s "low_qual" -e "QUAL < 20" |  
    bcftools filter -m   -s "short_tandem_repeat" -e "RPA[0]>=10" | 
    bcftools filter -m   -s "noisy_region" -e "ECNT>5" |  
    bcftools filter -m   -s "read_pos_bias" -e "FMT/ReadPosRankSumPS[0] < -8" |  
    bcftools norm -f $fasta -m  any |  
sentieon util vcfconvert - output_tnscope.filtered.vcf.gz

0 人点赞