

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# HealthOmics 執行輸出
<a name="workflows-run-outputs"></a>

當 WDL 或 CWL 執行完成時，輸出會包含輸出摘要檔案 (JSON 格式），其中會列出執行所產生的所有輸出。您可以將輸出摘要檔案用於下列目的：
+ 以程式設計方式判斷執行產生的輸出檔案。
+ 驗證執行是否產生所有預期的輸出。

**Topics**
+ [執行 WDL 的輸出摘要](#run-outputs-wdl)
+ [執行 CWL 的輸出摘要](#run-outputs-cwl)

## 執行 WDL 的輸出摘要
<a name="run-outputs-wdl"></a>

當 WDL 執行完成時，HealthOmics 會建立名為 的輸出摘要檔案**output.json**。

對於工作流程的每個輸出，檔案中都有對應的索引鍵/值對。金鑰包含工作流程名稱和輸出名稱，格式如下：`WorkflowName.output_name`。對於檔案輸出，值是指向儲存檔案之 S3 中輸出位置的 S3 URI。對於 Array【File】 輸出，值是 S3 URIs的陣列。

下列範例顯示名為 之工作流程**output.json**的檔案**BWAMappingWorkflow**。

```
{
  "BWAMappingWorkflow.bam_indexes": [
    "s3://omics-outputs/8886192/out/bam_indexes/0/pbmc8k_S1_L007_R1_001.sorted.bam.bai",
    "s3://omics-outputs/8886192/out/bam_indexes/1/pbmc8k_S1_L008_R1_001.sorted.bam.bai"
  ],
  "BWAMappingWorkflow.mapping_stats": "s3://omics-outputs/8886192/out/mapping_stats/genome_mapping_final_stats.txt",
  "BWAMappingWorkflow.merged_bam": "s3://omics-outputs/8886192/out/merged_bam/genome_mapping.merged.bam",
  "BWAMappingWorkflow.merged_bam_index": "s3://omics-outputs/8886192/out/merged_bam_index/genome_mapping.merged.bam.bai",
  "BWAMappingWorkflow.reference_index_tar": "s3://omics-outputs/8886192/out/reference_index_tar/reference_index.tar",
  "BWAMappingWorkflow.sorted_bams": [
    "s3://omics-outputs/8886192/out/sorted_bams/0/pbmc8k_S1_L007_R1_001.sorted.bam",
    "s3://omics-outputs/8886192/out/sorted_bams/1/pbmc8k_S1_L008_R1_001.sorted.bam"
  ],
  "BWAMappingWorkflow.unmapped_bams": [
    "s3://omics-outputs/8886192/out/unmapped_bams/0/pbmc8k_S1_L007_R1_001.unmapped.bam",
    "s3://omics-outputs/8886192/out/unmapped_bams/1/pbmc8k_S1_L008_R1_001.unmapped.bam"
  ]
}
```

如果工作流程使用非檔案類型 （例如 String、Int、Float 或 Bool) 產生輸出，則欄位值為 JSON 基本值。例如：

```
{
  "MyWorkflow.my_int_ouput": 1,
  "MyWorkflow.my_bool_output": false,
    ...
}
```

## 執行 CWL 的輸出摘要
<a name="run-outputs-cwl"></a>

當 CWL 執行完成時，HealthOmics **outputs.json**會在下列位置建立名為 的輸出摘要檔案：

```
{my-S3outputpath}/{runId}/{run-uuid}/logs/outputs.json
```

輸出摘要檔案包含輸出清單。每個輸出都是金鑰/值對，其中金鑰是輸出的名稱。值是包含下列屬性的物件：
+  location – 輸出檔案的完整路徑
+  basename – 路徑的檔案名稱部分
+  class – 輸出的類型，通常是檔案
+  size – 檔案大小，以位元組為單位

在下列範例中， output.json 檔案具有兩個輸出檔案的清單。

```
{
  "example_output": {
    "location": "{my-S3outputpath}/{runId}/{run-uuid}/out/output.txt",
    "basename": "output.txt",
    "class": "File",
    "size": 13
  },
  "another_output": {
    "location": "{my-S3outputpath}/{runId}/{run-uuid}/out/metrics.json",
    "basename": "metrics.json",
    "class": "File",
    "size": 256
  }
}
```