GEO数据挖掘从数据下载处理质控到差异分析全流程分析步骤指南
0. 综合的教学视频介绍
GEO数据库挖掘分析作图全流程每晚11点在线教学直播录屏回放视频: https://www.bilibili.com/video/BV1rm42157CT/
GEO数据从下载到各种挖掘分析全流程详解: https://www.bilibili.com/video/BV1nm42157ii/
一篇今年近期发表的转录组生信分析论文复现全流程直播: https://www.bilibili.com/video/BV184421Q7pj/
1. GEO数据下载教程
1.1根据GEO的GSE数据集编号自动下载和处理GEO数据教程(必须要运行的模块,GEO数据下载要首先运行这个模块)

详细教程地址: https://zhuanlan.zhihu.com/p/708053447
下载GEO数据一定要先运行下这个模块,部分数据集不一定能下载提取出表达矩阵,但是一般能下载到非常完整的样本的注释信息等数据文件,这在对GEO数据集临床信息分析或分组差异分析是非常重要的。
当然如果少数GSE数据集遇到没有提取出GSEXXX_sample_info.csv的情况,也可以看看我b站的教学视频,根据GEO网页中的样本编号的分组情况,自建一个这样的分组文件,分组文件一般是长这个样子的,有两列,一列列名叫sample.id,是GSM编号信息,另一列是group.level,存放的是分组信息,当然sample.id这一列的样本名还是要以表达矩阵的样本名为准,这样才能让表达矩阵后面跟样本分组信息按照相同的列名整合在一起:

对于部分没有下载出表达矩阵的数据集,如果该数据集的GEO网页中有GSEXXX_RAW.tar格式的压缩包,可以运行下面的1.2这一步对RAW.tar的压缩包文件进行提取和处理。
1.2 转录组和基因芯片GSE数据集RAW.tar压缩包下载和多样本整合处理教程 (GEO网页中有RAW.tar压缩包可以用这一步下载处理)

教程地址
教程地址:转录组和基因芯片GSE数据集RAW.tar压缩包下载和多样本整合处理教程 - 邢博士谈科教的文章 : https://zhuanlan.zhihu.com/p/708244032
普通RNAseq转录组的GSEXXX_RAW.tar压缩包的多样本整合处理

各种不同格式的基因表达芯片的GSEXXX_RAW.tar压缩包的多样本整合处理

1.3 GEO网页中存在可以手动下载的表达矩阵等文件的下载处理教程
如果在1.1步没有自动下载提取出基因表达矩阵,GEO网页中也没有GSEXXX_RAW.tar压缩包文件,但是存在可以手动下载的一些表达矩阵等数据文件,可以用这一步进行下载和处理。


教程视频:https://www.bilibili.com/video/BV1Yf421X7Cj/
2. GEO数据处理清洗教程
2.1 GEO的表达矩阵的探针ID转换成基因名称教程 (提取的表达矩阵里只有基因探针ID,没有正式的基因名称时运行这一步)
2.1.0 教程地址
GEO的表达矩阵的探针ID转换成基因名称教程 - 邢博士谈科教的文章 - 知乎
https://zhuanlan.zhihu.com/p/708404618
2.1.1 从gpl注释文件中提取出基因注释 (优先用这种方法进行基因名称注释)
该节教程:https://www.bilibili.com/video/BV15w4m1q7Dw/

2.1.2 对GPLsoft文件中没有基因名称的探针获取基因注释(第二种基因探针注释方法)
该方法对于一些非编码RNA的GSE数据集的注释可能会非常有用
该节教程:https://www.bilibili.com/video/BV12b421e7SX/

2.1.3 同一物种不同类型基因id转换
该节教程:https://www.bilibili.com/video/BV1YD421M7qR/
该模块对于基因名称SYMBOL跟ENTREZID,ENSEMBL(为ENSG等开头基因ID),REFSEQ(为NM开头:mRNA,NP开头:蛋白,NR开头:非编码RNA),UNIPROT,UCSCKG(为ENST转录本)这六种类型中的一中或多种类型的基因ID或名称间的互相转换是非常有用的。

