在某些疾病的研究中,传统的基因表达数据分析方法通常是将疾病组和正常对照组的样本进行比较,找出表达差异最大的基因。但是很难发现这种疾病的生物标志物和机制。为了对复杂疾病进行定量比较,我们做到了亲,这是基于开放科学计算平台上的路径对一个人的疾病进行很好的表征R.在此包中,路径指纹(亲)的方法来评估一个基因集在不同通路中的重要性,以帮助研究人员专注于最相关的通路和基因。它将通过生成指纹覆盖来直观地比较和分析不同的疾病。我们收集了三种类型的基因表达数据,在KEGG通路中进行富集分析,并与其他方法进行比较。结果表明,路径指纹图谱的富集性能优于其他富集工具,不仅能筛选出最相关的路径,而且在数据变化时表现出较强的稳定性。我们提出了一种新颖的、通用的、系统的路径指纹方法来帮助研究人员通过考虑拓扑知识来关注致命路径和基因。
的三个主要特点亲:
亲需要这些包:图,igraph,KEGGgraph,clusterProfiler,ggplot2,plyr,整洁,magrittr,统计数据,方法而且跑龙套.安装亲,一些所需的软件包只能从Bioconductor.它还允许用户从github安装最新的开发版本,这需要devtools软件包已经安装在您的系统上,或者可以使用install.packages(“devtools”)
.注意,devtools有时需要一些额外的非r软件在你的系统上-更具体地说,Rtools的Windows或Xcode的OS x下载在这里.你可以安装亲通过Bioconductor。
##安装PFP从github,需要生物导体预安装的依赖包如果(!requireNamespace(“BiocManager”,静静地=真正的))install.packages(“BiocManager”)BiocManager::安装(“亲”)
你也可以安装亲通过github。
##安装PFP从github,需要生物导体预安装的依赖包如果(!需要(devtools))install.packages(“devtools”)devtools::install_github(“aib-group /亲”)
在分析过程中,需要安装org.Hs.eg.db时,安装策略如下。
##安装PFP从github,需要生物导体预安装的依赖包如果(!requireNamespace(“BiocManager”,静静地=真正的))install.packages(“BiocManager”)BiocManager::安装(“org.Hs.eg.db”)
安装完成后,*{PFP}可以通过以下代码加载到当前工作区,通过键入或粘贴以下代码加载到当前工作区:
在我们的方法中,选择KEGG(http://www.kegg.jp/)路径网络作为参考,以生成路径指纹。KEGG为用户提供了路径的KGML文件,可以自动绘制KEGG路径,并为基因/蛋白质网络和化学网络的计算分析和建模提供了便利。我们下载了KEGG中所有人类路径的最新(2020.11.8)KGML文件,并将KGML文件翻译到网络中。在此基础上,我们得到了共338个通路网络,以供进一步分析。
针对不同的三种数据有不同的方法来识别deg。对微阵列数据进行了处理limma此外,我们还选择了一些同类型癌症的癌症样本,并与对照组进行了比较刨边机在这两个limma而且刨边机,我们只选择log2 fold change (logFC)大于1且错误发现率(FDR)小于0.05的基因。
我们定义了一个新的S4类亲
来存储分数。亲还为这个S4类提供了六个主要方法:
genes_score ()
:基因评分,将功能添加到指定的选择组/通路。sub_PFP ()
:可通过组、片、路径名、ID选择PFP的一部分。显示()
:显示每个通道的网络组名称、组大小和PFP评分plot_PFP ()
:显示PFP指纹。refnet_names ()
:提取基础网络组名rank_PFP ()
:实现路径权重排序,优选P值,然后PFP得分。这五种方法的详细说明请参阅包函数帮助。我们还定义了一个新的S4类PFPRefnet
为了存储KEGG的参考通路网络信息,为这个S4类提供了6种方法:
网络()
: KEGG的参考路径网络。net_info ()
:路径信息。集团()
:组信息。refnet_names ()
:参考网络的接入信息。子网()
: PFPRefnet可以根据组、片、路径名和ID选择部分PFPRefnet。显示()
:表示参考网络中每组路径的数量。那么PFP的计算公式如下:
#加载数据——人类基因列表;PFPRefnet对象#人;PFP对象进行测试;不同的列表#基因。数据(“gene_list_hsa”)数据(“PFPRefnet_hsa”)数据(“PFP_test1”)数据(“data_std”)Step1:计算网络相似度得分。PFP_test < -calc_PFP_score(基因=gene_list_hsa,PFPRefnet =PFPRefnet_hsa)步骤2:根据PFP得分对路径进行排名。rank1 < -rank_PFP(对象=PFP_test,total_rank =真正的,thresh_value =0.5)
我们研究目标通路,即排名后得分最高的通路。下面是一个简单的例子。
# Step1:选择路径的最大分数。pathway_select < -refnet_info(rank1) [1,“id”]gene_test < -pathways_score(rank1)$genes_score [[pathway_select]]$ENTREZID# Step2:获取边缘的相关系数得分。edges_coexp < -get_exp_cor_edges(gene_test data_std)第三步:找到重点关注的不同基因。gene_list2 < -独特的(c(edges_coexp$源,edges_coexp$目标)第四步:找到要关注的边缘。edges_kegg < -get_bg_related_kegg(gene_list2PFPRefnet =PFPRefnet_hsa,rm_duplicated =真正的)#步骤5:找到相关的网络需要(org.Hs.eg.db)net_test < -get_asso_net(edges_coexp =edges_coexp,edges_kegg =edges_kegg,if_symbol =真正的,gene_info_db =org.Hs.eg.db)
亲提供了plot_PFP ()
函数可视化单个查询网络的网络指纹。首先我们展示一个PFP得分的例子。
把分数从高到低画出来。
生成小插图的R版本号和加载的包为:
#> R版本4.2.1(2022-06-23)#>平台:x86_64-pc-linux-gnu(64位)#>运行在:Ubuntu 20.04.5 LTS #> #>矩阵产品:默认#> BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。所以#> LAPACK: /home/biocbuild/bbs-3.16-bio /R/lib/libRlapack。so #> #> locale: #> [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# > [3] LC_TIME=en_GB 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 LC_TELEPHONE= c# > [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION= c# > #>附加的基础包:#> [1]stats4 stats graphics grDevices utils datasets methods #>[8]基础#> #>其他附加包:#> [1]org. hs . gg .db_3.16.0 AnnotationDbi_1.60.0 IRanges_2.32.0 #> [4] S4Vectors_0.36.0 Biobase_2.58.0 BiocGenerics_0.44.0 #> [7] PFP_1.6.0 #> #>通过命名空间加载(且未附加):#> [13] fansi_1.0.3 codetools_0.2-18 splines_4.2.1 #> [16] cachem_1.0.6 GOSemSim_2.24.0 knitr_1.40 #> [19] polyclip_1.10-4 jsonlite_1.8.3 GO.db_3.16.0 #> [25] compiler_4.2.1 httr_1.4.4 lazyeval_0.2.2 #> [28] assertthat_0.2.1 Matrix_1.5-1 fastmap_1.1.0 #>[31] cli_3.4.1 tweenr_2.0.2 formatR_1.12 #> [34] htmltools_0.5.3 tools_4.2.1 igraph_1.3.5 #> [37] gtable_0.3.1 glue_1.6.2 GenomeInfoDbData_1.2.9 #> [40] reshape2_1.4.4 dplyr_1.0.10 fastmatch_1. 0.9 #> [43] rcpps_1.1 -3 #> [43] jquerylib_0.1.4 #> [46] vctrs_0.5.0 Biostrings_2.66.0 nlme_1 .3.1 -160 #> [49] ape_5.6-2 ggraph_2.1.0 xfun_0.34 #> [52] string_1 .4.1 lifecycle_1.0.3 clusterProfiler_4.6.0 #> [55] XML_3.99-0.12 DOSE_3.24.0 zlibbioc_1.44.0 #> [58] MASS_7.3-58.1 scales_1.2.1tidygraph_1.2.2 #> [61] parallel_4.2.1 KEGGgraph_1.58.0 RColorBrewer_1.1-3 #> [64] yaml_2.3.6 memoise_2.0.1 gridExtra_2.3 #> [67] ggplot2_3.3.6 downloader_0.4 ggfun_0.0.7 #> [73] HDO.db_0.99.1 yulab.utils_0.0.5 sass_0.4.2 #> [73] stringi_1.7.8 RSQLite_2.2.18 highr_0.9 #> [76] tidytree_0.4.1 BiocParallel_1.32.0 GenomeInfoDb_1.34.0 #> [79] rlang_1.0.6 pkgconfig_2.0.3 bitops_1.0-7 #> [85] labeling_0.4.2 treeio_1.22.0 patchwork_1.1.2 #> [88]shadowtext_0.1.2 cowplot_1.1.1 bit_4.0.4 #> [91] tidyselect_1.2.0 plyr_1.8.7 magrittr_2.0.3 #> [94] R6_2.5.1 generics_0.1.3 DBI_1.1.3 #> [97] pillar_1.8.1 withr_2.5.0 KEGGREST_1.38.0 #> [100] RCurl_1.98-1.9 tibble_3.1.8 crayon_1.5.2 #> [103] utf8_1.2.2 rmarkdown_2.17 viridis_0.6.2 #> [106] grid_4.2.1 data.table_1.14.4 blob_1.2.3 #> [109] grgraphics_0.5 -1 munsell_0.5.0 viridisLite_0.4.1 #> [115] ggplotify_0.1.0 bslib_0.4.0