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)
posted @ 2026-07-03 12:28  wuhaoliu  阅读(21)  评论(0)    收藏  举报