easyTCGA
:让初学者也能感受"征服"TCGA
的喜悦生信数据挖掘必不可少要学习TCGA
数据库,但是对于新手,经常卡在第一步:下载和整理数据。第一步完成了,又会卡在第二步,第三步:差异分析,生存分析......
有人会说XENA有整理好的数据,但这些数据下载后并不能直接用,还是要整理,初学者依然会卡在第一步!
对于R语言大神来说都不是问题,非常简单的R语言操作而已。但是对于初学者很难理解。
这几步操作又是必不可少的,我自己也经常需要重新下载整理数据。为了简化这几个流程,同时也是让初学者也能感受到"征服"TCGA
的喜悦,我把自己常用的一些代码打包,写了这个R包。
需要自己解决网络问题,比如访问github,TCGA官网, google
等,如果你无法解决网络问题,那么生信数据挖掘可能不适合你......基本上你常见的生信数据库资源都是国外的,由于众所周知的原因,国外的数据很难下载,网络问题我帮不了你。
首先安装依赖包:
# 安装bioconductor上面的R包
# 首先要改镜像,下面是清华的镜像,有时会有问题,可更改其他镜像试试(自己百度下喽~)
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/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")
if(!require("devtools")) install.packages("devtools")
if(!require("reshape2")) install.packages("reshape2")
if(!require("data.table")) install.packages("data.table")
if(!require("ggplot2")) install.packages("ggplot2")
if(!require("ggpubr")) install.packages("ggpubr")
再安装easyTCGA
包:
devtools::install_github("ayueme/easyTCGA")
解决TCGA(GTEx)数据下载和整理问题,顺便实现一些常见的分析和可视化
getmrnaexpr
TCGA project
名字即可;mRNA
和lncRNA
的counts,tpm,fpkm
共6种表达矩阵(直接从官网的原始数据提取,未进行任何修改,所以是没有经过log转换的),以及对应的临床信息,临床信息样本顺序和表达矩阵样本顺序完全一致,无需再次整理;output_mRNA_lncRNA_expr
文件夹下,并且同时保存rdata
和csv
两种文件格式;GDC TCGA
官网保持一致;getmrnaexpr_xena
XENA
网站下载的TCGA基因表达数据和临床信息的整理(仅限gdchub
);TCGA-ACC.htseq_counts.tsv.gz, TCGA-ACC.htseq_fpkm.tsv.gz
,TCGA-ACC.GDC_phenotype.tsv.gz, TCGA-ACC.survival.tsv
;mRNA
、lncRNA
表达矩阵和临床信息到当前工作目录下的output_mRNA_expr_xena
文件夹下;gtf 22
,和XENA
保持一致;getmirnaexpr
TCGA project
名字即可;miRNA
的counts,rpm
2种表达矩阵;output_miRNA_expr
文件夹下,并且同时保存rdata
和csv
两种文件格式;GDC TCGA
官网保持一致getsnvmaf
TCGA project
名字即可;TCGA MAF
文件(masked somatic mutation)以及对应的临床信息,并自动保存到当前工作目录下的output_snv
文件夹下;maftools::read_maf()
函数读取,无需再次整理getcnv
TCGA project
名字即可;copy number variation
数据;数据保存到当前工作目录下的output_cnv
文件夹下;GDC TCGA
官网保持一致getmethybeta
TCGA project
名字即可;450K
的DNA methylation
的beta值矩阵
,以及对应的临床信息,数量和顺序完全一致,无需再次整理;gene symbol
等,基于GRCh 38
;output_methy
文件夹下;GDC TCGA
官网保持一致getclinical
TCGA project
名字即可getpancancer_xena
TCGA
、GTEx
,以及整合TCGA+GTEx
diff_analysis
getmrnaexpr
,getmirnaexpr
,getmrnaexpr_xena
函数无缝对接,直接使用其输出结果即可,无需任何整理(默认对tumor和normal组进行差异分析);count, tpm, fpkm
和GEO
数据,如果是count
则自动通过3个R包进行差异分析:DESeq2, edgeR, limma
;如果是其他类型(tpm, fpkm
和基因表达芯片数据
)会自动判断是否需要log2(x + 0.1)
转换,然后使用limma
和wilcoxon test
做差异分析;wilcoxon
秩和检验做差异分析的参考资料:TCGA等大样本量差异分析该使用DEseq2还是edgeR呢?,以及文中涉及的参考文献:https://doi.org/10.1186/s13059-022-02648-4list
,内含多种差异分析结果,支持保存rdata
格式数据到本地batch_survival
logrank
检验和单因素cox
分析,默认基于最佳截点(P值最小);getmrnaexpr
,getmirnaexpr
函数无缝对接,直接使用其输出结果即可,无需任何整理;count,tpm,fpkm
3种格式的数据,如果是counts
,则通过DESeq2::vst()
进行转换,如果是tpm/fpkm
,则进行log2(x + 0.1)
转换;可视化函数
plot_gene
:任意数量基因在任意癌种(TCGA33种其中之一都可以)的任意分组中的表达量箱线图;plot_gene_paired
:任意基因在某一癌种配对样本中的表达量配对箱线图;plot_km
:根据任意基因的表达量分组,并画出K-M生存曲线(支持最佳截点)文字版使用教程请关注公众号:医学和生信笔记。
视频版教程请关注哔哩哔哩:阿越就是我,(视频教程滞后于包的更新速度)
B站,公众号,Github,粉丝QQ群,都可以。
XENA
网站下载的gene expression
和临床数据的整理XENA
泛癌数据的整理,对电脑内存要求较高,正在优化代码中......miRNA
的差异分析支持miRNA
的批量生存分析支持lncRNA
的差异分析和批量生存分析支持