GEO2R数据分析

首先感谢生信技能树大神jmzeng1314提供的github包,由于我这边访问github比较困难,因此我已经导入到我的 gitee 托管平台 https://gitee.com/swcyo,
特别声明:正版托管地址是https://github.com/jmzeng1314
由于GEO官网下载网址的服务器均位于美国,在国内访问下载麻烦,因此,国内大神jmzeng1314开发了“GEOmirror和AnnoProbe两个神包,二者结合起来可迅速下载GEO数据,并且可以直接注释基因。极力推荐
-需要的包为GEOqueryGEOmirror和AnnoProbe`

#安装bioconductor包GEOquery
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("GEOquery")
#安装github包GEOmirror和AnnoProbe
remotes::install_github("jmzeng1314/GEOmirror")
remotes::install_github("jmzeng1314/AnnoProbe")
#三个包同时加载
library(AnnoProbe)
library(GEOmirror)
library(GEOquery)

操作演示,如GSE42872的下载,矩阵、信息获得、并基因注释
还可以导入以及下载好的数据

#下载获取GSE13507数据
gset=AnnoProbe::geoChina('GSE13507')
gset

检查表达式集eSet=gset[[1]] # 提取表达矩阵
probes_expr <- exprs(eSet)
dim(probes_expr)
probes_expr=log2(probes_expr+1) #表达矩阵行log2+1归一化处理
# 提取表型数据信息
phenoDat <- pData(eSet)

得到的表达矩阵并不是symbol,因此需要芯片注释,也就是ID转换,平台注释是在线加载的,但也仅需数秒即可完成


# 对表达芯片的探针进行基因注释(gpl=eSet@annotation)
checkGPL(gpl)
printGPLInfo(gpl)probe2gene=idmap(gpl)
genes_expr <- filterEM(probes_expr,probe2gene )

以为到这就结束了吗?并不是,还可以继续

limma的经典2组差异分析走一下

## define the group
group_list=factor(c(rep('Normal',68),rep('Cancer',188))) #自己定义分组和数量
##按title自定义,如包含‘bladder’定义为‘cancer’
library(stringr)
group_list=ifelse(str_detect(phenoDat$title,"bladder"),"cancer","normal")
#设置参考水平,对照在前,处理在后
group_list = factor(group_list,levels = c("normal","cancer"))table(group_list)
library(limma)
design=model.matrix(~factor(group_list))
design
fit=lmFit(genes_expr,design)
fit=eBayes(fit)
DEG=topTable(fit,coef=2,n=Inf)
head(DEG)

对差异分析结果进行一些检验

need_deg=data.frame(symbols=rownames(DEG), logFC=DEG$logFC, p=DEG$P.Value)

火山图走一下,由于没有明显差异,因此没有上下调

deg_volcano(need_deg,1) #第一种图
deg_volcano(need_deg,1,logFC_thred = 0) #设置logFC范围
deg_volcano(need_deg,2) # 第二种图

热图走一下

deg_heatmap(DEG,genes_expr,group_list)
deg_heatmap(DEG,genes_expr,group_list,5) #显示前5对,数字可以自己定义

boxplot也来一下,一看就是基于ggpurb,当然可以自己后续DIY,加显著性标记

check_diff_genes('RAC3',genes_expr,group_list)
check_diff_genes('RAC3',genes_expr,group_list)+stat_compare_means(method = "t.test") #加个P值,手到擒来

有了差异基因和logFC值,结合前面Y叔的神包,GO和KEGG富集分析速速的

GEO2R数据下载速度慢、基因注释、差异分析、火山图、热图及后续处理相关推荐

  1. ML之kmeans:通过数据预处理(分布图箱线图热图/文本转数字/构造特征/编码/PCA)利用kmeans实现汽车产品聚类分析(SSE-平均轮廓系数图/聚类三维图/雷达图/饼图柱形图)/竞品分析之详细

    ML之kmeans:通过数据预处理(分布图箱线图热图/文本转数字/构造特征/编码/PCA)利用kmeans实现汽车产品聚类分析(SSE-平均轮廓系数图/聚类三维图/雷达图/饼图柱形图)/竞品分析之详细 ...

  2. seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化

    一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...

  3. Python生物信息学⑥绘制热图及火山图

    Python生物信息学⑥绘制热图及火山图 Python生物信息学③提取差异基因 通过上Python生物信息学③提取差异基因得到了该数据集的差异分析的两个关键参数,1.差异倍数(foldchange)以 ...

  4. RNA-seq结果图片如何解读(火山图、韦恩图、聚类热图和折线图)

    在RNA-seq项目中,常见的结果包括:火山图.韦恩图.聚类热图.log2(ratios)折线图.有向无环图.散点图.代谢通路图.蛋白互作图等.今天我们先来一起学习火山图.韦恩图.聚类热图和折线图的解 ...

  5. 怎么让热图显示基因名_OmicShare Tools - 基迪奥生物信息绘图云平台

    Q1.上传的数据需要保存成什么格式?文件名称和拓展名有没有要求? OmicShare要求上传的数据必须是"制表符分隔的文本文件",文件名可由由英文和数字构成,文件拓展名必须是&qu ...

  6. geo数据差异分析_答疑呀嘿丨如何对GEO数据库的数据进行差异表达基因分析?

    又是一周答疑时间到! 感谢本周答疑老师-上海其明的杨老师,侯老师和张老师! 本周又有一些小伙伴提出了他们的问题,有一些真的对大家比较有参考意义,注意认真阅读哦~ Q1-生信分析 问:想对GEO数据库的 ...

  7. RNA-seq(2):下载参考基因组及基因注释,及测序数据-学习笔记

    今天学习了如题的一些操作.但是并不算成功.本来打算做到quality control,结果大部分时间卡在了下载测序数据上. 参考网站: 下载参考基因组及基因注释) 1.安装ASPERA 1)wget ...

  8. 运用limma对基因进行差异分析

    此次案例我们是要比较ARID1A这个基因突变与不突变两亚类肝癌病人哪些基因的表达存在差异(寻找差异基因). 在之前的三篇TCGA的数据采集文章中,我们已经采集到了所需要的所有数据,具体见下: 那么接下 ...

  9. 利用TCGA癌症基因进行差异分析

    TCGA癌症基因差异分析步骤 文章目录 TCGA癌症基因差异分析步骤 1. 数据库下载 2. 将分散的文件转化为矩阵 3. 将矩阵id转化为基因名 4. 进行差异表达分析 1. 数据库下载 进入TCG ...

最新文章

  1. R语言distVincentyEllipsoid函数计算大圆距离实战(Great Circle Distance)
  2. 客户信贷评级 Python 实战
  3. 解禁策略组、注册表、各种应用程序、控制面板、运行、USB
  4. js 手机号加密 中间星号表示
  5. 三星note4安装linux,Leanote Ubuntu 源码安装
  6. eigen3.3.8帮助文档下载 chm_MAXHUB文档v1.10.1-MAXHUB文档电脑版下载
  7. lamp环境搭建经验总结
  8. 程序员终结者还是“白嫖”开源代码?GitHub推出的AI编程辅助工具陷入争议
  9. easyui框架中关于dialog自带关闭事件的使用
  10. 实习成长之路——设计模式三:组合与继承有啥关系?为什么说多用组合少用继承?如何选择使用哪种方式?
  11. 伍德里奇计量经济学导论第5版笔记和课后答案
  12. CentOS7--安装谷歌浏览器--详细步骤
  13. GitLab之docker注册Runner
  14. C/C++ 常用程序库
  15. 两栏 论文首页 插尾注方法 word2019
  16. 如何安装配置JDK(保姆级完美解决教程+附百度网盘链接)
  17. 违反唯一约束条件oracle,oracle imp遇到违反唯一约束条件 (GZW.SYS_C006112)
  18. 与同事协作一起维护发布同一个npm包,报错You do not have permission to publish
  19. ORA-3136错误分析——WARNING Inbound Connection Timed Out
  20. 使用Fairseq微调预训练模型

热门文章

  1. WEEE电子产品回收注册
  2. 实际已经定义却出现 error: #20: identifier xxx is undefined 的错误
  3. 速卖通上线无忧集运计划-中东集运卖家考核方案
  4. php select sum字段求和,PostgreSQL sum()函数
  5. 基于Canvas的N宫格拼图
  6. pandas组队学习 task10-时间序列
  7. 歌礼公布口服双前药ASC10及其抗病毒核苷类似物ASC10-A抑制奥密克戎变异株的积极数据 | 医药健闻...
  8. Python 爬取 394452 条《都挺好》弹幕数据,发现弹幕比剧还精彩?
  9. 天翼云服务器迁移阿里云_云迁移清单:要重点关注的3个关键领域
  10. [阿里实习]阿里云EMAS团队小程序云Serverless实习工作总结