108 lines
2.9 KiB
TOML
108 lines
2.9 KiB
TOML
[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 = "*"
|
||
sqlalchemy = "*"
|
||
psycopg2 = "*"
|
||
celery = "*"
|
||
redis-py = "*"
|
||
docker-py = "*"
|
||
pydantic = "*"
|
||
pydantic-settings = "*"
|
||
python-dotenv = "*"
|
||
httpx = "*"
|
||
pytest = "*"
|
||
|
||
# =========================
|
||
# CRISPR-Cas 环境:预留用于未来的 CRISPR-Cas 分析
|
||
# =========================
|
||
# 此环境预留用于 CRISPR-Cas 系统分析模块
|
||
# 实现计划:
|
||
# 1. 使用 CRISPRCasFinder 或 similar 工具识别 CRISPR arrays
|
||
# 2. 提取 spacer 序列并与毒素基因关联分析
|
||
# 3. 评估 CRISPR-Cas 系统对宿主防御的影响
|
||
#
|
||
# 预期依赖(待激活时添加):
|
||
[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"]
|
||
|
||
# =========================
|
||
# 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"
|