Files
bttoxin-pipeline/pixi.toml
zly 963215de2d Fix(pipeline): prevent nested zip packaging and update CRISPR dependencies
- Add filter to skip .zip and .tar.gz files when creating result archive
- Update CRISPR feature with CASFinder dependencies (hmmer, blast, vmatch, etc.)
- Add install-casfinder task for macsydata installation
- Remove obsolete CRISPR test files

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 20:06:41 +08:00

130 lines
3.4 KiB
TOML
Raw Permalink 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"]
platforms = ["linux-64"]
version = "0.1.0"
channel-priority = "disabled"
# =========================
# digger 环境bioconda 依赖
# =========================
[feature.digger]
channels = ["bioconda", "conda-forge", "bioconda/label/cf201901"]
[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.10"
wget = "*"
curl = "*"
git = "*"
java-jdk = "*"
parallel = "*"
perl-app-cpanminus = "*"
hmmer = "*"
emboss = "*"
blast = "*"
perl-bioperl-core = "*"
perl-xml-simple = "*"
perl-digest-md5 = "*"
vmatch = "*"
muscle = "*"
prodigal = "*"
mamba = "*"
macsyfinder = "==2.1.2"
[feature.crispr.tasks]
install-casfinder = "macsydata install -u CASFinder==3.1.0"
detect = "python tools/crispr_cas_analysis/scripts/detect_crispr.py"
fusion = "python tools/crispr_cas_analysis/scripts/fusion_analysis.py"
# =========================
# 环境定义
# =========================
[environments]
digger = ["digger"]
pipeline = ["pipeline"]
frontend = ["frontend"]
webbackend = ["webbackend"]
crispr = ["crispr"]
# Actually, let's keep it simple. The tools are Python scripts. They can run in the 'pipeline' environment which has python and pandas.
# The 'crispr' feature defines dependencies.
# =========================
# 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"