单细胞RNA
一、单细胞single cell RNA-seq简介
1、Bulk RNA-seq(大量RNA-seq)
Measures the average expression level for each gene across a large
population of input cellsUseful for quantifying expression signatures from ensembles, e.g. in
disease studiesInsufficient for studying heterogeneous systems, e.g. early
development studies, complex tissues (brain)Does not provide insights into the stochastic nature of gene
expression
2、scRNA-seq
Measures the distribution of expression levels for each gene across a
population of cellsAllows to study new biological questions in which cell-specific
changes in transcriptome are important, e.g. cell type
identification, heterogeneity of cell responses, stochasticity of
gene expression, inference of gene regulatory networks across the
cells.Currently there are several different protocols in use, e.g.
SMART-seq2, CELL-seq and Drop-seq.There are also commercial platforms available, including the Fluidigm
C1, Wafergen ICELL8 and the 10X Genomics ChromiumSeveral computational analysis methods from bulk RNA-seq can be used.
But in most cases computational analysis requires adaptation of the
existing methods or development of new ones
3、单细胞测序的工作流程
4、计算分析 computational analysis
SCONE(single-cell overview of normalized
expression),一个处理单细胞测序数据的包:质量控制和标准化Seurat:R package,用于单细胞数据的质量控制和分析。
ASAP(Automated single cell Analysis
Pipeline):一个基于web的单细胞分析平台。https://asap.epfl.ch/
5、单细胞测序分析的主要挑战
bulk RNA-seq 和single cell RNA-seq的最主要区别:单细胞测序代表单个细胞(single cell),而bulk测序代表一群细胞(a population of cells)。因此主要的关注点应该放在不同细胞类型结果的比较。两种测序手段的主要差异性体现在两点:
amplification(扩增 up to 1 million fold)
gene dropouts(在一个细胞里基因被检测到一个中等程度的表达水平,但是在另一个细胞里却检测不到这个基因的表达)
导致两种差异性结果的原因: 仅从一个细胞中获取的RNA转录本起始量较低。提高转录本的捕获效率和减少扩增偏差是目前最活跃的研究领域。然而我们可以通过适当的标准化处理减轻这些问题。
二、单细胞表达矩阵
scRNA-seq数据的分析以其表达矩阵为起点,表达矩阵中的每一行代表一个基因,每列代表一个细胞。每个条目代表给定细胞中特定基因的表达水平。
1、表达矩阵中表达值得数据类型
counts: Raw count data, e.g., number of reads or transcripts for a
particular gene.normcounts: Normalized values on the same scale as the original
counts. For example, counts divided by cell-specific size factors
that are centred at unity.logcounts: Log-transformed counts or count-like values. In most
cases, this will be defined as log-transformed normcounts, e.g.,
using log base 2 and a pseudo-count of 1.cpm: Counts-per-million. This is the read count for each gene in each
cell, divided by the library size of each cell in millions.tpm: Transcripts-per-million. This is the number of transcripts for
each gene in each cell, divided by the total number of transcripts in
that cell (in millions).
2、scater package
scater是一个用于单细胞测序数据分析的R包,包括质量控制(quality control),可视化和预处理等,以便进一步的分析。
scater features the following functionality:
Automated computation of QC metrics
Transcript quantification from read data with pseudo-alignment
Data format standardisation
Rich visualizations for exploratory analysis
Seamless integration into the Bioconductor universe
Simple normalisation methods
3、独特的分子标识符(UMI)
unique Molecular identifiers 是在逆转录过程中添加到转录本中的短随机条码(4-10bp)。它们可以将测序读序列分配给单个转录分子,从而消除scRNASeq数据中的放大噪声和偏差。当对包含UMI的数据进行测序时,技术通常只对包含UMI的转录本的末端(通常是3’端)进行特定的测序。
三、清洁表达式矩阵
应该检查以去除在读取QC或映射QC步骤中未检测到的劣质细胞,在此阶段未能移除低质量细胞可能会增加技术噪音,这可能会模糊下游分析中感兴趣的生物信号。且由于目前没有用于执行scRNAseq的标准方法,因此呈现的各种QC测量的预期值可以在实验之间显著变化。
因此,为了执行QC,我们将寻找相对于数据集的其余部分而言是异常值的cells,而不是与独立的质量标准进行比较。因此,在比较实用不同协议收集的数据集之间的质量指标时应该小心。
去除在任何细胞中都不表达的基因
具有少量reads/molecules,很可能是已经被破坏或捕获细胞失败,应该移除这类细胞
手动过滤细胞:大多数细胞检测到的基因在7000-10000之间,这对于高深度scRNAseq来说是正常的。但是这也取决于实验协议和测序深度。比如说基于droplet或其他测序深度较低的方法,通常其每个细胞检测到的基因较少。如果细胞检出率相等,则分布应近似正常,因此我们移除分布尾部的那些细胞(检测到的基因少于7000的细胞)
自动过滤细胞:自动异常检测来识别可能存在问题的细胞:scater包创建一个矩阵(行代表cell,列代表不同的QC度量),然后PAC提供了按照QC度量排序的cells的2D表示,然后使用来自mvoutlier包的方法检测异常值。
过滤基因:移除表达水平被认为是undetectable的基因。We define a gene as detectable if at least two cells contain more than 1 transcript from the gene. If we were considering read counts rather than UMI counts a reasonable threshold is to require at least five reads in at least two cells. 然而很多时候阈值取决于测序深度,而且很重要的一点是基因过滤一定要在细胞过滤之后,因为一些基因可能仅仅被检测到只存在在低质量的细胞里。
四、数据可视化
1、PCA
PC对应于协方差矩阵的特征向量,特征向量按照特征值排序,因此第一主成分尽可能的考虑数据的可变性,并且每个后续成分在与前面的成分正交的约束下具有最高的方差。
注意:对数转换对数据是有益的:减少了第一主成分的方差,并且已经分离了一些生物效应。而且使表达值的分布更正常。
2、tSNE图
tSNE(t-Distributed Stochastic Neighbor Embedding)将维数降低与最近邻网络上的随机游走相结合,将高维数据(例如14214维表达矩阵)映射到二维空间,同时保持细胞间的局部距离。与PCA相比,tSNE是一种随机算法,在统一数据集上运行多次该方法会得到不同的图。由于tSNE的非线性和随机性,导致很难解释。为了确保再现性(reproducibility),我们可以固定随机数产生器的种子,以保证总是得到相同的图。
此外,tSNE需要提供一个perplexity值,该值反应了用于构建最近邻网络的邻居数量。该值越高表明产生了一个密集网络,将细胞聚集在一起;该值越低表明网路更加稀疏,允许细胞群彼此分离。在scater包中,perplexity的默认值是:cells总数除以5。
五、归一化理论
目的是消除混杂因素的影响。
由于scRNAseq数据通常高在高度复用的平台上进行测序,因此library大小不同,从每个cell获取的reads可能有很大差异。然而可以使用一种量化方法来归一化library大小。通过将表达式矩阵的每一列乘以或除以“标准化因子”(相对于其他cell的library大小的估计值)来校正library大小。对于bulk RNAseq已经开发了很多方法来校正库大小,这些大小同样适用于scRNAseq(例如 UQ,SF,CPM,RPKM,FPKM,TPM)
1、CPM
规范化数据的最简单方法,将其转换为每百万计数(CPM),方法是将每一列除以其总数,然后乘以1000000。
CPM的潜在缺陷是:如果样本中包含的基因在细胞中高度表达或者差异表达,在这种情况下,细胞内的总molecular数可能取决于这些基因在细胞中是否处于开启/关闭状态,而总molecular数的标准化可能会掩盖这些基因的差异表达或者错误的认为其余基因是差异表达。
另外,RPKM,FPKM,TPM是CPM的变体,他们通过各自基因/转录本的长度进一步调节计数。
2、RLE (SF)
size factor(SF):首先计算所有细胞中每个基因的几何平均值,每个细胞的size factor是基因表达与基因几何平均值比值的中位数。
方法的缺点:由于它使用的是几何平均值,所以只能在所有细胞中使用非零表达值的基因进行计算,因此不适合进行大规模低深度的scRNAseq实验。
edgeR & scater包中把这个方法叫做RLE(relative log expression)。
3、UQ
upperquartile(UQ上四分位数),each column is divided by the 75% quantile of the counts for each library. Often the calculated quantile is scaled by the median across cells to keep the absolute level of expression relatively consistent.
这种方法的缺点:在低深度scRNAseq实验中,大量的未检测到的基因可能导致75%分位数为0(或者接近于0)。这种限制可以通过推广这个概念和使用更高的分位数来克服。99%分位数是scater中的默认值,或者在计算75%分位数之前排除0。
4、TMM
TMM(the weighted trimmed mean of M-values):
The M-values in question are the gene-wise log2 fold changes between individual cells. One cell is used as the reference then the M-values for each other cell is calculated compared to this reference. These values are then trimmed by removing the top and bottom ~30%, and the average of the remaining values is calculated by weighting them to account for the effect of the log scale on variance. Each non-reference cell is multiplied by the calculated factor. Two potential issues with this method are insufficient non-zero genes left after trimming, and the assumption that most genes are not differentially expressed.
5、scran
scran包实现了专门用于单细胞数据的CPM变体。简单说来,这种方法通过将cells集中在一起计算一个标准化因子(类似于CPM)来处理每个cell中的大量零值问题。
Briefly this method deals with the problem of vary large numbers of zero values per cell by pooling cells together calculating a normalization factor (similar to CPM) for the sum of each pool. Since each cell is found in many different pools, cell-specific factors can be deconvoluted from the collection of pool-specific factors using linear algebra.
6、downsampling
对表达矩阵进行下采样,使每个细胞的molecular数大致相同。这种方法的好处:下采样将引入零值,从而消除由于检测到的基因数量不同而产生的任何偏差。然而缺点是:这个过程不是确定性的,因此每次运行下采样时得到的表达矩阵是略有不同的。因此通常必须在多个下采样上运行分析,以确保结果是健壮的。
7、注意项
RLE、TMM、UQ是为bulk RNAseq数据开发的,根据实验环境的不同,他们可能不适用于单细胞RNAseq数据,因为他们的基本假设可能存在问题。
对于CPM标准化,我们使用scater的calculateCPM()函数
对于RLE,UQ,TMM,我们使用scater的normaliseExprs()函数
对于scran,我们使用scran包来计算size factors(它作用于SingleCellExperiment class),然后使用scater的normalize()来标准化数据。
对于downsampling,使用如下函数:
Down_Sample_Matrix <-
function (expr_mat)
{
min_lib_size <- min(colSums(expr_mat))
down_sample <- function(x) {
prob <- min_lib_size/sum(x)
return(unlist(lapply(x, function(y) {
rbinom(1, y, prob)
})))
}
down_sampled_mat <- apply(expr_mat, 2, down_sample)
return(down_sampled_mat)
}所有这些规范化函数都将结果保存为logcounts。
六、处理混杂因素
技术上的混杂因素包括识别和移除表达数据中与感兴趣的生物学信号无关(即混杂因素)的变异源。目前存在各种各样的方法,其中一些使用spike-in or housekeeping genes,一些使用endogenous genes。
一些方法:
BASiCS
scLVM
RUVg
课程学习网址:https://hemberg-lab.github.io/scRNA.seq.course/index.html