体细胞变异
体细胞变异差不多就是在说肿瘤突变。常用的方法是测配对样本,就是组织样本和血液样本分别检测再call snp的时候一起放入软件中来找突变位点。也有靶向测序直接测肿瘤突变的位置。另外,目前有游离DNA检测来检测血浆中的肿瘤游离DNA,要求是超高深度的检测出肿瘤marker。还有测marker基因启动子甲基化来得到肿瘤早筛效果的方法。
GATK流程
先用配对的正常样本生成一个vcf,GATK对它的命名是PoN,也就是Panel of Normal
| gatk Mutect2 \
-R Homo_sapiens_assembly38.fasta \
-I B17NC.final.bam \
-tumor B17NC \
--disable-read-filter MateOnSameContigOrNoMappedMateReadFilter \
-O B17NC.vcf.gz
|
如果有多个正常样本PoN,可以这样合成。
| gatk CreateSomaticPanelOfNormals \
-vcfs 1.vcf.gz \
-vcfs 2.vcf.gz \
-vcfs 3.vcf.gz \
-O all.vcf.gz
|
有了PoN之后,就可以和配对的肿瘤数据call somatic了,需要注意的是,这里的-tumor和-normal就是前面加头信息时加上去的(待确认)。
| gatk Mutect2 \
-R Homo_sapiens_assembly38.fasta \
-I B1701.final.bam \
-I B17NC.final.bam \
-tumor B1701 \
-normal B17NC \
--germline-resource af-only-gnomad_grch38.vcf.gz \
-O B1701.m2.vcf.gz
|
GATK后续还有些继续过滤校正去污染的方法,这里就不再继续了。更多的时候,我们只有单肿瘤样本的数据(tumor-only),还是可以用mutect2的。单肿瘤样本可以使用-pon参数来导入pon,gatk提供了hg38和b37的pon,不过貌似只能从google云下载。
| gatk Mutect2 \
-R Homo_sapiens_assembly38.fasta \
-I B1701.final.bam \
-tumor B1701 \
--germline-resource af-only-gnomad_grch38.vcf.gz \
-O B1701.m2.vcf.gz
|
在使用Mutect2后,进行FilterMutectCalls能有效过滤突变。
| gatk FilterMutectCalls \
-R hg38.fa \
-V B1701.m2.vcf.gz \
-O B1701.m2.filter.vcf.gz
|
Varscan流程
Varscan的流程可以先用samtools的mpileup作为输入。
| samtools mpileup -B -f Homo_sapiens_assembly38.fasta \
-q 15 -d 10000 \
B17NC.final.bam B1704.final.bam \
| java -jar VarScan.jar somatic -mpileup \
B1704 --strand-filter 1 --output-vcf
|
VarDict流程
Mutect2有时并不能获得低突变丰度的reads,可以使用VarDict,适合于ctDNA流程。
| VarDict -G hg38.fa \
-f 0.001 -N sample \
-b tumor.bam \
-c 1 -S 2 -E 3 -g 4 target.bed \
| teststrandbias.R \
| var2vcf_valid.pl -N sample -E -f 0.001 > sample.vcf
|
使用pisces进行call snp/indel
pisces由illumina出品,运行速度十分不错。
| dotnet Pisces.dll \
-b tumor.bam \
-g hg38/ \
-o output/ \
-t 8 -i target.bed
|