1. 通过varscan2探测somatic和germline的突变
对于有normal-tumor的配对样本,varscan通过比较normal和tumor中的突变情况,如果normal和tumor中的突变一样,并且都和参考基因组不一样是,则认为该突变为germline突变。或者normal和tumor的突变不一致,但是通过fisher检验发现两者的突变频率没有差异,则也认为该突变为germline突变。
通过varscan2的探测smoatic mutations的标准流程,使用默认的参数,可以检测到其中的germline,LOH和somatic突变。
## 1. Get the raw variants:
samtools mpileup -q 20 -Q 25 -B -f ref.fa normal.bam tumor.bam | awk -F "\t" '$4 > 0 && $7 > 0' | \
java -jar VarScan.v2.4.3.jar somatic - {outputName} -mpileup --strand-filter 1 --output-vcf
## 2. Classify into Germ, LOH and Somatic (showing only code for the SNPs here):
java -jar VarScan.v2.4.3.jar processSomatic snp.vcf --max-normal-freq 0.01
2. 对突变进行过滤
接下来对高置信( high-confidence)的germline突变进行过滤(文件为snp.Germline.hc.vcf)。通过varscan2中的fpfilter(false-positive filter)程序过滤这些突变。通过bam-readcount统计每一个突变上的碱基覆盖情况(参数为 -q 20 -b 25),过滤alternative allele (--min-var-count) 大于5 和alternative allele frequency (--min-var-freq) 大约20%的突变。
## 3.1: Prepare a BED file from the high-confidence germline mutation VCF file to be used with bam-readcount:
egrep -hv "^#" germline_hc.vcf | awk 'OFS="\t" {print $1, $2-1, $2+1}' | sort -k1,1 -k2,2n | bedtools merge -i - > germline_hc.bed
## 3.2: Run bam-readcount:
bam-readcount -f ref.fa -q 20 -b 25 -d 1000 -l germline_hc.bed -w 1 normal.bam > germline_hc.bamRC
## 3.3: Run fpfilter:
java -jar VarScan.v2.4.3.jar fpfilter germline_hc.vcf germline_hc.bamRC --output-file germline_hc_fpfilterPassed.vcf --filtered-file germline_hc_fpfilterFailed.vcf --min-var-count 5 --min-var-freq 0.20
最后,我们通过1000 Genomes 和 ExAC过滤出人群中突变频率小于0.05%的突变, 在人群中极低频的突变是最后保留的胚系突变。
上面的筛选条件可以参考:Huang et al. (2018)("Pathogenic Germline Variants in 10,389 Adult Cancers")
References: