scGPS介绍

Quan Nguyen和Michael Thompson

2021-05-19

1.安装指导

#从github安装scGPS(取决于本地的配置#计算机或HPC,可能需要自定义c++编译-见#安装故障排除如下)devtools::install_github“IMB-Computational-Genomics-Lab / scGPS”# c++编译故障排除,手动下载安装即可#完成从githubGit克隆HTTPS//github.com/海事局-计算-基因组学-实验室/scGPS#然后检入scGPS/src,如果有任何预编译的(例如带有*. #的)。所以,# *.o)文件存在,在重新编译之前删除它们#然后以scGPS为R工作目录,手动安装和加载#使用devtools功能#安装包devtools::安装()#加载包到工作区图书馆(scGPS)

2.scGPS的简单工作流程:

此工作流的目的是解决以下任务:

2.1创建scGPS对象

2.2运行预测

2.3总结结果

3.scGPS的完整工作流程:

此工作流的目的是解决以下任务:

3.1使用CORE识别数据集中的集群

(如果已知集群,则跳过此步骤)

3.2使用SCORE(最优分辨率稳定聚类)识别数据集中的聚类

(如果已知集群,则跳过此步骤)

(SCORE旨在通过在CORE算法中引入bagging aggregation和bootstrapping来获得稳定的子种群结果)

3.3可视化所有迭代中的所有聚类结果

3.4将聚类结果与其他降维方法(如tSNE)进行比较

3.5寻找基因标记,标注聚类

4.一个样本内或两个样本间簇之间的关系

此工作流的目的是解决以下任务:

4.1启动scGPS预测,寻找簇间关系

4.2显示预测的汇总结果

#获取汇总矩阵的行数row_cluster < -长度独特的colData(mixedpop2),1)))LDA显示被分类为单元格的单元格百分比#归属LDA分类器summary_prediction_ldaLSOLDA_dat =LSOLDA_dat,nPredSubpop =row_cluster)#> V1 V2的名称#> 1 29.9465240641711 31.5508021390374 LDA的子pop 1在目标mixedpop2#> 2 53.5714285714286 75.7142857142857 LDA的subpop 2在目标mixedpop2#> 3 31.5789473684211 28.5714285714286 LDA子pop 3在目标mixedpop2#> 4 50 57.5 LDA的子pop 4在目标mixedpop2套索显示被分类为单元格的单元格的百分比#归属套索分类器summary_prediction_lassoLSOLDA_dat =LSOLDA_dat,nPredSubpop =row_cluster)#> V1 V2的名称#> 1 17.1122994652406 63.6363636363636为目标mixedpop2的子pop1添加弹性网#> 2 100 97.1428571428571在目标mixedpop2中添加子pop2的ElasticNet#> 3 71.4285714285714 66.1654135338346在目标mixedpop2的子pop3中使用ElasticNet#> 4 77.5 87.5 ElasticNet的subpop4在目标mixedpop2模型训练过程中模型解释的最大偏差summary_deviance对象=LSOLDA_dat)# > allDeviance美元#>[1]“39.29”“51.02”# ># > DeviMax美元#> dat_DE$Dfd偏差DEgenes#> 1 0 51.02 genes_cluster1#> 2 1 51.02 genes_cluster1#> 3 2 51.02 genes_cluster1 . ##> 4 4 51.02 genes_cluster1#> 5 5 51.02 genes_cluster1#> 6 7 51.02 genes_cluster1#> 7 8 51.02 genes_cluster1#> 8 9 51.02 genes_cluster1#> 9 11 51.02 genes_cluster1#> 10 12 51.02 genes_cluster1#> 11 14 51.02 genes_cluster1#> 12 16 51.02 genes_cluster1#> 13 20 51.02 genes_cluster1#> 14 25 51.02 genes_cluster1#> 15 28 51.02 genes_cluster1#> 16 31 51.02 genes_cluster1#> 17个剩余的DEgenes剩余的DEgenes剩余的DEgenes# ># > LassoGenesMax美元# >零# summary accuracy检查遗漏测试集中的模型精度summary_accuracy对象=LSOLDA_dat)#> [1] 67.85714 69.19643

4.3绘制一个样本中聚类之间的关系

在这里,我们看一个示例用例,以查找一个样本内或两个样本之间的集群之间的关系

