update location
This commit is contained in:
107
tools/bttoxin_digger/README_CN.md
Normal file
107
tools/bttoxin_digger/README_CN.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# BtToxin_Digger (pixi) 复现与 Docker 镜像
|
||||
|
||||
本仓库提供了一个 **可复现的运行环境**,用于运行 BtToxin_Digger 1.0.10,并打包为基于 `ghcr.io/prefix-dev/pixi` 的 Docker 镜像。
|
||||
|
||||
包含内容:
|
||||
1. **BtToxin_Digger 1.0.10** (通过 Pixi 安装)
|
||||
2. **BLAST+ 2.16.0** (兼容 v5 数据库)
|
||||
3. **预置 BtToxin 数据库** (已集成到镜像中)
|
||||
|
||||
## 许可证 / 引用 / 免责声明
|
||||
|
||||
- **BtToxin_Digger** 由原作者开发;如果在研究中使用,请引用上游发表的论文。
|
||||
- **本仓库** 仅提供环境封装 (pixi/docker);不修改 BtToxin_Digger 源代码。
|
||||
|
||||
## 1. 快速开始 (使用 Docker)
|
||||
|
||||
最简单的运行方式是使用包含的 `docker-compose.yml` 或全局项目配置。
|
||||
|
||||
### 构建镜像
|
||||
|
||||
```bash
|
||||
# 在本目录下
|
||||
docker compose build
|
||||
```
|
||||
|
||||
### 运行分析
|
||||
|
||||
将你的输入 `.fna` 文件放入 `examples/inputs` (或挂载你自己的目录),然后运行:
|
||||
|
||||
```bash
|
||||
# 查看帮助
|
||||
docker compose run --rm digger-repro pixi run BtToxin_Digger --help
|
||||
|
||||
# 对特定文件运行分析
|
||||
# 注意:输入路径必须匹配内部挂载点 (/app/jobs)
|
||||
docker compose run --rm digger-repro pixi run BtToxin_Digger \
|
||||
--SeqPath /app/jobs \
|
||||
--Scaf_suffix .fna \
|
||||
--threads 4
|
||||
```
|
||||
|
||||
### 目录挂载说明
|
||||
|
||||
- `/app/jobs`: 挂载你的输入序列文件目录。
|
||||
- `/app/data`: 挂载你期望的输出目录 (如果在参数中使用绝对路径)。
|
||||
|
||||
## 2. Docker 镜像构建原理
|
||||
|
||||
镜像使用 `docker/Dockerfile` 构建。
|
||||
|
||||
### 基础镜像
|
||||
使用 `ghcr.io/prefix-dev/pixi:latest` 以确保一致的 conda 兼容环境。
|
||||
|
||||
### 数据库集成
|
||||
外部数据库 (`external_dbs/bt_toxin`) 在构建时 **被复制到镜像中**。
|
||||
目标位置:`/app/.pixi/envs/default/bin/BTTCMP_db/bt_toxin`
|
||||
|
||||
这替换了 bioconda 包自带的默认数据库,确保:
|
||||
1. 使用最新的毒素定义。
|
||||
2. BLAST v5 索引与安装的 BLAST+ 2.16.0 兼容。
|
||||
|
||||
### 环境定义 (`pixi.toml`)
|
||||
- `bttoxin_digger = "==1.0.10"`
|
||||
- `perl = "==5.26.2"` (旧版兼容需求)
|
||||
- `blast = "==2.16.0"` (升级以支持 v5 数据库)
|
||||
- `channel-priority = "disabled"`
|
||||
|
||||
## 3. 开发 / 手动使用
|
||||
|
||||
如果你想在不使用 Docker 的情况下使用本地 Pixi 运行:
|
||||
|
||||
```bash
|
||||
# 安装环境
|
||||
pixi install
|
||||
|
||||
# 链接数据库 (如果不使用 Docker,需要手动操作)
|
||||
# Dockerfile 会通过复制文件自动完成此步骤。
|
||||
ENV_BIN=.pixi/envs/default/bin
|
||||
rm -rf "$ENV_BIN/BTTCMP_db/bt_toxin"
|
||||
ln -sfn $(pwd)/external_dbs/bt_toxin "$ENV_BIN/BTTCMP_db/bt_toxin"
|
||||
|
||||
# 运行
|
||||
pixi run BtToxin_Digger --help
|
||||
```
|
||||
|
||||
## 4. 仓库结构
|
||||
|
||||
```
|
||||
.
|
||||
├── docker/
|
||||
│ └── Dockerfile # Docker 构建定义
|
||||
├── docker-compose.yml # 本地测试编排
|
||||
├── external_dbs/ # 数据库源 (构建时复制到镜像)
|
||||
│ └── bt_toxin/ # 实际的数据库文件
|
||||
├── pixi.toml # 环境依赖定义
|
||||
├── pixi.lock # 确切的版本锁定
|
||||
└── examples/ # 测试输入和输出
|
||||
```
|
||||
|
||||
## 5. 更新数据库
|
||||
|
||||
要更新容器使用的数据库:
|
||||
1. 更新 `external_dbs/bt_toxin/` 中的文件。
|
||||
2. 重新构建 Docker 镜像:
|
||||
```bash
|
||||
docker compose build --no-cache
|
||||
```
|
||||
Reference in New Issue
Block a user