Optima: 一个用于 Tapestri 平台的单细胞多组学数据分析的开源 R 包

分子条形码技术的最新进展使得在单细胞水平进行下一代转录组测序成为可能,例如10× Genomics Chromium和DropSeq。此外,CITE-seq 的出现使得可以在对单个细胞进行转录组分析的基础上同时对表面蛋白进行分析。同时,为了表征 DNA 和蛋白质谱,一个名为 Tapestri 的平台于 2017 年推出。该平台同时分析预先定义的 DNA 变异和细胞表面蛋白面板。通过利用从 Tapestri 平台收集的数据,研究人员可以识别异质组织内的独特细胞群。
软件背景

为了处理包含单细胞 RNA 和蛋白质数据的 CITEseq 数据,可以使用多个开源软件包,包括 Seurat、CITEfuse、iCluster、iCluster+等。为了在 Tapestri 平台中预处理原始测序数据,已经开发了 Tapestri Pipeline 软件(https://portal.missionbio.com/)用于生成变异调用和蛋白质表达计数。对于下游分析,Mission Bio 开发了一个 Python 库 Mosaic(https://missionbio.github.io/mosaic/)。此外,还有一款名为 Tapestri Insight 的 GUI 软件支持 Tapestri DNA 数据分析。然而,Tapestri Insights 的局限性在于它不支持蛋白质数据分析。Optima是一个用于 Tapestri 平台的开源 R 包,用于综合单细胞多组学数据分析。Optima 旨在简化 Tapestri 平台生成的多组学数据的预处理、分析和可视化工作流程。

输入数据

optima 包中的核心对象是 optima 对象。该对象存储单个生物样本的所有数据矩阵,包括 DNA(DNA 变体的扩增子测序数据)、CNV(拷贝数变异)和蛋白质。该对象还存储所有元数据,包括细胞条形码、扩增子名称面板以及用于跟踪标准化/过滤状态的元数据等。直接调用时,此对象会显示对象的汇总统计信息。经过 Tapestri 管道软件的初步预处理后,将生成一个 .h5 文件,应将其用作 optima 包的输入文件。可以使用readHdf5()函数将此文件作为 optima 对象读入 R 环境。

  1. DNA分析
    一旦创建了 optima 对象,就开始分析 DNA 测序数据。DNA 分析侧重于单核苷酸变异的变异等位基因频率。第一步是使用 filterVariant ()函数过滤 DNA 变异数据。从 .h5 文件导入几个因素,包括测序深度、基因型质量等,并用于此过滤步骤。如果太多基因座未通过 QC,则会删除该细胞/变异。过滤后,DNA 数据将用于细胞克隆识别。为了识别克隆,可以选择在getClones()函数中使用非监督聚类方法 dbscan。聚类结果将存储在 optima 对象中包含的细胞标签向量中。如果更喜欢使用领域知识来手动分配细胞标签,他们可以通过生成自己的标签并将其分配给 optima 对象中的细胞标签向量来实现。要在热图中可视化变异等位基因频率,可以使用drawHeatmap()函数。首先根据细胞标签对行进行排序,即可生成热图。要可视化不同细胞中单个变异的变异等位基因频率,可以使用plotVariantFeature()函数。基于 VAF 的颜色叠加将在降维图上生成。如果有兴趣获取变异的注释,可以使用annotateVariant()函数。通过从 MissionBio 的 API 获取数据,此函数将所有变异 ID 作为输入并返回包含变异详细信息的 R data.frame。

  2. CNV分析
    分析 DNA 测序数据后,下一步是分析 CNV。分析 CNV 数据的主要目标是计算每个 CNV 扩增子的倍性。输入基于每个 CNV 位点的对齐读取数量/计数。为了校正 CNV 计数的列向和行向变化,用户可以使用 normalizeCNV ()函数。标准化后,可以使用calculatePloidy()函数计算倍性。首先将参考细胞类型定义为二倍体细胞,然后使用其他细胞类型的标准化计数除以每个 CNV 扩增子的平均计数。数值代表每个细胞中每个扩增子的倍性。

  3. 蛋白质分析
    除了 DNA 测序数据,Tapestri 平台还量化细胞表面蛋白。当抗体与特定表面蛋白结合时,会生成蛋白质的原始数据。为了处理此类数据,optima在normalizeProtein()函数中使用中心对数比变换方法。数据转换后,可以选择使用降维方法通过reduceDim()函数在 2D 空间中可视化细胞。此外,可以使用drawHeatmap()函数在热图中可视化所有标准化蛋白质计数。要可视化不同细胞中单一蛋白质的标准化蛋白质表达,可以使用plotProteinFeature()函数。基于标准化蛋白质计数的颜色叠加将在降维图上生成。最后,通过使用细胞标签和findSignature()函数,可以识别与所有其他细胞类型相比在一种细胞类型中表达不同的蛋白质。这种比较是使用 t 检验完成的。结果是一个 R 数据框,其中包含使用 Benjamini–Hochberg FDR 方法调整多重比较后按最小P值排序的所有蛋白质。

分析结果

一个 optima 对象存储一个生物样本的所有数据矩阵。在此示例数据集中,四个细胞混合为一个生物样本。使用readHdf5()函数将此数据集导入 R 后,将存储为 optima 对象。调用时,此对象显示汇总统计信息。更具体地说,它包含 1313 个细胞、27 719 个变体、127 个 CNV 和 10 个蛋白质。用户可以提供从他们的 Tapestri 管道输出生成的自己的 .h5 文件。使用四细胞混合物示例,使用 filterVariant ()函数执行过滤。我们从 1313 个细胞开始,过滤后剩下 1271 个细胞。同时,过滤后保留了 29 个变体。使用get Clones()函数识别细胞克隆后,在数据集内识别了六个簇/细胞克隆。在 optima 对象中的细胞标签向量中,每个细胞克隆都用数值 1、2、3、4、5 和 6 标记。然后使用这些信息通过 DNA 测序数据生成热图(图 1B)。对于 CNV 分析,使用normalizeCNV()函数计算标准化计数,并使用calculatePloidy()函数计算倍性。对于calculatePloidy()函数的应用,细胞类型“1”被设置为二倍体细胞类型。为了可视化每个扩增子的倍性,我们生成了散点图(图 1C)。所有细胞类型 1 扩增子的倍性值都是 2。这是因为细胞类型 1 被指定为二倍体细胞。对于细胞类型 2,倍性范围在 0 到 3 之间。蛋白质分析从使用norma lizeProtein()函数进行数据标准化开始。然后使用标准化的蛋白质计数在二维空间中投影细胞,并根据每个数据点的细胞类型标签对其进行着色。目视检查图 1D后,可以发现存在四个突出的簇,每个簇都显示出具有相同颜色的点占主导地位,表示每个簇内的细胞类型分配一致。通过将一种细胞类型与其他细胞类型的蛋白质表达水平进行比较,findSignature()函数会返回一个差异表达蛋白质表,并对多重比较进行了 p 值调整(图 1E)。为了可视化“CD11b”蛋白的表达水平,plotProteinFeature()函数。该函数返回一个散点图,其中所有细胞投影在二维空间中。每个细胞根据 CD11b 蛋白表达水平着色(图 1F)。

在这里插入图片描述

欢迎大家留言讨论,如果对结果或者方法实现有疑问的可以联系管理员进行解决:kriswcyYQ。

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

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

相关文章

ubuntu那些ppa源在哪

Ubuntu中的 PPA 终极指南 - UBUNTU粉丝之家 什么是PPA PPA 代表个人包存档。 PPA 允许应用程序开发人员和 Linux 用户创建自己的存储库来分发软件。 使用 PPA,您可以轻松获取较新的软件版本或官方 Ubuntu 存储库无法提供的软件。 为什么使用PPA? 正如…

添加动态云层

<template> <div class"topbox"> xx卫星管理 </div> <div class"selectbox"> <div class"title"> 卫星列表 </div> <el-table :data"tableData" style"width: 100%;height:230px;" …

亚信安慧AntDB-M负载均衡

负载均衡是分布式系统中常用的技术&#xff0c;主要是将工作任务均衡分布到系统的各个资源点上&#xff0c;可以充分利用系统资源。 AntDB-M分布式内存数据库节点角色可以分为管理节点(MN)、计算节点(CN)和数据节点(DN)三种。管理节点收到客户端连接请求后&#xff0c;会经由负…

IEEE官方列表会议 | 第三届能源与环境工程国际会议(CFEEE 2024)

会议简介 Brief Introduction 2024年第三届能源与环境工程国际会议(CFEEE 2024) 会议时间&#xff1a;2024年12月2日-4日 召开地点&#xff1a;澳大利亚凯恩斯 大会官网&#xff1a;CFEEE 2024-2024 International Conference on Frontiers of Energy and Environment Engineer…

【C#】visual studio打包winForm(依赖DLL)为安装程序exe

0.简介 IDE&#xff1a;VS2022 平台&#xff1a;C# .NetFramework4.7 WinForm界面 有GDAL、EEplus库的依赖&#xff0c;所以在其他未安装环境的电脑中功能无法使用。 1. 安装 1.1 运行文件 在VS扩展中选择管理扩展&#xff0c;Microsoft Visual Studio Installer Projects …

如何合规与安全地利用专业爬虫工具,构建企业数据竞争优势

摘要&#xff1a; 本文深入探讨了在当今大数据时代&#xff0c;企业如何通过合规且安全的方式运用专业爬虫工具&#xff0c;有效收集并分析海量信息&#xff0c;进而转化为企业独有的数据优势。我们不仅会介绍最佳实践&#xff0c;还会讨论关键技术和策略&#xff0c;帮助企业…

【网络】计算机网络基础——计算机网络背景和发展、认识网络协议、OSI七层模型、TCP/IP四层模型、网络的传输

文章目录 Linux网络1. 计算机网络背景和发展2. 认识网络协议3. OSI七层模型3.1 物理层3.2 数据链路层3.3 网络层3.4 传输层3.5 会话层3.6 表示层3.7 应用层 4. TCP/IP四层模型5. 网络的传输 Linux网络 1. 计算机网络背景和发展 开始的计算机都是独立模式&#xff08;计算机之间…

谷歌新的网站索引策略:将来可能不再为您的网站编制索引

10 年前&#xff0c;在 WordPress 上推出新博客的同时&#xff0c;Google 上的内容几乎是即时索引。 搜索引擎试图尽快向用户提供所有信息&#xff0c;这对内容创作者也有利。 然而&#xff0c;随着时间的推移&#xff0c;情况发生了变化&#xff0c;现在谷歌在索引方面变得极…

【解决】ubuntu20.04 root用户无法SSH登陆问题

Ubuntu root用户无法登录的问题通常可以通过修改‌SSH配置文件和系统登录配置来解决。 修改SSH配置文件 sudo vim /etc/ssh/sshd_config 找到 PermitRootLogin 设置&#xff0c;并将其值更改为 yes 以允许root用户通过SSH登录 保存并关闭文件之后&#xff0c;需要重启SSH服务…

用uniapp 及socket.io做一个简单聊天app 2

在这里只有群聊&#xff0c;二个好友聊天&#xff0c;可以认为是建了一个二人的群聊。 const express require(express); const http require(http); const socketIo require(socket.io); const cors require(cors); // 引入 cors 中间件const app express(); const serv…

Leetcode—426. 将二叉搜索树转化为排序的双向链表【中等】Plus

2024每日刷题&#xff08;148&#xff09; Leetcode—426. 将二叉搜索树转化为排序的双向链表 实现代码 /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node() {}Node(int _val) {val _val;left NULL;right NULL;}Node(int _val, Nod…

R包:plot1cell单细胞可视化包

介绍 plot1cell是用于单细胞数据seurat数据对象的可视化包。 安装 ## You might need to install the dependencies below if they are not available in your R library. bioc.packages <- c("biomaRt","GenomeInfoDb","EnsDb.Hsapiens.v86&qu…

无人机之起飞前准备

一、检查无人机状态 1、确保无人机的电池充满电或有足够的电量&#xff1b; 2、检查螺旋桨是否安装牢固&#xff0c;没有损坏&#xff1b; 3、确认无人机的固件是最新版本&#xff0c;以保证拥有最新的功能和修正。 二、选择合适的起飞地点 1、避免在人群密集或有障碍物的…

MySQL:增删改查、临时表、授权相关示例

目录 概念 数据完整性 主键 数据类型 精确数字 近似数字 字符串 二进制字符串 日期和时间 MySQL常用语句示例 SQL结构化查询语言 显示所有数据库 显示所有表 查看指定表的结构 查询指定表的所有列 创建一个数据库 创建表和列 插入数据记录 查询数据记录 修…

C++ Map Set的模拟实现

C Map Set的模拟实现 文章目录 前言一、Map 和 Set是什么&#xff1f;1.Set2.Map 二、困难点困难一、set和map中值的类型不同困难二、Map和Set中值不可修改困难三、红黑树中迭代器的和--1.2.- - 困难四、map中[ ] 运算符重载的实现1.修改红黑树以及Map和Set中insert的返回值1.修…

Three.js投射光线实现三维物体交互

<template><div id"webgl"></div> </template><script setup> import * as THREE from three //导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入 dat.gui import { GUI } from thre…

k8s v1.30 完整安装过程及CNI安装过程总结

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

【ffmpeg命令入门】添加水印

文章目录 前言什么是水印&#xff1f;为什么要添加水印&#xff1f;ffmpeg添加水印添加图片水印添加文字水印基本使用方法drawtext的参数 总结 前言 在视频制作和编辑的过程中&#xff0c;添加水印是一个常见且重要的步骤。水印不仅可以保护版权&#xff0c;还能用于品牌宣传和…

使用LLaMA-Factory对Llama3-8B-Chinese-Chat进行微调

文章目录 模型及数据&#xff1a;模型下载数据 LLaMA-Factory启动拉取代码启动webui 模型训练数据导入数据预览设置模型路径配置参数及参数的保存开始训练 过程观察加载模型、对话模型导出、再次加载 模型及数据&#xff1a; 模型下载 使用基于中文数据训练过的 LLaMA3 8B 模…

同步状态的广播事件

定向活动广播 你可以直接将事件从一个状态广播到另一个状态&#xff0c;以同步同一图表中的并行&#xff08;AND&#xff09;状态。以下规则适用&#xff1a; 在事件广播期间&#xff0c;接收状态必须处于活动状态。 一个图表中的操作无法将事件广播到另一个图表的状态。 与无定…