#运行预测3个集群cluster_mixedpop1 < -colData(mixedpop1),1cluster_mixedpop2 < -colData(mixedpop2),1#cluster_mixedpop2 <- as.numeric(as.vector(colData(mixedpop2)[,1]))c_selectID < -1#前200个基因标记区分簇1基因=德根id (1200LSOLDA_dat1 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop2,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop2,cluster_mixedpop2 =cluster_mixedpop2)c_selectID < -2基因=德根id (1200LSOLDA_dat2 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop2,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop2,cluster_mixedpop2 =cluster_mixedpop2)c_selectID < -3.基因=德根id (1200LSOLDA_dat3 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop2,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop2,cluster_mixedpop2 =cluster_mixedpop2)c_selectID < -4基因=德根id (1200LSOLDA_dat4 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop2,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop2,cluster_mixedpop2 =cluster_mixedpop2)#准备sankey图的表输入LASSO_C1S2 < -reformat_LASSOc_selectID =1mp_selectID =2LSOLDA_dat =LSOLDA_dat1,nPredSubpop =长度独特的colData(mixedpop2)(,1))),Nodes_group =“# 7570 b3”LASSO_C2S2 < -reformat_LASSOc_selectID =2mp_selectID =2LSOLDA_dat =LSOLDA_dat2,nPredSubpop =长度独特的colData(mixedpop2)(,1))),Nodes_group =“# 1 b9e77”LASSO_C3S2 < -reformat_LASSOc_selectID =3.mp_selectID =2LSOLDA_dat =LSOLDA_dat3,nPredSubpop =长度独特的colData(mixedpop2)(,1))),Nodes_group =“# e7298a”LASSO_C4S2 < -reformat_LASSOc_selectID =4mp_selectID =2LSOLDA_dat =LSOLDA_dat4,nPredSubpop =长度独特的colData(mixedpop2)(,1))),Nodes_group =“# 00飞行符”结合< -rbind(lasso_c1s2, lasso_c2s2, lasso_c3s2, lasso_c4s2)结合< -结合(is.na(结合值)! =真正的,)nboots =2#links:源,目标,值#来源:节点,节点组combined_D3obj < -列表节点=[(nboots相结合+3.(nboots+4)),链接=(相结合,c((nboots+2(nboots+1),ncol(联合))))图书馆(networkD3)Node_source < -as.vector排序独特的(combined_D3obj链接源)))Node_target < -as.vector排序独特的(combined_D3obj链接目标)))Node_all < -独特的c(Node_source Node_target))#为Source分配id(从0开始)< -combined_D3obj来源链接目标< -combined_D3obj链接目标(我1长度(Node_all)) {来源(来源= =Node_all[我]]< -我-1目标(目标= =Node_all[我]]< -我-1combined_D3obj链接源< -as.numeric(源)combined_D3obj链接目标< -as.numeric(目标)combined_D3obj链接LinkColor < -结合节点组#准备节点信息node_df < -data.frame节点=Node_all)node_dfid < -as.numericc01长度(Node_all)-1)))suppressMessages图书馆(dplyr))颜色< -结合% > %(节点,颜色=节点组)% > %选择2node_df颜色< -颜色颜色suppressMessages图书馆(networkD3))p1 < -sankeyNetwork链接=combined_D3obj链接,节点=node_df,值=“价值”节点组=“颜色”LinkGroup =“LinkColor”NodeID =“节点”源=“源”目标=“目标”字形大小=22p1
#saveNetwork(p1, file = paste0(path,'Subpopulation_Net.html'))

4.3绘制两个样本的聚类关系

在这里,我们看一个示例用例,以查找一个样本内或两个样本之间的集群之间的关系

