Refactor: Unified pipeline execution, simplified UI, and fixed Docker config

- Backend: Refactored tasks.py to directly invoke run_single_fna_pipeline.py for consistency.
- Backend: Changed output format to ZIP and added auto-cleanup of intermediate files.
- Backend: Fixed language parameter passing in API and tasks.
- Frontend: Removed CRISPR Fusion UI elements from Submit and Monitor views.
- Frontend: Implemented simulated progress bar for better UX.
- Frontend: Restored One-click load button and added result file structure documentation.
- Docker: Fixed critical Restarting loop by removing incorrect image directive in docker-compose.yml.
- Docker: Optimized Dockerfile to correct .pixi environment path issues and prevent accidental deletion of frontend assets.
This commit is contained in:
zly
2026-01-20 20:25:25 +08:00
parent 5067169b0b
commit c75c85c53b
134 changed files with 146457 additions and 996647 deletions

View File

@@ -518,9 +518,15 @@ def build_shotter_command(
min_coverage: float = 0.0,
allow_unknown_families: bool = True,
require_index_hit: bool = False,
# New Context Arguments
crispr_results: Optional[Path] = None,
crispr_fusion: bool = False,
context_bgc: Optional[Path] = None,
context_mobilome: Optional[Path] = None,
context_crispr: Optional[Path] = None,
) -> List[str]:
"""构建 Shotter 命令列表(使用 pipeline 环境)。
Args:
pixi_project_dir: pixi.toml 所在目录
script_path: bttoxin_shoter.py 脚本路径
@@ -531,7 +537,12 @@ def build_shotter_command(
min_coverage: 最小 coverage 阈值
allow_unknown_families: 是否允许未知家族
require_index_hit: 是否要求索引命中
crispr_results: CRISPR Fusion 结果路径
crispr_fusion: 是否启用 Fusion 分析
context_bgc: BGC 上下文结果路径
context_mobilome: Mobilome 上下文结果路径
context_crispr: CRISPR 检测结果路径 (for prior)
Returns:
命令参数列表,以 'pixi run -e pipeline python' 开头
"""
@@ -542,7 +553,7 @@ def build_shotter_command(
"--all_toxins", str(all_toxins),
"--output_dir", str(output_dir),
]
if min_identity and min_identity > 0:
cmd += ["--min_identity", str(min_identity)]
if min_coverage and min_coverage > 0:
@@ -551,7 +562,20 @@ def build_shotter_command(
cmd += ["--disallow_unknown_families"]
if require_index_hit:
cmd += ["--require_index_hit"]
# Context & CRISPR Args
if crispr_results:
cmd += ["--crispr_results", str(crispr_results)]
if crispr_fusion:
cmd += ["--crispr_fusion"]
if context_bgc:
cmd += ["--context_bgc", str(context_bgc)]
if context_mobilome:
cmd += ["--context_mobilome", str(context_mobilome)]
if context_crispr:
cmd += ["--context_crispr", str(context_crispr)]
return cmd