ATAC-seq分析:TSS 信号(7)

news2024/11/16 4:11:22

ATACseq

alt

ATACseq - 使用转座酶并提供一种同时从单个样本的转录因子结合位点和核小体位置提取信号的方法。

1. 数据类型

上面这意味着我们的数据中可能包含多种信号类型。

  • 我们将从无核小体区域和转录因子(我们的较短片段)周围获得信号。
  • 我们的一部分信号将来自开放染色质(较长片段)中的核小体周围。

我们所有的数据都来自我们的转座酶能够访问的开放染色质。

alt

2. 评估 TSS 信号

2.1. TSS 区域

如果我们的较短片段代表转录因子和转录机制周围的开放区域,我们希望在转录起始位点看到信号。

我们较长的片段将代表核小体周围的信号,因此信号应该在转录起始位点之外,更多地出现在 +1 和 -1 核小体位置。

alt

我们可以在所有 TSS 区域创建一个图,以说明我们的核小体游离和核小体占据的信号部分最普遍的位置。Meta-plots 在区域集上平均或求和信号以识别数据趋势。

alt

2.2 可视化

要生成区域信号的图,我们可以使用 soGGi bioconductor 包。我们可以使用 BiocManager::install 和库函数加载 soGGi。

BiocManager::install("soGGi")
library(soGGi)

soGGi 库只需要一个 BAM 文件和一个 GRanges 区域,在这些区域上平均信号以生成图。我们希望绘制 TSS 区域,因此我们首先需要为 hg19 基因组生成 TSS 位置的 GRanges。首先,我们可以加载我们感兴趣的 TxDb - TxDb.Hsapiens.UCSC.hg19.knownGene。

library(TxDb.Hsapiens.UCSC.hg19.knownGene)
TxDb.Hsapiens.UCSC.hg19.knownGene
alt

我们可以使用 genes() 函数和我们的 TxDb 对象提取基因位置(TSS 到 TTS)。

genesLocations <- genes(TxDb.Hsapiens.UCSC.hg19.knownGene)
alt
genesLocations
alt

然后我们可以使用 resize() 函数提取每个基因(TSS)的起始位置。这里我们将固定位置设置为开始,宽度设置为 1。

tssLocations <- resize(genesLocations, fix = "start", width = 1)
tssLocations
alt

当我们创建索引时,我们将基因组子集化为主要染色体。我们可以使用 TSS GRange 对象再次执行此操作,并更新级别。这意味着 BAM 和 GRanges 会很好地发挥作用。

mainChromosomes <- paste0("chr", c(1:21"X""Y""M"))

myindex <- (match(seqnames(tssLocations), mainChromosomes))


tssLocations <- tssLocations[as.numeric(myindex)]

seqlevels(tssLocations) <- mainChromosomes

soGGi 包的 regionPlot() 函数需要一个 BAM 数据文件来绘制提供给 bamFile 参数和一个 GRanges 来绘制提供给 testRanges 参数。

library(soGGi)
sortedBAM <- "~/Downloads/ATAC_Workshop/Sorted_ATAC_50K_2.bam"

library(Rsamtools)
# Nucleosome free
allSignal <- regionPlot(bamFile = sortedBAM, testRanges = tssLocations)

一个有用的功能是我们可以使用 minFragmentLength 和 maxFragmentLength 参数指定要在我们的绘图中使用的配对读取的最小和最大片段长度。这使我们能够仅选择我们的核小体自由信号(< 100 个碱基对)来生成我们在 TSS 区域的图。

nucFree <- regionPlot(bamFile = sortedBAM, testRanges = tssLocations, style = "point",
    format = "bam", paired = TRUE, minFragmentLength = 0, maxFragmentLength = 100,
    forceFragment = 50)
class(nucFree)

现在我们有了我们的配置文件对象,我们可以使用 soGGi 中的 plotRegion() 函数创建我们的图。

在这里,我们看到了 TSS 上方区域中无核小体区域的预期信号峰值。

plotRegion(nucFree)
nucFree
nucFree

我们可以通过将 minFragmentLength 和 maxFragmentLength 参数调整为核小体长度片段的预期参数(此处为 180 到 240)来为我们的单核小体信号创建一个图。

