打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TCGA差异分析及ggplot作图验证

TCGA数据加载

#安装并加载R包if(length(getOption("CRAN"))==0) options(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")if(!require("ggplot2")) BiocManager::install("ggplot2")if(!require("tidyr")) BiocManager::install("tidyr")if(!require("dplyr")) BiocManager::install("dplyr")if(!require("DESeq2")) BiocManager::install("DESeq2")if(!require("limma")) BiocManager::install("limma")if(!require("edgeR")) BiocManager::install("edgeR")load(file = "mRNAdata.Rda")

标准化和差异分析

标准化和差异分析都是用limma这个包来完成

构建分组

之前我们说过,TCGA的IDTCGA数据分析系列(一)


01-09为肿瘤,10~19表示正常对照,所以我们根据数字来区分肿瘤和正常

group_list=ifelse(as.numeric(substr(colnames(mRNAdata),14,15)) < 10,'tumor','normal')design <- model.matrix(~0+factor(group_list))colnames(design)=levels(factor(group_list))rownames(design)=colnames(mRNAdata)design

这样我们就制作好了分组。接下来我们用LIMMA包的流程来完成数据标准化和差异分析。

标准化

dge <- DGEList(counts=mRNAdata)dge <- calcNormFactors(dge)logCPM <- cpm(dge, log=TRUE, prior.count=3)

logCPM即标准化的基因

差异分析

v <- voom(dge,design,plot=TRUE, normalize="quantile")fit <- lmFit(v, design)cont.matrix=makeContrasts(contrasts=c('tumor-normal'),levels = design)fit2=contrasts.fit(fit,cont.matrix)fit2=eBayes(fit2)tempOutput = topTable(fit2, coef='tumor-normal', n=Inf)DEG_limma_voom = na.omit(tempOutput)head(DEG_limma_voom)

DEG_limma_voom即我们得到的差异基因分析结果

write.csv(DEG_limma_voom,"limma差异分析结果.csv",quote = F,row.names = T)save(DEG_limma_voom,file = "limma差异分析结果.Rda")

作图验证

为了构建ggplot2喜欢的数据,我们需要将design数据和logCPM数据合并

首先给design数据数据变成数据框,添加一列ID

class(design)design<-as.data.frame(design)design$ID<-row.names(design)design[1:3,1:3]

将design分组中tumor这一列的1换成Tumor,0换成Normal

design$tumor[design$tumor==1] <- "Tumor"#1换成Tumordesign$tumor[design$tumor==0] <- "Normal"#0换成Normaldesign<-design[,-1]#去掉normal这一列colnames(design)[1]<-'Type'#cancer这一列列名改为Typehead(design)

将logCPM倒置,变成数据框,增加ID这一列

drawdata=as.data.frame(t(logCPM))drawdata$ID<-row.names(drawdata)drawdata[1:5,19593:19598]

design与drawdata合并

drawdata1=dplyr::inner_join(drawdata,design,by ="ID",copy=T)

ggplot2画图

点图

ggplot(drawdata1, aes(Type, CLEC4G,color=Type)) + geom_jitter()

箱图

ggplot(drawdata1, aes(Type, CLEC4G,color=Type))+ geom_boxplot()

小提琴图

ggplot(drawdata1, aes(Type, CLEC4G,color=Type)) + geom_violin()

合并图

ggplot(drawdata1,aes(Type, CLEC4G,color=Type)) + geom_violin()+ geom_jitter()+ geom_boxplot()

好了,今天就到这啦。

另外,最近收集了一些很好的资源,想分享给大家,顺便能涨一些粉,主要有

1. 19年中标的各门类国自然题目汇总,以及17年的国自然汇总,部分含摘要!


2. R语言学习书籍

R语言实战(中文完整版)

R数据科学(中文完整版)

ggplot2:数据分析与图形艺术

30分钟学会ggplot2

3. TCGA数据整理

前期从https://xenabrowser.net/datapages/ (UCSC Xena)数据库下载的TCGA数据,传到了百度云上备份。

感兴趣的话,转发朋友圈或者100人以上的微信群,截图发到公众号,即可获取全部资源的百度云链接,链接7天有效,希望大家赶紧下载。你们的支持是我前进的动力,感谢。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
5分的生信数据挖掘文章全部图表复现(纯R代码)
TCGA(转录组)差异分析三大R包及其结果对比
看完还不会来揍/找我 | 基于 LASSO 回归筛选变量以构建预测模型 | 附完整代码 注释
简单使用limma做差异分析 – 生信笔记
手动从GEO下载预处理Matrix文件并进行简单分析 | LiuMWei's Recordings
宝藏:TCGA任意基因任意肿瘤,随意分析(附数据和代码)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服