利用一个perl语言写的工具:snpeffTomaf 一行代码即可实现非常方便
github地址链接:https://github.com/tsy19900929/snpeffToMaf
将此仓库中的脚本和示例文件下载下来,参照readme文件,进行操作就可以。
用snpeffToMaf.pl 这个脚本,将示例文件替换成自己需要使用的文件运行下面这行代码即可实现。
### in shell 将vcf文件转化成maf文件
perl snpeffToMaf.pl yourSampleName.snpeff.vcf 100 0.05 100 for minimum depth 0.05 for minimum allele frequency
### 将转化好的maf文件进行整合,变成一个大的总体的maf文件
cat *maf | awk ‘!/Hugo_Symbol/ || NR==1‘ > all.maf
concatenate all of yourSampleName.maf, but not necessary
####用maftools进行可视化in R
library(maftools)
syn <- c("synonymous_variant","start_retained","stop_retained_variant")
df <- data.table::fread("all.maf")
vc <- names(table(df$Variant_Classification))
nonSyn <- setdiff(vc,syn)
colors <- rainbow(length(nonSyn))
names(colors) <- nonSyn
maf <- read.maf("all.maf", vc_nonSyn = nonSyn)
plotmafSummary(maf, rmOutlier = TRUE, addStat = ‘median‘, dashboard = TRUE, titvRaw = FALSE, color = colors)