Fix(pipeline): optimize docker build, fix zip structure, and update UI
- Docker: - Explicitly install pixi environments (digger, pipeline, webbackend) during build to prevent runtime network/DNS failures. - Optimize pnpm config (copy method) to fix EAGAIN errors. - Backend: - Refactor ZIP bundling: use flat semantic directories (1_Toxin_Mining, etc.). - Fix "nested zip" issue by cleaning existing archives before bundling. - Exclude raw 'context' directory from final download. - Frontend: - Update TutorialView documentation to match new result structure. - Improve TaskMonitor progress bar precision (1 decimal place). - Update i18n (en/zh) for new file descriptions. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
{
|
||||
"nav": {
|
||||
"home": "Home",
|
||||
{ "nav": { "home": "Home",
|
||||
"contact": "Contact",
|
||||
"tool": "Prediction Tool",
|
||||
"docs": "Documentation"
|
||||
@@ -111,7 +109,23 @@
|
||||
},
|
||||
"output": {
|
||||
"title": "Output Description",
|
||||
"desc": "After analysis, you will receive a compressed package containing heatmaps and detailed data, including toxin hit lists, target score matrices, and visualization reports."
|
||||
"desc": "After analysis, you will receive a compressed package containing heatmaps and detailed data, including toxin hit lists, target score matrices, and visualization reports.",
|
||||
"structure": {
|
||||
"title": "Result File Structure",
|
||||
"desc": "The downloaded zip package contains the following directories:"
|
||||
},
|
||||
"files": {
|
||||
"input_dir": "Original Input Files",
|
||||
"mining_dir": "BtToxin_Digger Mining Results",
|
||||
"all_toxins": "Core Result: Predicted Toxin Gene List",
|
||||
"scoring_dir": "Shoter Toxicity Scoring Results",
|
||||
"report": "Comprehensive Analysis Report (Markdown)",
|
||||
"strain_heatmap": "Strain Target Activity Heatmap",
|
||||
"hit_heatmap": "Single Sequence Activity Heatmap",
|
||||
"strain_tsv": "Strain Target Score Raw Data",
|
||||
"toxin_tsv": "Toxin Support Data",
|
||||
"logs": "Execution Logs"
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"title": "About BtToxin_Shoter",
|
||||
|
||||
@@ -101,7 +101,23 @@
|
||||
},
|
||||
"output": {
|
||||
"title": "输出说明",
|
||||
"desc": "分析完成后,您将获得一个包含热图和详细数据的压缩包,包括毒素命中列表、靶标评分矩阵和可视化报告。"
|
||||
"desc": "分析完成后,您将获得一个包含热图和详细数据的压缩包,包括毒素命中列表、靶标评分矩阵和可视化报告。",
|
||||
"structure": {
|
||||
"title": "结果文件结构",
|
||||
"desc": "下载的压缩包解压后包含以下目录:"
|
||||
},
|
||||
"files": {
|
||||
"input_dir": "原始输入文件目录",
|
||||
"mining_dir": "BtToxin_Digger 毒素挖掘结果",
|
||||
"all_toxins": "核心结果:预测到的毒素基因列表",
|
||||
"scoring_dir": "Shoter 毒性评分结果",
|
||||
"report": "综合分析报告 (Markdown)",
|
||||
"strain_heatmap": "菌株靶标活性评分热图",
|
||||
"hit_heatmap": "单序列活性评分热图",
|
||||
"strain_tsv": "菌株靶标评分原始数据",
|
||||
"toxin_tsv": "毒素支持度数据",
|
||||
"logs": "运行日志目录"
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"title": "关于 BtToxin_Shoter",
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
<!-- Progress Bar (only for running) -->
|
||||
<div v-if="taskStatus.status === 'running'" class="progress-section">
|
||||
<el-progress
|
||||
:percentage="simulatedProgress"
|
||||
:percentage="Number(simulatedProgress.toFixed(1))"
|
||||
:status="getProgressStatus(taskStatus.status)"
|
||||
:stroke-width="20"
|
||||
:show-text="true"
|
||||
/>
|
||||
<span class="progress-text">{{ $t('status.running.progress', { percent: simulatedProgress }) }}</span>
|
||||
<span class="progress-text">{{ $t('status.running.progress', { percent: simulatedProgress.toFixed(1) }) }}</span>
|
||||
</div>
|
||||
|
||||
<!-- Estimated Time (only for running) -->
|
||||
|
||||
@@ -145,18 +145,19 @@ const { t } = useI18n()
|
||||
|
||||
<el-card class="file-tree-card">
|
||||
<pre class="file-tree">
|
||||
pipeline_results.zip
|
||||
├── <span class="folder">digger/</span>
|
||||
pipeline_results_{id}.zip
|
||||
├── <span class="folder">Input/</span> # {{ t('tutorial.output.files.input_dir') }}
|
||||
│ └── <span class="file">filename.fna</span>
|
||||
├── <span class="folder">1_Toxin_Mining/</span> # {{ t('tutorial.output.files.mining_dir') }}
|
||||
│ ├── <span class="folder">Results/Toxins/</span>
|
||||
│ │ └── <span class="file">All_Toxins.txt</span> # {{ t('tutorial.output.files.all_toxins') }}
|
||||
│ └── ...
|
||||
├── <span class="folder">shotter/</span>
|
||||
├── <span class="folder">2_Toxicity_Scoring/</span> # {{ t('tutorial.output.files.scoring_dir') }}
|
||||
│ ├── <span class="file">shotter_report.md</span> # {{ t('tutorial.output.files.report') }}
|
||||
│ ├── <span class="file">strain_target_scores.png</span> # {{ t('tutorial.output.files.strain_heatmap') }}
|
||||
│ ├── <span class="file">per_hit_{id}.png</span> # {{ t('tutorial.output.files.hit_heatmap') }}
|
||||
│ ├── <span class="file">shotter_report.md</span> # {{ t('tutorial.output.files.report') }}
|
||||
│ ├── <span class="file">strain_target_scores.tsv</span> # {{ t('tutorial.output.files.strain_tsv') }}
|
||||
│ └── <span class="file">toxin_support.tsv</span> # {{ t('tutorial.output.files.toxin_tsv') }}
|
||||
└── <span class="folder">logs/</span> # {{ t('tutorial.output.files.logs') }}
|
||||
│ └── ...
|
||||
└── <span class="folder">Logs/</span> # {{ t('tutorial.output.files.logs') }}
|
||||
</pre>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user