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数据下载要首先运行这个模块)

cc2f4a24610efa85b719f3736fafe618.jpeg

详细教程地址: 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压缩包可以用这一步下载处理)

0a9e3f146d201e4a1f2e3e6cddf03081.jpeg

教程地址

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

普通RNAseq转录组的GSEXXX_RAW.tar压缩包的多样本整合处理

c219c69b7c722c297dabb8a8b3d5c797.jpeg

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

1.3 GEO网页中存在可以手动下载的表达矩阵等文件的下载处理教程

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

62506b77209ba73dfd139f1d780f13ef.jpeg

132eb0909a7bf2f70e831ce969bb2634.jpeg

教程视频: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/

d438d39416301d1e1f43911599debb7a.jpeg

2.1.2 对GPLsoft文件中没有基因名称的探针获取基因注释(第二种基因探针注释方法)

该方法对于一些非编码RNA的GSE数据集的注释可能会非常有用

该节教程:https://www.bilibili.com/video/BV12b421e7SX/

edf6818ea380ae017648c7619d2ff260.jpeg

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或名称间的互相转换是非常有用的。

2f2ed97cd12b574b5c9e27fb88a0fdbe.jpeg

2.1.4 不同物种间同源基因转换

该节教程:https://www.bilibili.com/video/BV1B1421k7K9/

该方法对于小鼠和人之间的基因名称相互转换或者其它物种的基因名称转成人或小鼠的基因名称从而方法进行某些只能用人或小鼠模式生物才能做的生信分析是非常有用的。

b8d6868915b716397b336930b83385ab.jpeg

2.2 将提取的基因注释信息跟表达矩阵合并

该节教程:https://www.bilibili.com/video/BV12f421Q7nK/

37dbb9398ce9bbb3da575b9408737420.jpeg

2.3 GEO的样本分组信息提取和处理教程

2.3.1 从样本注释文件中提取出分组数据 (优先选择使用这种方法)

该节教程: https://www.bilibili.com/video/BV1rT421v77P/

0963cec408141d5241e7a85e50a271d9.jpeg

2.3.2 从表达矩阵中提取出分组信息 (第2种分组信息提取方法)

该节教程:https://www.bilibili.com/video/BV1sz421h7rc/

92562c5082993deea2824ef54d8b3da4.jpeg

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/

71689e7f796c023174fb629aa5f6c95c.jpeg

3.1.2 基因表达芯片的质控

该节教程: https://www.bilibili.com/video/BV1vy411b7yQ/

86e910360c0fff461f71d16e92e355a8.jpeg

3.1.3表达芯片进行归一化处理

该节教程: https://www.bilibili.com/video/BV1fJ4m1u7jX/

234d1d9681816873306e56e27fc15554.jpeg

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/

4b4bee42db6484c9c7a7e32121e70c96.jpeg

3.2.2 利用表达矩阵进行箱式图绘制

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

视频教程: https://www.bilibili.com/video/BV1b1421b7Qx/

dd24beef736ff5f6fa0de9e0441c4eb0.jpeg

4. 样本PCA分群聚类分析和剔除异常样本

4.1 样本的PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

92bfc0ad51e891c61373a824234e11f4.jpeg

4.2 删除PCA分群聚类的异常离群样本

该节教程:https://www.bilibili.com/video/BV1Um421N7X8/

e0a194a4dd843fc9205b9875bc50eab6.jpeg

4.3 剔除异常离群样本后的再次PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

3783987e3cc233a44ab6e5f9872b2b34.jpeg

5. 多个数据集的整合和去除批次效应

5.1 多个数据集合并 (如何需要整合分析多个数据集,就运行这一步)

该节教程:https://www.bilibili.com/video/BV1j4421X7Ls/

515b6c6b64e83298d698f0d646686527.jpeg

5.2 多数据集合并后一起所有样本表达数据一起做归一化处理(RNAseq counts整型数据不需要做这一步)

该节教程: https://www.bilibili.com/video/BV1fJ4m1u7jX/

2f0ca5b87fc21c632d79e98c61b02de9.jpeg

5.3去除批次效应(即使单个数据集中有多个批次信息,也要运行这一步)

一般我们如果合并了多个数据集,都是需要要去除批次效应的,但是,即使单个数据集中如果有多个批次信息,也要运行这一步

该节教程: https://www.bilibili.com/video/BV1Yy411h78f/

