环境搭建:R/Python依赖安装、conda环境配置与测试
好,咱们开始动手。环境搭建这步,说白了就是给你的电脑装上所有CellTrek需要的“零件”。我个人习惯用conda来管理,因为Python和R的包版本打架的问题太常见了。你想想看,Python包版本不对,R包冲突,再来个GPU驱动不匹配,光这些就能折腾你一天。
所以,我建议你专门新建一个conda环境,把所有东西隔离起来。
环境全景:CellTrek依赖一览
CellTrek本身是R包,但它的核心计算部分用了Python。咱们需要同时搞定R和Python两边的东西。
下面是完整的依赖清单:
| 依赖类别 | 具体工具/包 | 用途 |
|---|---|---|
| R 核心环境 | R (>= 4.1), Seurat, tidyverse, Matrix | 单细胞数据处理与可视化 |
| CellTrek 核心 | CellTrek (GitHub), SeuratDisk | 空间定位算法与数据格式转换 |
| Python 环境 | Python 3.8-3.10, torch (>=1.10), scanpy, anndata | 深度学习与空间坐标预测 |
| 辅助工具 | Gradnorm, cell2location (可选) | 数据预处理与辅助定位 |
环境准备步骤
下面三步走,搞定所有依赖。
第一步:安装Miniconda
如果你还没装conda,先去官网下个Miniconda。装完之后,打开终端验证一下:
conda --version
第二步:创建并激活conda环境
我习惯用YAML文件来定义环境,这样可复现。创建一个叫 celltrek_env.yml 的文件,内容如下:
name: celltrek
channels:
- conda-forge
- bioconda
- pytorch
- defaults
dependencies:
- python=3.9
- r-base=4.2
- r-seurat
- r-tidyverse
- r-devtools
- r-reticulate
- pytorch=1.13.1
- torchvision
- torchaudio
- cudatoolkit=11.7
- scanpy
- anndata
- pip
- pip:
- cell2location
- gradnorm
然后执行:
conda env create -f celltrek_env.yml
conda activate celltrek
这一步会装好大部分东西。但如果网络不好,某些R包可能会中断。
第三步:安装CellTrek的R包
CellTrek在GitHub上,所以需要用devtools来装。进入R环境:
R
然后在R控制台里运行:
library(devtools)
install_github("jinmiao/CellTrek")
如果遇到依赖缺失,比如SeuratDisk没装上,可以手动补:
install.packages("SeuratDisk")
reticulate包来在R里调用Python。装好后,一定要检查一下reticulate是否自动找到了你conda环境里的Python。
配置测试:确保一切就绪
环境搭好后,跑个测试最安心。我一般会写一个小脚本来验证。
测试Python端
创建一个test_env.py文件:
import scanpy as sc
import anndata as ad
import torch
print("scanpy version:", sc.__version__)
print("anndata version:", ad.__version__)
print("PyTorch version:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())
运行:
python test_env.py
如果能看到版本号,就说明基本环境没毛病。特别留意一下CUDA是否可用,如果你的机器有NVIDIA显卡的话。
测试R端
在R里运行:
library(CellTrek)
library(Seurat)
# 检查reticulate是否连接上Python
library(reticulate)
py_config()
输出结果应该显示Python路径指向你conda环境里的那个。我曾经踩过坑,R的reticulate自动找了系统默认的Python 3.11,结果torch版本不匹配,报了一堆错。
py_config()显示的Python不对,可以手动指定:use_condaenv("celltrek", required=TRUE)
环境搭建流程图
下面这张图是整个环境搭建的流程,从零到跑通测试:
避坑指南
环境搭建这步,我至少见过十几个人卡住。最常见的问题有三个:
- R包安装失败:尤其是
SeuratDisk和devtools。试试用install.packages("SeuratDisk", repos = "https://cloud.r-project.org/")手动指定镜像。如果还不行,检查一下你的系统有没有装libcurl和libxml2。 - Python版本不对:CellTrek的Python后端依赖某些旧版本的torch。我曾经遇到过,用conda装的时候没指定Python版本,结果默认装了3.11,torch的某些API变了,CellTrek直接报
AttributeError。解决方案很简单:重新建一个环境,指定Python=3.9。 - GPU加速不生效:如果你有NVIDIA显卡,但torch的cuda.is_available()返回False。检查一下cudatoolkit版本是否和你的驱动匹配。我个人习惯装cudatoolkit=11.7,兼容性最好。
conda env create可能会因为文件锁定而失败。试试加上--force或者手动删除~/.conda/pkgs下的锁定文件:rm -rf ~/.conda/pkgs/*.lock。
嗯,环境搭好之后,你就可以正式开始CellTrek的实战了。记得把每一步跑通,别跳过测试。嗯,算是个实战经验吧——我有个同事就是跳过了测试,结果在真实数据上跑了一天,最后发现是因为reticulate没连对Python,白白浪费了几个小时。