11 进阶练习
对于课程的最后部分,我们希望您能够解决更多开放式问题,执行您将为实际研究项目所做的分析类型。
拥有自己数据集的参与者可以随意使用它们。
对于其他参与者,建议从 conquer(consistent quantification of external rna-seq data)中下载数据集(外部rna-seq数据的一致量化)。 conquer使用 Salmon定量给定样本中的转录本丰度。 对于给定物种,fasta文件含有来自Ensembl的cDNA和ncRNA序列的与ERCC spike-in 互补序列,并且为整个目录构建Salmon quasi-mapping索引。 然后运行 Salmon来估计每个转录本的丰度。 Salmon估计的转录本了丰度汇总并以MultiAssayExperiment
对象的形式提供给用户。 可以通过 _MultiAssayExperiment_列中的按钮下载此对象。提供的MultiAssayExperiment
对象包含两个“实验”,对应于基因水平和转录水平表达值。
基因水平实验包含4个部分:
- TPM
- count
- count_lstpm (count-scale length-scaled TPMs)
- avetxlength (平均转录本长度, 见here).
转录水平包含3个部分:
- TPM
- count
- efflength (Salmon估计的有效长度)
MultiAssayExperiment
还包含表型数据(colData中),以及数据集的一些元数据(基因组,物种和用于定量的Salmon索引)。
在这里,我们将向您展示如何从MultiAssayExperiment
对象创建SCE
。 例如,如果下载Shalek2013
数据集,则可以使用以下代码创建SCE
:
library(MultiAssayExperiment)
library(SummarizedExperiment)
library(scater)
d <- readRDS("~/Desktop/GSE41265.rds")
cts <- assays(experiments(d)[["gene"]])[["count_lstpm"]]
tpms <- assays(experiments(d)[["gene"]])[["TPM"]]
phn <- colData(d)
sce <- SingleCellExperiment(
assays = list(
countData = cts,
tpmData = tpms
),
colData = phn
)
在 conquer网站上可以看到预先计算了几个不同的QC指标。
以下是您可以探索的一些问题建议:
来自不同实验室的两个mESC数据集(比如
Xue
和Kumar
)。如何合并并删除批次效应吗?聚类和伪时间分析寻找细胞之间的不同模式。哪个更适合你的数据集?
聚类的主要挑战之一是确定
k
的值。是否可以使用一个或多个聚类工具来探索细胞的不同层次结构? 什么是确定k
的数学和/或生物学黄金标准?标准化策略的选择很重要,但是如何确定哪种方法最好? 探索不同标准化对下游分析的影响。
scRNA-seq数据集是高维的,但大多数维度(比如基因)都没有信息。因此,在分析和可视化数据时,降维和特征选择非常重要。 考虑不同特征选择和降维方法对聚类和伪时间分析的影响。
聚类后的主要挑战之一是解释亚群的生物相关性。一种方法是识别marker基因富集的gene ontology条目。 识别标记基因(例如使用
SC3
或M3Drop
)并使用gProfiler,WebGestalt或DAVID进行富集分析。类似地,当根据伪时间对细胞进行排序时,我们想要了解随时间变化的细胞过程。从比对的细胞中识别一组变化的基因,并使用GO item来表征它们。