其他分享
首页 > 其他分享> > 关于差异表达分析的基本步骤和知识点

关于差异表达分析的基本步骤和知识点

作者:互联网

1. 什么是10x数据?

(1)Gel bead与细胞结合,形成GEMs。

在这个过程中,与细胞结合并标记细胞的Gel bead由四个部分组成。各有其各自的作用。

R1:为一段已知序列的DNA片段,用于后续的测序。(DNA序列)
10X Barcode:用于标记细胞。(细胞名称)
UMI:在混合测序的过程中,用于区分不同的cDNA来源的reads。也就是在后续的建库扩增的过程中,cDNA不断的扩增产生reads,来源于同一个转录本的reads的UMI相同。(cDNA来源,不同mRNA,不同细胞,UMI不同)
poly(dT)VN:通过与mRNA的polyA尾互补配对,捕获细胞中游离的mRNA。
每一个细胞有一个特征的UMI。之后,在进行扩增建库的过程中,只要是由该细胞扩增产生的cDNA,都会带有这段UMI。

(2)建库
通过某种方法,将细胞裂解,释放出mRNA,利用逆转录酶,将mRNA反转成双链cDNA,进行扩增。而Gel bead所起到的作用就是,将我们细胞中的mRNA的序列信息捕获,然后通过反转录的方式,转换为带有特征的细胞标记的reads。
由于这个平台的测序过程是高通量的。所以,将所有的reads(来源于不同的细胞的不同的mRNA)都集中起来进行测序。而后续的过程中,如何将这些不同来源的reads区分开来,就是利用我们的标记。
一般而言,有几个维度的标记:

来自哪一个样本(患者,如果是一个个体的某个组织的话,另当别论)
来自哪一个细胞(因为我们要在细胞维度上,进行表达量的识别,所以这部分的信息也很重要)
——10X barcode
来自哪一个基因(通过基因的识别,我们知道是哪些基因的表达)
——UMI
所以,最终表现在counts矩阵上,就是行为所在的细胞,列为基因,值为定量后的表达值。

(3)生物信息学分析
一般而言,会使用Cell Ranger,以及随后使用的seurat包进行数据的处理。

参考链接:https://www.jianshu.com/p/ef88433709bd

特征:
(1)非全长的测序,通过测序3’端,来定量基因的表达。具有较强的3’端偏好性。
(2)测序样本,要求90%以上活细胞。
(3)真正意义上对单个细胞的表达量进行汇总。
(4)通量高,建库周期短。10X Genomics 一次测序可以捕捉100-80,000个细胞,具有极高的细胞通量。单细胞的测序通量平均也在50,000 reads/每一个细胞,而如果使用细胞核进行测序则平均通量为25,000 reads/每一个细胞核。
(5)具有较为严重的drop out问题。
什么是drop out问题?这个问题是单细胞测序技术的普遍的问题,只不过10X的方法得到的结果更为显著。具体表现在,一些基因在一些细胞中根本检测不出表达,在另外一些细胞中则显著高表达(排除生物学因素影响)。

————————————————
版权声明:本文为CSDN博主「今天也是个妖精头子呀」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40640700/article/details/117222450

2. 什么是cell ranger?

Cell Ranger is a set of analysis pipelines that process Chromium single-cell data to align reads, generate feature-barcode matrices, perform clustering and other secondary analysis, and more. 

Cell Ranger是一组分析管道,处理铬单细胞数据以对齐读取、生成特征条形码矩阵、执行聚类和其他二次分析等。

5种方法

        1.cellranger mkfastq

        2.cellranger count

        3.​​​​​​Cellranger aggr

        4.cellranger reanalyze

        5.cellranger multi

工作流程

        如果从BCL文件开始,生成流细胞目录,建议使用cellranger mkfastq生成FASTQs;

        如果从已经被bcl2fastq解编的FASTQs文件开始,可以直接从 cellranger count开始。

        

      一个样本在GEM well中处理在flowcell上排列好,在这种情况下,用 cellranger mkfastq生成FASTQ文件,用cellranger count在单样本分析( Single-Sample Analysis)中进行描述。

3. 怎么设置Seurat对象

