sc-atac的基础知识

**fragment**是ATAC-seq实验中的一个重要概念,它指的是通过Tn5转座酶对DNA分子进行酶切,然后经由双端测序得到的序列。
在这里插入图片描述
根据Tn5插入导致的偏移从read比对得到的位置推断出fragment的起始和结束位置。根据之前的报道,Tn5转座酶以同源二聚体的形式结合到DNA上,在两个Tn5分子间隔着9-bp的DNA序列。根据这个情况,每个Tn5同源二聚体的结合事件会产生2个Insertions,中间隔着9bp。因此,真实的"开放"位置的中心在Tn5二聚体的正中间,而不是Tn5的插入位置。为了尽可能的还原真实情况,我们对Tn5的Insertions进行了校正,即正链的插入结果往右移动4bp(+4 bp), 负链的插入结果往左偏移5bp(-5 bp)。这个和最早提出的ATAC-seq里的描述是一致的。因此,在ArchR中,"fragment"指的是一个table或genomic ranges对象, 记录在染色体上,经过偏移校正后的单碱基起始位置,以及经过偏移校正后单碱基结束位置,每个fragment都会对应唯一的细胞条形码。类似的,"Insertions"这得是偏移校正后的单碱基位置,它位于开放位置的正中心。(https://www.jianshu.com/p/f7975da8e1e8)

  1. Tn5 转座酶(绿色剪刀图标)只能切割 开放染色质(Open chromatin,线条松散)。
  2. 在封闭染色质(Closed chromatin,线条紧密)处,Tn5 无法进入,因此不切割。
  3. Tn5 在开放区域切割后,插入测序接头(adapters,灰色小条),形成 可测序的 DNA 片段
  4. 这些片段经过 PCR 扩增 & 测序,最终得到 开放染色质信号峰
    “只有染色质松开的区域才会被 Tn5 切割并变成可测序的 ATAC 片段。”

Tn5 转座酶是同源二聚体

什么是同源二聚体,组蛋白是八聚体吗?两者什么区别

一句话区分:

  • 同源二聚体 = 2 个相同蛋白抱在一起;
  • 组蛋白八聚体 = 8 个不同组蛋白(2×H2A、2×H2B、2×H3、2×H4)按固定比例拼成核小体核心。

1 同源二聚体(homo-dimer)

  • 定义:由 两条完全相同的肽链/蛋白 非共价结合而成的功能单位。
  • ATAC-seq 场景:Tn5 转座酶只有 两条一模一样的 Tn5 分子 同时结合 DNA,才能切割并插入接头

2 组蛋白八聚体(histone octamer)

  • 组成
    (H2A-H2B) × 2  
    (H3-H4) × 2  
    共 8 条肽链
    
  • 功能:绕成核小体核心,把 DNA 缠成“线轴”。

3 核心差异

维度同源二聚体组蛋白八聚体
链数2 条相同蛋白8 条不同蛋白
蛋白种类1 种4 种(H2A、H2B、H3、H4)
生物学角色酶活性单位(如 Tn5)染色质结构骨架
是否完全相同✅ 是❌ 否

根据之前的报道,Tn5转座酶以同源二聚体的形式结合到DNA上,在两个Tn5分子间隔着9-bp的DNA序列。什么意思
意思是:
Tn5 转座酶只有两条完全相同的酶链(同源二聚体)同时抓住 DNA,它们之间被 9 个碱基对(9 bp)的 DNA 片段隔开

  • 正链酶切在 +4 bp 处
  • 负链酶切在 -5 bp 处
    校正后,这两个切点中间正好留下 9 bp 的“间隙”,真正的开放染色质中心就在这段间隙的正中间。

根据这个情况,每个Tn5同源二聚体的结合事件会产生2个Insertions,中间隔着9bp。什么是Insertions
在 ATAC-seq 里,Insertion 指的是 Tn5 转座酶在 DNA 上实际切割并把测序接头“插入”进去的那一个单碱基点

  • 一个 Tn5 同源二聚体结合事件会 同时切两下,因此 产生 2 个这样的插入点(两条链各一个)
  • 这两个插入点之间正好隔着 9 bp 的 DNA 片段。

Insertions与Fragment的区别

  • Insertions单个碱基点(Tn5 二聚体中心)
    例如 chr1:1000(正链 +4 校正后)。

  • Fragment一条线段(起点—终点)
    例如 chr1:1000–1001(起点 1000,终点 1001),长度 1 bp,正好以 Insertion 点为中心

因此,Insertion 位于 Fragment 的正中间,两者校正后的坐标只差一个“线段宽度”,方向相反的两端各 1 bp。


为什么使用ArchR

在这里插入图片描述

  • 行标题:表示不同的功能模块,如数据导入(Data import)、双细胞去除(Doublet Removal)、基因得分(Gene Scores)、聚类(Clustering)、标准ATAC-seq分析(Standard ATAC-seq Analyses)、数据可视化(Data Visualization)和高级ATAC-seq分析(Advanced ATAC-seq Analyses)等。

ArchR通过优化数据结构降低了内存消耗,使用并行提高了运行速度,因此保证其性能优于其他同类型工具


什么是Arrow文件/ArchRProject

proj <- ArchRProject(ArrowFiles = ArrowFiles,genomeAnnotation = genomeAnnotation,geneAnnotation = geneAnnotation,copyArrows = TRUE
)
  1. Arrow 文件的作用
  • Arrow 文件:是 ArchR 项目中用于存储每个独立样本所有相关信息的文件格式。这些信息包括元数据(如样本名称、实验条件等)、开放的染色质片段(fragments)以及数据矩阵等。
  • 独立样本:每个 Arrow 文件对应一个独立样本,这个样本最好是详尽的分析单元,例如在特定实验条件下的单个重复实验。
  1. Arrow 文件的内容
  • 文件内容:Arrow 文件记录了每个样本的所有相关信息,这些信息对于后续的分析至关重要。
  • 文件路径:Arrow 文件实际上是存储在磁盘上的 HDF5 文件,而不是内存中的 R 对象。
    ·Arrow 文件:存储在磁盘上的文件,使用 HDF5 格式,可以存储大量数据,并且支持快速读取和写入。
    ·R 对象:存储在内存中的数据结构,用于数据处理和分析,但不适合存储大量数据,因为内存容量有限。
  1. ArchR 处理 Arrow 文件的方式
  • 编辑和更新:在创建 Arrow 文件以及进行一些附加分析时,ArchR 会编辑和更新相应的 Arrow 文件,添加额外的信息层。
  • 高效访问:通过使用 ArchRProject 对象,ArchR 可以将多个 Arrow 文件关联到一个分析框架中,从而确保在 R 中能高效访问这些文件。
  1. ArchRProject 对象的作用
  • 内存占用:ArchRProject 对象本身占用的内存不多,因为它主要负责关联磁盘上的 Arrow 文件,而不是存储文件内容本身。
  • 分析框架:ArchRProject 对象将多个 Arrow 文件关联到一个分析框架中,使得在 R 中可以高效地访问和处理这些文件。
  1. 总结
  • Arrow 文件:存储每个样本所有相关信息的 HDF5 文件,存储在磁盘上。
  • ArchRProject 对象:用于关联多个 Arrow 文件,使其在 R 中高效访问,占用内存少。
  • 处理流程:在创建和分析过程中,ArchR 会更新 Arrow 文件,添加额外信息层,以支持复杂的数据分析。

通过这种方式,ArchR 能够高效地处理和分析大量的单细胞 ATAC-seq 数据,同时保持对内存的低占用。

这张图展示了 ArchR 项目中== Arrow 文件==和 ArchRProject 对象的结构和内容,以及它们在存储和内存中的不同格式。

左侧:Arrow 文件(存储在磁盘上)

  • 格式:HDF5 格式,文件体积较大。
  • 内容
    • Metadata(元数据)
      • 样本中心元数据(Sample-centric Metadata)
      • 细胞中心元数据(Cell-centric Metadata)
      • 基因组注释(Genome Annotation,DNA)
    • Sequence-derived data(序列衍生数据)
      • 可访问区域(Accessible Regions,Fragments)
      • 500 bp 的片段(Tiles)
      • 基因得分矩阵(Gene Score Matrix)
      • 峰值(Peaks)
      • 峰值计数矩阵(Peak Count Matrix)
      • 转录因子偏差矩阵(TF Deviation Matrix)
      • 细胞类型矩阵(Cell Type Matrix)
右侧:ArchRProject 对象(加载到内存中)
  • 格式:RDS 格式,文件体积较小。
  • 内容
    • Metadata(元数据)
      • 样本中心元数据(Sample-centric Metadata)
      • 细胞中心元数据(Cell-centric Metadata)
      • 基因组注释(Genome Annotation,DNA 和转录本)
    • High-level Project Data(高级项目数据)
      • 降维/嵌入(Dim. Reduction / Embeddings,如 LSI、t-SNE、UMAP)
      • 峰值集合(Peak Set,包括染色体位置、起始、终止位置)
      • 峰值注释(Peak Annotation,包括 Motifs、SNPs、Features)

总结

  • Arrow 文件存储了单细胞 ATAC-seq 数据的原始信息,包括元数据和序列衍生数据,文件体积较大,存储在磁盘上。
  • ArchRProject 对象是一个内存中的对象,包含了 Arrow 文件的索引和一些高级分析数据,文件体积较小,便于在内存中快速访问和处理。
  • 通过使用 ArchRProject 对象,可以高效地访问和管理磁盘上的 Arrow 文件,同时利用内存中的对象进行快速分析。

有一些操作会直接修改Arrow文件,而一些操作会先作用于ArchRproject,接着反过来更新每个相关Arrow文件。因为Arrow文件是以非常大的HDF5格式存放,所以ArchR的get-er函数通过和ArchRProject进行交互获取数据,而add-er函数既能直接在Arrow文件中添加数据,也能直接在ArchRpoject里添加数据,或者通过ArchRpoject向Arrow文件添加数据。

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

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

相关文章

Python从入门到精通计划Day01: Python开发环境搭建指南:从零开始打造你的“数字厨房“

目录一、配置你的「魔杖」&#xff1a;Python 3.x安装1.1 跨平台安装指南1.2 验证你的「法力值」二、选择你的「魔法工坊」&#xff1a;IDE配置2.1 VS Code&#xff1a;轻量级实验室2.2 PyCharm&#xff1a;专业级法师塔三、施展第一个「魔咒」&#xff1a;Hello World3.1 基础…

MCP Agent 工程框架Dify初探

目录引言一、Dify是什么二、为什么使用Dify三、使用Dify要怎么做1、聊天助手2、Agent2.1 Function calling&#xff08;函数调用&#xff09;和 ReAct 两种推理模式的区别2.1.1 技术本质与工作流程对比2.1.2 优缺点对比2.1.3 适用场景与选择依据2.2 LangChain 的 Agent 实现原理…

无人机光伏巡检漏检率↓78%!陌讯多模态融合算法实战解析

原创声明本文为原创技术解析&#xff0c;核心技术参数与架构设计引用自《陌讯技术白皮书》&#xff0c;转载请注明来源。一、行业痛点&#xff1a;无人机光伏巡检的 "识别困境"光伏电站的大规模铺设推动了无人机巡检的普及&#xff0c;但实际作业中仍面临三大技术瓶颈…

机动车占道识别准确率提升 29%:陌讯动态轮廓感知算法实战解析

原创声明本文为原创技术解析&#xff0c;核心技术参数与架构设计引用自《陌讯技术白皮书》&#xff0c;禁止未经授权的转载与改编。一、行业痛点&#xff1a;机动车占道治理的技术瓶颈城市交通监控中&#xff0c;机动车占用应急车道、公交车道等违规行为已成为影响通行效率与交…

UNet改进(29):记忆增强注意力机制在UNet中的创新应用-原理、实现与性能提升

记忆增强注意力机制概述 记忆增强注意力是一种结合了外部记忆模块的注意力机制,它使神经网络能够存储和检索长期知识,而不仅仅是依赖当前的输入特征。这种机制特别适合需要保持长期依赖关系的任务,如医学图像分割,其中模型需要记住不同样本中出现的常见模式。 核心组件 记…

使用Python开发Ditto剪贴板数据导出工具

前言在日常工作中&#xff0c;我们经常需要处理大量的剪贴板数据。Ditto作为一款优秀的剪贴板管理软件&#xff0c;帮助我们保存了丰富的历史记录。但有时我们需要将这些数据导出进行进一步分析或备份&#xff0c;而Ditto本身并没有提供直观的批量导出功能。C:\pythoncode\new\…

【人工智能】提示词设计原则:简洁性、明确性、具体性如何平衡?

提示词设计原则&#xff1a;简洁性、明确性、具体性如何平衡&#xff1f;1. 提示词设计三大原则的核心内涵1.1 简洁性1.1.1 定义用最少的文字传递核心信息&#xff0c;避免冗余和不必要的描述。比如 “写 3 个春天的成语” 比 “我想让你写出来 3 个和春天有关系的成语词语” 更…

JS的作用域

文章目录一、为什么需要作用域&#xff1f;二、什么是 JS 作用域&#xff1f;2.1 什么是词法作用域和动态作用域&#xff1f;1. 词法作用域&#xff08;Lexical Scpoe&#xff09;2. 动态作用域2.2 JS 的作用域2.3 JS 作用域的分类1. 全局作用域2. 模块作用域3. 函数作用域4. 块…

OLTP,OLAP,HTAP是什么,数据库该怎么选

目录 OLTP&#xff08;Online Transaction Processing&#xff09;联机事务处理 OLAP&#xff08;Online Analytical Processing&#xff09;联机分析处理 非实时OLAP 实时OLAP HTAP&#xff08;Hybrid Transactional/Analytical Processing&#xff09; OLAP 和 OLTP 数…

【前端】CSS Flexbox布局示例介绍

CSS Flexbox&#xff08;弹性盒子&#xff09;简介 Flexbox 是一种一维布局模型&#xff0c;用于高效处理元素在容器内的空间分配、对齐和排序。它通过父容器&#xff08;flex container&#xff09;和子元素&#xff08;flex items&#xff09;的配合实现灵活响应式布局。核心…

Vue3核心语法基础

一、为什么要学 Composition API&#xff1f;在以前我们写代码用Vue2写&#xff1a;export default {data() {return { count: 0, msg: hello }},methods: {add() { this.count }},computed: {double() { return this.count * 2 }} }很明显 一个功能被拆成三块&#xff1a;data…

FSMC的配置和应用

一、FSMC 简介与工作原理FSMC&#xff08;Flexible Static Memory Controller&#xff09;是 STM32 微控制器中用于与外部静态存储器&#xff08;如 SRAM、PSRAM、NOR Flash、LCD 等&#xff09;进行通信的一个外设模块。1、支持的设备类型&#xff1a;SRAM / PSRAMNOR FlashNA…

Linux I/O 系统调用完整对比分析

Linux I/O 系统调用完整对比分析 1. 概述 Linux 提供了丰富的 I/O 系统调用&#xff0c;每种都有其特定的用途和优势。本文将详细分析这些系统调用的特点、使用场景和性能特征。 2. 系统调用详细对比 2.1 基本读写函数 pread/pwrite #include <unistd.h>// 位置指定…

TiDB集群部署

架构&#xff1a; tidb–3台&#xff0c;pd–3台&#xff0c;tikv–3台 8c16g200g 1x2.2x.2x7.124 1x2.2x.2x7.148 1x2.2x.2x7.87 1x2.2x.2x7.93 1x2.2x.2x7.127 1x2.2x.2x7.104 pd-3台 4c8g100g 1x2.2x.2x7.143 1x2.2x.2x7.132 1x2.2x.2x7.91 1、下载安装包 #注&#xff1a;我…

C#中对于List的多种排序方式

在 C# 中给 List<AI> 排序&#xff0c;只要 明确排序规则&#xff08;比如按某个字段、某几个字段、或外部规则&#xff09;&#xff0c;就能用下面几种常见写法。下面全部基于这个示例类&#xff1a;public class AI {public int country; // 国家编号public int pr…

Spring框架中Bean的生命周期:源码解析与最佳实践

第1章&#xff1a;Spring Bean生命周期概述1.1 什么是Spring Bean生命周期&#xff1f;定义&#xff1a;Spring Bean生命周期是指从Bean的创建、初始化、使用到销毁的完整过程&#xff0c;由Spring容器严格管理 。核心思想是Spring容器通过IoC&#xff08;控制反转&#xff09;…

【51单片机6位数码管密码锁】2022-10-15

缘由六位密码器设计连接LED-嵌入式-CSDN问答 矩阵51单片机密码锁,回复:https://bbs.csdn.net/topics/392713242_智者知已应修善业的博客-CSDN博客 #include "REG52.h" unsigned char code smgduan[]{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x…

‌我的第一个开源项目:跃动的心

还是一个编程初学者时&#xff0c;我怀着激动的心情完成了人生第一个开源项目——一个用HTML5 Canvas制作的动态跳动爱心效果。这个项目虽然简单&#xff0c;却让我深刻体会到了开源分享的快乐和技术创造的魅力。 壹、项目灵感 这个项目的灵感来源于浏览网页时&#xff0c;被各…

技术演进中的开发沉思-53 DELPHI VCL系列:windows的消息(下):TApplication窗体

今天我们梳理下关于TApplication的窗体消息下半部分的内容。前面也说过&#xff0c;在 Delphi 的世界里&#xff0c;TApplication 就像一位经验丰富的总工程师&#xff0c;而主窗体则是它倾注心血打造的核心建筑。如果你第一次在实验室里敲出 Delphi 代码时&#xff0c;屏幕上弹…

cesium FBO(四)自定义相机渲染到Canvas(离屏渲染)

前面几节的例子是将Cesium默认的相机渲染到纹理&#xff08;RTT&#xff09;或Canvas&#xff0c;这片文章讲解如何将自定义的一个camera的画面渲染到Canvas上&#xff0c;有了前面几篇的基础了&#xff0c;也能将自定义的画面渲染纹理、也可以灰度处理&#xff0c;原理是一样的…