说明

我是使用语雀的外部导入功能:

由于目前还不支持导入Rmd格式,我是将Rmd 内容输出为html 后进行导入。

03. 第一个Rmd 文件的代码及说明 - 图1

但还是存在一些问题:

  • 图片无法读取
  • 代码无法自动识别为R,并进行高亮处理。

目前语雀还不支持html 文件的文内导入,如果需要查看html 版本,可以参见:https://quqi.gblhgk.com/s/4630394/lFztsLsgz84sKO5D

代码

如下:

  1. ---
  2. title: "多位点取样分析及图表"
  3. author: "Peng"
  4. date: "`r format(Sys.time(), '%d %B, %Y')`"
  5. output:
  6. html_document:
  7. toc: True
  8. toc_depth: 4
  9. toc_float:
  10. collapsed: False
  11. number_sections: True
  12. ---
  13. ```{r setup, include=FALSE}
  14. knitr::opts_chunk$set(echo = TRUE)
  15. knitr::opts_chunk$set(warning = F)
  16. 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()

  1. if(bioPackage %in% rownames(CRANpackages)){
  2. install.packages( bioPackage)
  3. }else{
  4. BiocManager::install(bioPackage,suppressUpdates=F,ask=F)
  5. }
  6. }
  7. })
  1. 加载包:
  2. ```{r load-packages}
  3. package_lists <- c(
  4. "maftools", # 处理maf 文件的主要工具
  5. "wordcloud2", # 基因词条云图
  6. "pheatmap", # 热图
  7. "ggplot2", # 绘图函数
  8. "clusterProfiler", # 富集分析工具
  9. "org.Hs.eg.db", # 注释数据包ID 转换
  10. "dplyr" # 数据框处理工具
  11. )

重命名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)

  1. # annovar结果转为maf
  2. annovar 生成的文件还不能直接导入maftools,需要使用函数`annovarToMaf` 再处理一下:
  3. ```{r annovar2maf, eval = FALSE}
  4. # 将目录中的maf 文件读取
  5. annovar_dir <- "/home/yzpen/pipeline/wes_analysis/04_multi_region/7.annotation/annovar/annovar_somatic/"
  6. annovar_file <- dir(path = annovar_dir, "^case")
  7. annovar_d_file <- paste0(annovar_dir, annovar_file)
  8. laml <- annovarToMaf(annovar = annovar_d_file, refBuild = 'hg38', table = 'refGene', MAFobj = T)
  9. # save(laml, file = "maf.Rdata")
  10. # 保存文件
  11. # 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”)

  1. ## 探索一下maf 对象
  2. 直接看看maf 文件由哪几个部分组成:
  3. ```{r glimpse2maf}
  4. # 直接探索一下maf 文件构造
  5. laml
  6. unique(laml@data$Tumor_Sample_Barcode)
  7. getSampleSummary(laml)
  8. getGeneSummary(laml)
  9. 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)

  1. ## 基本的几幅图
  2. ### 整体绘图
  3. ```{r}
  4. plotmafSummary(maf = laml, rmOutlier = TRUE,showBarcodes = T,
  5. addStat = 'median', dashboard = TRUE, titvRaw = FALSE)

瀑布图

  1. oncoplot(maf = laml)
  2. oncoplot(maf = laml,
  3. annotationDat = annotationDat,
  4. clinicalFeatures = 'type',
  5. sortByAnnotation = T)

```