1. Read10x() 函数读取数据——>返回UMI计数矩阵。

2. 创建Seurat对象。其中包含单细胞数据集的数据(如计数矩阵)和分析(如PCR或聚类结果)。

 4. QC指标是什么?

        quality control 质量控制

        常用的一些 QC 指标包括:

                在每个细胞中检测到的独特基因的数量。

                        低质量细胞或空液滴通常只有很少的基因

                        细胞双联体或多重联体可能表现出异常高的基因计数                  同样,在细胞内检测到的分子总数(与独特的基因密切相关)                 映射到线粒体基因组的读数百分比                         低质量/垂死的细胞通常表现出广泛的线粒体污染                         我们使用该 PercentageFeatureSet() 函数计算线粒体 QC 指标,该函数计算源自                         一组特征的计数百分比                         我们使用所有基因 MT- 的集合作为一组线粒体基因                         

5. Seurat中存储的QC指标在哪里? ( QC的作用是删去一些比较离谱的数据)

在下面的示例中,我们将 QC 指标可视化,并使用这些指标来过滤单元格。         我们过滤具有超过 2,500 或少于 200 的独特特征计数的单元格         我们过滤线粒体计数 > 5% 的细胞

 

6. 规范化数据 (改变量纲,或者将数据的范围缩小,降低计算成本,加快收敛速率)

从数据集中删除不需要的单元格后,下一步是对数据进行标准化。默认情况下,我们采用全局缩放归一 化方法“LogNormalize” ,该方法将每个单元格的特征表达式测量值按总表达进行归一化,将其乘以比例因子(默认为 10,000 ),并对结果进行对数转换。标准化值存储在pbmc[["RNA"]]@data .

7. 识别高度可变的特征(把最特别的找出来)

我们接下来计算在数据集中表现出高细胞间变异的特征子集(即,它们 在某些细胞中高度表达,而在其他细胞中表达低 )。

