内容

Tap-Seq的一种应用是测量能够将细胞分配给不同细胞类型的基因的表达。TAPSEQ软件包提供了一种简单的方法,可以根据细胞类型之间的差异表达基因识别所需数量的单元格标记。

此可选功能需要其他R包装,例如Seurat。请安装带有所有建议依赖项的TAPSEQ软件包。

1数据

TAPSEQ软件包包含来自Baccin等人的小鼠骨髓数据的一小部分(2019年)(https://www.nature.com/articles/s41556-019-0439-6)。完整数据集可以下载这里。该数据集存储在一个seurat对象中,该对象包含每个单元格的基因表达和细胞类型数据。

库(TAPSEQ)库(seurat)#鼠标骨髓示例10x基因表达数据数据(“ bone_marrow_genex”)#转录本计数getassaydata(bone_marrow_genex)[1:10,1:10](bone_marrow_genex))

2选择靶基因

具有LASSO正则化的线性模型用于选择最能识别细胞类型的目标基因。默认情况下,使用10倍的交叉验证来根据Lambda的最大值在最小值的1个标准误差范围内根据LAMBDA的最大值选择目标基因的数量。看?glmnet :: cv.glmnet更多细节。

#使用10倍交叉验证target_genes_cv <-SelectTargetGenes(bone_marrow_genex)head(target_genes_cv)长度(target_genes_cv)自动选择许多目标基因

此示例会导致合理的靶基因面板,但是在有许多不同细胞类型的情况下,所得面板可能非常大。

为了避免这种情况,我们可以指定所需的目标数。这选择了LASSO模型中LAMDA的值,该值大约导致该数量的非零系数,即标记基因。

#识别可用于识别单元格群体的大约100个目标基因target_genes_100 < -  selecttargetGenes(bone_marrow_genex,targets = 100)长度(target_genes_100)

3评估目标基因面板

为了直观地评估所选靶基因的部分区分细胞类型的程度,我们只能根据完整的基因表达数据和靶基因使用UMAP图。

plottargetGenes(bone_marrow_genex,target_genes = target_genes_100)

我们可以看到,99个选定的靶基因的表达组成了不同群体的细胞。

一个良好的随访是仅基于与用于定义原始对象中单元格身份的相同工作流程的目标基因聚集细胞。然后可以使用这来验证所选目标基因是否可靠地识别正确的单元格类型。

4会话信息

该小插图中的所有输出均在以下条件下产生:

SessionInfo()#> R版本4.2.0 RC(2022-04-19 R82224)#>平台:x86_64-pc-linux-gnu(64位)#>在下面运行:产品:默认#> blas:/home/biocbuild/bbs-3.15-bioc/r/lib/libblas.so#> lapack:/home/biocbuild/bbs-3.15-bioc/r/lib/lib/lib/librlapack.so#>##################> locale:#> [1] lc_ctype = en_us.utf-8 lc_numeric = c#> [3] lc_time = en_gb lc_collat​​e = c#> [5] lc_monetary = en_us.us.utf-8 lc_messages = en_us.utf-8#>> en_us.utf-8#>>>>>>>>>>>>>[7] lc_paper = en_us.utf-8 lc_name = c#> [9] lc_address = c lc_telephone = c#> [11] lc_measurement = en_us.utf-8 lc_istiencialica1] stats4 stats graphics grDevices utils datasets methods #> [8] base #> #> other attached packages: #> [1] SeuratObject_4.0.4 Seurat_4.1.0 #> [3] ggplot2_3.3.5 dplyr_1.0.8 #> [5] BSgenome.Hsapiens.UCSC.hg38_1.4.4 BSgenome_1.64.0 #> [7] rtracklayer_1.56.0 Biostrings_2.64.0 #> [9] XVector_0.36.0 BiocParallel_1.30.0 #> [11] GenomicRanges_1.48.0 GenomeInfoDb_1.32.0 #> [13] IRanges_2.30.0 S4Vectors_0.34.0 #> [15] BiocGenerics_0.42.0 TAPseq_1.8.0 #> [17] BiocStyle_2.24.0 #> #> loaded via a namespace (and not attached): #> [1] utf8_1.2.2 reticulate_1.24 #> [3] tidyselect_1.1.2 RSQLite_2.2.12 #> [5] AnnotationDbi_1.58.0 htmlwidgets_1.5.4 #> [7] grid_4.2.0 Rtsne_0.16 #> [9] munsell_0.5.0 codetools_0.2-18 #> [11] ica_1.0-2 future_1.25.0 #> [13] miniUI_0.1.1.1 withr_2.5.0 #> [15] spatstat.random_2.2-0 colorspace_2.0-3 #> [17] Biobase_2.56.0 filelock_1.0.2 #> [19] highr_0.9 knitr_1.38 #> [21] ROCR_1.0-11 tensor_1.5 #> [23] listenv_0.8.0 MatrixGenerics_1.8.0 #> [25] labeling_0.4.2 GenomeInfoDbData_1.2.8 #> [27] polyclip_1.10-0 bit64_4.0.5 #> [29] farver_2.1.0 parallelly_1.31.1 #> [31] vctrs_0.4.1 generics_0.1.2 #> [33] xfun_0.30 BiocFileCache_2.4.0 #> [35] R6_2.5.1 bitops_1.0-7 #> [37] spatstat.utils_2.3-0 cachem_1.0.6 #> [39] DelayedArray_0.22.0 assertthat_0.2.1 #> [41] promises_1.2.0.1 BiocIO_1.6.0 #> [43] scales_1.2.0 gtable_0.3.0 #> [45] globals_0.14.0 goftest_1.2-3 #> [47] rlang_1.0.2 splines_4.2.0 #> [49] lazyeval_0.2.2 spatstat.geom_2.4-0 #> [51] BiocManager_1.30.17 yaml_2.3.5 #> [53] reshape2_1.4.4 abind_1.4-5 #> [55] GenomicFeatures_1.48.0 httpuv_1.6.5 #> [57] tools_4.2.0 bookdown_0.26 #> [59] ellipsis_0.3.2 spatstat.core_2.4-2 #> [61] jquerylib_0.1.4 RColorBrewer_1.1-3 #> [63] ggridges_0.5.3 Rcpp_1.0.8.3 #> [65] plyr_1.8.7 progress_1.2.2 #> [67] zlibbioc_1.42.0 purrr_0.3.4 #> [69] RCurl_1.98-1.6 prettyunits_1.1.1 #> [71] rpart_4.1.16 deldir_1.0-6 #> [73] pbapply_1.5-0 cowplot_1.1.1 #> [75] zoo_1.8-10 SummarizedExperiment_1.26.0 #> [77] ggrepel_0.9.1 cluster_2.1.3 #> [79] magrittr_2.0.3 RSpectra_0.16-1 #> [81] data.table_1.14.2 magick_2.7.3 #> [83] scattermore_0.8 lmtest_0.9-40 #> [85] RANN_2.6.1 fitdistrplus_1.1-8 #> [87] matrixStats_0.62.0 hms_1.1.1 #> [89] patchwork_1.1.1 mime_0.12 #> [91] evaluate_0.15 xtable_1.8-4 #> [93] XML_3.99-0.9 shape_1.4.6 #> [95] gridExtra_2.3 compiler_4.2.0 #> [97] biomaRt_2.52.0 tibble_3.1.6 #> [99] KernSmooth_2.23-20 crayon_1.5.1 #> [101] htmltools_0.5.2 mgcv_1.8-40 #> [103] later_1.3.0 tidyr_1.2.0 #> [105] DBI_1.1.2 dbplyr_2.1.1 #> [107] MASS_7.3-57 rappdirs_0.3.3 #> [109] Matrix_1.4-1 cli_3.3.0 #> [111] parallel_4.2.0 igraph_1.3.1 #> [113] pkgconfig_2.0.3 GenomicAlignments_1.32.0 #> [115] plotly_4.10.0 spatstat.sparse_2.1-1 #> [117] foreach_1.5.2 xml2_1.3.3 #> [119] bslib_0.3.1 stringr_1.4.0 #> [121] digest_0.6.29 sctransform_0.3.3 #> [123] RcppAnnoy_0.0.19 spatstat.data_2.2-0 #> [125] rmarkdown_2.14 leiden_0.3.9 #> [127] uwot_0.1.11 restfulr_0.0.13 #> [129] curl_4.3.2 shiny_1.7.1 #> [131] Rsamtools_2.12.0 rjson_0.2.21 #> [133] lifecycle_1.0.1 nlme_3.1-157 #> [135] jsonlite_1.8.0 limma_3.52.0 #> [137] viridisLite_0.4.0 fansi_1.0.3 #> [139] pillar_1.7.0 lattice_0.20-45 #> [141] KEGGREST_1.36.0 fastmap_1.1.0 #> [143] httr_1.4.2 survival_3.3-1 #> [145] glue_1.6.2 iterators_1.0.14 #> [147] png_0.1-7 glmnet_4.1-4 #> [149] bit_4.0.4 stringi_1.7.6 #> [151] sass_0.4.1 blob_1.2.3 #> [153] memoise_2.0.1 irlba_2.3.5 #> [155] future.apply_1.9.0