当前位置: 首页 > news >正文

使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释

二代测序产生的数据类型

常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录组上,即将它们置于生物学上有意义的基因背景下,才能获得有意义的结果。一般我们认为会产生两种类型的数据(当然两者并无严格意义上的区分):

   1.表达类

一般为固定区域,关注于定量比较。例如转录组测序结果中,数据库中已有mRNA基因的表达,lncRNA基因的表达等,这类结果一般以矩阵形式存储,第一列是名字,其余列是表达值。CircRNA表达,miRNA表达等归于此类。

    2.基因组区域(富集峰)

一般区域不固定,关注于定性。例如ChIP-seqATAC-seqCut&tag等比对后获得的富集峰。一般以bed格式存储,第一列是染色体,第二列是富集峰起始坐标,第三列是富集峰终止坐标(图1)。eccDNAm6AMeDIP等归于此类。

1. 表达类(区域固定) vs 富集峰类(区域不固定)

什么是富集峰注释?

基于抗体富集的原理,众多reads片段比对到基因组上某区段,会形成一个类似山峰的富集区。由于我们是在基因组背景下进行生物医学研究的,因此需要将基因组区域(富集峰,peak)与基因联系起来,即确定峰落在哪个基因上,落在该基因的哪种基因组特征上,距离TSS的位置是多少bp等,然后才能进行后续的功能研究。这个过程叫做富集峰注释(peak annotation,图2)。如果仅关注某几个区域,就不需要用软件注释,建议直接用IGV或者UCSC Genome Browser查看。

富集峰注释的难点

虽然CHIP-Seq已经有近20年的历史,然而由于基因组上基因的结构非常复杂,不同注释软件在具体细节处理上往往不同,从而导致同一批数据,用不同的软件进行注释,获得的结果略有不同(大同小异)

  1. 注释到转录本还是注释到基因?

由于一个基因可能包含多个转录本,因此,我们在注释的时候,到底是注释到基因水平还是注释到转录本水平?

     2.基因位置重叠怎么处理?

由于同一个位置可能存在多个基因,如果两个基因的坐标有重叠,我们到底是注释到A基因还是注释到B基因?

    3.最邻近怎么判断?

如果富集峰的中点(或者顶点)正好落在两个基因的中间,那么这个富集峰是注释到A基因还是注释到B基因,如何定义最邻近?

    4.基因组特征如何分类?

不同文章、软件对基因组特征分类不同,例如有的分为promoterintronexon5’UTR3’UTR;有的分为:upstreampromoterintronexondownstream

    5.promoter如何定义?

不同文章、软件定义promoter区也不同,有的定义TSS上游3K到下游3K都是promoter,有的定义TSS上游200bp到下游800bp是启动子。

    6.不同基因组特征的注释优先级

当一个很长的富集峰横跨同一个基因的intronexon3’UTR时候,这个富集峰该分到什么特征中呢?

    7.注释数据库版本问题

同样是human hg38,如果注释库版本不同,那么注释结果也会有差异。原因是:虽然基因组序列不变,然而注释库却更新频繁,有基因会更新坐标,有基因会添加新的转录本,有基因会从非编码基因变成编码基因等。

2. 富集峰注释及难点

凡此种种,给我们的注释工作带来了巨大困难。然而,作为用户(调包侠),我们基本不用深究注释背后的细节。我们需要做的就是:找一个引用比较多的注释工具,默认参数进行注释即可。

常见富集峰注释软件

软件

语言

默认支持物种

ChIPSeeker

R

有注释文件即支持

PAVIS

在线

人、大鼠、小鼠(细分编码和非编码等)

Homer

Perl

有注释文件即支持

GREAT

在线

humanmouse

ChIPpeakAnno

R

有注释文件即支持

1. 常见富集峰注释工具

为什么要用新版注释?

由于注释数据库频繁更新,如果你使用的注释还是N年前的,那么reviewer在公共数据库(例如UCSCEnsemblNCBI)上使用网站默认版本查询时,就有可能查不到你的基因,或者你N年前的数据,与新的数据联合分析时,由于使用的注释数据库不同,取交集时,会漏掉一些基因。因此,我们强烈建议所有的测序数据,包括RNA-seqChIP-seqm6A-seq等都使用同一套注释库进行注释分析,并在结果中明确说明所使用的注释库版本。这对于在不同公司,不同时间做的测序结果来说,是非常重要的。

由于上述所列在线工具都是N年前的,所以我们使用ChIPSeeker R包搭建了一个简易的在线peak注释工具,可以对人、大鼠、小鼠的ChIP-seqATAC-seqcut&tag等富集峰进行一键注释。

1.打开绘图页面

首先,使用浏览器(推荐chrome或者edge)打开ChIP-Seq富集峰注释页面。左侧为常见作图导航,中间为数据输入框和可选参数,右侧为描述和结果示例。也可以在搜索框中搜索peak,找到注释页面。

