分享

easyTCGA:让初学者也能享受“征服”TCGA的喜悦

 阿越就是我 2023-10-12 发布于上海

为什么要写这个R包

生信数据挖掘必不可少要学习TCGA数据库,但是对于新手,经常卡在第一步:下载和整理数据。第一步完成了,又会卡在第二步,第三步:差异分析,生存分析......

对于R语言大神来说都不是问题,非常简单的R语言操作而已。但是对于初学者很难理解。

这几步操作又是必不可少的,我自己也经常需要重新下载整理数据。为了简化这几个流程,同时也是让初学者也能感受到"征服"TCGA的喜悦,我把自己常用的一些代码打包,写个R包玩玩。

安装

首先安装依赖包:

# 安装bioconductor上面的R包
options(BioC_mirror="https://mirrors.tuna./bioconductor")
if(!require("BiocManager")) install.packages("BiocManager")
if(!require("TCGAbiolinks")) BiocManager::install("TCGAbiolinks")
if(!require("SummarizedExperiment")) BiocManager::install("SummarizedExperiment")
if(!require("DESeq2")) BiocManager::install("DESeq2")
if(!require("edgeR")) BiocManager::install("edgeR")
if(!require("limma")) BiocManager::install("limma")

# 安装cran上面的R包
if(!require("survival")) install.packages("survival")
if(!require("broom")) install.packages("broom")
ifif(!require("devtools")) install.packages("devtools")

再安装easyTCGA包:

devtools::install_github("ayueme/easyTCGA")

主要功能

1行代码实现1个常见分析!

  • getmrnaexpr
    • 只需要提供正确的TCGA project名字即可;
    • 自动下载并整理mRNAlncRNAcounts,tpm,fpkm共6种表达矩阵,以及对应的临床信息,临床信息样本顺序和表达矩阵样本顺序完全一致,无需再次整理;
    • 自动保存以上6种表达矩阵和临床信息到当前工作目录下的output_mRNA_lncRNA_expr文件夹下,并且同时保存rdatacsv两种文件格式;
    • 下载的数据为最新数据,和GDC TCGA官网(https://portal.gdc./)保持一致;
    • 支持通过手动下载的TCGA数据进行自动整理并完成以上过程,手动下载数据请参考:可能是最适合初学者的TCGA官网下载和表达矩阵整理教程
  • getmirnaexpr
    • 只需要提供正确的TCGA project名字即可;
    • 自动下载并整理miRNAcounts,rpm2种表达矩阵;
    • 自动保存以上2种表达矩阵到当前工作目录下的output_miRNA_expr文件夹下,并且同时保存rdatacsv两种文件格式;
    • 下载的数据为最新数据,和GDC TCGA官网(https://portal.gdc./)保持一致;
  • getsnvmaf
    • 只需要提供正确的TCGA project名字即可;
    • 自动下载并整理TCGA MAF文件(masked annotated somatic mutation)以及对应的临床信息,并自动保存到当前工作目录下的output_snv文件夹下;
    • 输出结果可以直接通过maftools::read.maf()函数读取,无需再次整理
  • diff_analysis
    • getmrnaexpr函数无缝对接,直接使用其输出结果即可,无需任何整理;
    • 自动通过3个R包进行差异分析:DESeq2, edgeR, limma
    • 输出结果默认为1个list,内含3种差异分析结果,可保存rdata格式数据到本地
  • batch_survival
    • 自动对大约20000个基因进行logrank检验和单因素cox分析,基于中位数;
    • getmrnaexpr函数无缝对接,直接使用其输出结果即可,无需任何整理;
    • 支持counts,tpm,fpkm3种格式的数据,如果是counts,则通过DESeq2::vst()进行转换,如果是tpm/fpkm,则进行log2(x + 0.1)转换;
    • 支持打印基因序号到屏幕,方便定位有问题的基因

使用注意

需要自己解决网络问题,比如访问github,TCGA官网, google等,如果你无法解决网络问题,那么生信数据挖掘可能不适合你......

TO DO

  • 增加对甲基化表达矩阵的支持;
  • 增加对miRNAlncRNA的差异分析和生存分析支持;
  • 增加批量生存分析支持自定义分组标准;
  • 1行代码实现多种免疫浸润分析
  • 提示信息修改
  • ......

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多