#运行预测3个集群cluster_mixedpop1 < -colData(mixedpop1),1cluster_mixedpop2 < -colData(mixedpop2),1row_cluster < -长度独特的colData(mixedpop2),1)))c_selectID < -1#前200个基因标记区分簇1基因=德根id (1200LSOLDA_dat1 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop1,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop1,cluster_mixedpop2 =cluster_mixedpop2)c_selectID < -2基因=德根id (1200LSOLDA_dat2 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop1,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop1,cluster_mixedpop2 =cluster_mixedpop2)c_selectID < -3.基因=德根id (1200LSOLDA_dat3 < -bootstrap_predictionnboots =2mixedpop1 =mixedpop1,mixedpop2 =mixedpop2,基因=基因,c_selectID,listData =列表(),cluster_mixedpop1 =cluster_mixedpop1,cluster_mixedpop2 =cluster_mixedpop2)#准备sankey图的表输入LASSO_C1S1 < -reformat_LASSOc_selectID =1mp_selectID =1LSOLDA_dat =LSOLDA_dat1,nPredSubpop =row_cluster,Nodes_group =“# 7570 b3”LASSO_C2S1 < -reformat_LASSOc_selectID =2mp_selectID =1LSOLDA_dat =LSOLDA_dat2,nPredSubpop =row_cluster,Nodes_group =“# 1 b9e77”LASSO_C3S1 < -reformat_LASSOc_selectID =3.mp_selectID =1LSOLDA_dat =LSOLDA_dat3,nPredSubpop =row_cluster,Nodes_group =“# e7298a”结合< -rbind(LASSO_C2S1 LASSO_C1S1 LASSO_C3S1)nboots =2#links:源,目标,值#来源:节点,节点组combined_D3obj < -列表节点=[(nboots相结合+3.(nboots+4)),链接=(相结合,c((nboots+2(nboots+1),ncol(联合))))结合< -结合(is.na(结合值)! =真正的,)图书馆(networkD3)Node_source < -as.vector排序独特的(combined_D3obj链接源)))Node_target < -as.vector排序独特的(combined_D3obj链接目标)))Node_all < -独特的c(Node_source Node_target))#为Source分配id(从0开始)< -combined_D3obj来源链接目标< -combined_D3obj链接目标(我1长度(Node_all)) {来源(来源= =Node_all[我]]< -我-1目标(目标= =Node_all[我]]< -我-1combined_D3obj链接源< -as.numeric(源)combined_D3obj链接目标< -as.numeric(目标)combined_D3obj链接LinkColor < -结合节点组#准备节点信息node_df < -data.frame节点=Node_all)node_dfid < -as.numericc01长度(Node_all)-1)))suppressMessages图书馆(dplyr))n < -长度独特的(node_df节点)getPalette =colorRampPalette(RColorBrewer::brewer.pal9“set2”中的))颜色=getPalette(n)node_df颜色< -颜色suppressMessages图书馆(networkD3))p1 < -sankeyNetwork链接=combined_D3obj链接,节点=node_df,值=“价值”节点组=“颜色”LinkGroup =“LinkColor”NodeID =“节点”源=“源”目标=“目标”字形大小=22p1
#saveNetwork(p1, file = paste0(path,'Subpopulation_Net.html'))
devtools::session_info()# >会话信息────────────────────────────────────────────────────────────────#>设置值#>版本R版本4.1.0 (2021-05-18)#> os Ubuntu 20.04.2 LTS#>系统x86_64, linux-gnu#> ui X11#>语言(EN)C .选项C#> ctype en_US。utf - 8# >tz美国/纽约#>日期2021-05-19# >包# >────────────────────────────────────────────────────────────────────#>包*版本日期库源代码[2]生物导体[2]生物导体#>猿5.5 2021-04-25 [2]CRAN (R 4.1.0)#> applot 0.0.6 2020-09-03 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)2020-12-09 [2] CRAN (R 4.1.0)[2]生物导体#> BiocGenerics * 0.38.0 2021-05-19 [2] Bioconductor> BiocManager 1.30.15 2021-05-11 [2] CRAN (R 4.1.0)[2]生物导体[2]生物导体[2] CRAN (R 4.1.0)#> bit64 4.0.5 2020-08-30 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)2020-01-20 [2] CRAN (R 4.1.0)> bslib 0.2.5.1 2021-05-18 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> callr 3.7.0 2021-04-20 [2] CRAN (R 4.1.0)#>插入* 6 -88 2021-05-15 [2]CRAN (R 4.1.0)#>将军2.0.0 2020-02-06 [2]CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> clusterProfiler * 4.0.0 2021-05-19 [2] Bioconductor> codetools 0.2-18 2020-11-04 [2] CRAN (R 4.1.0)#> colorspace 2.0-1 2021-05-04 [2] CRAN (R 4.1.0)#> cowplot 1.1.1 2020-12-30 [2] CRAN (R 4.1.0)#>蜡笔1.4.1 2021-02-08 [2]CRAN (R 4.1.0)# >数据。table 1.14.0 2021-02-21 [2] CRAN (R 4.1.0)#> dbi 1.1.1 2021-01-15[2]起重机(r 4.1.0)#> DelayedArray 2021-05-19[2]生物导体#> denextend 1.15.1 2021-05-08 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2]生物导体#> devtools 2.4.1 2016-05-05 [2] CRAN (R 4.1.0)>文摘0.6.27 2020-10-24 [2]CRAN (R 4.1.0)[2]生物导体[2] Bioconductor2015-07-09 [2] CRAN (R 4.1.0)#> dplyr * 1.0.6 2021-05-05 [2] CRAN (R 4.1.0)#> dynamicTreeCut * 1.63- 2016-03-11 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2]生物导体[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> farver 2.1.0 2021-02-28 [2] CRAN (R 4.1.0)#> fastcluster 1.1.25 2018-06-07 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> fgsea 1.18.0 2021-05-19[2]生物导体[2] CRAN (R 4.1.0)#> fs 1.5.0 2020-07-31 [2] CRAN (R 4.1.0)[2]生物导体[2]生物导体[2] CRAN (R 4.1.0)[2] Bioconductor[2] Bioconductor Bioconductor[2] Bioconductor#> ggforce 0.3.3 2021-03-05 [2] CRAN (R 4.1.0)#> ggplot2 * 3.3.3 2020-12-30 [2] CRAN (R 4.1.0)> grgraph 2.0.5 2021-02-23 [2] CRAN (R 4.1.0)> ggrepel 0.9.1 2021-01-15 [2] CRAN (R 4.1.0)> ggtree 3.0.0 2021-05-19[2]生物导体[2] CRAN (R 4.1.0)#>胶水1.4.2 2020-08-27 [2]CRAN (R 4.1.0)> GO.db 3.13.0 2021-05-19 [2] Bioconductor#> GOSemSim 2.18.0 2021-05-19[2]生物导体#> gower 0.2.2 2020-06-23 [2] CRAN (R 4.1.0)[2] Bioconductor[2]生物导体[2] CRAN (R 4.1.0)#> gridExtra 2.3 2017-09-09 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> htmltools 0.5.1.1 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)2020-07-20 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> IRanges * 2.26.0 2021-05-19 [2] Bioconductor>迭代器1.0.13 2020-10-15 [2]CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> jsonlite 1.7.2 2020-12-09 [2] CRAN (R 4.1.0)[2]生物导体#>针织衫1.33 2021-04-24 [2]CRAN (R 4.1.0)>标签0.4.2 2020-10-20 [2]CRAN (R 4.1.0)#>格子* 0.20-44 2021-05-02 [2]CRAN (R 4.1.0)>熔岩1.6.9 [2]CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> locfit * 1.5-9.4 2020-03-25 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> magrittr 2.0.1 2020-11-17 [2] CRAN (R 4.1.0)[2]起重机(r 4.1.0)[2] CRAN (R 4.1.0)#> MatrixGenerics * 1.4.0 2021-05-19 [2] Bioconductor#> matrixStats * 0.58.0 2021-01-29 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> ModelMetrics 1.2.2.2 2020-03-17 [2] CRAN (R 4.1.0)#> munsell 0.5.0 2018-06-12 [2] CRAN (R 4.1.0)#>网络d3 * 0.4 2017-03-18 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] Bioconductor[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)2020-12-15 [2] CRAN (R 4.1.0)#> pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.1.0)#> pkgload 1.2.1 2021-04-06 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> polyclip 1.10-0 2019-03-14 [2] CRAN (R 4.1.0)#> prettyunits 1.1.1 2020-01-24 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> prodlim 2019.11.13 2019-11-17 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> purrr 0.3.4 2020-04-17 [2] CRAN (R 4.1.0)#> qvalue 2.24.0 2021-05-19 [2]#> r6 2.5.0 2020-10-28[2]起重机(r 4.1.0)#> rappdirs 0.3.3 2021-01-31 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> Rcpp 1.0.6 [2] CRAN (R 4.1.0)#> RcppArmadillo 0.10.4.0.0 2021-04-13 [2] CRAN (R 4.1.0)#> RcppParallel 5.1.4 2021-05-04 [2] CRAN (R 4.1.0)> RCurl 1.98-1.3 [2] CRAN (R 4.1.0)[2]生物导体#> ReactomePA * 1.36.0 2021-05-19[2]生物导体>配方0.1.16 2021-04-16 [2]CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> rlang 0.4.11 2021-04-30 [2] CRAN#> rmarkdown 2.8 2021-05-07 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> rprojroot 2.0.2 2020-11-15 [2] CRAN (R 4.1.0)> RSQLite 2.2.7 [2] CRAN (R 4.1.0)#> Rtsne 0.15 2018-11-10 [2] CRAN (R 4.1.0)#> rvcheck 0.1.8 2020-03-01 [2] CRAN (R 4.1.0)#> S4Vectors * 0.30.0 2021-05-19 [2] Bioconductor[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> scGPS * 1.6.0 2021-05-19 [1] Bioconductor[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#>单体细胞实验# 2021-05-19[2]生物导体[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)>生物导体[2] CRAN (R 4.1.0)>测试3.0.2 [2]CRAN (R 4.1.0)#> tibble 3.1.2 2021-05-16 [2] CRAN (R 4.1.0)#>潮汐图1.2.0 2020-05-12 [2]CRAN (R 4.1.0)#> tidyr 1.1.3 2021-03-03 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)#> timeDate 3043.102 2018-02-21 [2] CRAN (R 4.1.0)> treeio 1.16.0 2021-05-19[2]生物导体[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> utf8 1.2.1 [2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)[2] CRAN (R 4.1.0)> xfun 0.23 2021-05-15 [2] CRAN (R 4.1.0)[2] cran (r 4.1.0)[2] CRAN (R 4.1.0)[2]生物导体#> yaml 2.2.1 2020-02-01 [2] CRAN (R 4.1.0)#> zlibbio1.38.0 2021-05-19[2]生物导体# >#> [1] /tmp/RtmpNUcyeE/Rinstfe8301d8740c0#> [2] /home/biocbuild/bbs-3.13-bioc/R/library