使用DESeq2进行转录组原始count标准化和差异分析

news2025/7/11 12:21:17

转录组测序完成后,一般我们会获得一个原始 read count表达矩阵,其中行是基因,列是样品。常用的差异分析工具包括limma、edgeR和DESeq2。DESeq2在测序领域使用最为广泛(google scholar引用高达43284次,edgeR为28076次)。小编今天给大家介绍下我们的在线DESeq2差异分析模块,小伙伴们可以零代码进行GEO数据库表达矩阵的挖掘,后续再利用我们平台的各种绘图模块出图,大大加速了我们的科学研究。

1.打开绘图页面

首先,使用浏览器(推荐chrome或者edge)打开DESeq2差异分析页面。左侧为常见作图导航,中间为数据输入框和可选参数,右侧为描述和结果示例。也可以在搜索框中搜索deseq2,找到分析页面。

微生信-在线转录组(mRNA-seq等)raw counts DESeq2标准化及差异表达分析

                                                         图1,DESeq2分析页面

 

2,示例数据

点击右侧“示例数据”链接下载excel格式的示例数据。

                                                     图2. Raw count输入数据示例

示例raw count矩阵包括8列: 

第1列是基因id,必需唯一;

第2-4列是DHT组3个样品;

第5-8列是Control组4个样品。

                                                 图3. 比较方案输入数据示例

示例分组比较方案包括5列:

第1列是实验组的样品列表,共3个,英文逗号分隔

第2列是对照组的样品列表,共4个,英文逗号分隔

第3列是实验组组名

第4列是对照组组名

第5列是样品配对与否,unpaired表示非配对,paired表示配对。例如从1号、2号、3号共三个患者身上分别取癌症样品cancer1cancer2,cancer3,对照样品norm1norm2,norm3,那么paired配对比较时,顺序不能变,即:1号患者的cancer1,对应1号患者的norm1;2号患者的cancer2对应2号患者的norm2;3号患者的cancer3对应3号患者的norm3。而非配对比较(unpaired)则不考虑这种对应关系。

3,粘贴示例数据

拷贝示例数据中A-H列的raw count数据,粘贴到矩阵输入框。

拷贝J-N列的比较信息,粘贴到比较输入框。

注意:不是拷贝excel文件,是拷贝excel文件里边的数据。另外粘贴到输入框后,格式乱了没关系,只要在excel中是整齐的就行。同时数据矩阵中不能有空的单元格,中文字符等。

                                                       图4. 必需输入-raw count矩阵

                                                         图5. 必需输入-比较方案

4,修改参数,并提交

我们设置了原始count数之和的过滤最小过滤参数,默认不过滤。

                                                                     图6.过滤参数

5,提交获得结果

粘贴好输入数据,调整好参数后,点击提交按钮,约60秒钟后,会在页面右侧出现结果下载链接。下载并解压后,可以使用excel打开并利用筛选功能根据fold change和p值筛选差异表达基因,绘制热图,火山图,进行功能富集分析。

                                                                        7.结果下载

结果说明

由于我们未对低表达值进行过滤,因此,输入矩阵是多少个基因,分析结果也是多少个基因。

第1个sheet是表达谱,包括原始count和标准化count

第2+个sheet是差异总表。

                                                                图8. 差异结果

Fold change:两组间的倍数变化。正表示上调,负表示下调

Log2FoldChange:log2转化的倍数变化。正表示上调,负表示下调

Pvalue:p值

Padj:校正的p值

Regulation:上调或下调

*(mean):各组的标准化表达均值

不同平台相互印证测试

除了阅读DESeq2官方文档并使用官方代码外,我们还使用相同的raw count矩阵测试了其他4个第三方平台:DEApp,基迪奥,欧易,sangerbox。在这5个平台中,微生信的结果和sangerbox完全一样,而与其他3个平台的结果均略有差异(见图9)。图中所示785个基因是4种平台共有的,约占90%以上。

                                                             图9. 4种平台上调结果比较

 

究其原因,可能主要是内部filter过滤参数不一致造成的。在DESeq2官方文档中:While it is not necessary to pre-filter low count genes before running the DESeq2 functions, there are two reasons which make pre-filtering useful: by removing rows in which there are very few reads, we reduce the memory size of the dds data object, and we increase the speed of the transformation and testing functions within DESeq2. It can also improve visualizations, as features with no information for differential expression are not plotted.

意思就是过滤低表达量的基因不是必需的,过滤的用途包括:1,减少dds对象内存占用,提高计算速度;2,改善可视化。可以使用所有样品的均值过滤,也可以使用组内样品的均值进行过滤,在不确定过滤参数的情况下会出现结果差异的现象。

虽然我们参考的都是官方文档,但是由于大家对官方文档的具体细节处理、具体参数使用等存在差异,因此导致各个平台的结果略有差异,但是总体相差较小,基本不影响结果。

微生信助力高分文章,用户58000+,引用750+

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MYSQL索引查询问题质疑

前言 我们在写mysql查询语句的时候,尤其是经验不足的同学肯定会想要怎么使用索引加快查询,或是我这样写到底会不会命中索引。那么现在我就列举几个常见的索引查询问题进行简单说明一下。(欢迎互怼!) 1.问&#xff1a…

小学生python游戏编程arcade----游戏界面按钮实现事件实现的三种方法

小学生python游戏编程arcade----游戏界面按钮实现事件实现的三种方法前言游戏界面按钮实现事件实现的三种方法1、按钮定义及事件3种方法1.1 按钮定义1.2三种事件引用方法1.2.1 类法1.2.2 事件方法2,自定义方法函数1.2.3 事件方法3,使用装饰器处理onclick事件1.3 效果图1.4 代码…

