

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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**为的输出摘要文件。

对于工作流程的每个输出，文件中都有 key/value 对应的输出。密钥包含以下格式的工作流程名称和输出名称：`WorkflowName.output_name`。对于文件输出，该值是一个 S3 URI，指向 S3 中存储该文件的输出位置。对于数组 [文件] 输出，该值是 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"
  ]
}
```

如果工作流程生成非文件类型（例如字符串、整数、浮点数或布尔型）的输出，则字段值为 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
```

输出摘要文件包括输出列表。每个输出都是一 key/value 对，其中密钥是输出的名称。该值是一个包含以下属性的对象：
+  location-输出文件的完全限定路径
+  basename — 路径的文件名部分
+  class — 输出的类型，通常是 File
+  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
  }
}
```