2.1.4 不同物种间同源基因转换
该节教程:https://www.bilibili.com/video/BV1B1421k7K9/
该方法对于小鼠和人之间的基因名称相互转换或者其它物种的基因名称转成人或小鼠的基因名称从而方法进行某些只能用人或小鼠模式生物才能做的生信分析是非常有用的。

2.2 将提取的基因注释信息跟表达矩阵合并
该节教程:https://www.bilibili.com/video/BV12f421Q7nK/

2.3 GEO的样本分组信息提取和处理教程
2.3.1 从样本注释文件中提取出分组数据 (优先选择使用这种方法)
该节教程: https://www.bilibili.com/video/BV1rT421v77P/

2.3.2 从表达矩阵中提取出分组信息 (第2种分组信息提取方法)
该节教程:https://www.bilibili.com/video/BV1sz421h7rc/

2.3.3 自己构建分组信息文件
当然如果少数GSE数据集遇到没有提取出GSEXXX_sample_info.csv的情况,也可以看看我b站的教学视频,根据GEO网页中的样本编号的分组情况,自建一个这样的分组文件,分组文件一般是长这个样子的,有两列,一列列名叫sample.id,是GSM编号信息,另一列是group.level,存放的是分组信息,当然sample.id这一列的样本名还是要以表达矩阵的样本名为准,这样才能让表达矩阵后面跟样本分组信息按照相同的列名整合在一起:

3. 质控和标准化
3.1 基因表达芯片的质控和标准化
3.1.1构建ExpressionSet分析对象 (首先先运行这一步)
基因的芯片的质控需要的数据格式是ExpressionSet这种格式,所以先需要构建个ExpressionSet对象
该节教程:https://www.bilibili.com/video/BV1br421c71A/

3.1.2 基因表达芯片的质控
该节教程: https://www.bilibili.com/video/BV1vy411b7yQ/

3.1.3表达芯片进行归一化处理
该节教程: https://www.bilibili.com/video/BV1fJ4m1u7jX/

3.2 普通转录组RNAseq定量的表达矩阵质控和标准化的操作和答疑
3.2.0 普通转录组RNAseq定量的表达矩阵是否需要质控和标准化的答疑
RNAseq测序数据在上游处理分析时候已经经过质控处理,是不需要再进行质控的,我们一般从GEO数据库里下载处理的RNAseq测序数据的表达矩阵要么是counts整数值表达矩阵文件,要么可能是FPKM/RPKM或TPM相对定量且标准化后连续性数值表达矩阵。
在差异分析的时候,转录组的差异分析主流的DESeq2和edgeR这两个差异分析工具是需要用不经过任何处理的原始的counts表达矩阵作为输出数据的,所以我们是不需要对从GEO数据库中下载和提取的counts表达矩阵做任何质控标准化操作的。
如果我们没有counts表达矩阵,只下载到了FPKM/RPKM或TPM相对定量且标准化后连续性数值表达矩阵,这样的数据已经经过了标准化处理,在我们做差异分析的时候,只需要对该类表达矩阵数据取个log2对数处理就可以了,同时这样的数据已经不能使用DESeq2和edgeR做差异分析了,只能用limma这个工具做差异分析。而在我的OmicsTools差异分析模块用limma做差异分析时,是会自动对数据分布和量级差别较大的数据进行取对数处理的。所以,大家也不需要手动对这类数据提取进行取对数处理的。
对于FPKM/RPKM或TPM数据,如果大家在做limma差异分析之前,如果想先看下RNAseq的表达矩阵每个样本所有基因的表达数据的分布情况是否一致,可以用下面的这两个模块进行表达矩阵的可视化作图
3.2.1 使用表达矩阵进行密度图绘制
该绘图模块会绘制每个样本的表达数据的密度曲线,好的连续数据的密度曲线应该近似钟形曲线的正态分布。
视频教程:https://www.bilibili.com/video/BV1yx4y1W7Vb/

