[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 = "*" # ========================= # 环境定义 # ========================= [environments] digger = ["digger"] pipeline = ["pipeline"] frontend = ["frontend"] webbackend = ["webbackend"] # ========================= # 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" # ========================= # frontend tasks # ========================= [feature.frontend.tasks] fe-install = { cmd = "pnpm install", cwd = "frontend" } fe-dev = { cmd = "pnpm dev", 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 web.backend.main:app --reload --host 0.0.0.0 --port 8000" api-test = "pytest web/backend/ -v"