说明
我是使用语雀的外部导入功能:
由于目前还不支持导入Rmd格式,我是将Rmd 内容输出为html 后进行导入。
但还是存在一些问题:
- 图片无法读取
- 代码无法自动识别为R,并进行高亮处理。
目前语雀还不支持html 文件的文内导入,如果需要查看html 版本,可以参见:https://quqi.gblhgk.com/s/4630394/lFztsLsgz84sKO5D
代码
如下:
---
title: "多位点取样分析及图表"
author: "Peng"
date: "`r format(Sys.time(), '%d %B, %Y')`"
output:
html_document:
toc: True
toc_depth: 4
toc_float:
collapsed: False
number_sections: True
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(warning = F)
knitr::opts_chunk$set(message = F)
包准备及安装
我使用的R 版本为:r R.version.string
在运行前准备和安装这些包: ```{r package-preparation, eval=FALSE}
需要使用的包
bioPackages <-c( “maftools”, # 处理maf 文件的主要工具 “wordcloud2”, # 基因词条云图 “pheatmap”, # 热图 “ggplot2”, # 绘图函数 “clusterProfiler”, # 富集分析工具 “org.Hs.eg.db”, # 注释数据包ID 转换 “dplyr”, # 数据框处理工具 )
判断是否已安装,如否,则安装
lapply( bioPackages, function( bioPackage ){ if(!bioPackage %in% rownames(installed.packages())){ CRANpackages <- available.packages()
if(bioPackage %in% rownames(CRANpackages)){
install.packages( bioPackage)
}else{
BiocManager::install(bioPackage,suppressUpdates=F,ask=F)
}
}
})
加载包:
```{r load-packages}
package_lists <- c(
"maftools", # 处理maf 文件的主要工具
"wordcloud2", # 基因词条云图
"pheatmap", # 热图
"ggplot2", # 绘图函数
"clusterProfiler", # 富集分析工具
"org.Hs.eg.db", # 注释数据包ID 转换
"dplyr" # 数据框处理工具
)
重命名maf 文件
有时候样本过长,转为maf对象处理时,不是很方便,可以直接在导入之前先对文件进行批量重命名。 这一步可以在linux 中操作,也可以在R 中操作。
```{r rename-maf, eval=FALSE}
对导入maf 的annovar 文件进行重命名
读取config 文件
这里config 文件存储为处理的样本文件名信息
work_dir <- dirname(getwd()) config <- read.table(file.path(work_dir, “1.raw_fq/meta_data”, “config.txt”)) head(config)
重新明名config 中样本
我这里是将最后三个WES 字串去掉
config$name <- substr(config$V4,1,nchar(config$V4)-4) head(config) save(config, file = “config.Rdata”)
重命名
先保存当前工作目录
R_work_dir <- getwd() annovar_dir <- “/home/yzpen/pipeline/wes_analysis/04_multi_region/7.annotation/annovar/annovar_somatic/“ setwd(annovar_dir)
开始重命名
for (i in 1:nrow(config)) { file.rename(paste0(config[i,3], “.hg38_multianno.txt”), paste0(config[i,5], “.vcf”)) } head(dir(pattern = “^case”))
恢复工作目录
setwd(R_work_dir)
# annovar结果转为maf
annovar 生成的文件还不能直接导入maftools,需要使用函数`annovarToMaf` 再处理一下:
```{r annovar2maf, eval = FALSE}
# 将目录中的maf 文件读取
annovar_dir <- "/home/yzpen/pipeline/wes_analysis/04_multi_region/7.annotation/annovar/annovar_somatic/"
annovar_file <- dir(path = annovar_dir, "^case")
annovar_d_file <- paste0(annovar_dir, annovar_file)
laml <- annovarToMaf(annovar = annovar_d_file, refBuild = 'hg38', table = 'refGene', MAFobj = T)
# save(laml, file = "maf.Rdata")
# 保存文件
# annovarToMaf(annovar = annovar_d_file, refBuild = 'hg38', table = 'refGene', MAFobj = F, basename = "maf_dir/merge_annovar")
基本绘图
```{r load-Rdata, include = FALSE} load(“maf.Rdata”) load(“config.Rdata”)
## 探索一下maf 对象
直接看看maf 文件由哪几个部分组成:
```{r glimpse2maf}
# 直接探索一下maf 文件构造
laml
unique(laml@data$Tumor_Sample_Barcode)
getSampleSummary(laml)
getGeneSummary(laml)
getFields(laml)
了解了maf构造,我们就可以使用maftools 强大的绘图工具了。
除此之外,为了便于分组比较,还准备了临床注释文件,记录分组信息: ```{r clinical-anno} config$type <- substr(config$name, 1, 5) annotationDat <- config[,c(5,6)] colnames(annotationDat) = c(‘Tumor_Sample_Barcode’,’type’) str(annotationDat)
## 基本的几幅图
### 整体绘图
```{r}
plotmafSummary(maf = laml, rmOutlier = TRUE,showBarcodes = T,
addStat = 'median', dashboard = TRUE, titvRaw = FALSE)
瀑布图
oncoplot(maf = laml)
oncoplot(maf = laml,
annotationDat = annotationDat,
clinicalFeatures = 'type',
sortByAnnotation = T)
```