为什么要以数据库的思维来理解Seurat单细胞数据——科研必备单细胞组学知识—科研必备知识

请关注公众号【叨客共享】 在使用网站的过程中有疑问,请来公众号进行反馈哦
在咱们涉足单细胞数据剖析不久之后就会发现,咱们在和一套新的理念打交道。在这套理念中,目标是常见的,数据是多维的,往往是一张核心表及其隶属。咱们对一张表是了解的,Excel极大地遍及了这种了解,但是怎么办理表的隶属?在这套理念中,每个cell都是不同的。
注:这儿的cell是一语双关,既指表中的单元格,又指细胞。细胞便是单元格。

单细胞数据格局

为了记录每个细胞的信息,人们开展了相应的数据结构如seurat的S4类,monocle的CDS,SingleCellExperiment的sce,scanpy的anndata等,可见单细胞的故事远大于一张二维的表达谱。

seurat的S4类
Seurat 是咱们了解的单细胞数据剖析工具了,或许现已用seurat剖析数据了,或许现已宣布了文章,你确你现已了解seurat的逻辑了吗:以存储记录进程。
为什么要以数据库的思想来了解Seurat单细胞数据
如Seurat会记录所执行的核算及其信息,有了seurat目标其实就知道人们在什么时候对数据做了哪些操作以及参数是什么。
pbmc_small@commands
$NormalizeData.RNA
Command: NormalizeData(object = pbmc_small)
Time: 2018-08-28 04:32:17
assay : RNA 
normalization.method : LogNormalize 
scale.factor : 10000 
verbose : TRUE 

$RunPCA.RNA
Command: RunPCA(object = pbmc_small, features = VariableFeatures(object = pbmc_small),     verbose = FALSE)
Time: 2018-08-28 04:34:56
assay : RNA 
features : PPBP IGLL5 VDAC3 CD1C AKR1C3 PF4 MYL9 GNLY TREML1 CA2 SDPR PGRMC1 S100A8 TUBB1 HLA-DQA1 PARVB RUFY1 HLA-DPB1 RP11-290F20.3 S100A9 
compute.dims : 20 
rev.pca : FALSE 
weight.by.var : TRUE 
verbose : FALSE 
print.dims : 1 2 3 4 5 
features.print : 30 
reduction.name : pca 
reduction.key : PC 
seed.use : 42 

$BuildSNN.RNA.pca
Command: BuildSNN(pbmc_small, features = VariableFeatures(object = pbmc_small))
Time: 2018-08-28 04:43:31
assay : RNA 
features : PPBP IGLL5 VDAC3 CD1C AKR1C3 PF4 MYL9 GNLY TREML1 CA2 SDPR PGRMC1 S100A8 TUBB1 HLA-DQA1 PARVB RUFY1 HLA-DPB1 RP11-290F20.3 S100A9 
reduction : pca 
dims : 1 2 3 4 5 6 7 8 9 10 
k.param : 30 
prune.SNN : 0.06666667 
nn.eps : 0 
verbose : TRUE 
force.recalc : FALSE 
do.plot : FALSE 
graph.name : RNA_snn 

