但是现在基本上大家的单细胞转录组项目不太可能是单个样品啦,所以一定会触及到多个样品整合的问题,整合是为了尽可能的去除批次等不需要的差异但是尽可能的保留生物学差异,是一个两难问题,所以关于它的算法基本上都是发表在CNS及其子刊。如下所示:
最近看文献,发现越来越多的单细胞测序使用scanpy进行轨迹推断,可能因为scanpy可以在整体umap或者Tsne基础上绘制细胞发育路径,图片也更加美观,但是Scanpy是基于python开发的,下面整理下Scanpy官网给出的流程,按照官网流程跑一遍PBMC的数据。
如果说单细胞转录组数据分析中的分群是寻找细胞的离散属性,那么轨迹推断就是寻找细胞分化连续性的尝试。为什么细胞的分化既有离散性又有连续性呢?这是一个历史问题,细胞的分化当然是连续的,之所以用分群的方法来解释异质性,实在是一种无奈之举。每一个细胞都是独一无二的,没有一个细胞是孤岛,这是我们的口号,但是理想与现实总是不能统一。
我们前面四次教程,已经完成单细胞数据的预处理了,包括质控,归一化,高可变基因筛选,降维。现在,我们就要开始单细胞测序的正式分析了,细胞类型注释等,在开始介绍细胞类型注释前,我们先来了解一下聚类。对于生物学家而言,聚类一词可能有点晦涩,因为这个词是机器学习领域里的概念。所以本章将详细讲解聚类的缘由以及意义。
继续上回的内容[[108-R可视化32-通过seurat包中的LabelClusters学习ggplot之一]]。
作者按 本教程将是本系列教程中最重要的一章,我们后续所有的单细胞分析,都要基于准确的细胞类型注释。本系列教程首发于“[单细胞最好的中文教程](single_cell_tutorial Readthedocs[1])”,未经授权许可,禁止转载。 全文字数|预计阅读时间: 4500|5min ——Starlitnightly
scanpy 是一个用于分析单细胞转录组(single cell rna sequencing)数据的python库,文章2018发表在Genome Biology(https://genomebiology.biomedcentral.com/)。其实它的许多分析思路借鉴了以seurat为中心的R语言单细胞转录数据分析生态的,scanpy以一己之力在python生态构建了单细胞转录组数据分析框架。我相信借助python的工业应用实力,其扩展性大于R语言分析工具。当然,选择走一遍scanpy的原因,不是因为它的强大,只是因为喜欢。
scVI(Single-Cell Variational Inference)是基于深度学习的整合算法,多次被评价为最佳的整合算法之一。scVI发表于2018年的Nature Methods上,后续经过多次的更新改进,文章题目是《Deep generative modeling for single-cell transcriptomics》。
本文介绍由美国卡内基梅隆大学的Ziv Bar-Joseph教授团队和加拿大麦吉尔大学健康中心的Jun Ding助理教授团队联合发表在 Nature Communications 的研究成果。细胞分类为高通量单细胞数据的主要挑战,在许多情况下,这种分配需要重复使用外部和补充数据源。为了提高跨大型联盟、平台和模态统一分配细胞类型的能力,作者开发了一种软件工具Cellar,可为分配和数据集比较过程中涉及的所有不同步骤提供交互式支持。作者讨论了由Cellar实现的不同方法,以及如何将这些方法用于不同的数据类型,如何组合互补的数据类型以及如何分析和可视化空间数据。作者通过使用Cellar注释几个来自多组学单细胞测序和空间蛋白质组学研究的HuBMAP数据集来展示Cellar的优势。
线粒体基因的转录本比单个转录物分子大,并且不太可能通过细胞膜逃逸。因此,检测出高比例的线粒体基因,表明细胞质量差(Islam et al. 2014; Ilicic et al. 2016)。
如果 conda 不熟悉的小伙伴,可以参考:https://blog.csdn.net/u011262253/article/details/88828229
PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的,第三个轴是与第1,2个轴正交的平面中方差最大的。依次类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。
这次我们来复现一篇单细胞的文章。这篇我们只来复现细胞图谱和拟时序分析 像细胞通讯,还有富集分析还是很简单的。大家可以继续走下去,然后我们来交流讨论! 这篇全篇基于python复现。
图片上一步得到了质控和整合后的数据,这一步需要聚类分群和细胞注释from pathlib import Pathimport refrom io import StringIOimport matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport scanpy as scimport seaborn as snsimport celltypistOUTPUT_DIR='output/02.Cell_Type'Path(OUTPUT
本质上,inferCNVpy这个包是InferCNV的python版重现。主要还是遵循R包版本的计算步骤,进行了少量修改。inferCNVpy通过使用numpy、scipy和稀疏矩阵,使其计算效率大大提高。inferCNVpy可以在Linux,Mac环境下运行。Windows下可参考:
我们在进行单细胞亚群命名时,是通过Marker基因来确定细胞的身份。然而在注释过程中,Marker基因的可视化是必不可少的,以前我们做了一个投票:可视化单细胞亚群的标记基因的5个方法,是基于R编程语言的Seurat包的5个基础函数相信大家都是已经烂熟于心了:
tangram是一种映射单细胞表达量数据到空间转录组数据的方法,它可以将单细胞中的表达量数据映射到空间转录组的每一个cell中。这对于一些gene panel数量较少的空间转录组技术如Xenium、CosMx等可以起到扩充基因数量的作用,因为tangram基因映射后的客观结果是使得每一个Xenium/CosMx数据集的细胞中的基因panel数量将和使用的单细胞数据集的panel数量保持一致,而单细胞数据集panel数量是可以轻松到2万+的。
现在运行 infercnvpy.tl.infercnv()。本质上,该方法通过染色体和基因组位置对基因进行分类,并将基因组区域的平均基因表达与参考进行比较。原始的 inferCNV 方法使用上下游50个基因作为窗口,但更大的窗口大小可能有意义,具体取决于数据集中的基因数量。
本文作者提出了单细胞聚类评估框架(Single-Cell Clustering Assessment Framework, SCCAF),用于从单细胞 RNA 测序(scRNA-seq)数据中自动鉴别可能存在的细胞类型。通过迭代地对给定的细胞集合应用机器学习方法,该方法能同时鉴定不同的细胞亚群及其特征基因,这些差异表达的特征基因能有效区分目标亚群和其他细胞。作者以经过专业注释的公共数据集为评估基准,发现 SCCAF 能精确地自动识别出 ground truth 的细胞分群模式。
随着单细胞技术的成熟,测序成本的降低,单细胞的数据量和样本量也日益增长。我们知道单细胞转录组的一个主要应用就是解释细胞的异质性,那么,不同器官,不同测序平台,不同物种之间的单细胞数据何如整合分析呢?特别是在单细胞的数据维度这么高的前提下,显然传统的基于回归的方法已经不适用了。于是出现了一批单细胞整合分析的工具,它们大多数是在R生态条件下的。如:
Infercnv is a scalable python library to infer copy number variation (CNV) events from single cell transcriptomics data.
from pathlib import Path import warnings import numpy as np import pandas as pd import scanpy as sc import snapatac2 as snap import scvi import bioquest as bq import sckit as sk 基因组注释文件 gff_file="~/DataHub/Genomics/GENCODE/hg38.v43.chr_patch_hapl_scaf
配体和受体通常在有限的空间范围内与多种复合物相互作用。考虑到这一点,作者提出了具有三个重要特征的collective optimal transport:首先,the use of non-probability mass distributions to control the marginals of the transport plan to maintain comparability between species(需要一点数学背景知识);其次,对CCC实施空间距离约束,以避免连接空间上相距较远的细胞;最后,将多种配体分布结合到多中受体分布以解释多种相互作用。
scanpy和seurat是最常用的分析的单细胞的工具,seurat基于R,而scanpy基于python。 linux下用pip安装scanpy
除了我们上期介绍过的CellTrek算法【整合单细胞和空转数据多种方法之CellTrek】,还有非常多的算法用于整合单细胞和空转数据,如何快速系统的了解更多的主流整合算法呢?这么多种算法我们又应该选择哪种呢?答案是查阅综述+大量实践!
AnnDataSet不同于anndata的是,AnnDataSet关联了两个本地文件pbmc_5k.h5ad和pbmc_10k.h5ad,因此在不用这个对象的时候需要手动关闭adata.close(),类似open函数。
Seurat 新版教程:分析空间转录组数据(上) Seurat 新版教程:分析空间转录组数据(下) scanpy教程:空间转录组数据分析 10X Visium:空间转录组样本制备到数据分析 空间信息在空间转录组中的运用
当你的才华还撑不起你的野心时,请潜下心来,脚踏实地,跟着我们慢慢进步。不知不觉在单细胞转录组领域做知识分析也快两年了,通过文献速递这个栏目很幸运聚集了一些小伙伴携手共进,一起成长。
对于之前从CellRanger得到的比对结果,读取sample/outs/filtered_feature_bc_matrix文件夹下的三个文件:barcodes.tsv(1列,为barcode名);genes.tsv(2列,第1列为ENS编号,第2列为基因名);matrix.mtx(3列,第1列为基因编号,第2列为细胞编号,第3列为对应的reads数)
跨模态的单细胞数据的可用性越来越高,推动了新的计算方法的发展,以帮助科研人员获得生物学见解。近日《Nature Reviews Genetics 》发表了一篇综述文章,总结了单模态和多模态单细胞数据分析的独立基准研究,为最常见分析步骤提供全面的最佳实践工作方案。
单细胞测序技术提供了生物组织的高分辨率测量[Islam等人,2011年],[Hwang等人,2018年]。研究人员可以通过单细胞测序的方法来理解细胞异质性[Briggs等人,2018年],[Sikkema等人,2022年]以及生物过程的动态[Jardine等人,2021年],[He等人,2022年]。例如量化细胞命运以及识别驱动该过程的基因。然而,我们在测序的时候,细胞会直接死亡,无法再继续发育,因此,我们所获得的单细胞测序数据,如同照相机的照片一样,仅是一张快照,但是这一张快照上包含了不同时间点的细胞,因此,我们可以从这张快照上估计细胞潜在的动态过程。
Frédéric Abergel, Adrien Akar 在 Supply chain and correlations (2022) 中利用彭博的供应链数据深入研究了供应链网络本身以及供应链网络社群对股票之间相关性的影响,发现存在供应链关系或位于供应链社群内部的股票之间有更高的相关性,即使在极端行情下也成立,这为能将供应链关系引入风险模型中提供依据。具体内容可以参考公众号之前的文章:基于供应链网络的股票收益分析
当用户使用大模型时,模型首先会将输入的内容拆分成一个个的词元(token),通过分析这些词元来生成答案,为我们解答疑惑、提供建议、翻译外语、撰写报告······但是,你能想象大模型也会出错吗?
1写在前面 完成了前面的基础质控、过滤以及去除细胞周期的影响后,我们可以开始SCTransform normalization。😘 SCTransform normalization的优势:👇 1️⃣ 一个SCTransform函数即可替代NormalizeData, ScaleData, FindVariableFeatures三个函数; 2️⃣ 对测序深度的校正效果要好于log标准化(10万以内的细胞都建议使用SCT); 3️⃣ SCTransform,可用于矫正线粒体、细胞周期等因素的影响,但不能用于
绘图和绘图程序与图形用户界面,旨在产生公开准备的2D和3D绘图。此外,它还可以用作绘图模块。
数据可视化,就是指将结构或非结构数据转换成适当的可视化图表,然后将隐藏在数据中的信息直接展现于人们面前。相比传统的用表格或文档展现数据的方式,可视化能将数据以更加直观的方式展现出来,使数据更加客观、更具说服力。
matplotlib算是python比较底层的可视化库,可定制性强、图表资源丰富、简单易用、并且达到出版质量级别。
最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似)。 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具
今天推荐的适合python学习者,这个仓库里作者收集了几百个很有趣的示例,都是用 python去实现的。
使用原生canvasAPI绘制折线图。(柱状图截图来自于百度Echarts官方示例库【查看示例链接】。
绘制分类或回归树的基本方法的 rpart() 函数只是调用 plot。然而,总的来说,结果并不漂亮。事实证明,一段时间以来,有一种更好的方法来绘制 rpart() 树。
我们知道没有一个细胞是孤立的,而细胞之间的交流又不能打电话,所以相对位置对细胞的分化发育起着极其重要的作用。在生命的早期,单个细胞的命运是由其位置决定的。长期以来,由于技术的限制我们很难高通量地同时获得组织中的位置信息及其状态。2019年以来,这种情况借助高通量技术得到了商业化的解决。正如我们之前介绍过的:
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第13章 ThreadX GUIX窗口任意位置绘制2D图形 本
领取专属 10元无门槛券
手把手带您无忧上云