3b8d20aec96b35b4b0872a9568f78853.jpeg

5.4 去除批次效应后的样本PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

edf6e10089bf561c3d285c9a2ac8579a.jpeg

5.4 删除PCA分群聚类的异常离群样本

该节教程:https://www.bilibili.com/video/BV1Um421N7X8/

8c13542a85b06cd6770102424d7cb555.jpeg

5.5 剔除异常离群样本后的再次PCA聚类分群分析

该节教程:https://www.bilibili.com/video/BV1if421X7pM/

d0c6a48ad792a8cdaf8ea54226424e95.jpeg

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/

9b6604cf845e65d30c7db27fba7156cd.jpeg

这个差异分析模块是可以做任意物种的差异分析,如果是人,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/

04cb3022d726cab777ea468c85eea119.jpeg

6.3 按照某个基因或特征的高低分组的差异分析

6.3.1 按照某些特征的高低阈值对样本进行分组

该节教程:https://www.bilibili.com/video/BV1CZ421M75J/

2b7776da005e0e7e9f7f3c6e4dc36501.jpeg

6.3.2 按照某个基因或特征的高低分组的差异分析

按照某个基因或特征的高低分组的差异分析

该节教程:https://www.bilibili.com/video/BV18E4m1R7Wp/

efa05ae94f82715ff09ae88fd9439b9c.jpeg

这个差异分析模块也是可以做任意物种的差异分析,如果是人,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/

af4708eb36407d7a75121c1be334da40.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/378912.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前瞻断言与后瞻断言:JavaScript 正则表达式的秘密武器

JavaScript 中的前瞻断言(lookahead)和后瞻断言(lookbehind)相信用过的小伙伴就知道它的威力了,在一些特定的需求场景下,可以做到四两拨千斤的作用,今天让我们来盘点一下在 JavaScript 正则表达…

微信小程序与本地MySQL数据库通信

微信小程序与本地MySQL数据库通信 因为本地MySQL服务器没有域名,也没有进行相应的请求操作封装,因此微信小程序没办法和数据库通信。 但是对于开发人员来说,没有数据库,那还能干撒?虽然我尝试过用json-server&#x…

简单搭建卷积神经网络实现手写数字10分类

搭建卷积神经网络实现手写数字10分类 1.思路流程 1.导入minest数据集 2.对数据进行预处理 3.构建卷积神经网络模型 4.训练模型,评估模型 5.用模型进行训练预测 一.导入minest数据集 MNIST--->raw--->test-->(0,1,2...) 10个文件夹 MNIST--->raw-…

在pycharm 2023.2.1中运行由R语言编写的ipynb文件

在pycharm 2023.2.1中运行由R语言编写的ipynb文件 背景与目标: 项目中包含由R语言编写的ipynb文件,希望能在pycharm中运行该ipynb文件。 最终实现情况: 未能直接在pycharm中运行该ipynb文件,但是替代的实现方法有:…

百度网盘Android一二面凉经(2024)

百度网盘Android一二面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《百度网盘Android一二面凉经(2024)》。 面试职位: 网盘主端研发组_Android高级研…

MyPostMan 迭代文档管理、自动化接口闭环测试工具(自动化测试篇)

MyPostMan 是一款类似 PostMan 的接口请求软件,按照 项目(微服务)、目录来管理我们的接口,基于迭代来管理我们的接口文档,文档可以导出和通过 url 实时分享,按照迭代编写自动化测试用例,在不同环…

CSS3实现提示工具的渐入渐出效果及CSS3动画简介

上一篇文章用CSS3实现了一个提示工具,本文介绍如何利用CSS3实现提示工具以渐入的方式呈现,以渐出的方式消失。 CSS3主要可以通过两个样式来实现动画效果:animation和transition。 其中,animation需要自己定义一组关键帧从而实现…

在 Navicat BI 创建自定义字段:类型更改字段

早在 Navicat 17 的预览版中,我们就已经介绍了一些新的商业智能(BI)功能,即图表互动和计算字段。需要说明的是,计算字段不是 Navicat BI 中唯一可用的自定义字段类型。事实上,有五种:类型改变、…

@google/model-viewer 导入 改纹理 (http-serve)

导入模型 改纹理 效果图 <template><div><h1>鞋模型</h1><model-viewerstyle"width: 300px; height: 300px"id"my-replace-people"src"/imgApi/Astronaut.glb"auto-rotatecamera-controls></model-viewer>&…