......
SingleCellExperiment
SingleCellExperiment 目标是较老的SummarizedExperiment目标的扩展。这是一个S4类开发用于Bioconductor 包,其首要部分是一组中心矩阵“assays”,以及供给关于行和列的额定信息的表。还有一个元数据槽,它是一个包括与实验相关的任何其他信息的列表。
为什么要以数据库的思想来了解Seurat单细胞数据
  • A : 最小的sce目标是经过供给数据来构建的,比方每个细胞的计数矩阵(蓝色方框),由特征组成,比方基因(行)和细胞(列)。还能够供给描绘单元格的元数据,其中单元格表明为行,单元格的已知特征为列(橙色框)。类似地,也能够增加描绘特性的元数据(绿色框)。这些不同类型的数据都存储在sce目标的不同部分中,这些部分称为槽(slots)。每个槽中的数据能够经过以各自的槽(箭头)命名的拜访器以编程方法拜访,比方rowRanges指的是特征元数据,colData指的是样本元数据,assay指的是数据。
  • B : 运用sce (singlecellexper, sce)兼容的工作流进行剖析,将数据附加到初始sce目标。例如,核算每个单元格的库规范化因子将创立一个新槽(粉色框)。这些能够用来推导一个归一化计数矩阵,它与初始计数数据(深蓝色方框)一同存储在同一个检测槽中。因此,剖析槽能够存储恣意数量的数据转化。单元质量衡量(描绘单元特征)被附加到样例元数据槽colData中。最终,以与剖析槽类似的方法,能够存储恣意数量的维数减缩的数据表明方式,驻留在它们自己的槽中,reducedDim。
  • C : sce目标在典型剖析的整个进程中不断开展,存储来自初始数据的各种衡量和表明。有关singlecellexper类的更多信息,请参见singlecellexper(https://bioconductor.org/packages/singlecellexper)。
anndata
为什么要以数据库的思想来了解Seurat单细胞数据

单细胞转录组的核心便是一个cell X gene的二维表,但是分群后要存储cell的分群成果,特征挑选是要记录gene的信息,降维后要存储降维后的成果。所以,这张表.X的目标cell相关的信息记录在.obs中,属性gene的信息记录在.var中,其他的信息在.uns中。

记得初中时学习立体几何老师要求咱们要有空间想象力,把思想提高到一个新的维度。在单细胞数据剖析的过中,咱们也要挑起咱们的想象力,比方在RNA速率的剖析中,anndata存储的内容是这样的:

adata

AnnData object with n_obs × n_vars = 7292 × 1999 
    obs: \'initial_size_unspliced\', \'initial_size_spliced\', \'initial_size\', \'n_counts\', \'velocity_self_transition\', \'leiden\', \'velocity_clusters\'
    var: \'Accession\', \'Chromosome\', \'End\', \'Start\', \'Strand\', \'means\', \'dispersions\', \'dispersions_norm\', \'velocity_gamma\', \'velocity_r2\', \'velocity_genes\', \'velocity_score\', \'fit_alpha\', \'fit_beta\', \'fit_gamma\', \'fit_t_\', \'fit_scaling\', \'fit_std_u\', \'fit_std_s\', \'fit_likelihood\', \'fit_u0\', \'fit_s0\', \'fit_pval_steady\', \'fit_steady_u\', \'fit_steady_s\', \'fit_alignment_scaling\', \'fit_r2\'
    uns: \'pca\', \'neighbors\', \'connectivities_key\', \'distances_key\', \'velocity_settings\', \'velocity_graph\', \'velocity_graph_neg\', \'leiden\', \'umap\', \'leiden_colors\', \'rank_velocity_genes\', \'recover_dynamics\'
    obsm: \'X_pca\', \'X_umap\', \'velocity_umap\'
    varm: \'PCs\', \'loss\'
    layers: \'matrix\', \'ambiguous\', \'spliced\', \'unspliced\', \'Ms\', \'Mu\', \'velocity\', \'variance_velocity\', \'fit_t\', \'fit_tau\', \'fit_tau_\', \'velocity_u\'
    obsp: \'distances\', \'connectivities\'

咱们不仅要知道每一部分存储的内容,还要知道各部分之间的关系。

h5

h5文件是层次格局的第5代版别,用于存储科学数据的一种文件格局和库文件,由美国超级核算中心与应用中心研制的文件格局,用以存储和安排大规模数据.

H5将文件结构简化成两个首要的目标类型:
1 数据集dataset,便是同一类型数据的多维数组
2 组group,是一种容器结构,能够包括数据集和其他组,若一个文件中存放了不同种类的数据集,这些数据集的办理就用到了group

直观的了解,能够参阅咱们的文件体系,不同的文件存放在不同的目录下:
目录便是hdf5文件中的group,描绘了数据集DataSet的分类信息,经过group有用的将多种dataset进行办理和区分文件便是hdf5文件中的dataset,表明具体的数据

下图便是数据集和组的关系:

为什么要以数据库的思想来了解Seurat单细胞数据

为什么是数据库

跟着单细胞多模态数据的丰厚,目前仅仅转录组的数据结构就这么丰厚了,想想一下每个细胞还有表观信息,今后还有空间信息,多组学的开展一定会再次丰厚数据结构的。

另一个层面的是,数据结构是和算法结合在一同的。算法便是处理某一问题的解法,进程和步骤,不同的数据结构会简化算法复杂度。数据结构是描绘问题,算法是解决问题,二者是紧密联系在一同的。

而数据库的概念把咱们从数据表的狭小空间中解放出来:数据库体系是为适应数据处理的需要而开展起来的一种较为抱负的数据处理体系,也是一个为实际可运行的存储、维护和应用体系供给数据的软件体系,是存储介质 、处理目标和办理体系的集合体。

其实数据库在单细胞数据剖析中现已很常见了,除了上面咱们说到的常见的数据格局之外,有不少研究者会把数据放到共用数据库中。仅仅这类的大数据库,初学者会觉得离自己很悠远。

数据库之外

咱们花大力气去存储数据,描绘数据,是为了什么呢?或许回到问题的开始,便是一张二维表,咱们能得到什么信息呢?所以许多时候热闹是他们的,咱们的关注点仍是应该放在生物学的问题上。以技能为舟帆去游弋生物学的海洋。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
请输入有效评论哦,肆意灌水或者乱打评论是不会通过的,会影响您评论后获得资源哦~~
提交
头像

昵称

取消
昵称表情

    暂无评论内容