在量化基因表达之后,我们需要将该数据导入R,以生成用于执行QC的矩阵。在本课中,我们将讨论盘点数据可以采用的格式,以及如何将其读入R,以便我们可以继续工作流程中的QC步骤。我们还将讨论我们将使用的数据集和相关的元数据
现在我们有了高质量的细胞,在将细胞聚类并确定不同的潜在细胞类型之前,我们需要执行一些步骤。我们的数据集包含来自两个不同条件(Control and Stimulated)的两个样本,因此整合这些样本有助于更好地进行比较。在此之前,我们需要归一化我们的基因表达值,并根据我们数据集中最大的变异来源跨条件排列我们的细胞。在本节中,我们将在聚类之前讨论并执行这些初始步骤。
在基因表达定量后,需要将这些数据导入到 R 中,以生成用于执行 QC(质控)。下面将讨论定量数据的格式,以及如何将其导入 R,以便可以继续工作流程中的 QC 步骤。
细胞类型注释是单细胞转录组中非常重要的环节,2021年 Nature protocols 中发表了一篇细胞注释的教程综述Tutorial: guidelines for annotating single-cell transcriptomic maps using automated and manual methods,含有细胞注释常见的流程,以及每个步骤可用的软件以及一些资源和建议。
在上文空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程得到空转数据T0的降维聚类结果后,面临和单细胞一样的注释问题。空间细胞类型注释主要分2大类:不联合单细胞数据 或者 联合单细胞数据。
作为一个刚刚开始进行单细胞转录组分析的菜鸟,R语言底子没有,有时候除了会copy外,如果你让我写个for循环,我只能cross my fingers。。。。
现在有了高质量的细胞,首先探索数据并确定任何不需要的变异来源。然后需要对数据进行归一化,计算方差并回归任何对数据有影响的协变量。
单细胞专题 | 1.单细胞测序(10×genomics技术)的原理 单细胞专题 | 2.如何开始单细胞RNASeq数据分析 单细胞专题 | 3.单细胞转录组的上游分析-从BCL到FASTQ 单细胞专题 | 4.单细胞转录组的上游分析-从SRA到FASTQ 单细胞专题 | 5.单细胞转录组的上游分析-从FASTQ到count矩阵
在23年3月份的时候(下意识想说今年了hhh,恍然发现已经24年),菜鸟团作者就整理过不同格式的单细胞数据读取的方法,是基于V4版本的。
大家自行去GEO官网(https://www.ncbi.nlm.nih.gov/gds)搜索下载自己想要的单细胞测序数据。本文后面会提供数据用于示例代码测试。
在单细胞的数据分析当中,每个亚群的top基因是十分重要的,因为这一部分的基因主要是代表了这一亚群的高表达基因,为了后面的分群鉴定,主要是通过seurat的findallmarkers这个函数进行计算。可以参考这个博主的文章,对源码解析的很细https://www.jianshu.com/p/f5c8f9ea84af,同时对应着这个函数的解析http://www.idata8.com/rpackage/Seurat/FindAllMarkers.html。
现在的单细胞分析,往往避免不了scanpy的使用,我们可以通过对比seurat来学习scanpy
上一期我们介绍了Seurat对象的构建方法,对于少数样本的数据时,我们可以采取将读取代码复制多遍以运行,如下所示。
在单细胞数据分析时,常常用到Seurat(https://satijalab.org/seurat/install.html)这个R语言包。Seurat 分析流程基本涵盖了单细胞分析中的所有常见分析方法,包括filtering,tSNE,UMAP降维及可视化等,还有一个重量级功能就是矫正不同实验之间的批次效应。同时,Seurat团队也在积极对其进行扩展和升级。这不,今年4月份正式推出3.0,在8月份又推出3.1,其实3x版本之间的差异是比较小的。真正困惑我们的是2x 与3x 之间差别:
大家好,今天我们来聊聊python中anndata对象(scanpy)和seurat对象的转化。
其实,我们在2019年的时候就介绍过单细胞转录组数据分析||Seurat3.1教程:Interoperability between single-cell object formats,讲了单细胞转录组数据对象的转化。对R语言境内的Seurat,CellDataSet,SingleCellExperiment,loom的格式转化起来还是比较方便的,但是对于异域的anndata转化一直不是很友好,所以我借此机会学会了python(在等短信验证码的那六十秒之内)。anndata的数据就在python中分析,完事。
关注Seurat的github动态的朋友不难发现,其实许许多多问题是反复出现的,如本期的封面故事:
遇到报错第一步肯定是先去浏览器查询啦。方法是:复制Error:后面的信息,黏贴到浏览器(必应或者Google),按搜索按钮就可以了。相信我,你并不孤独。果然有很多人遇到这个问题了,而且已经给出了解决方案,并在Seurat问答池中形成讨论:
在进行单细胞转录组测序分析中,我们发现比如样本较多或者需要大量出图的时候,我一开始就是大量手动一个一个的出图,但回头想想,这样的操作模式不都是一样的嘛,直接用for循环不就搞定啦!
Seurat V4 的教程页面做了全面的改进,用pkgdown构建了新的教程体系:
数据可视化是数据分析中关键的一步,相比于静态绘图,交互(界面)图可以给我们更多的调节空间。单细胞数据分析中往往需要用不同的参数来可视化细胞图谱或者基因表达特征,Seurat也中有相关的交互绘图功能。而随着单细胞技术的普及,很多刚开始接触编程或者没有接触过编程的朋友也开始有了分析单细胞数据需求,于是有了SeuratV3Wizard这样的完全交互的Seurat平台。在Seurat V4 版本中,也官方地提出了其交互平台(Shiny app):azimuth 并且内置了PBMC的参考数据集,可以在线分析和注释。本期Seurat weekly 就和大家探索一下Seurat 的交互系统。
随着单细胞技术的成熟,单细胞数据分析往往不再是单个组织样本,这有时候在计算(资源与时间)上是一个挑战。为此,Seurat也提供了可以探索的并行策略。鉴于入门单细胞数据分析的同事大多不是计算机出身,我们借助知乎的回答来解释一下什么是并行:
会根据之前的6个发育时期和4个cluster的tSNE结果,进行一些marker基因的等高线图和热图可视化
很多时候,我们其实并不需要动R本身的版本,可能只是想修改某个R包版本,比如单细胞领域最火的 Seurat 包, 就有这个问题:
Seurat软件学习1-多个模型得数据进行整合:https://cloud.tencent.com/developer/article/2130078
做单细胞数据分析的时候,我们经常会从公共数据库,或者从别人那里得到一个seurat对象,有些人可能想从这个seurat对象中提取原始的表达矩阵,自己再从头分析一遍。那么今天小编就讲讲怎么实现,我们以SeuratData这个包里面自带的pbmc3k这套数据为例。
我都是这样教导学生完成单细胞学习的,基础课程学完后需要完成作业:https://mp.weixin.qq.com/s/lpoHhZqi-_ASUaIfpnX96w
软件升级虽然是一件值得高兴的是,但是代码变化太大却不是一件好消息。比如说Seurat,这个单细胞分析最常用的R包,它的2.x版本和3.x版本的变化就是翻天覆地。
在空间转录组|数据读入,标准数据形式外,还有哪些"天残地缺"可以读取提到了多种形式的数据读取,在原函数Load10X_Spatial的基础上进行了 “简陋”的修改,添加一些判断使之可以读取上文提到的多种数据形式。
关于空间转录组分析的学习,我推荐先学习单细胞转录组分析,熟练掌握单细胞的数据读入,常规分析,整合去批次,以及部分高级分析(例如拟时序、转录因子和细胞通讯分析),在这个基础上,理解和学习单细胞空间转录组就非常快了,Seurat官方文档(https://satijalab.org/seurat/articles/spatial_vignette.html)就是一个很好的入门教程。
老实说,过去的三年虽然说我一直在朋友圈刷到有空间单细胞的cns文章,但我实际上是瞧不起这个技术的。首先它仅仅是给大红大紫的单细胞转录组续命而已,其次它根本就不是真正的单细胞水平,所以绝大部分数据分析哦度非常粗糙,仅仅是蹭热点。。。。
Seurat 是单细胞RNA数据分析的一个非常主流的R包,升级到当前V5版本后,会带来一些不友好的地方,但是也有一些功能上的升级,大家一定根据自己的情况和分析需求来确定是否升级。
目前的单细胞转录组学从样本量、分析方法和湿实验等方面都已经卷到了一定程度,另一个趋势则是引入单细胞多组学(如scATAC-seq等)以及空间维度,包括空间转录组、空间代谢组、空间蛋白组、空间ATAC等等。
在[[11-10x数据导入为seurat对象]] 我们介绍了10x 数据导入seurat。但有时候,获得的数据并非是标准的10x 格式,比如raw 矩阵,该如何解决呢?或者,我们希望以sce 对象处理,毕竟单细胞R 中对象处理,并非seurat 一家独大。来探索一下吧。
单细胞代码解析-妇科癌症单细胞转录组及染色质可及性分析1:https://cloud.tencent.com/developer/article/2055573
Seurat 是一款用于单细胞数据分析的软件,它是一款 R 包。可以对单细胞数据从表达矩阵开始分析。主要可以用于 QC,根据线粒体基因比率进行过滤,细胞分群,差异基因识别,亚细胞分群以及数据可视化等功能,是单细胞研究领域非常著名的工具。
因为这个Seurat的V5版本还是有一些优势的,比如可以轻轻松松拿捏这130万单细胞的数据集,需要参考Seurat官网的3个资料:
群里小伙伴在前几天有提到这个问题,想了一下我的确没写过相关的推文,但是我发现相关的推文在微信公众号上还是能搜索到不少的。我来写个总结性的推文吧~
此教程展示了如何通过基于传统细胞周期相关marker计算细胞周期得分,并在预处理过程中将这些分数从数据中回归,以消除 scRNA-seq 数据中细胞周期异质性的影响。我们在小鼠造血祖细胞数据集上证明了这一点。您可以在此处[1]下载运行此教程所需的文件。
一般来讲,不同亚群的细胞具有不同的功能,因此亚群分析对于研究十分重要,会影响后续分析结果。
假设我们有一个seurat对象sce.all,默认的每个cell的样本来源信息是存储在sce.all对象中metadata的orig.ident部分(sce.all@meta.data$orig.ident),但是orig.ident中的内容是从1开始的数值,有N个样本,就有N个数值去代表这N个样本。在后续的作图分析中,如果样本信息只是数值,还要对应回原本的样本名去查看,这样并不直观。因此我们有这个需要将seurat对象中的orig.ident替换为真实的样本名字。
第 11-20题是使用3大R包从细胞的降维和分群到每个群细胞的功能注释,最后到公共数据库的注释,生存分析看不同细胞亚群的临床意义。
经过前面单细胞免疫组库VDJ|从数据下载开始完成cellranger vdj分析(1)中的cellranger count 和 cellranger vdj的分析后,得到了单细胞转录组 和 单细胞TCR的结果数据 。考虑到样本数太多,选择既有RNA又有TCR样本的数据进行后续分析。重点解决以下三个小问题
上期推文我们根据单细胞初探(seurat基础流程)(2021公开课配套笔记)学习并搭建了基本的单细胞转录组下游分析流程,其中很重要的一个知识点就是Seurat对象,熟悉Seurat对象内部结构对我们掌握各个分析究竟是在进行什么样的处理很有帮助。
主要的分析就是第一层次降维聚类分群,然后大概认识一下有什么亚群,以及比例差异情况,最后就是把每个亚群都细分一下做同样的分析即可。
在R for data science这本书中,作者提出数据分析的一个流程,在数据转换、可视化以及建模之后,来到数据分析的新阶段:与别人分享我们的数据。之前我们分享了许多单细胞数据分析的教程cellranger拆库定量、seurat质控分析,monocle轨迹推断,R语言给单细胞数据分析带来更多可能。那么,在数据分析进入下游之后,如何给自己的研究增加更多可交付的内容呢?Shiny会是一个不错的选择。
最近刷到NAR最新的一篇算法文章《scAB detects multiresolution cell states with clinical significance by integrating single-cell genomics and bulk sequencing data》,DOI10.1093/nar/gkac1109。通过整合单细胞基因组学(包括scRNA-seq和sc-ATAC-seq数据)和Bulk RNA 测序数据及表型信息,在这里作者提出了一种称为 scAB 的新算法。
领取专属 10元无门槛券
手把手带您无忧上云