Files
bttoxin-pipeline/pixi.toml

113 lines
3.2 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[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"
# =========================
# frontend 环境Node.js 前端依赖
# =========================
[feature.frontend.dependencies]
nodejs = ">=20"
pnpm = ">=10"
# =========================
# webbackend 环境FastAPI 后端依赖
# =========================
[feature.webbackend.dependencies]
python = ">=3.11"
fastapi = "*"
uvicorn = "*"
pydantic = "*"
pydantic-settings = "*"
python-dotenv = "*"
httpx = "*"
pytest = "*"
# =========================
# CRISPR-Cas 环境:预留用于未来的 CRISPR-Cas 分析
# =========================
# 此环境预留用于 CRISPR-Cas 系统分析模块
# 实现计划:
# 1. 使用 CRISPRCasFinder 或 similar 工具识别 CRISPR arrays
# 2. 提取 spacer 序列并与毒素基因关联分析
# 3. 评估 CRISPR-Cas 系统对宿主防御的影响
#
# 预期依赖(待激活时添加):
# python = ">=3.9"
# crisprcasfinder = "*" # 或使用 pyCRISPRcas
# biopython = "*"
# pandas = ">=2.0.0"
#
# 使用方式:
# pixi run -e crispr crispr-detect --input genome.fna --output crispr_results.json
# pixi run -e crispr crispr-fusion --toxins all_toxins.txt --crispr crispr_results.json
# =========================
# [feature.crispr.dependencies]
# # 预留依赖,实际实现时取消注释
# python = ">=3.9"
# # crisprcasfinder = "*" # 需要配置安装源
# biopython = "*"
# pandas = ">=2.0.0"
# =========================
# [feature.crispr.tasks]
# crispr-detect = "python crispr_cas/scripts/detect_crispr.py"
# crispr-fusion = "python crispr_cas/scripts/fusion_analysis.py"
# =========================
# 环境定义
# =========================
[environments]
digger = ["digger"]
pipeline = ["pipeline"]
frontend = ["frontend"]
webbackend = ["webbackend"]
# crispr = ["crispr"] # 取消注释以激活 CRISPR 环境
# =========================
# pipeline tasks
# =========================
[feature.pipeline.tasks]
pipeline = "python scripts/run_single_fna_pipeline.py"
digger-only = "python scripts/run_digger_stage.py"
shoter = "python scripts/bttoxin_shoter.py"
plot = "python scripts/plot_shotter.py"
# =========================
# frontend tasks
# =========================
[feature.frontend.tasks]
fe-install = { cmd = "pnpm install", cwd = "frontend" }
fe-dev = { cmd = "pnpm dev --host", cwd = "frontend" }
fe-build = { cmd = "pnpm build", cwd = "frontend" }
fe-test = { cmd = "pnpm test:unit --run", cwd = "frontend" }
fe-lint = { cmd = "pnpm lint", cwd = "frontend" }
# =========================
# webbackend tasks
# =========================
[feature.webbackend.tasks]
api-dev = "uvicorn backend.app.main:app --reload --host 0.0.0.0 --port 8000"
api-test = "pytest backend/ -v"
web-start = "bash scripts/start_web.sh"