C++——函数模板和类模板

目录 一、函数模板 二、类模板 一、函数模板 当我们没有使用到模板的时候&#xff0c;我们如果要交换两个数据&#xff0c;那么我们就要根据交换的数据的类型&#xff0c;写出例如以下的函数&#xff1a; void Swap(int& a, int& b) {int tmp a;a b;b tmp; }void S…

HardeningMeter:一款针对二进制文件和系统安全强度的开源工具

关于HardeningMeter HardeningMeter是一款针对二进制文件和系统安全强度的开源工具&#xff0c;该工具基于纯Python开发&#xff0c;经过了开发人员的精心设计&#xff0c;可以帮助广大研究人员全面评估二进制文件和系统的安全强化程度。 功能特性 其强大的功能包括全面检查各…

appium2.0 执行脚本遇到的问题

遇到的问题&#xff1a; appium 上的日志信息&#xff1a; 配置信息 方法一 之前用1.0的时候 地址默认加的 /wd/hub 在appium2.0上&#xff0c; 服务器默认路径是 / 如果要用/wd/hub 需要通过启动服务时设置基本路径 appium --base-path/wd/hub 这样就能正常执行了 方法二…

react基础样式控制

行内样式 <div style{{width:500px, height:300px,background:#ccc,margin:200px auto}}>文本</div> class类名 注意&#xff1a;在react中使用class类名必须使用className 在外部src下新建index.css文件写入你的样式 .fontcolor{color:red } 在用到的页面引入…

C#学习-刘铁猛

文章目录 1.委托委托的具体使用-魔板方法回调方法【好莱坞方法】&#xff1a;通过委托类型的参数&#xff0c;传入主调方法的被调用方法&#xff0c;主调方法可以根据自己的逻辑决定调用这个方法还是不调用这个方法。【演员只用接听电话&#xff0c;如果通过&#xff0c;导演会…

STM32使用Wifi连接阿里云

目录 1 实现功能 2 器件 3 AT指令 4 阿里云配置 4.1 打开阿里云 4.2 创建产品 4.3 添加设备 5 STM32配置 5.1 基础参数 5.2 功能定义 6 STM32代码 本文主要是记述一下&#xff0c;如何使用阿里云物联网平台&#xff0c;创建一个简单的远程控制小灯示例。 完整工程&a…

vue、js截取视频任意一帧图片

html有本地上传替换部分&#xff0c;可以不看 原理&#xff1a;通过video标签对视频进行加载&#xff0c;随后使用canvas对截取的视频帧生成需要的图片 <template> <el-row :gutter"18" class"preview-video"><h4>视频预览<span&…

【概率论三】参数估计:点估计(矩估计、极大似然法)、区间估计

文章目录 一. 点估计1. 矩估计法2. 极大似然法2.1. 似然函数2.2. 极大似然估计法 3. 评价估计量的标准3.1. 无偏性3.2. 有效性3.3. 一致性 二. 区间估计1. 区间估计的概念2. 正态总体参数的区间估计 参数估计讲什么 由样本来确定未知参数参数估计分为点估计与区间估计 一. 点估…

[iOS]浅析isa指针

[iOS]浅析isa指针 文章目录 [iOS]浅析isa指针isa指针isa的结构isa的初始化注意事项 上一篇留的悬念不止分类的实现 还有isa指针到底是什么 它是怎么工作的 class方法又是怎么运作的 class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags 这里面的class又是何方…

新华三H3CNE网络工程师认证—VLAN使用场景与原理

通过华三的技术原理与VLAN配置来学习&#xff0c;首先介绍VLAN&#xff0c;然后介绍VLAN的基本原理&#xff0c;最后介绍VLAN的基本配置。 一、传统以太网问题 在传统网络中&#xff0c;交换机的数量足够多就会出现问题&#xff0c;广播域变得很大&#xff0c;分割广播域需要…

R语言优雅的把数据基线表(表一)导出到word

基线表&#xff08;Baseline Table&#xff09;是医学研究中常用的一种数据表格&#xff0c;用于在研究开始时呈现参与者的初始特征和状态。这些特征通常包括人口统计学数据、健康状况和疾病史、临床指标、实验室检测、生活方式、社会经济等。 本人在既往文章《scitb包1.6版本发…