Repository navigation
Expand file tree
/
Copy pathpixi.toml
More file actions
112 lines (100 loc) · 4.33 KB
/
Copy pathpixi.toml
File metadata and controls
112 lines (100 loc) · 4.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# OpenRare monorepo — root Pixi workspace
#
# Install once at repo root:
# pixi install
#
# Module-specific tasks use cwd under modules/<name>/.
# Each module may also keep its own pixi.toml for isolated development
# (cd modules/pipeline && pixi run ...).
#
# Add a new module:
# 1. Create modules/<name>/ with code + optional .env.example
# 2. Add [tasks] below with cwd = "modules/<name>"
# 3. Add module deps to [dependencies] or a dedicated feature table later
[workspace]
name = "openrare"
version = "0.1.0"
description = "OpenRare monorepo for rare-disease genomic analysis modules"
channels = ["conda-forge", "bioconda"]
platforms = ["linux-64", "osx-arm64"]
[dependencies]
# Shared runtime (pipeline module today; extend when adding modules)
python = ">=3.11"
openjdk = ">=17"
bcftools = "*"
# --- pipeline module ---
ensembl-vep = "115.*"
fastapi = "*"
uvicorn = "*"
pydantic = "*"
numpy = "*"
pandas = "*"
duckdb = "*"
[activation]
scripts = ["scripts/load-env.sh"]
# ---------------------------------------------------------------------------
# modules/pipeline — variant annotation & sorting pipeline
# See modules/pipeline/README.md
# ---------------------------------------------------------------------------
[tasks]
doctor = "python -m doctor.main"
pipeline-vep-dry-run = { cwd = "modules/pipeline", cmd = [
"python",
"modules/vep_runner/scripts/run_vep_to_csv.py",
"-i", "test/input/P001.genotyper10000.vcf",
"-o", "tmp/openrare_vep_dryrun.csv",
"--dry-run",
"--hgvs",
]}
pipeline-test = { cwd = "modules/pipeline", cmd = [
"bash", "-c",
"mkdir -p tmp && bash scripts/run_full_pipeline.sh --input-vcf test/input/P001.genotyper10000.vcf --out-dir tmp/openrare_pipeline_test --chromosomes 1 --fork 4 --keep-raw-vep yes --sample-id P001",
]}
pipeline-api = { cwd = "modules/pipeline", cmd = [
"bash", "-c",
"FULL_PIPELINE_API_HOST=${FULL_PIPELINE_API_HOST:-127.0.0.1} FULL_PIPELINE_API_PORT=${FULL_PIPELINE_API_PORT:-18901} exec bash scripts/start_full_pipeline_api.sh",
]}
pipeline-api-test = { cwd = "modules/pipeline", cmd = ["bash", "test/run_api_integration_test.sh"] }
pipeline-vep-setup-plugins = { cwd = "modules/pipeline", cmd = ["bash", "modules/vep_runner/scripts/install_vep_plugins.sh"] }
pipeline-vep-verify-plugins = { cwd = "modules/pipeline", cmd = ["bash", "modules/vep_runner/scripts/verify_vep_plugins.sh"] }
# Short names (same commands as pipeline-* above)
vep-dry-run = { cwd = "modules/pipeline", cmd = [
"python",
"modules/vep_runner/scripts/run_vep_to_csv.py",
"-i", "test/input/P001.genotyper10000.vcf",
"-o", "tmp/openrare_vep_dryrun.csv",
"--dry-run",
"--hgvs",
]}
api = { cwd = "modules/pipeline", cmd = [
"bash", "-c",
"FULL_PIPELINE_API_HOST=${FULL_PIPELINE_API_HOST:-127.0.0.1} FULL_PIPELINE_API_PORT=${FULL_PIPELINE_API_PORT:-18901} exec bash scripts/start_full_pipeline_api.sh",
]}
api-test = { cwd = "modules/pipeline", cmd = ["bash", "test/run_api_integration_test.sh"] }
vep-setup-plugins = { cwd = "modules/pipeline", cmd = ["bash", "modules/vep_runner/scripts/install_vep_plugins.sh"] }
vep-verify-plugins = { cwd = "modules/pipeline", cmd = ["bash", "modules/vep_runner/scripts/verify_vep_plugins.sh"] }
# ---------------------------------------------------------------------------
# modules/pixi_ppi_score — PPI scoring service
# See modules/pixi_ppi_score/README.md
# ---------------------------------------------------------------------------
ppi-download-data = { cwd = "modules/pixi_ppi_score", cmd = ["bash", "app/download_data.sh"] }
ppi-check-data = { cwd = "modules/pixi_ppi_score", cmd = ["python", "scripts/check_data_files.py"] }
ppi-health = { cwd = "modules/pixi_ppi_score", cmd = ["bash", "scripts/curl_health.sh"] }
# ---------------------------------------------------------------------------
# modules/<future> — add tasks here, e.g.:
# other-test = { cwd = "modules/other", cmd = ["bash", "scripts/test.sh"] }
# ---------------------------------------------------------------------------
# ---------- gateway / orchestrator ----------
[feature.gateway.dependencies]
python = ">=3.12"
fastapi = "*"
uvicorn = "*"
httpx = "*"
pydantic = ">=2"
[feature.gateway.pypi-dependencies]
gateway = { path = "gateway", editable = true }
[feature.gateway.tasks]
up = "python -m gateway.main"
pipeline-full = "python -m pipeline.main"
[environments]
gateway = { features = ["gateway"], no-default-feature = true }