http://www.bioinformatics.com.cn/basic_chipseq_atacseq_peak_annotation_by_chipseeker_t017

3. 注释页面

2.示例数据

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

示例数据包括4列,分别为:chrstartend-LOG10(pvalue)

注意:为了遵循各大数据库的使用,这里染色体必需使用chr+数字,即:chr1-22chrXchrYchrM等。

4. 输入数据示例

3.粘贴示例数据

直接拷贝示例数据中的ABCD四列数据,然后粘贴到输入框。注意必需带每一列的说明行(header),此行将用于最终的excel表头。

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

5. 必需输入

4.修改参数,并提交

我们设置了promoter区的范围选项,及注释所用的物种及注释版本选项(例如human所使用的是hg38基因组,注释版本为Ensembl v108),当前仅支持humanmouserat。后续将支持更多物种。

6. 可选参数

5.提交出图

粘贴好输入数据,调整好参数(重点是物种及注释版本)后,点击提交按钮,约30秒钟后(取决于数据多少),会在页面右侧出现peak分类饼图及excel格式的数据下载链接,请下载后解压查看。

7. 结果页面

8. 注释结果

结果说明

peak_class为界,结果包括两部分:左侧为输入的内容,其中start添加了1 bp(因为bed格式是0-based,这里变成了1-based),并添加了peak长度信息(end-start+1);右侧为注释信息,包括:peak分类,基因位置,基因/转录本注释等信息。并基于peak_class的数据绘制了peak分布饼图。

注意:

     1.由于peak注释与注释库及优先级关系密切,因此最终放在paper里边的图,以IGV可视化结果为准。

     2.输入peak默认不考虑链,如需更精细地注释,请参考ChIPSeeker R包。

     3.默认一个peak仅注释到一个转录本

没有预览就是没有出图/结果,这时请参考示例数据,检查输入数据的格式。或者使用我们提供的小工具 pyinstaller打包python脚本为exe可执行文件实例:错误排查小脚本检查输入。

参考文献:

1. Yu G, Wang LG, He QY. ChIPseeker: an R/Bioconductor package for ChIP peak annotation, comparison and visualization. Bioinformatics. 2015 Jul 15;31(14):2382-3. doi: 10.1093/bioinformatics/btv145. Epub 2015 Mar 11. PMID: 25765347.

2. Huang W, Loganantharaj R, Schroeder B, Fargo D, Li L. PAVIS: a tool for Peak Annotation and Visualization. Bioinformatics. 2013 Dec 1;29(23):3097-9. doi: 10.1093/bioinformatics/btt520. Epub 2013 Sep 4. PMID: 24008416; PMCID: PMC3834791.

3. Heinz S, Benner C, Spann N, Bertolino E, Lin YC, Laslo P, Cheng JX, Murre C, Singh H, Glass CK. Simple combinations of lineage-determining transcription factors prime cis-regulatory elements required for macrophage and B cell identities. Mol Cell. 2010 May 28;38(4):576-89. doi: 10.1016/j.molcel.2010.05.004. PMID: 20513432; PMCID: PMC2898526.

4. McLean CY, Bristor D, Hiller M, Clarke SL, Schaar BT, Lowe CB, Wenger AM, Bejerano G. GREAT improves functional interpretation of cis-regulatory regions. Nat Biotechnol. 2010 May;28(5):495-501. doi: 10.1038/nbt.1630. Epub 2010 May 2. PMID: 20436461; PMCID: PMC4840234.

5. Zhu LJ, Gazin C, Lawson ND, Pagès H, Lin SM, Lapointe DS, Green MR. ChIPpeakAnno: a Bioconductor package to annotate ChIP-seq and ChIP-chip data. BMC Bioinformatics. 2010 May 11;11:237. doi: 10.1186/1471-2105-11-237. PMID: 20459804; PMCID: PMC3098059.

微生信助力高分文章,用户73000+,引用990+

相关文章:

使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释

二代测序产生的数据类型 常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录组上,即将它们置于生物学上有意义的基因背景下,才能…...

第九届蓝桥杯省赛——7缩位求和

题目:在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。比如:248 * 15 3720把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得2 4 8 14 > 1 4 5;1 5 65…...

【c++】STL常用容器5—list容器

文章目录list基本概念list构造函数list赋值和交换list大小操作list插入和删除list数据存取list反转和排序list基本概念 功能:将数据进行链式存储。 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链…...

