-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path01loadPackages.r
More file actions
76 lines (59 loc) · 3.35 KB
/
Copy path01loadPackages.r
File metadata and controls
76 lines (59 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
## 本脚本涉及环境
# BasicR = 4.4.3 ## 不建议在这个环境运行脚本
# irGSEA = 4.5.3
# monocle3_R4.5.2 = 4.5.2
# 第一步:先加载Bioconductor核心包(单独加载,不嵌套suppressMessages)
# 先指定库路径,避免多路径冲突
irGSEA_lib <- "/data/med-hancs/apps/anaconda3/2022.10/envs/irGSEA/lib/R/library"
BasicR_lib <- "/data/med-hancs/apps/anaconda3/2022.10/envs/BasicR/lib/R/library"
Monocle_lib <- "/data/med-hancs/apps/anaconda3/2022.10/envs/monocle3_R4.5.2/lib/R/library"
.libPaths(c(.libPaths(), BasicR_lib, Monocle_lib, irGSEA_lib)) # 统一库路径优先级
### 运行脚本前必须先加载系统模块
# module load hdf5/1.10.4-gcc-4.8.5 ## 主要是Azimuth需要
# 这里添加检测运行环境
env_nm <- Sys.getenv("CONDA_DEFAULT_ENV")
cat(paste0("当前运行环境: ",env_nm, "\n"))
# 这里添加检测R版本
#R_ver <- paste(R.version$major,R.version$minor,sep=".")
R_ver <- getRversion()
cat(paste0("当前R版本: ",R_ver, "\n"))
# 获取当前运行环境的安装包需要最低R版本 [这里可以再改进一点,获取所有环境的R包版本,分sheet记录]
pkgs <- installed.packages()
df <- data.frame(包名 = rownames(pkgs),
版本 = pkgs[, "Version"],
依赖R版本 = pkgs[, "Depends"],
建议R版本 = pkgs[, "Suggests"],
内置路径 = pkgs[, "LibPath"])
# 导出表格
write.csv(df, paste0("环境",env_nm,"_R包版本依赖清单.csv"), row.names = F)
pkgs <- c(
# 基础核心
"BiocGenerics","Biobase","Matrix","S4Vectors","IRanges","SummarizedExperiment","proxy",
"Rcpp","future","furrr","optparse","getopt","pacman","scuttle","parallel","openxlsx",
# 数据处理
"tidyverse","data.table","reshape2","plyr","readxl","rhdf5","rjson","qs", #"scran",
# 单细胞核心
"sctransform","COSG","hdf5r", # "SeuratObject", "Seurat", "SeuratWrappers",
"DropletUtils","SoupX","harmony","DoubletFinder","scCustomize","SingleCellExperiment",
# 绘图可视化
"ggplot2","cowplot","ggrepel","patchwork","ggridges","scater","maser","ggvenn", # "ggbreak",
"viridis","ggpubr","ggsci","ggrastr","pheatmap","corrplot","ROCR","igraph",
# 统计分析
"relaimpo","variancePartition","partR2","clinfun","MuMIn","entropy","ARTool",
"DirichletReg","GeneNMF","Hmisc","fields","R.utils","RColorBrewer","pls","rdacca.hp",
"ghp","fastDummies","car","broom","reformulas","DESeq2",
# 注释&富集
"biomaRt","AnnotationDbi","GenomicRanges","GenomicFeatures","txdbmaker","ensembldb",
"org.Mm.eg.db","org.Hs.eg.db","org.Rn.eg.db","TxDb.Hsapiens.UCSC.hg38.knownGene",
"TxDb.Rnorvegicus.UCSC.rn6.refGene","rtracklayer","Azimuth","KEGG.db","createKEGGdb",
"clusterProfiler","enrichplot","msigdbr","ReactomePA","topGO","simplifyEnrichment",
"fgsea","qusage","KEGGREST","GSEABase","BioNet","ggupset","ComplexHeatmap",
# 细胞分型
"MAST","AUCell","SingleR","UCell","SeedMatchR"
)
# 静默批量加载
invisible(suppressMessages(lapply(pkgs, library, character.only=TRUE, quietly=TRUE)))
# ===================== 4. 环境专用包(最后加载) =====================
if(env_nm == "monocle3_R4.5.2") library(monocle3, quietly=TRUE)
if(env_nm == "irGSEA") library(irGSEA, quietly=TRUE)
message("✅ 所有包加载完成,无任何依赖冲突!")