feat: migrate from Docker to pixi for BtToxin_Digger execution

- Add pixi.toml with digger and pipeline environments
- Implement PixiRunner class replacing DockerContainerManager
- Add run_digger_stage.py for standalone digger execution
- Update run_single_fna_pipeline.py to use PixiRunner
- Remove docker dependency from pyproject.toml
- Delete docker_client.py (no longer needed)

BREAKING CHANGE: Docker is no longer required. Use 'pixi install' instead.
This commit is contained in:
2026-01-08 16:58:45 +08:00
parent 1c0e8f90a5
commit ae4c6351d9
7 changed files with 7457 additions and 470 deletions

43
pixi.toml Normal file
View File

@@ -0,0 +1,43 @@
[workspace]
name = "bttoxin-pipeline"
channels = ["conda-forge", "bioconda", "bioconda/label/cf201901"]
platforms = ["linux-64"]
version = "0.1.0"
channel-priority = "disabled"
# =========================
# digger 环境bioconda 依赖
# =========================
[feature.digger.dependencies]
bttoxin_digger = "==1.0.10"
perl = "==5.26.2"
perl-file-tee = "==0.07"
perl-list-util = "==1.38"
blast = "==2.16.0"
# =========================
# pipeline 环境Python 分析依赖
# =========================
[feature.pipeline.dependencies]
python = ">=3.9"
pandas = ">=2.0.0"
matplotlib = ">=3.7.0"
seaborn = ">=0.12.2"
# =========================
# 环境定义
# =========================
[environments]
digger = ["digger"]
pipeline = ["pipeline"]
# =========================
# pixi tasks
# =========================
[feature.pipeline.tasks]
# 完整 pipeline三阶段
pipeline = "python scripts/run_single_fna_pipeline.py"
# 单独阶段
digger-only = "python scripts/run_digger_stage.py"
shotter = "python scripts/bttoxin_shoter.py"
plot = "python scripts/plot_shotter.py"