【牛客刷题专栏】0x0D:JZ5 替换空格(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录前言问题…...

聚观早报 | 苹果2024年放弃高通;腾讯回应进军类 ChatGPT

今日要闻:苹果2024年放弃高通;腾讯回应进军类 ChatGPT;小米发布无线AR眼镜探索版;50%的美国企业已在使用ChatGPT;Snap推出ChatGPT驱动的聊天机器人 苹果2024年放弃高通 高通公司 CEO 兼总裁克里斯蒂亚诺・安蒙&#xf…...

Elasticsearch:如何正确处理 Elasticsearch 摄取管道故障

在我之前的文章 “Elastic:开发者上手指南” 中的 “Ingest pipeline” 章节中个,我有很多文章是关于 ingest pipeline 的。在今天的文章中,我将重点介绍如何处理在摄取管道中的错误。在我之前的文章 “Elasticsearch:如何处理 in…...

指标体系—北极星指标体系

北极星指标体系 每个产品都有很多指标,每个指标都反映了对应业务的经营情况。但是在实际业务经营中,却要求我们在不同的产品阶段寻找到合适的指标,让这个指标可以代表当前产品阶段的方向和目标,让这个指标不仅对业务经营团队,而且对产品的用户、对产品的价值都能有很好的…...

【操作系统】内存管理

虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。…...

家庭消耗品跟踪管理软件HomeLists

什么是 HomeLists ? HomeLists 是一款自托管耗材统计软件,能通过提醒等帮助您跟踪家庭消耗品。 安装 在群晖上以 Docker 方式安装。 在注册表中搜索 homelists ,选择第一个 aceberg/homelists,版本选择 latest。 本文写作时&…...

django模型简要(1)

1. AbstractUser(内置用户模型类)的使用 ### 需要在settings.py中添加如下: AUTH_USER_MODEL app.MyUser 说明:这是为了覆盖django默认的User model;app即模型所属app,MyUser即AbstractUser实现类。 2.on_delete选项 从django3.…...

【shell 编程大全】sed详解

sed详解1. 概述 今天单独拉出一章来讲述下sed命令。因为sed命令确实内容太多,不过也是比较灵活的,好了不废话了。我们开始吧 1.2 原理解析 shell脚本虽然功能很多,但是它最常用的功能还是处理文本文件,尤其是在正常的业务操作流程…...

关于sudo配置

前言这里做一个小补充,主要讲一下关于利用sudo对指令提权以及普通用户无法使用sudo指令的问题。在前面的文章【Linux】一文掌握Linux权限中,我们讲到了关于权限的一些问题。我们知道root身份下,一切畅通无阻,而权限只是用来限制我…...

EEGLAB处理运动想象脑电数据

最近在看论文时,经常看到作者处理数据的过程,之前都是一代而过,知道怎么处理就可以了,一直没有实践,最近需要一些特殊的数据,需要自己处理出来,这里尝试着自己用MATLAB处理数据,记录…...

span标签的使用场景

目录 前言 一、span标签是什么? 二、span常用 1.可以嵌套a标签。 2.直接使用 3.加样式使用 4.加按钮使用 5.加a标签的综合使用 6.跟table结合使用 总结 前言 本篇章主要记录一下开发日常中,所常遇见的使用span标签的场景。 一、span标签是什么…...

Kafka面试问题总结

kafka架构2.基础概念Producer(生产者) : 产生消息的一方。Consumer(消费者) : 消费消息的一方。Broker(代理) : 可以看作是一个独立的 Kafka 实例。多个 Kafka Broker 组成一个 Kafka Cluster。同时&#x…...

FPGA案例开发手册——基于全志T3+Logos FPGA核心板

前 言 本文档主要提供评估板FPGA端案例测试方法,适用的开发环境为Windows 7 64bit和Windows 10 64bit。 本文案例基于创龙科技的全志T3+Logos FPGA核心板,它是一款基于全志科技T3四核ARM Cortex-A7处理器 + 紫光同创Logos PGL25G/PGL50G FPGA设计的异构多核全国产工业核心板…...

或许你想要的画图工具在这里

之前文章发布后,有小伙伴问下面的画怎么画的(偷偷告诉你,其实我是用铅笔水彩笔画的),哈哈,开玩笑了。其实这些图都是用Excalidraw 画出来的。 我们平常不管是工作中,还是在日常写文章&#x…...

2023年功能测试还值得入行吗?

前言 鉴于笔者从13年入行IT行业,经历了只有开发没有测试的阶段,经历了14年只要会基本的功能测试在一线就能薪资过万的阶段,经历了17年只要会一点自动化,会一点性能就能蒙骗过面试官的阶段,更经历了19年所有面试官对于…...

2022-2023山东大学机器学习期末回忆及复习建议

2023年第一次闭卷考试,让我们准备时都很无力,不知道试题究竟是什么难度,是否要掌握手推公式还有一些晦涩的知识点之类的,看到试题才发现其实闭卷也有好处,与往年题相比难度下降了不少。 一、名词解释 1、测试集 2、Boo…...

基于ssm框架实现家庭理财收支系统(源码+数据库+文档)

一、项目简介 本项目是一套基于ssm框架实现家庭理财收支系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...