@@ -12,6 +12,7 @@ fastaToTsvSw := assets.importSoftware("@platforma-open/milaboratories.immune-ass
1212addHeaderSw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.add-header:main")
1313covModeCalcSw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.coverage-mode-calc:main")
1414xlsxToCsvSw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.xlsx-to-csv:main")
15+ checkContentEmptySw := assets.importSoftware("@platforma-open/milaboratories.immune-assay-data.check-content-empty:main")
1516
1617runAlignmentTpl := assets.importTemplate(":run-alignment")
1718checkContentEmptyTpl := assets.importTemplate(":check-content-empty")
@@ -274,16 +275,24 @@ self.body(func(args) {
274275 arg("-o").arg("results_with_header.tsv").
275276 addFile("results.tsv", mmseqsOutput).
276277 saveFile("results_with_header.tsv").
277- saveFileContent("results_with_header.tsv").
278278 run()
279279
280280 mmseqsResultTsv := addHeaderRun.getFile("results_with_header.tsv")
281- mmseqsResultContent := addHeaderRun.getFileContent("results_with_header.tsv")
282281
283- // Use subtemplate to check if file is empty
282+ // Check if results are empty (only header line or nothing)
283+ checkResultsRun := exec.builder().
284+ software(checkContentEmptySw).
285+ arg("-i").arg("input.file").
286+ arg("-n").arg("2"). // Require at least 2 non-empty lines (header + 1 data line)
287+ addFile("input.file", mmseqsResultTsv).
288+ saveStdoutContent().
289+ mem("8GiB").
290+ cpu(1).
291+ inLightQueue().
292+ run()
293+
284294 checkResult := render.create(checkContentEmptyTpl, {
285- content: mmseqsResultContent,
286- mode: "headerOnly"
295+ content: checkResultsRun.getStdoutContent()
287296 })
288297 emptyResults := checkResult.output("result")
289298
0 commit comments