monoNuc <- regionPlot(bamFile = sortedBAM, testRanges = tssLocations, style = "point",
    format = "bam", paired = TRUE, minFragmentLength = 180, maxFragmentLength = 240,
    forceFragment = 80)

同样,我们可以使用 plotRegion() 函数在 TSS 位置绘制单核小体信号。在此图中,我们可以清楚地看到预期的 +1 核小体信号峰以及其他几个核小体信号峰。

plotRegion(monoNuc)
monoNuc
monoNuc

本文由 mdnice 多平台发布

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

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

相关文章

2-Spring核心与设计思想

目录 1.Spring是什么&#xff1f; 2.容器是什么&#xff1f; 3.IoC是什么&#xff1f; 3.1.传统程序开发 3.2.控制反转式程序开发 3.3.对比总结规律 4.理解Spring IoC 4.1.将对象(Bean)存入到容器(Spring)&#xff1b; 4.2.从容器中取出对象。 5.DI概念说明 1.Spring…

计算机编程背景

&#x1f496; 欢迎来阅读子豪的博客&#xff08;JavaEE篇 &#x1f934;&#xff09; &#x1f449; 有宝贵的意见或建议可以在留言区留言 &#x1f4bb; 欢迎 素质三连 点赞 关注 收藏 &#x1f9d1;‍&#x1f680;码云仓库&#xff1a;补集王子的代码仓库 不要偷走我小火…

classpath类路径是什么

Spring Boot 一、简介 classpath类路径在 Spring Boot 中既指程序在打包前的/java/目录加上/resource目录&#xff0c;也指程序在打包后生成的/classes/目录。两者实际上指的是同一个目录&#xff0c;里面包含的文件内容一模一样。 二、获取classpath路径 以下两种方式均可…

Icarus Verilog

Icarus Verilog 是一个Verilog仿真工具&#xff0c;以编译器的形式工作&#xff0c;将以verilog编写的源代码编译为某种目标格式。如果要进行仿真的话&#xff0c;可以生成一个vvp的中间格式&#xff0c;由其所附带的vvp命令执行。 https://github.com/steveicarus/iverilog …

面试官:请设计一个能支撑百万连接的系统架构!

目录 1、到底什么是连接&#xff1f;2、为什么每次发送请求都要建立连接&#xff1f;3、长连接模式下需要耗费大量资源4、Kafka遇到的问题&#xff1a;应对大量客户端连接5、Kafka的架构实践&#xff1a;Reactor多路复用6、优化后的架构是如何支撑大量连接的 这篇文章&#x…

SQL Server 全文索引的应用

在公司项目中提出了一个需求&#xff1a; 搜索包含指定关键词的数据。得到这需求后&#xff0c;站在技术角度考虑第一时间就联想到使用SQL里面“like”查询语句。进一步分析需求后&#xff0c;发现“Like”查询满足不到实际的要求。 示例&#xff1a; ---------------------…

【Ajax】接口与接口测试工具PostMan

一、接口接口的概念使用 Ajax 请求数据时&#xff0c;被请求的 URL 地址&#xff0c;就叫做数据接口&#xff08;简称接口&#xff09;。同时&#xff0c;每个接口必须有请求方式。例如&#xff1a;http://www.liulongbin.top:3006/api/getbooks 获取图书列表的接口(GET请求)ht…

【4 - 降维算法PCA和SVD - 案例部分】菜菜sklearn机器学习

课程地址&#xff1a;《菜菜的机器学习sklearn课堂》_哔哩哔哩_bilibili 第一期&#xff1a;sklearn入门 & 决策树在sklearn中的实现第二期&#xff1a;随机森林在sklearn中的实现第三期&#xff1a;sklearn中的数据预处理和特征工程第四期&#xff1a;sklearn中的降维算法…

为何香港的IB状元特别多?

今年IB预科课程&#xff08;The International Baccalaureate Diploma Programme&#xff0c;IBDP&#xff09;公开考试放榜&#xff0c;香港的学校又是大丰收的一年&#xff01;因为香港今年一共有九十三名IB状元&#xff0c;即IB的总分为四十五分满分&#xff0c;而他们全部取…

Linux 环境部署 Nexus 服务

