Files
2026-08-03 18:42:47 +08:00

54 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""Skill wrapper for the rnaseq_fgsea CLI stage."""
from __future__ import annotations
import argparse
import subprocess
import sys
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[2]
CLI = PROJECT_ROOT / "apps" / "cli" / "run_rnaseq_fgsea.py"
def main() -> int:
parser = argparse.ArgumentParser(description="RNA-seq fgsea skill wrapper")
parser.add_argument("--workspace", required=True, help="workspace/<job_id> directory")
parser.add_argument("--prefix", default="")
parser.add_argument("--job-id", default="")
parser.add_argument("--comparison", default="")
parser.add_argument("--gene2ko", default="")
parser.add_argument("--kegg-cache-dir", default="")
parser.add_argument("--min-size", type=int, default=15)
parser.add_argument("--max-size", type=int, default=500)
parser.add_argument("--nperm", type=int, default=10000)
parser.add_argument("--seed", type=int, default=1)
args = parser.parse_args()
cmd = [
sys.executable,
str(CLI),
"--workspace",
args.workspace,
"--min-size",
str(args.min_size),
"--max-size",
str(args.max_size),
"--nperm",
str(args.nperm),
"--seed",
str(args.seed),
]
for key in ("prefix", "job_id", "comparison", "gene2ko", "kegg_cache_dir"):
value = getattr(args, key)
if value:
cmd.extend(["--" + key.replace("_", "-"), value])
return subprocess.call(cmd, cwd=str(PROJECT_ROOT))
if __name__ == "__main__":
raise SystemExit(main())