我们在 Seurat 中的过程在此处 (https://doi.org/10.1016/j.cell.2019.05.031) 详细描述,并通过直接对单细胞数据中固有的均值- 方差关系进行建模来改进以前的版本,并在 FindVariableFeatures() 函数中实现。默认情况下,我们为每个数据集返回 2,000 个特征。这些将用于下游分析,如 PCA 。

8. 缩放数据(降维之前的标准预处理)

接下来,我们应用线性变换( “ 缩放 ” ),这是在降维技术(如 PCA )之前的标准预处理步骤。该 ScaleData() 函数:         改变每个基因的表达,使跨细胞的平均表达为 0         缩放每个基因的表达,使细胞间的方差为 1                 此步骤在下游分析中给予同等权重, 因此高表达基因不会占主导地位         其结果存储在 pbmc[["RNA"]]@scale.data

9. 线性降维(PCA)

一般情况下用先前确定的变量特征(nfeatures)作为输入,

但是如果想要选择不同的子集,可以使用参数定义。 

 可以使用 VizDimReduction() , DimPlot() 和 DimHeatmap()三种方法来进行可视化。

查看降维结果:

     

特别是 DimHeatmap() 允许轻松探索数据集中异质性的主要来源,并且在尝试决定包含哪些 PC 以进行进一步下游分析时非常有用。单元格和特征都根据其 PCA 分数进行排序。设置 cells 为一个数字会在频谱的两端绘制“ 极端 ” 单元格,这大大加快了大型数据集的绘制速度。尽管显然是有监督的分析,但我们发现这是探索相关特征集的宝贵工具。

 

 10. 确定数据集的维度

为了克服 scRNA-seq 数据的任何单个特征中的广泛技术噪音, Seurat 根据其 PCA 分数对细胞进行聚类,每个 PC 基本上代表一个 “ 元特征 ” ,该 “ 元特征 ” 组合了相关特征集的信息。因此,顶部主成分代表数据集的稳健压缩。但是,我们应该选择包含多少个组件?10 ? 20 ? 100 ? 我们实施了受 JackStraw 程序启发的重采样测试。我们随机排列数据的一个子集(默认为 1% )并重新运行 PCA ,构建特征分数的 “ 零分布 ” ,并重复此过程。我们将“ 显着 ”PC 识别为那些具有大量低 p 值特征的 PC 。

在JackStraw()函数中, 使用基于零分布的置换检验方法。随机抽取一部分基因(默认1%)然后进行pca分析得到pca分数,将这部分基因的pca分数与先前计算的pca分数进行比较得到显著性p-Value。根据主成分(pc)所包含基因的p-value进行判断选择主成分。最终的结果是每个基因与每个主成分的关联的p-Value。保留下来的主成分是那些富集小的p-Value基因的主成分。 

该 JackStrawPlot() 函数提供了一个可视化工具,用于将每个 PC 的 p 值分布与均匀分布(虚线)进行比较。“ 显着 ”PC 将显示出大量具有低 p 值的特征(虚线上方的实线)。在这种情况下,在前 10-12 个 PC之后,重要性似乎急剧下降。 另一种启发式方法会生成一个 “ 肘图 ” :根据每个( ElbowPlot() 函数)解释的方差百分比对主成分进行排名。在这个例子中,我们可以观察到 PC9-10 周围的 “ 肘部 ” ,这表明大部分真实信号是在前 10 个 PC 中捕获的。

识别数据集的真实维度 —— 对用户来说可能具有挑战性 / 不确定性。因此,我们建议考虑这三种方法。第一个是更受监督的,探索 PC 以确定异质性的相关来源,例如可以与 GSEA 结合使用。第二个实现了基于随机空模型的统计测试,但对于大型数据集很耗时,并且可能无法返回清晰的 PC 截止值。第三种是常用的启发式方法,可以即时计算。在这个例子中,所有三种方法都产生了相似的结果,但我们可能有理由选择 PC 7-12 之间的任何东西作为截止点。

 11. 聚类细胞

与 PhenoGraph 一样,我们首先基于 PCA 空间中的欧几里德距离构建一个 KNN 图,并基于其局部邻域中的共享重叠(Jaccard 相似性)细化任意两个单元之间的边权重。此步骤使用该 FindNeighbors() 函数 执行,并将先前定义的数据集维度(前 10 个 PC )作为输入 为了对细胞进行聚类,我们接下来应用模块化优化技术,例如 Louvain 算法(默认)或 SLM 以迭代方式将细胞分组在一起,目标是优化标准模块化函数 . 该 FindClusters() 函数实现了这个过程,并包含一个分辨率参数,用于设置下游聚类的 “ 粒度 ” ,增加的值会导致更多的聚类。我们发现将这个参数设置在 0.4-1.2 之间通常会为大约 3K 细胞的单细胞数据集返回良好的结果。 对于较大的数据集,最佳分辨率通常会增加。 可以使用该 Idents() 函数找到集群。

 

12. 运行非线性降维 (UMAP/tSNE)

Seurat 提供了多种非线性降维技术,例如 tSNE 和 UMAP ,以可视化和探索这些数据集。这些算法的目标是学习数据的底层流形,以便将相似的单元格放在低维空间中。上面确定的基于图形的集群中的单元格应该共同定位在这些降维图中。作为 UMAP 和 tSNE 的输入,我们建议使用相同的 PC 作为聚类分析的输入。

 

 存储为RDS文件,直接下次读取即可。

13. 寻找差异表达的特征(簇生物标志物)

FindAllMarkers()可以找到通过差异表达定义聚类的标记

参数

        min.pct要求在两组细胞中的任何一组中以最小百分比检测到一个特征

        thresh.test要求一个特征在两组之间差异表达(平均)一定量

当这两个参数都为0时,时间会显著增加——因为会测试大量量不太可能具有高度差异性的特征

 

 

 Seurat 有几种差异表达测试,可以使用test.use参数进行设置。例如,ROC 测试返回任何单个标记的“分类能力”(范围从 0 - 随机,到 1 - 完美)

用于可视化表达的工具

        VlnPlot()——显示跨集群的表达概率分布。

        FeaturePlot()—— 在 tSNE 或 PCA 图上可视化特征表达

        

 

 

 

 

 

 

 

标签:知识点,表达,特征,步骤,基因,细胞,PC,测序
来源: https://blog.csdn.net/qwertasdgtyh/article/details/120473745