为scRNA-seq基因检测分析

李Ruoxin杰拉尔德Quon

2020-10-27

介绍

本教程提供了一个示例分析造型基因检测模式中概述R。李等人,2018年。本教程的目标是提供一个概览的细胞类型分类和可视化任务通过学习一个低维嵌入一个类的基因检测模型:论坛和二进制PCA。

摘要工作流

以下工作流程总结了一个典型的由论坛或二进制PCA降维过程。

  1. 数据处理
  2. 降维
  3. 可视化

安装

让我们开始安装

接下来我们可以加载依赖包

信息的示例数据集

数据集的例子是来自我们scRNA-seq pre-DC /美国疾病控制与预防中心数据集来自https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE89232在执行所有质量控制过程的基因和细胞(如本文中概述),然后我们选择500个最变量说明目的基因。示例数据集包含950个细胞和500个基因

使用SingleCellExperiment类

论坛的设计和二进制PCA允许三种输入对象(scData):

为了说明,我们构造一个singleCellExperiment类论坛和二进制PCA的输入。

基因检测模型分析

二元因素分析

\ (N \)代表细胞的数量,\ (G \)代表的基因数量\ (K \)代表数量的潜在维度。

论坛模型对象计算以下参数拟合后的基因检测矩阵。

  1. \ (Z \)\ (N \)通过\ (K \)嵌入矩阵和命名为“ZZ”模型中的对象
  2. \ \ ()\ (G \)通过\ (K \)载荷矩阵和命名为“AA”模型中的对象
  3. β\ (\ \)如果有具有协变量(e。g批效果),β\ (\ \)是相应的系数矩阵和模型对象的命名为“测试版”
  4. \γ(\ \)如果有能够协变量(e。g质量控制措施)\γ(\ \)是相应的系数矩阵和模型对象的命名为“伽马”

我们选择3作为项目的潜在维度和基因检测在嵌入空间矩阵。

然后我们想象的低维嵌入在tSNE论坛空间。点是颜色相应的细胞类型。

会话信息

sessionInfo()# > R版本4.0.3 (2020-10-10)# >平台:x86_64-pc-linux-gnu(64位)# >下运行:Ubuntu 18.04.5 LTS# ># >矩阵产品:违约# >布拉斯特区:/home/biocbuild/bbs - 3.12 - bioc / R / lib / libRblas.so# > LAPACK: /home/biocbuild/bbs - 3.12 - bioc / R / lib / libRlapack.so# ># >语言环境:# > [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C# >[3]而= en_US。utf - 8 LC_COLLATE = C# > [5]LC_MONETARY = en_US。utf - 8 LC_MESSAGES = en_US.UTF-8# > [7]LC_PAPER = en_US。utf - 8 LC_NAME = C# > [9]LC_ADDRESS C = C LC_TELEPHONE =# > [11]LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C# ># >附加基本包:# >[1]平行stats4统计图形grDevices跑龙套的数据集# >[8]方法基础# ># >其他附加包:# > [1]scBFA_1.4.0 ggplot2_3.3.2# > [3]zinbwave_1.12.0 SingleCellExperiment_1.12.0# > [5]SummarizedExperiment_1.20.0 Biobase_2.50.0# > [7]GenomicRanges_1.42.0 GenomeInfoDb_1.26.0# > [9]IRanges_2.24.0 S4Vectors_0.28.0# > [11]BiocGenerics_0.36.0 MatrixGenerics_1.2.0# > [13]matrixStats_0.57.0# ># >加载通过名称空间(而不是附加):# > [1]copula_1.0-0 plyr_1.8.6 igraph_1.2.6# > [4]lazyeval_0.2.2 splines_4.0.3 pspline_1.0-18# > [7]BiocParallel_1.24.0 listenv_0.8.0 digest_0.6.27# > [10]htmltools_0.5.0 magrittr_1.5 memoise_1.1.0# > [13]tensor_1.5 cluster_2.1.0 ROCR_1.0-11# > [16]limma_3.46.0 globals_0.13.1 annotate_1.68.0# > [19]stabledist_0.7-1 colorspace_1.4-1 blob_1.2.1# > [22]rappdirs_0.3.1 ggrepel_0.8.2 xfun_0.18# > [25]dplyr_1.0.2 crayon_1.3.4 rcurl_1.98 - 1.2# > [28]jsonlite_1.7.1 genefilter_1.72.0 spatstat_1.64-1# > [31]spatstat.data_1.4-3 survival_3.2-7 zoo_1.8-8# > [34]glue_1.4.2 polyclip_1.10-0 gtable_0.3.0# > [37]zlibbioc_1.36.0 XVector_0.30.0 leiden_0.3.3# > [40]DelayedArray_0.16.0 future.apply_1.6.0 abind_1.4-5# > [43]scales_1.1.1 mvtnorm_1.1-1 DBI_1.1.0# > [46]edgeR_3.32.0 miniUI_0.1.1.1 Rcpp_1.0.5# > [49]viridisLite_0.3.0 xtable_1.8-4 reticulate_1.18# > [52]bit_4.0.4 rsvd_1.0.3 htmlwidgets_1.5.2# > [55]httr_1.4.2 RColorBrewer_1.1-2 ellipsis_0.3.1# > [58]Seurat_3.2.2 ica_1.0-2 farver_2.0.3# > [61]pkgconfig_2.0.3 xml_3.99 - 0.5 uwot_0.1.8# > [64]deldir_0.1-29 locfit_1.5 - 9.4 labeling_0.4.2# > [67]tidyselect_1.1.0 rlang_0.4.8 softImpute_1.4# > [70]reshape2_1.4.4 later_1.1.0.1 AnnotationDbi_1.52.0# > [73]munsell_0.5.0 tools_4.0.3 generics_0.0.2# > [76]RSQLite_2.2.1 ggridges_0.5.2 evaluate_0.14# > [79]stringr_1.4.0 fastmap_1.0.1 yaml_2.2.1# > [82]goftest_1.2-2 knitr_1.30 bit64_4.0.5# > [85]fitdistrplus_1.1-1 purrr_0.3.4 RANN_2.6.1# > [88]pbapply_1.4-3 future_1.19.1 nlme_3.1 - 150# > [91]mime_0.9 compiler_4.0.3 plotly_4.9.2.1# > [94]png_0.1-7 spatstat.utils_1.17-0 tibble_3.0.4# > [97]geneplotter_1.68.0 pcapp_1.9 - 73 stringi_1.5.3# > [100]gsl_2.1-6 lattice_0.20-41 Matrix_1.2-18# > [103]vctrs_0.3.4 pillar_1.4.6 lifecycle_0.2.0# > [106]ADGofTest_0.3 lmtest_0.9-38 RcppAnnoy_0.0.16# > [109]data.table_1.13.2 cowplot_1.1.0 bitops_1.0-6# > [112]irlba_2.3.3 httpuv_1.5.4 patchwork_1.0.1# > [115]R6_2.4.1 promises_1.1.1 KernSmooth_2.23-17# > [118]gridExtra_2.3 codetools_0.2-16 MASS_7.3-53# > [121]DESeq2_1.30.0 withr_2.3.0 sctransform_0.3.1# > [124]GenomeInfoDbData_1.2.4 mgcv_1.8-33 grid_4.0.3# > [127]rpart_4.1-15 tidyr_1.1.2 rmarkdown_2.5# > [130]Rtsne_0.15 numderiv_2016.8 - 1.1 shiny_1.5.0