maftools可以读入Annovar注释的突变文件,生成成MAF对象,方便下游的突变分析。
1. 合并不同样本的突变文件,加上样本编号
原始的vcf文件经过Annovar软件注释后会生成注释好的.vcf以及.txt文件。
#每个样品一个文件夹,下面有annovar注释的文件
for id in `find ./ -name *hg38_multianno.txt`;do add=${id##*/};add=${add%%.*};awk '{if (NR==1) {print $0, "Tumor_Sample_Barcode"}; if (NR>1) {print $0,"'"$add"'"}}' $id >> merged.hg38_multianno.txt;done
# 根据文件名解析出样本编号,较为复杂。
## 去掉多余的行和列
cat merged.hg38_multianno.txt |head -1 > merg.head.txt
cat merged.hg38_multianno.txt |grep -v "Tumor_Sample_Barcode" > merged.hg38_multianno.txt2
cat merg.head.txt merged.hg38_multianno.txt2 >merged.hg38_multianno.txt3
awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$NF}' merged.hg38_multianno.txt3 > merged.hg38_multianno.txt.final
2. 读入合并后的数据,生成MAF对象
# if (!requireNamespace("BiocManager", quietly = TRUE))
# install.packages("BiocManager")
#
# BiocManager::install("maftools")
library(maftools)
# ls("package:maftools")
var.annovar <-"path/to/your/file"
# 生成MAF对象。注意分隔类型
var.annovar.maf = annovarToMaf(annovar = var.annovar,
refBuild = 'hg38',
sep = " ",
tsbCol = 'Tumor_Sample_Barcode',
MAFobj = TRUE)
oncoplot(maf = var.annovar.maf, draw_titv = TRUE)