

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

# HealthOmics 工作流程操作
<a name="creating-private-workflows"></a>

要创建私有工作流程，您需要：
+  **Workflow definition file:**用WDL、Nextflow或写入的工作流程定义文件CWL。工作流定义为使用该工作流的运行指定输入和输出。它还包括工作流程的运行和运行任务规范，包括计算和内存要求。工作流程定义文件必须采用`.zip`格式。有关更多信息，请参阅中的[工作流定义文件](workflow-definition-files.md) HealthOmics。
  + 你可以使用 [Kiro CLI](https://docs.aws.amazon.com/kiro/latest/userguide/what-is.html) 在 WDL、Nextflow 和 CWL 中构建和验证你的工作流程定义文件。有关更多信息，请参阅 [Kiro CLI 的示例提示](getting-started.md#omics-kiro-prompts)和上的 A [HealthOmics gentic 生成人工智能教程](https://github.com/aws-samples/aws-healthomics-tutorials/tree/main/generative-ai)。 GitHub
+  **(Optional) Parameter template file:**写入的参数模板文件JSON。创建文件来定义运行参数，或者为您 HealthOmics 生成参数模板。有关更多信息，请参阅[ HealthOmics 工作流程的参数模板文件](parameter-templates.md)。
+ **Amazon ECR container images:**为工作流程中使用的每个容器创建私有 Amazon ECR 存储库。为工作流程创建容器映像并将其存储在私有存储库中，或者将支持的上游注册表的内容与 ECR 私有存储库同步。
+  **(Optional) Sentieon licenses:**申请Sentieon许可证，以便在私人工作流程中使用该Sentieon软件。

对于大于 4 MiB（已压缩）的工作流定义文件，请在创建工作流程时选择以下选项之一：
+ 上传到 Amazon 简单存储服务文件夹并指定位置。
+ 上传到外部存储库（最大大小 1 GiB）并指定存储库的详细信息。

创建工作流程后，您可以通过该`UpdateWorkflow`操作更新以下工作流信息：
+ Name
+ 说明
+ 默认存储类型
+ 默认存储容量（带工作流程 ID）
+ README.md 文件

要更改工作流程中的其他信息，请创建新的工作流程或工作流程版本。

使用工作流版本控制来组织和构造您的工作流程。版本还可以帮助您管理迭代工作流程更新的引入。有关版本的更多信息，请参阅[创建工作流程版本](workflows-version-create.md)。

**Topics**
+ [创建私有工作流程](create-private-workflow.md)
+ [更新私有工作流程](update-private-workflow.md)
+ [删除私有工作流程](delete-private-workflow.md)
+ [验证工作流程状态](using-get-workflow.md)
+ [从工作流程定义中引用基因组文件](create-ref-files.md)

# 创建私有工作流程
<a name="create-private-workflow"></a>

使用 HealthOmics 控制台、 AWS CLI 命令或其中一个创建工作流程 AWS SDKs。

**注意**  
请勿在工作流程名称中包含任何个人身份信息 (PII)。这些名称在 CloudWatch 日志中可见。

创建工作流程时，会为该工作流程 HealthOmics 分配一个通用唯一标识符 (UUID)。工作流程 UUID 是一个全局唯一标识符 (guid)，在工作流程和工作流程版本中都是唯一的。出于数据来源的目的，我们建议您使用工作流程 UUID 来唯一标识工作流程。

如果您的工作流程任务使用任何外部工具（可执行文件、库或脚本），则可以将这些工具构建到容器映像中。您可以通过以下选项来托管容器镜像：
+ 将容器镜像托管在 ECR 私有注册表中。此选项的先决条件：
  + 创建 ECR 私有存储库，或选择现有存储库。
  + 按中所述配置 ECR 资源策略。[Amazon ECR 权限](permissions-ecr.md)
  + 将您的容器镜像上传到私有存储库。
+ 将容器镜像与支持的第三方注册表的内容同步。此选项的先决条件：
  + 在 ECR 私有注册表中，为每个上游注册表配置一条直通缓存规则。有关更多信息，请参阅 [镜像映射](workflows-ecr.md#ecr-pull-through-mapping-format)。
  + 按中所述配置 ECR 资源策略。[Amazon ECR 权限](permissions-ecr.md)
  + 创建存储库创建模板。该模板定义了 Amazon ECR 何时为上游注册表创建私有存储库的设置。
  + 创建前缀映射以将工作流程定义中的容器映像引用重新映射到 ECR 缓存命名空间。

创建工作流程时，您需要提供一个包含有关工作流、运行和任务的信息的工作流定义。 HealthOmics 可以将工作流程定义检索为存储在本地或 Amazon S3 存储桶中的.zip 档案，或者从支持的基于 Git 的存储库中检索。

**Topics**
+ [使用控制台创建工作流程](#console-create-workflows)
+ [使用 CLI 创建工作流程](#api-create-workflows)
+ [使用 SDK 创建工作流程](#sdk-create-workflows)

## 使用控制台创建工作流程
<a name="console-create-workflows"></a>

**创建工作流程的步骤**

1. 打开 [HealthOmics 控制台](https://console.aws.amazon.com/omics/)。

1.  如果需要，请打开左侧导航窗格 (►)。选择 “**私有工作流程**”。

1. 在**私有工作流程**页面上，选择**创建工作流程**。

1. 在 “**定义工作流程**” 页面上，提供以下信息：

   1. **工作流程名称**：此工作流程的独特名称。我们建议您设置工作流程名称，以便在 AWS HealthOmics 控制台和 CloudWatch 日志中整理运行情况。

   1. **描述**（可选）：此工作流程的描述。

1. 在 “**工作流定义**” 面板中，提供以下信息：

   1. **工作流语言**（可选）：选择工作流程的规范语言。否则， HealthOmics 根据工作流程定义确定语言。

   1. 对于**工作流定义源**，请选择从基于 Git 的存储库、Amazon S3 位置或本地驱动器导入定义文件夹。

      1. 对于**从存储库服务导入**：
**注意**  
HealthOmics 支持、、GitHub、GitLabBitbucket、GitHub self-managed的公有和私有存储库GitLab self-managed。

         1. 选择一个**连接**，将您的 AWS 资源连接到外部存储库。要创建连接，请参阅[Connect 连接外部代码存储库](setting-up-new.md#setting-up-omics-repository)。
**注意**  
该TLV地区的客户需要在 IAD (us-east-1) 区域创建连接才能创建工作流程。

         1. 在**完整存储库 ID** 中，输入您的存储库 ID 作为用户名/存储库名称。确认您有权访问此存储库中的文件。

         1. 在**源引用**（可选）中，输入存储库源引用（分支、标签或提交 ID）。 HealthOmics 如果未指定源引用，则使用默认分支。

         1. 在**排除文件模式**中，输入文件模式以排除特定的文件夹、文件或扩展名。这有助于在导入存储库文件时管理数据大小。最多有 50 个模式，并且模式必须遵循[全局模式语法](https://fossil-scm.org/home/doc/tip/www/globs.md)。例如：

            1. `tests/`

            1. `*.jpeg`

            1. `large_data.zip`

      1. 对于**从 S3 中选择定义文件夹**：

         1. 输入包含压缩工作流程定义文件夹的 Amazon S3 位置。Amazon S3 存储桶必须与工作流程位于同一区域。

         1. 如果您的账户不拥有 Amazon S3 存储桶，请在 S3 存储桶拥有者的 AWS 账户 ID 中输入**存储桶拥有者的账户 ID**。为了验证存储桶所有权 HealthOmics ，必须提供此信息。

      1. 对于**从本地来源选择定义文件夹**：

         1. 输入压缩的工作流程定义文件夹的本地驱动器位置。

   1. **工作流定义文件主路径**（可选）：输入从压缩的工作流定义文件夹或存储库到该`main`文件的文件路径。如果工作流定义文件夹中只有一个文件，或者主文件名为 “main”，则不需要此参数。

1. 在**自述文件**（可选）面板中，选择**自述文件来源**并提供以下信息：
   + 对于**从存储库服务导入**，在**自述文件路径**中，输入存储库中自述文件的路径。
   + 对于**从 S3 中选择文件**，在 S3 的**自述文件中**，输入自述文件的 Amazon S3 URI。
   + 对于 **“从本地来源选择文件**：在**自述文件-可选**” 中，选择 “选择**文件” 以选择**要上传的 markdown (.md) 文件。

1. 在**默认运行存储配置**面板中，为使用此工作流程的运行提供默认的运行存储类型和容量：

   1. **运行存储类型**：选择使用静态存储还是动态存储作为临时运行存储的默认值。默认为静态存储。

   1. **运行存储容量**（可选）：对于静态运行存储类型，您可以输入此工作流程所需的默认运行存储量。此参数的默认值为 1200 GiB。当你开始运行时，你可以覆盖这些默认值。

1. **标签**（可选）：您最多可以将 50 个标签与该工作流程相关联。

1. 选择**下一步**。

1. 在**添加工作流程参数**（可选）页面上，选择**参数来源**：

   1. 对于**从工作流定义文件解析**， HealthOmics 将自动解析工作流定义文件中的工作流参数。

   1. 对于**从 Git 存储库提供参数模板**，请使用仓库中参数模板文件的路径。

   1. 对于**从本地源选择 JSON JSON 文件**，请从本地源上传指定参数的文件。

   1. 对于**手动输入工作流参数**，请手动输入参数名称和描述。

1. 在**参数预览**面板中，您可以查看或更改此工作流程版本的参数。如果恢复该JSON文件，则您所做的任何本地更改都将丢失。

1. 选择**下一步**。

1. 在**容器 URI 重新映射**页面的**映射规则**面板中，您可以为工作流程定义 URI 映射规则。

   在 “**映射文件来源**” 中，选择以下选项之一：
   + **无**-无需映射规则。
   + **从 S3 中选择 JSON 文件**-指定映射文件的 S3 位置。
   + **从本地源选择 JSON 文件**-指定本地设备上的映射文件位置。
   + **手动输入映射** **-在 “映射” 面板中输入注册表映射和图像映射。**

1.  控制台将显示 “**映射**” 面板。如果您选择了映射源文件，则控制台会显示该文件中的值。

   1. 在**注册表映射**中，您可以编辑映射或添加映射（最多 20 个注册表映射）。

      每个注册表映射都包含以下字段：
      + **上游注册表 URL**-上游注册表的 URI。
      + **ECR 存储库前缀** — Amazon ECR 私有存储库中使用的存储库前缀。
      + （可选）**上游存储库前**缀-上游注册表中存储库的前缀。
      + （可选）**ECR 账户 ID**-拥有上游容器映像的账户的账户 ID。

   1. 在**图像映射**中，您可以编辑图像映射或添加映射（最多 100 个图像映射）。

      每个图像映射都包含以下字段：
      + **源图像**-指定上游注册表中源图像的 URI。
      + **目标图片**-指定私有 Amazon ECR 注册表中相应图像的 URI。

1. 选择**下一步**。

1. 查看工作流程配置，然后选择**创建工作流程**。

## 使用 CLI 创建工作流程
<a name="api-create-workflows"></a>

如果您的工作流程文件和参数模板文件位于本地计算机上，则可以使用以下 CLI 命令创建工作流。

```
aws omics create-workflow  \
  --name "my_workflow"   \
  --definition-zip fileb://my-definition.zip \
  --parameter-template file://my-parameter-template.json
```

该`create-workflow`操作返回以下响应：

```
{
  "arn": "arn:aws:omics:us-west-2:....",
  "id": "1234567",
  "status": "CREATING",
  "tags": {
      "resourceArn": "arn:aws:omics:us-west-2:...."
  },
  "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f"
}
```

### 创建工作流程时要使用的可选参数
<a name="other-create-parameters"></a>

创建工作流程时，您可以指定任何可选参数。有关语法的详细信息，请参阅 AWS HealthOmics API 参考[CreateWorkflow](https://docs.aws.amazon.com/omics/latest/api/API_CreateWorkflow.html)中的。

**Topics**
+ [指定工作流程定义 Amazon S3 位置](#create-defn-uri-parameter)
+ [使用基于 Git 的存储库中的工作流程定义](#create-defn-uri-git)
+ [指定自述文件](#specify-readme-file)
+ [指定**main**定义文件](#create-main-parameter)
+ [指定运行存储类型](#create-run-storage-parameter)
+ [指定 GPU 配置](#create-accelerator-parameter)
+ [配置直通缓存映射参数](#create-prefix-mapping-parameters)

#### 指定工作流程定义 Amazon S3 位置
<a name="create-defn-uri-parameter"></a>

如果您的工作流程定义文件位于 Amazon S3 文件夹中，请使用`definition-uri`参数指定位置，如以下示例所示。如果您的账户不拥有 Amazon S3 存储桶，请提供所有者的 AWS 账户 ID。

```
aws omics create-workflow  \
  --name Test  \
  --definition-uri s3://omics-bucket/workflow-definition/  \
  --owner-id  123456789012 
    ...
```

#### 使用基于 Git 的存储库中的工作流程定义
<a name="create-defn-uri-git"></a>

要使用支持的基于 Git 的存储库中的工作流程定义，请在请求中使用`definition-repository`参数。请勿提供任何其他`definition`参数，因为如果请求包含多个输入源，则请求会失败。

该`definition-respository`参数包含以下字段：
+ **connectionArn**— 将您的 AWS 资源连接到外部存储库的代码连接的 ARN。
+ **fullRepositoryId**— 将存储库 ID 输入为`owner-name/repo-name`。确认您有权访问此存储库中的文件。
+ **sourceReference**（可选）-输入存储库引用类型（BRANCH、TAG 或 COMMIT）和值。

  HealthOmics 如果您未指定源引用，则使用默认分支上的最新提交。
+ **excludeFilePatterns**（可选）-输入文件模式以排除特定的文件夹、文件或扩展名。这有助于在导入存储库文件时管理数据大小。最多提供 50 个模式。这些模式必须遵循全局模式[语法](https://fossil-scm.org/home/doc/tip/www/globs.md)。例如：
  + `tests/`
  + `*.jpeg`
  + `large_data.zip`

在基于 Git 的存储库中指定工作流程定义时，请使用`parameter-template-path`来指定参数模板文件。如果您未提供此参数，则会在没有参数模板的情况下 HealthOmics 创建工作流程。

以下示例显示了与基于 Git 的私有存储库中的内容相关的参数：

```
aws omics create-workflow \
    --name custom-variant \
    --description "Custom variant calling pipeline" \
    --engine "WDL" \
    --definition-repository '{
            "connectionArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/abcd1234-5678-90ab-cdef-1234567890ab",
            "fullRepositoryId": "myorg/my-genomics-workflows",
            "sourceReference": {
                "type": "BRANCH",            
                "value": "main"        
            },        
            "excludeFilePatterns": ["tests/**", "*.log"]   
      }' \
    --main "workflows/variant-calling/main.wdl" \
    --parameter-template-path "parameters/variant-calling-params.json" \
    --readme-path "docs/variant-calling-README.md" \
    --storage-type "DYNAMIC" \
```

有关更多示例，请参阅博客文章《[如何从 Git 中的内容创建 AWS HealthOmics 工作流程](https://repost.aws/articles/ARCEN7AjhaRSmteczRoc_QsA/how-to-create-an-aws-healthomics-workflows-from-content-in-git)》。

#### 指定自述文件
<a name="specify-readme-file"></a>

您可以使用以下参数之一来指定 README 文件的位置：
+ **readme-markdown**— 字符串输入或本地计算机上的文件。
+ **readme-uri**— 存储在 S3 上的文件的 URI。
+ **readme-path **— 存储库中自述文件的路径。

**只能将自述路径与定义存储库结合使用。**如果您未指定任何 README 参数，则会在存储库中 HealthOmics 导入根级 README.md 文件（如果存在）。

以下示例说明如何使用自述文件路径和自述文件URI指定自述文件位置。

```
# Using README from repository
aws omics create-workflow \
    --name "documented-workflow" \
    --definition-repository '...' \
    --readme-path "docs/workflow-guide.md"

# Using README from S3
aws omics create-workflow \
    --name "s3-readme-workflow" \
    --definition-repository '...' \
    --readme-uri "s3://my-bucket/workflow-docs/readme.md"
```

有关更多信息，请参阅 [HealthOmics 工作流程自述文件](workflows-readme.md)。

#### 指定**main**定义文件
<a name="create-main-parameter"></a>

如果您要包括多个工作流定义文件，请使用`main`参数为您的工作流程指定主定义文件。

```
aws omics create-workflow  \
  --name Test  \
  --main multi_workflow/workflow2.wdl  \
    ...
```

#### 指定运行存储类型
<a name="create-run-storage-parameter"></a>

您可以指定默认的运行存储类型（动态或静态）和运行存储容量（静态存储所必需的）。有关运行存储类型的更多信息，请参阅[在 HealthOmics 工作流程中运行存储类型](workflows-run-types.md)。

```
aws omics create-workflow  \
  --name my_workflow   \
  --definition-zip fileb://my-definition.zip \
  --parameter-template file://my-parameter-template.json   \
  --storage-type 'STATIC'  \
  --storage-capacity 1200  \
```

#### 指定 GPU 配置
<a name="create-accelerator-parameter"></a>

使用 accelerators 参数创建在加速计算实例上运行的工作流程。以下示例说明如何使用该`accelerators`参数。您可以在工作流程定义中指定 GPU 配置。请参阅[加速计算实例](memory-and-compute-tasks.md#workflow-task-accelerated-computing-instances)。

```
aws omics create-workflow --name workflow name \
   --definition-uri s3://amzn-s3-demo-bucket1/GPUWorkflow.zip \
   --accelerators GPU
```

#### 配置直通缓存映射参数
<a name="create-prefix-mapping-parameters"></a>

如果您使用的是 Amazon ECR 直通缓存映射功能，则可以覆盖默认映射。有关容器设置参数的更多信息，请参阅[私有工作流程的容器镜像](workflows-ecr.md)。

在以下示例中，文件`mappings.json`包含以下内容：

```
{
    "registryMappings": [
        {
            "upstreamRegistryUrl": "registry-1.docker.io",
            "ecrRepositoryPrefix": "docker-hub"
        },
        {
            "upstreamRegistryUrl": "quay.io",
            "ecrRepositoryPrefix": "quay",
            "accountId": "123412341234"
        },
        {

            "upstreamRegistryUrl": "public.ecr.aws",
            "ecrRepositoryPrefix": "ecr-public"
        }
    ],
    "imageMappings": [{
            "sourceImage": "docker.io/library/ubuntu:latest",
            "destinationImage": "healthomics-docker-2/custom/ubuntu:latest",
            "accountId": "123412341234"
        },
        {
            "sourceImage": "nvcr.io/nvidia/k8s/dcgm-exporter",
            "destinationImage": "healthomics-nvidia/k8s/dcgm-exporter"
        }
    ]
}
```

在创建工作流命令中指定映射参数：

```
aws omics create-workflow  \
     ...
--container-registry-map-file file://mappings.json
    ...
```

您也可以指定映射参数文件的 S3 位置：

```
aws omics create-workflow  \
     ...
--container-registry-map-uri s3://amzn-s3-demo-bucket1/test.zip
    ...
```

## 使用 SDK 创建工作流程
<a name="sdk-create-workflows"></a>

您可以使用其中一个来创建工作流程 SDKs。以下示例展示了如何使用 Python 开发工具包创建工作流程

```
import boto3

omics = boto3.client('omics')

with open('definition.zip', 'rb') as f:
   definition = f.read()

response = omics.create_workflow(
   name='my_workflow',
   definitionZip=definition,
   parameterTemplate={ ... }
)
```

# 更新私有工作流程
<a name="update-private-workflow"></a>

您可以使用 HealthOmics 控制台、 AWS CLI 命令或其中一个来更新工作流程 AWS SDKs。

**注意**  
请勿在工作流程名称中包含任何个人身份信息 (PII)。这些名称在 CloudWatch 日志中可见。

**Topics**
+ [使用控制台更新工作流程](#console-update-workflows)
+ [使用 CLI 更新工作流程](#api-update-workflows)
+ [使用 SDK 更新工作流程](#sdk-update-workflows)

## 使用控制台更新工作流程
<a name="console-update-workflows"></a>

**更新工作流程的步骤**

1. 打开 [HealthOmics 控制台](https://console.aws.amazon.com/omics/)。

1.  如果需要，请打开左侧导航窗格 (►)。选择**私有工作流程**。

1. 在**私有工作流程**页面上，选择要更新的工作流程。

1. 在 “工作**流程**” 页面上：
   + 如果工作流程有版本，请确保选择**默认版本**。
   + 从 “**操作**” 列表中选择 “**编辑**”。

1. 在**编辑工作流程**页面上，您可以更改以下任何值：
   + **工作流程名称**。
   + **工作流程描述**。
   + 工作流程的默认 “**运行” 存储类型**。
   + 默认**运行存储容量**（如果运行存储类型为静态存储）。有关默认运行存储配置的更多信息，请参阅[使用控制台创建工作流程](create-private-workflow.md#console-create-workflows)。

1. 选择**保存更改**以应用更改。

## 使用 CLI 更新工作流程
<a name="api-update-workflows"></a>

如以下示例所示，您可以更新工作流程名称和描述。您也可以更改默认的运行存储类型（静态或动态）和运行存储容量（对于静态存储类型）。有关运行存储类型的更多信息，请参阅[在 HealthOmics 工作流程中运行存储类型](workflows-run-types.md)。

```
aws omics update-workflow    \
  --id 1234567    \
  --name my_workflow      \
  --description "updated workflow"    \
  --storage-type 'STATIC'    \
  --storage-capacity 1200
```

您没有收到对`update-workflow`请求的回复。

## 使用 SDK 更新工作流程
<a name="sdk-update-workflows"></a>

您可以使用其中一个来更新工作流程 SDKs。

以下示例说明如何使用 Python 开发工具包更新工作流程

```
import boto3

omics = boto3.client('omics')

response = omics.update_workflow(
   name='my_workflow',
   description='updated workflow'
)
```

# 删除私有工作流程
<a name="delete-private-workflow"></a>

当您不再需要某个工作流程时，可以使用 HealthOmics 控制台、 AWS CLI 命令或其中一个将其删除 AWS SDKs。您可以删除符合以下条件的工作流程：
+ 其状态为 “活动” 或 “失败”。
+ 它没有活跃股份。
+ 您已经删除了所有工作流程版本。

删除工作流程不会影响正在使用该工作流程的任何正在进行的运行。

**Topics**
+ [使用控制台删除工作流程](#console-delete-workflows)
+ [使用 CLI 删除工作流程](#api-delete-workflows)
+ [使用 SDK 删除工作流程](#sdk-delete-workflows)

## 使用控制台删除工作流程
<a name="console-delete-workflows"></a>

**删除工作流**

1. 打开 [HealthOmics 管理控制台](https://console.aws.amazon.com/omics/)。

1.  如果需要，请打开左侧导航窗格 (►)。选择 “**私有工作流程**”。

1. 在**私有工作流程**页面上，选择要删除的工作流程。

1. 在 “**工作流程**” 页面上，从 “**操作**” 列表中选择 “**删除选定**内容”。

1. 在**删除工作流程**模式中，输入 “确认” 以确认删除。

1. 选择**删除**。

## 使用 CLI 删除工作流程
<a name="api-delete-workflows"></a>

以下示例说明如何使用 AWS CLI 命令删除工作流程。要运行此示例，请将`workflow id`替换为您要删除的工作流程的 ID。

```
aws omics delete-workflow 
  --id workflow id
```

HealthOmics 不会发送对`delete-workflow`请求的响应。

## 使用 SDK 删除工作流程
<a name="sdk-delete-workflows"></a>

您可以使用其中一个来删除工作流程 SDKs。

以下示例说明如何使用 Python 开发工具包删除工作流程。

```
import boto3

omics = boto3.client('omics')

response = omics.delete_workflow(
   id='1234567'
)
```

# 验证工作流程状态
<a name="using-get-workflow"></a>

创建工作流程后，您可以使用 **get-workflow 验证工作流程的状态并查看其他详细信息，如图**所示。

```
aws omics get-workflow --id 1234567 
```

响应包括工作流程的详细信息，包括状态，如图所示。

```
{
    "arn": "arn:aws:omics:us-west-2:....",
    "creationTime": "2022-07-06T00:27:05.542459" 
    "id": "1234567",
    "engine": "WDL",
    "status": "ACTIVE",
    "type": "PRIVATE",
    "main": "workflow-crambam.wdl",
    "name": "workflow_name",
    "storageType": "STATIC",
    "storageCapacity": "1200",
    "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f"   
  }
```

状态转换到后，您可以使用此工作流程开始运行`ACTIVE`。

# 从工作流程定义中引用基因组文件
<a name="create-ref-files"></a>

可以使用如下所示的 URI 来引用 HealthOmics 参考存储对象。使用您自己的`account ID``reference store ID`、和（`reference ID`如果有指示）。

```
omics://account ID.storage.us-west-2.amazonaws.com/reference store id/reference/id            
```

有些工作流程需要同时使用`SOURCE`和`INDEX`文件作为参考基因组。之前的 URI 是默认的简写形式，默认为源文件。要指定任一文件，您可以使用长 URI 格式，如下所示。

```
omics://account ID.storage.us-west-2.amazonaws.com/reference store id/reference/id/source
omics://account ID.storage.us-west-2.amazonaws.com/reference store id/reference/id/index
```

如图所示，使用序列读取集将具有类似的模式。

```
aws omics create-workflow \
     --name workflow name \
     --main sample workflow.wdl \
     --definition-uri omics://account ID.storage.us-west-2.amazonaws.com/sequence_store_id/readSet/id \
     --parameter-template file://parameters_sample_description.json
```

某些读取集（例如基于 FASTQ 的读取集）可能包含配对读取。在以下示例中，它们被称为 SOURCE1 和 SOURCE2。诸如 BAM 和 CRAM 之类的格式只能有一个文件。 SOURCE1 某些读取集将包含索引文件，例如`bai`或`crai`文件。前面的 URI 是默认的简写形式，默认为该 SOURCE1 文件。要指定确切的文件或索引，可以使用长 URI 格式，如下所示。

```
omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>/source1
omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>/source2
omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>/index
```

以下是使用两个 Omics 存储空间 URIs的输入 JSON 文件的示例。

```
{
   "input_fasta": "omics://123456789012.storage.us-west-2.amazonaws.com/<reference_store_id>/reference/<id>",
   "input_cram": "omics://123456789012.storage.us-west-2.amazonaws.com/<sequence_store_id>/readSet/<id>"
}
```

 AWS CLI 通过将输入的 JSON 文件添加到您的**开始运行请求中，引`--inputs file://<input_file.json>`用输入 JS** ON 文件。