3.2.2 利用表达矩阵进行箱式图绘制
利用表达矩阵进行箱式图绘制(用于查看质控标准化结果) ,质量好的数据应该是所有样本的箱式图中的中位数应该位于同一水平线上,箱式图分布性状也比较近似,没有特别严重的高低不齐的现象。
视频教程: https://www.bilibili.com/video/BV1b1421b7Qx/

4. 样本PCA分群聚类分析和剔除异常样本
4.1 样本的PCA聚类分群分析
该节教程:https://www.bilibili.com/video/BV1if421X7pM/

4.2 删除PCA分群聚类的异常离群样本
该节教程:https://www.bilibili.com/video/BV1Um421N7X8/

4.3 剔除异常离群样本后的再次PCA聚类分群分析
该节教程:https://www.bilibili.com/video/BV1if421X7pM/

5. 多个数据集的整合和去除批次效应
5.1 多个数据集合并 (如何需要整合分析多个数据集,就运行这一步)
该节教程:https://www.bilibili.com/video/BV1j4421X7Ls/

5.2 多数据集合并后一起所有样本表达数据一起做归一化处理(RNAseq counts整型数据不需要做这一步)
该节教程: https://www.bilibili.com/video/BV1fJ4m1u7jX/

5.3去除批次效应(即使单个数据集中有多个批次信息,也要运行这一步)
一般我们如果合并了多个数据集,都是需要要去除批次效应的,但是,即使单个数据集中如果有多个批次信息,也要运行这一步
该节教程: https://www.bilibili.com/video/BV1Yy411h78f/

5.4 去除批次效应后的样本PCA聚类分群分析
该节教程:https://www.bilibili.com/video/BV1if421X7pM/

5.4 删除PCA分群聚类的异常离群样本
该节教程:https://www.bilibili.com/video/BV1Um421N7X8/

5.5 剔除异常离群样本后的再次PCA聚类分群分析
该节教程:https://www.bilibili.com/video/BV1if421X7pM/

6. 差异分析
6.0 不同数据的差异分析方法选择
6.0.1 整个转录组所有基因批量差异分析的数据格式和方法选择
数据格式: counts数据>> TPM数据> >FPKM/RPKM数据
差异分析工具: DESeq2 =edgeR > >(log2对数标准化+limma)
1.有counts数据的时候,优先选择使用counts数据+DESeq2/edgeR工具进行整个转录组的批量差异分析
2.没有counts数据,但是有TPM数据的时候,优先选择使用TPM数据+(log2对数标准化+limma工具)进行整个转录组的批量差异分析
3.没有counts数据,也没有TPM数据的时候,可以选择使用FPKM/RPKM+(log2对数标准化+limma工具)进行整个转录组的批量差异分析。
在我的OmicsTools差异分析模块用limma做差异分析时,是会自动对数据分布和量级差别较大的数据进行取对数处理的。所以,大家也不需要手动对这类数据提取进行取对数处理的。
6.0.2 基因芯片或其它组学或连续数值的表达矩阵的差异分析方面选择
基因芯片或其它组学或连续数值的表达矩阵的差异分析时,一律是log2(表达矩阵)+limma工具差异分析这种方法。在我的OmicsTools差异分析模块用limma做差异分析时,是会自动对数据分布和量级差别较大的数据进行取对数处理的。所以,大家也不需要手动对这类数据提取进行取对数处理的。
6.1 通用差异分析 (各种类型的组学数据都适用的差异分析模块)
该节教程:https://www.bilibili.com/video/BV1Lw4m1q71T/

这个差异分析模块是可以做任意物种的差异分析,如果是人,func_org参数就填’human’, 如果不是人,就填不是’human’的任意其它物种名称就行。
因为edgeR差异分析建议,如果是人类的RNAseq数据,bcv生物变异度设置为0.4,如果是非人类的模式生物,bcv设置为0.1,在用edgeR做差异分析时,所有当输入的物种是human的时候,会自动把bcv生物变异度设置为0.4, 非human的时候,bcv会设置为0.1
6.2 通用批量差异分析(可同时对多个数据集文件做差异分析)
该节教程: https://www.bilibili.com/video/BV1vD421g7Vj/

