HiCImpute环境安装流程
HiCImpute 环境创建与安装流程
1. 环境说明
本教程用于在 Linux / HPC 集群环境中创建并安装 HiCImpute R 包。
当前测试环境:
系统架构:x86_64
环境管理工具:micromamba
R 版本:4.4.1
编译器:Anaconda gcc / g++ 11.2.0
安装包路径:/work/home/genomics3d/2_projects/3_hicimpute-main
环境名称:3_hicimpute
安装过程中遇到的核心问题是:
error: "*** C++14 compiler required"
原因是 HiCImpute 项目中的 src/Makevars 默认写的是:
CXX_STD = CXX11
但是当前安装的 RcppArmadillo / Armadillo 版本需要 C++14,所以必须把 CXX11 改成 CXX14。
2. 创建 HiCImpute 环境
2.1 创建并进入环境
micromamba create -n 3_hicimpute -y
micromamba activate 3_hicimpute
2.2 安装 R 4.4.1
micromamba install -y -c conda-forge r-base=4.4.1
2.3 安装 R 包编译和运行依赖
推荐直接安装以下依赖:
micromamba install -y -c conda-forge -c bioconda \
r-base=4.4.1 \
r-devtools \
r-rcpp \
r-rcpparmadillo \
r-cli \
r-data.table \
r-dplyr \
r-ggplot2 \
r-caret \
r-reshape2 \
r-abind \
bioconductor-biocgenerics \
bioconductor-s4vectors \
bioconductor-iranges \
bioconductor-genomeinfodb \
bioconductor-genomeinfodbdata \
bioconductor-ucsc.utils
安装完成后检查 R 是否正常:
R --version
3. 修改 HiCImpute 编译配置
进入项目目录:
cd /work/home/genomics3d/2_projects/3_hicimpute-main
查看是否写死了 C++11:
grep -RIn "CXX_STD\|CXX11\|cpp11\|std=c++11\|gnu++11\|SystemRequirements" .
如果看到:
./src/Makevars:11:CXX_STD = CXX11
./src/Makevars.win:11:CXX_STD = CXX11
说明需要修改。
3.1 备份原始 Makevars 文件
cp src/Makevars src/Makevars.bak
cp src/Makevars.win src/Makevars.win.bak
3.2 将 C++11 改为 C++14
sed -i 's/CXX_STD = CXX11/CXX_STD = CXX14/g' src/Makevars
sed -i 's/CXX_STD = CXX11/CXX_STD = CXX14/g' src/Makevars.win
检查是否修改成功:
grep -RIn "CXX_STD" src/Makevars src/Makevars.win
正常结果应该是:
src/Makevars:11:CXX_STD = CXX14
src/Makevars.win:11:CXX_STD = CXX14
3.3 清理旧的编译文件
rm -f src/*.o src/*.so src/*.dll
4. 在 R 中安装 HiCImpute
进入 R:
R
在 R 中执行:
Rcpp::compileAttributes("/work/home/genomics3d/2_projects/3_hicimpute-main")
devtools::install_local(
"/work/home/genomics3d/2_projects/3_hicimpute-main",
dependencies = FALSE
)
5. 判断是否安装成功
安装日志中如果出现下面这几行,说明成功:
using C++14
-std=gnu++14
最后看到:
* DONE (HiCImpute)
说明 HiCImpute 已经安装完成。
6. 测试 HiCImpute 是否可用
在 R 中执行:
library(HiCImpute)
packageVersion("HiCImpute")
查看包中包含哪些函数:
ls("package:HiCImpute")
查看帮助文档:
help(package = "HiCImpute")
7. 常见提示说明
7.1 C++14 compiler required
报错示例:
error: "*** C++14 compiler required; enable C++14 mode in your compiler"
原因:
src/Makevars 中写的是 CXX_STD = CXX11
解决方法:
sed -i 's/CXX_STD = CXX11/CXX_STD = CXX14/g' src/Makevars
sed -i 's/CXX_STD = CXX11/CXX_STD = CXX14/g' src/Makevars.win
7.2 Subdirectory 'R' contains invalid file names: ‘R.Rproj’
这个不是致命错误,只是提示 R.Rproj 文件不应该放在 R/ 文件夹中。
可以暂时不处理。
也可以把它移动到项目根目录:
mv /work/home/genomics3d/2_projects/3_hicimpute-main/R/R.Rproj \
/work/home/genomics3d/2_projects/3_hicimpute-main/R.Rproj
7.3 invalid uid value replaced by that for user 'nobody'
这个是打包时的文件属主警告,不影响安装。
可以忽略。
7.4 install_local() was deprecated
提示:
install_local() was deprecated in devtools 2.5.0
这只是说明以后推荐使用 pak::pak(),但不影响本次安装。
当前安装成功后不用处理。
8. 最终完整安装命令汇总
下面是从头到尾的简化版完整流程。
# 1. 创建并进入环境
micromamba create -n 3_hicimpute -y
micromamba activate 3_hicimpute
# 2. 安装 R 和依赖
micromamba install -y -c conda-forge -c bioconda \
r-base=4.4.1 \
r-devtools \
r-rcpp \
r-rcpparmadillo \
r-cli \
r-data.table \
r-dplyr \
r-ggplot2 \
r-caret \
r-reshape2 \
r-abind \
bioconductor-biocgenerics \
bioconductor-s4vectors \
bioconductor-iranges \
bioconductor-genomeinfodb \
bioconductor-genomeinfodbdata \
bioconductor-ucsc.utils
# 3. 进入 HiCImpute 项目目录
cd /work/home/genomics3d/2_projects/3_hicimpute-main
# 4. 备份 Makevars 文件
cp src/Makevars src/Makevars.bak
cp src/Makevars.win src/Makevars.win.bak
# 5. 修改 C++ 标准为 C++14
sed -i 's/CXX_STD = CXX11/CXX_STD = CXX14/g' src/Makevars
sed -i 's/CXX_STD = CXX11/CXX_STD = CXX14/g' src/Makevars.win
# 6. 清理旧编译文件
rm -f src/*.o src/*.so src/*.dll
# 7. 进入 R
R
进入 R 后执行:
Rcpp::compileAttributes("/work/home/genomics3d/2_projects/3_hicimpute-main")
devtools::install_local(
"/work/home/genomics3d/2_projects/3_hicimpute-main",
dependencies = FALSE
)
library(HiCImpute)
packageVersion("HiCImpute")
9. 成功标志
安装日志中出现:
using C++14
-std=gnu++14
最后出现:
* DONE (HiCImpute)
说明安装成功。
以后使用时只需要:
micromamba activate 3_hicimpute
R
然后在 R 中加载:
library(HiCImpute)

浙公网安备 33010602011771号