第十四届蓝桥杯校模拟赛详解+代码(一)

“须知少时凌云志,自许人间第一流” 鄙人11月八号有幸参加学校蓝桥杯校选拔赛,题型为5道填空题,5道编程题,总时间为4小时。奈何能力有限,只完成了5道填空和3道编程大题,现进行自省自纠,分享学习…

艾美捷细胞计数试剂盒-8(CCK-8),一步到位

艾美捷细胞计数试剂盒-8(CCK-8):用于简单准确的细胞增殖和细胞毒性测定的比色试剂盒。 艾美捷细胞计数试剂盒-8(CCK-8)特点: 1、一步到位,不含放射性同位素的即用溶液 2、与[3H]-胸苷掺入试验…

分销商城平台哪个好_分享分销商城开发步骤

微信分销商城平台分为两种: 第一种是入驻到别人的微信分销商城平台里面,帮助分销别人发布的商品从而获得佣金。 第二种情况是自己公司开发的微信分销商城平台,然后招募分销者进行分销公司的产品。 对于大家来讲肯定是自己公司开发的微信分销商…

数据结构与算法_大数据处理_求topK的两种求解方法

这篇笔记记录求大数据topk的两种方法,分别是大小二叉堆法和快速分割法,下面依次详解这两种方法的过程。 1 大/小根堆法 利用大根堆过滤前top k小的数据**;小根堆过滤前top k大的数据**; 下面用大根堆求前k个小元素为例。 思想&…

Python 算法:学习二分法

二分法,一个看似简单,逻辑易懂的算法,但是初次接触可能会有很多坑!主要是边界处理的问题。 下面以一个耳熟能详的案例来展开: 案例描述: 小B从1~100之间(含边界值)任意想一个数字&a…

Spring Security 在登录时如何添加图形验证码

前言 在前面的几篇文章中,登录时都是使用用户名 密码进行登录的,但是在实际项目当中,登录时,还需要输入图形验证码。那如何在 Spring Security 现有的认证体系中,加入自己的认证逻辑呢?这就是本文的内容&…

matplotlib简介

matplotlib是一款用于画图的软件,以下步骤建议在.ipynb中完成。 导包 你需要导入以下包: import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np一个简单案例 matplotlib 在 Figure上绘制图形,每一个Figure会包含…

【附源码】Python计算机毕业设计手游账号交易系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Java注解式开发

目录 1. ssm框架的搭建 1.1 maven项目的创建 1.2 导入所需的包到pom.xml文件中 1.3 导入数据库连接文件、日志文件、redis连接文件 1.3.1 数据库连接文件 1.3.2 日志文件 1.3.3 redis连接文件 1.4 导入spring-mybatis、spring-mvc、spring-base、spring-redis四种集成文…

改变自己 只需要两年

改变自己 只需要两年 https://v.douyin.com/rLDmdQK/ 可以快速浏览上面视频 今天分享的这篇文章是TED上的一篇演讲 希望对下定决心想改变的你一些帮助。 用两年时间证明你可以 两年时间不算多长,但与此同时,很多事情都能在两年内完成,你…

WinHex(三)

目录 一、新建简单卷 二、MBR作用与结构 一、新建简单卷 1.右键点击刚刚新建的虚拟磁盘,选择新建简单卷。我新建了两个一个是NTFS,一个是FAT32 2.我们在刚刚新建的虚拟磁盘中放入一张图片,打开WinHex,点击“打开磁盘”选项,打…

[野火]STM32 F103 HAL库开发实战指南笔记之简单外设总结

1、GPIO编程总结 使能 GPIO 端口时钟;初始化 GPIO 目标引脚为推挽输出模式;编写简单测试程序,控制 GPIO 引脚输出高、低电平。 这部分宏控制 LED 亮灭的操作是直接向 BSRR 寄存器写入控制指令来实现的,对 BSRR 低 16 位 写 1 输出…

大学生静态HTML网页源码 我的校园网页设计成品 学校班级网页制作模板 web课程设计 dreamweaver网页作业

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

从0实现线性回归

编码题: 按要求完成下面的内容 1请用python完成从0实现线性回归,尝试使用不同的训练参数(学习率,迭代次数), 以及不同的评价方法(MSE,MAE,RMSE,R2)等。 2比较说明sklearn的线性模…

断言(assert)的用法

参考:https://www.runoob.com/w3cnote/c-assert.html 目录作用总结与注意事项Demo作用 assert 是个宏,并且作用并非"报错"。 assert() 的用法像是一种"契约式编程",程序满足我的假设条件,才能正常良好的运作…

做视频素材资源(free视频,音频,图片)

素材资源 一、视频 Videezy :https://www.videezy.com/ Videovo:https://www.videvo.net/ mixkit:https://mixkit.co/,可以 distill:https://wedistill.io/ splitshire:https://www.splitshire.com/ pixa…

Mysql常见指令以及用法(保姆级)

文章目录基础篇通用语法及分类DDL(数据定义语言)数据库操作注意事项表操作DML(数据操作语言)添加数据注意事项更新和删除数据DQL(数据查询语言)基础查询条件查询聚合查询(聚合函数)分…

前端性能-首次加载优化70%

前言 本篇文章,我们来总结归纳下万恶的this以及衍生出来的call/apply/bind对this进行绑定,想了很久,决定用实例演示的方式来讲解this,这样才能够理解this,因为this确实变化莫测,只靠概念,是不能…