6.3 按照某个基因或特征的高低分组的差异分析
6.3.1 按照某些特征的高低阈值对样本进行分组
该节教程:https://www.bilibili.com/video/BV1CZ421M75J/

6.3.2 按照某个基因或特征的高低分组的差异分析
按照某个基因或特征的高低分组的差异分析
该节教程:https://www.bilibili.com/video/BV18E4m1R7Wp/

这个差异分析模块也是可以做任意物种的差异分析,如果是人,func_org参数就填’human’, 如果不是人,就填不是’human’的任意其它物种名称就行。
因为edgeR差异分析建议,如果是人类的RNAseq数据,bcv生物变异度设置为0.4,如果是非人类的模式生物,bcv设置为0.1,在用edgeR做差异分析时,所有当输入的物种是human的时候,会自动把bcv生物变异度设置为0.4, 非human的时候,bcv会设置为0.1
6.4 根据logFC和p值等条件对差异分析结果进行筛选
提取出符合条件的特定行列的子数据集
该节教程: https://www.bilibili.com/video/BV1BM4m1Q7Qx/

相关文章:
GEO数据挖掘从数据下载处理质控到差异分析全流程分析步骤指南
0. 综合的教学视频介绍 GEO数据库挖掘分析作图全流程每晚11点在线教学直播录屏回放视频: https://www.bilibili.com/video/BV1rm42157CT/ GEO数据从下载到各种挖掘分析全流程详解: https://www.bilibili.com/video/BV1nm42157ii/ 一篇今年近期发表的转…...
我想我大抵是疯了,我喜欢上了写单元测试
前言 大家好我是聪。相信有不少的小伙伴喜欢写代码,但是对于单元测试这些反而觉得多此一举,想着我都在接口文档测过了!还要写什么单元测试!写不了一点!! 由于本人也是一个小小程序猿🙉…...
【Visual Studio】Visual Studio使用技巧及报错解决合集
目录 目录 一.概述 二.Visual Studio报错问题及解决方法 三.Visual Studio操作过程中遇到的问题及解决方法 四.Visual Studio编译优化选项 五.Visual Studio快捷键 一.概述 持续更新Visual Studio报错及解决方法,包括Visual Studio报错问题及解决方法、Visua…...
服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例
服务器存储数据恢复环境: 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列(包含一块热备盘)。 服务器存储故障: 该存储中的RAID5阵列1块硬盘由于未知原因离线,热备盘上线并开始同步数据,数据同步到…...
算法题目整合
文章目录 121. 小红的区间翻转142. 两个字符串的最小 ASCII 删除总和143. 最长同值路径139.完美数140. 可爱串141. 好二叉树 121. 小红的区间翻转 小红拿到了两个长度为 n 的数组 a 和 b,她仅可以执行一次以下翻转操作:选择a数组中的一个区间[i, j]&…...
万界星空科技AI低代码平台:重塑数字化创新边界
在这个日新月异的数字化时代,技术的飞速发展正以前所未有的力量重塑着每一个行业。企业如何在瞬息万变的市场环境中保持竞争力,实现业务的快速迭代与创新? 重塑开发模式,加速数字化转型 传统软件开发周期长、成本高、门槛高&…...
iredmail服务器安装步骤详解!如何做配置?
iredmail服务器安全性设置指南?怎么升级邮件服务器? iredmail是一个功能强大的邮件服务器解决方案,它集成了多个开源软件,使您能够快速部署和管理邮件服务。AokSend将逐步引导您完成安装过程,无需深入的编程知识即可轻…...
【vue深入学习第1章】Vue.js 中的 Ajax 处理:vue-resource 库的深度解析
在现代前端开发中,Ajax 请求是与后端进行数据交互的关键技术。Vue.js 作为一个渐进式 JavaScript 框架,提供了多种方式来处理 Ajax 请求,其中 vue-resource 是一个较为常用的库。尽管 vue-resource 在 Vue 2.x 之后不再是官方推荐的 Ajax 处理…...
JDK新特性(Lambda表达式,Stream流)
Lambda表达式: Lambda 表达式背后的思想是函数式编程(Functional Programming)思想。在传统的面向对象编程中,程序主要由对象和对象之间的交互(方法调用)构成;而在函数式编程中,重点…...
【ARM】MDK-服务器与客户端不同网段内出现卡顿问题
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录不同网段之间的请求发送情况以及MDK网络版license文件内设置的影响。 2、 问题场景 客户使用很久的MDK网络版,在获取授权时都会出现4-7秒的卡顿,无法对keil进行任何操作,彻底…...
c++树(一)定义,遍历
目录 树的定义 树的基本术语 树的初始起点:我们定义为根 树的层次: 树的定义: 树的性质 性质1: 性质2: 树形结构存储的两种思路 树的遍历模板 树上信息统计方式1-自顶向下统计 树上信息统计方式2-自底向上统…...
YOLOv5和LPRNet的车牌识别系统
车牌识别系统 YOLOv5和LPRNet的车牌识别系统结合了深度学习技术的先进车牌识别解决方案。该系统整合了YOLOv5目标检测框架和LPRNet文本识别模型 1. YOLOv5目标检测框架 YOLO是一种先进的目标检测算法,以其实时性能和高精度闻名。YOLOv5是在前几代基础上进行优化的…...
内容安全(深度行为检测技术、IPS、AV、入侵检测方法)
1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…...
MySQL双主双从实现方式
双主双从(MM-SS) 前言 避免单一主服务器宕机,集群写入能力缺失 从 1 复制 主1 ,从 2 复制 主 2 主 1 复制 主 2,主 2 复制主 1 也就是 主 1 和主 2 互为主从。主1主2互为主从, 是为了以下情景,…...
pico+unity手柄和摄像机控制初级设置
1、摄像头配置 摄像头模式、floor是追踪原点类型(将根据设备检测到地面的高度来计算追踪原点), Device 模式时,为通常理解的 Eye 模式,不会将根据设备检测到地面的高度来计算追踪原点 选择floor时,修改相…...
vxe-grid 实现配置式form搜索条件 form搜索条件框可折叠 配置式table
文章目录 效果图代码 效果图 代码 <template><div class"app-container"><vxe-grid refxGrid v-bind"gridOptions" v-if"tableHeight" :height"tableHeight"><template #billDate"{ data }"><e…...
TS相较于JS有什么优缺点
TypeScript(TS)是JavaScript的一个超集,它添加了静态类型检查和编译时的强大功能,目的是提高代码质量和维护性。相较于JavaScript,TS的主要优点和缺点如下: 优点: 类型安全性:通过…...
【Harmony】SCU暑期实训鸿蒙开发学习日记Day2
目录 Git 参考文章 常用操作 ArkTS的网络编程 Http编程 发送请求 GET POST 处理响应 JSON数据解析 处理响应头 错误处理 Web组件 用生命周期钩子实现登录验证功能 思路 代码示例 解读 纯记录学习日记,杂乱,误点的师傅可以掉了…...
vue3前端开发-执行npm run dev提示报错怎么解决
vue3前端开发-执行npm run dev提示报错怎么解决!今天在本地安装初始化了一个vue3的案例demo。但是当我执行npm run dev想启动它时报错了说,找不到dev。让我检查package.json文件是否包含dev。如下图所示: 实际上,不必惊慌…...
https 单向认证和双向认证
单向认证 单向认证是客户端(通常是浏览器)验证服务器的身份。服务器向客户端提供数字证书,客户端通过验证该证书的真实性来确认与服务器的连接是安全的。 服务器提供证书:服务器向客户端提供一个数字证书,用于验证服务器的身份。客户端验证服务器:客户端验证服务器的证书…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
