Liftoff 1.6.3 安装流程

1. 创建独立环境

conda create -n liftoff python=3.11

conda activate liftoff

检查:

python --version

本次实际环境:Python 3.11.16

2. 安装 pysam

由于服务器使用 conda 安装 Liftoff 时,旧版 pysam 与 libdeflate 产生依赖冲突,因此没有继续使用 conda 安装 pysam,而是使用 pip。

pip install  pysam

python -c "import pysam; print(pysam.__version__)"

本次实际版本:pysam 0.24.1

3. 安装 Liftoff 主程序

不要直接:

pip install Liftoff

因为 Liftoff 1.6.3 的依赖声明非常老,会强制要求:

pysam==0.16.0.1 numpy==1.21.0 biopython==1.76 pyfaidx==0.5.8 networkx==2.4 ...

其中部分依赖与 Python 3.11 不兼容。

因此采用:

pip install  Liftoff==1.6.3.2  --no-deps

4. 安装 Liftoff 运行依赖

4.1 Biopython

Liftoff 旧版本要求:

biopython==1.76

但 Biopython 1.76 无法在 Python 3.11 下正常编译,会出现:

Py_TYPE(&Trie_Type) = &PyType_Type; error: lvalue required as left operand of assignment

因此不要安装 Biopython 1.76。

安装支持 Python 3.11 的版本:

pip install  biopython==1.85

检查:

python -c "import Bio; print(Bio.__version__)"

实际版本:

4.2 gffutils

安装:

pip install  gffutils==0.10.1

4.3 networkx

Liftoff 1.6.3 需要:

networkx==2.4

安装:

pip install  networkx==2.4

但是 networkx 2.4 使用了旧版 NumPy API,因此不能配 NumPy 2.x。

4.4 NumPy

最开始环境中是:

numpy 2.4.6

运行 networkx 2.4 时出现:

AttributeError: `np.float_` was removed in the NumPy 2.0 release.

将 NumPy 降到 1.26.4 后,又出现:

AttributeError: module 'numpy' has no attribute 'int'

因此继续降到:

numpy==1.23.5

安装:

pip install  "numpy==1.23.5"

检查:

python - <<'PY' import numpy import networkx print("numpy:", numpy.__version__) print("networkx:", networkx.__version__) PY

最终:

numpy: 1.23.5 networkx: 2.4

4.5 其他 Liftoff 依赖

安装:

pip install  interlap==0.2.6  parasail  ujson==3.2.0

5. 最终验证

检查所有 Python 依赖:

python - <<'PY' import pysam import Bio import gffutils import networkx import interlap import parasail import ujson print("pysam:", pysam.__version__) print("Biopython:", Bio.__version__) print("gffutils:", gffutils.__version__) print("networkx:", networkx.__version__) print("interlap: OK") print("parasail:", parasail.__version__) print("ujson:", ujson.__version__) PY

成功输出:

pysam: 0.24.1 Biopython: 1.85 gffutils: 0.10.1 networkx: 2.4 interlap: OK parasail: 1.3.4 ujson: 3.2.0

检查 Liftoff:

liftoff --version

最终:v1.6.3

本次安装过程中不推荐的方法

不推荐直接使用 conda 安装 Liftoff

conda install -c bioconda liftoff

在当前服务器环境中容易遇到:

pysam libdeflate Python 3.11

之间的 solver 冲突。

不要强行安装 Biopython 1.76

pip install biopython==1.76

在 Python 3.11 下会尝试源码编译并失败。

不要强行安装 pysam 0.16.0.1

pip install pysam==0.16.0.1

这个版本太老,在当前 Python 3.11 环境中容易进入源码编译问题。

不要把 NumPy 升回 2.x

因为:

networkx 2.4 ↓ 使用 np.float_ / np.int ↓ NumPy 2.x / 新版 NumPy ↓ 报错

本次最终确定使用:

numpy 1.23.5

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容