一 私服是什么&#xff1f; 一个特殊的远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;供局域网内的开发人员使用。 当Maven需要下载构建的使用&#xff0c; 它先从私服请求&#xff0c;如果私服上没有的话&#xff0c;则从外部的远程仓库下载&#xff0c;然后…

算力服务亟待破局,超聚变向新而行

“超聚变已独立活下来。”超聚变产品线总裁范瑞琦在2023新品发布会上透露。自从一年多前从华为体系独立&#xff0c;超聚变公司的未来就颇受业界关注。一方面&#xff0c;算力产业蒸蒸日上&#xff0c;各方尤为关注超聚变的产业定位以及发展算力产业的着力点&#xff1b;另一方…

mysql存储过程的流程控制

本文来说下mysql存储过程的流程控制语句 文章目录流程控制概述IF语句CASE语句LOOP语句LEAVE语句ITERATE语句REPEAT语句WHILE语句本文小结流程控制概述 存储过程中可以使用流程控制来控制语句的执行。 MySQL中可以使用IF语句、CASE语句、LOOP语句、LEAVE语句、ITERATE语句、REPE…

Cesium设置模型朝向速度矢量方向

Cesium设置模型朝向速度矢量方向 文章目录Cesium设置模型朝向速度矢量方向1. 需求场景2. 技术路线2.1 VelocityOrientationProperty2.2 VelocityVectorProperty3. 参考链接1. 需求场景 现有一段飞机起飞、爬升的轨迹数据&#xff0c;需要在Cesium中模拟出飞行过程动画&#xf…

Lesson 3. 线性回归的手动实现(3.3 线性回归手动实现与模型局限 3.4 机器学习模型结果可信度理论与交叉验证基础)

文章目录一、线性回归手动实现与模型局限1. 线性回归的手动实现2. 线性回归模型局限3. 线性回归的决定系数二、机器学习模型结果可信度理论与交叉验证基础1. 机器学习模型结果可信度理论基础与数据集划分1.1 机器学习模型结果可信度基础理论1.2 数据集切分方法1.3 线性回归手动…

图的关键路径(AOE网络)

文章目录AOE网概念性质研究的问题关键路径概念求解的方法注意事项AOE网 概念 用顶点表示事件, 边弧表示活动, 边弧上的权值表示活动持续的时间, 这样的带权有向无环图叫AOE网. AOE网常用于估算工程完成时间. AOE网和AOV网都是有向无环图, 不同之处在于它们的边和顶点所代表的…

【青训营】Go的高质量编程

Go的高质量编程 本文内容总结自字节跳动青年训练营 第五届 后端组 什么是高质量&#xff1f; 各种边界条件是否完备异常情况能正常处理&#xff0c;稳定性有保障易读易维护 Go语言开发者Dave Cheney指出&#xff0c;编程需要遵循以下原则&#xff1a; 简单性 消除多余的复…

Docker安装和卸载教程

1、安装前先卸载系统上原有的Docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine2、安装需要的yum-utils包 需要安装 yum-utils包&#xff08;该包提供了 yum-c…

研一寒假C++复习笔记--程序的内存模型

目录 1--内存分区模型 2--代码区 3--全局区 4--栈区 5--堆区 6--new操作符 1--内存分区模型 执行C程序时&#xff0c;内存可划分为4个区域&#xff0c;不同区域存放的数据&#xff0c;具有不同的生命周期&#xff1b; ① 代码区&#xff1a;存放函数的二进制代码&#x…

nvcc 编译并行程序时报错gcc: error trying to exec ‘cc1plus‘: execvp: 没有那个文件或目录

一、nvcc 编译程序时报错 gcc: error trying to exec cc1plus: execvp: 没有那个文件或目录 cc1plus 是gcc编译工具链中用到的一个程序 报错非常直白&#xff0c;就是说gcc在执行时找不到这个程序 二、问题解决方法 1.确定是否正确安装gcc、g 如果系统中没有正确安装gcc…

elementUI组件下拉框属性的一些配合使用

文章目录1、单选带搜索功能&#xff08;自定义搜索&#xff09;2、下拉多选远程搜索3、下拉多选有默认选项4、下拉多选默认禁用只提供大致思路&#xff0c;大量玩法等你开发【doge】 1、单选带搜索功能&#xff08;自定义搜索&#xff09; 例如&#xff0c;我需要实现一个功能…