

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

# HealthOmics 分析
<a name="omics-analytics"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

HealthOmics analytics 支持基因组变异和注释的存储和分析。Analytics 提供两种类型的存储资源——变体存储和注释存储。您可以使用这些资源来存储、转换和查询基因组变异数据和注释数据。将数据导入数据存储后，可以使用 Athena 对数据进行高级分析。

您可以使用 HealthOmics 控制台或 API 来创建和管理商店、导入数据以及与合作者共享分析商店数据。

变体存储支持 VCF 格式的数据，注释存储支持 TSV/CSV 和 GFF3格式。基因组坐标表示为从零开始、半封闭的半开区间。当您的数据存储在 HealthOmics 分析数据存储中时，将通过 AWS Lake Formation管理对 VCF 文件的访问权限。然后，您可以使用亚马逊 Athena 查询 VCF 文件。查询必须使用 Athena 查询引擎版本 3。要了解有关 Athena 查询引擎版本的更多信息，请参阅亚马逊 [A](https://docs.aws.amazon.com/athena/latest/ug/engine-versions-changing.html) thena 文档。



**Topics**
+ [创建 HealthOmics 多属性商店](creating-variant-stores.md)
+ [创建 HealthOmics 变体商店导入任务](parsing-annotation-stores.md)
+ [创建 HealthOmics 注释存储库](creating-and-managing-annotation-store.md)
+ [为 HealthOmics 注释存储创建导入任务](annotation-store-import-jobs.md)
+ [创建 HealthOmics 注释库版本](annotation-store-versioning.md)
+ [删除 HealthOmics 分析存储](deleting-a-store-examples.md)
+ [查询 HealthOmics 分析数据](analytics-query-data.md)
+ [共享 HealthOmics 分析存储](cross-account-sharing.md)

# 创建 HealthOmics 多属性商店
<a name="creating-variant-stores"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

以下主题介绍如何使用控制台和 API 创建 HealthOmics 变体存储。

**Topics**
+ [使用控制台创建变体商店](#gs-console-analytics)
+ [使用 API 创建变体商店](#gs-api-analytics)

## 使用控制台创建变体商店
<a name="gs-console-analytics"></a>

您可以使用 HealthOmics 控制台创建多属性商店。

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

1.  如果需要，请打开左侧导航窗格 (►)。选择**变体商店**。

1. 在**创建多属性商店**页面上，提供以下信息
   + **变体商店名称**-此商店的唯一名称。
   + **描述**（可选）-此变体存储的描述。
   + **参考基因组**-该变异库的参考基因组。
   + **数据加密**-选择是希望数据加密由 AWS 自己拥有和管理。
   + **标签**（可选）-为此变体商店提供最多 50 个标签。

1. 选择**创建多属性商店**。

## 使用 API 创建变体商店
<a name="gs-api-analytics"></a>

使用 HealthOmics `CreateVariantStore` API 操作创建变体存储。您也可以使用执行此操作 AWS CLI。

要创建多属性商店，您需要为商店提供名称和参考商店的 ARN。当变体存储的状态更改为 READY 时，变体存储已准备好提取数据。

以下示例使用创建 AWS CLI 变体存储。

```
aws omics create-variant-store --name myvariantstore \
    --reference referenceArn="arn:aws:omics:us-west-2:555555555555:referenceStore/123456789/reference/5987565360"
```

为了确认您的多属性商店的创建，您会收到以下回复。

```
{
    "creationTime": "2022-11-03T18:19:52.296368+00:00",
    "id": "45aeb91d5678",
    "name": "myvariantstore",
    "reference": {
        "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/123456789/reference/5987565360"
    },
    "status": "CREATING"
}
```

要了解有关变体商店的更多信息，请使用 **get-variant-store**API。

```
aws omics get-variant-store --name myvariantstore
```

您会收到以下回复。

```
{
    "id": "45aeb91d5678",
    "reference": {
        "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/123456789/reference/5987565360"
    },
    "status": "ACTIVE",
    "storeArn": "arn:aws:omics:us-west-2:555555555555:variantStore/myvariantstore",
    "name": "myvariantstore",
    "creationTime": "2022-11-03T18:19:52.296368+00:00",
    "updateTime": "2022-11-03T18:30:56.272792+00:00",
    "tags": {},
    "storeSizeBytes": 0
}
```

要查看与账户关联的所有多属性商店，请使用 **list-variant-stores**API。

```
aws omics list-variant-stores  
```

您会收到一条响应，其中列出了所有变体商店及其 IDs状态和其他详细信息，如以下示例响应所示。

```
{
    "variantStores": [
        {
            "id": "45aeb91d5678",
            "reference": {
                "referenceArn": "arn:aws:omics:us-west-2:55555555555:referenceStore/5506874698"
            },
            "status": "ACTIVE",
            "storeArn": "arn:aws:omics:us-west-2:55555555555:variantStore/new_variant_store",
            "name": "variantstore",
            "creationTime": "2022-11-03T18:19:52.296368+00:00",
            "updateTime": "2022-11-03T18:30:56.272792+00:00",
            "statusMessage": "",
            "storeSizeBytes": 141526
        }
    ]
}
```

您还可以根据状态或其他条件筛选 **list-variant-stores**API 的响应。

 导入到 2023 年 5 月 15 日当天或之后创建的分析存储中的 VCF 文件定义了变体效应预测变量 (VEP) 注释的架构。这样可以更轻松地查询和解析导入的 VCF 数据。此更改不会影响 2023 年 5 月 15 日之前创建的商店，除非该`annotation fields`参数包含在 API 或 CLI 调用中。对于这些商店，使用`annotation fields`参数将导致请求失败。

# 创建 HealthOmics 变体商店导入任务
<a name="parsing-annotation-stores"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

以下示例说明如何使用 AWS CLI 为多属性商店创建导入任务。

```
aws omics start-variant-import-job \
       --destination-name myvariantstore \
       --runLeftNormalization false \
       --role-arn  arn:aws:iam::55555555555:role/roleName \
       --items source=s3://my-omics-bucket/sample.vcf.gz source=s3://my-omics-bucket/sample2.vcf.gz
```

```
{
    "destinationName": "store_a",
    "roleArn": "....",
    "runLeftNormalization": false,
    "items": [
        {"source": "s3://my-omics-bucket/sample.vcf.gz"},
        {"source": "s3://my-omics-bucket/sample2.vcf.gz"}
    ]
}
```

对于 2023 年 5 月 15 日之后创建的商店，以下示例说明如何添加`--annotation-fields`参数。注释字段是在导入时定义的。

```
aws omics start-variant-import-job \
   --destination-name annotationparsingvariantstore \
   --role-arn arn:aws:iam::123456789012:role/<role_name> \
   --items source=s3://pathToS3/sample.vcf
   --annotation-fields '{"VEP": "CSQ"}'
```

```
{
    "jobId": "981e2286-e954-4391-8a97-09aefc343861"
}
```

**get-variant-import-job**用于检查状态。

```
aws omics get-variant-import-job --job-id 08279950-a9e3-4cc3-9a3c-a574f9c9e229      
```

您将收到一个 JSON 响应，其中显示了您的导入任务的状态。VCF 中的 VEP 注释会被解析为成对存储在 INFO 列中的信息。 ID/Value E [nsembl Variant Effect Predictor](https://useast.ensembl.org/info/docs/tools/vep/index.html/#vcf) 注释 INFO 列的默认 ID 是 CSQ，但您可以使用该`--annotation-fields`参数来指示 INFO 列中使用的自定义值。VEP 注释目前支持解析。

对于 2023 年 5 月 15 日之前创建的商店或不包含 VEP 注释的 VCF 文件，响应中不包含任何注释字段。

```
{
    "creationTime": "2023-04-11T17:52:37.241958+00:00",
    "destinationName": "annotationparsingvariantstore",
    "id": "7a1c67e3-b7f9-434d-817b-9c571fd63bea",
    "items": [

    {
       "jobStatus": "COMPLETED",
       "source": "s3://amzn-s3-demo-bucket/NA12878.2k.garvan.vcf"
    }
 ],
    "roleArn": "arn:aws:iam::555555555555:role/<role_name>",

    "runLeftNormalization": false,
    "status": "COMPLETED",
    "updateTime": "2023-04-11T17:58:22.676043+00:00",
}
```

作为 VCF 文件一部分的 VEP 注释存储为预定义架构，其结构如下。extras 字段可用于存储默认架构中未包含的任何其他 VEP 字段。

```
annotations struct<
   vep: array<struct<
      allele:string,
      consequence: array<string>,
      impact:string,
      symbol:string,
      gene:string,
      `feature_type`: string, 
      feature: string,
      biotype: string,
      exon: struct<rank:string, total:string>,
      intron: struct<rank:string, total:string>,
      hgvsc: string,
      hgvsp: string,
      `cdna_position`: string,
      `cds_position`: string,
      `protein_position`: string,
      `amino_acids`: struct<reference:string, variant: string>,
      codons: struct<reference:string, variant: string>,
      `existing_variation`: array<string>,
      distance: string, 
      strand: string, 
      flags: array<string>,
      symbol_source: string,
      hgnc_id: string,
      `extras`: map<string, string> 
    >>
>
```

解析是以尽力而为的方法进行的。如果 VEP 条目不符合 [VEP 标准规范](https://useast.ensembl.org/info/docs/tools/vep/vep_formats.html#vcf)，则不会对其进行解析，数组中的行将为空。

对于新的变体存储，的响应**get-variant-import-job**将包括注释字段，如图所示。

```
aws omics get-variant-import-job --job-id 08279950-a9e3-4cc3-9a3c-a574f9c9e229      
```

您会收到一个 JSON 响应，其中显示了您的导入任务的状态。

```
{
    "creationTime": "2023-04-11T17:52:37.241958+00:00",
    "destinationName": "annotationparsingvariantstore",
    "id": "7a1c67e3-b7f9-434d-817b-9c571fd63bea",
    "items": [

    {
    "jobStatus": "COMPLETED",
    "source": "s3://amzn-s3-demo-bucket/NA12878.2k.garvan.vcf"
    }
 ],
    "roleArn": "arn:aws:iam::123456789012:role/<role_name>",
    "runLeftNormalization": false,
    "status": "COMPLETED",
    "updateTime": "2023-04-11T17:58:22.676043+00:00",
    "annotationFields" : {"VEP": "CSQ"}
  }
}
```

您可以使用**list-variant-import-jobs**查看所有导入任务及其状态。

```
aws omics list-variant-import-jobs --ids 7a1c67e3-b7f9-434d-817b-9c571fd63bea          
```

该响应包含如下信息。

```
{
    "variantImportJobs": [
    {
        "creationTime": "2023-04-11T17:52:37.241958+00:00",
        "destinationName": "annotationparsingvariantstore",
        "id": "7a1c67e3-b7f9-434d-817b-9c571fd63bea",
        "roleArn": "arn:aws:iam::55555555555:role/roleName",
        "runLeftNormalization": false,
        "status": "COMPLETED",
        "updateTime": "2023-04-11T17:58:22.676043+00:00",
        "annotationFields" : {"VEP": "CSQ"}
        }
    ]
  }
}
```

如有必要，您可以使用以下命令取消导入任务。

```
aws omics cancel-variant-import-job 
     --job-id edd7b8ce-xmpl-47e2-bc99-258cac95a508
```

# 创建 HealthOmics 注释存储库
<a name="creating-and-managing-annotation-store"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

注释存储是表示注释数据库的数据存储，例如来自 TSV、VCF 或 GFF 文件的注释数据库。如果指定了相同的参考基因组，则在导入过程中，注释存储将映射到与变体存储相同的坐标系。以下主题介绍如何使用 HealthOmics 控制台以及 AWS CLI 如何创建和管理注释存储库。

**Topics**
+ [使用控制台创建注释存储库](#gs-console-create-annotation-store)
+ [使用 API 创建注释存储库](#create-manage-annotation-store-api)

## 使用控制台创建注释存储库
<a name="gs-console-create-annotation-store"></a>

使用以下步骤通过 HealthOmics 控制台创建注释存储库。

**创建注释存储库**

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

1.  如果需要，请打开左侧导航窗格 (►)。选择 “**注释存储**”。

1. 在**注释存储**页面上，选择**创建注释存储**。

1. 在**创建注释存储**页面上，提供以下信息
   + **注释商店名称**-此商店的唯一名称。
   + **描述**（可选）-此参考基因组的描述。
   + **数据格式和架构详细信息**-选择数据文件格式并上传此存储的架构定义。
   + **参考基因组**-此注释的参考基因组。
   + **数据加密**-选择是希望数据加密由 AWS 自己拥有和管理。
   + **标签**（可选）-为此注释存储库提供最多 50 个标签。

1. 选择 “**创建注释存储”**。

## 使用 API 创建注释存储库
<a name="create-manage-annotation-store-api"></a>

以下示例说明如何使用创建注释存储库 AWS CLI。对于所有操作 AWS CLI 和 API 操作，您必须指定数据的格式。

```
aws omics create-annotation-store --name my_annotation_store \
           --store-format GFF \
           --reference referenceArn="arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/5987565360"
           --version-name new_version
```

您会收到以下回复，以确认您的注释存储库已创建。

```
{
           "creationTime": "2022-08-24T20:34:19.229500Z",
           "id": "3b93cdef69d2",
           "name": "my_annotation_store",
           "reference": {
               "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/5987565360"
           },
           "status": "CREATING"
           "versionName": "my_version"
       }
```

要了解有关注释存储的更多信息，请使用 **get-annotation-store**API。

```
aws omics get-annotation-store --name my_annotation_store
```

您会收到以下回复。

```
{
          "id": "eeb019ac79c2",
          "reference": {
              "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/5638433913/reference/5871590330“
          },
          "status": "ACTIVE",
          "storeArn": "arn:aws:omics:us-west-2:555555555555:annotationStore/gffstore",
          "name": "my_annotation_store",
          "creationTime": "2022-11-05T00:05:19.136131+00:00",
          "updateTime": "2022-11-05T00:10:36.944839+00:00",
          "tags": {},
          "storeFormat": "GFF",
          "statusMessage": "",
          "storeSizeBytes": 0,
          "numVersions": 1
      }
```

要查看与账户关联的所有注释库，请使用 **list-annotation-stores**API 操作。

```
aws omics list-annotation-stores 
```

您会收到一个列出所有注释库及其 IDs状态和其他详细信息的响应，如以下示例响应所示。

```
{
           "annotationStores": [
               {
                  "id": "4d8f3eada259",
                   "reference":
                       "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/5638433913/reference/5871590330"
                   },
                   "status": "CREATING",
                   "name": "gffstore",
                   "creationTime": "2022-09-27T17:30:52.182990+00:00",
                   "updateTime": "2022-09-27T17:30:53.025362+00:00"
               }
           ]
       }
```

您也可以根据状态或其他条件筛选回复。

# 为 HealthOmics 注释存储创建导入任务
<a name="annotation-store-import-jobs"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

**Topics**
+ [使用 API 创建注释导入任务](#create-annotation-import-api)
+ [TSV 和 VCF 格式的其他参数](#annotation-import-tsv-vcf)
+ [创建 TSV 格式的注释存储库](#annotation-import-tsv-vcftsv-annotation-store-examples-tsv)
+ [启动 VCF 格式化的导入作业](#vcf-annotation-store-examples)

## 使用 API 创建注释导入任务
<a name="create-annotation-import-api"></a>

以下示例说明如何使用启动注释导入作业。 AWS CLI 

```
aws omics start-annotation-import-job \
           --destination-name myannostore \
           --version-name myannostore \
           --role-arn arn:aws:iam::123456789012:role/roleName \
           --items source=s3://my-omics-bucket/sample.vcf.gz
           --annotation-fields '{"VEP": "CSQ"}'
```

如果包含注释**字段，则在 2023 年 5 月 15 日之前创建的注释**存储库会返回一条错误消息。它们不会返回与注释存储导入任务相关的任何 API 操作的输出。

然后，您可以使用 **get-annotation-import-job**API 操作和`job ID`参数来了解有关注释导入任务的更多详细信息。

```
aws omics get-annotation-import-job --job-id 9e4198fb-fa85-446c-9301-9b823a1a8ba8         
```

您会收到以下响应，包括注释字段。

```
{
          "creationTime": "2023-04-11T19:09:25.049767+00:00",
          "destinationName": "parsingannotationstore",
          "versionName": "parsingannotationstore",
          "id": "9e4198fb-fa85-446c-9301-9b823a1a8ba8",
          "items": [
              {
                  "jobStatus": "COMPLETED",
                  "source": "s3://my-omics-bucket/sample.vep.vcf"
              }
          ],
          "roleArn": "arn:aws:iam::55555555555:role/roleName",
          "runLeftNormalization": false,
          "status": "COMPLETED",
          "updateTime": "2023-04-11T19:13:09.110130+00:00",
          "annotationFields" : {"VEP": "CSQ"}
       }
```

要查看所有注释存储导入任务，请使用**list-annotation-import-jobs**。

```
aws omics list-annotation-import-jobs --ids 9e4198fb-fa85-446c-9301-9b823a1a8ba8          
```

响应包括您的注释存储导入任务的详细信息和状态。

```
{
          "annotationImportJobs": [
          {
              "creationTime": "2023-04-11T19:09:25.049767+00:00",
              "destinationName": "parsingannotationstore",
              "versionName": "parsingannotationstore",
              "id": "9e4198fb-fa85-446c-9301-9b823a1a8ba8",
              "roleArn": "arn:aws:iam::55555555555:role/roleName",
              "runLeftNormalization": false,
              "status": "COMPLETED",
              "updateTime": "2023-04-11T19:13:09.110130+00:00",
              "annotationFields" : {"VEP": "CSQ"}
          }
          ]
      }
```

## TSV 和 VCF 格式的其他参数
<a name="annotation-import-tsv-vcf"></a>

对于 TSV 和 VCF 格式，还有其他参数可以告知 API 如何解析您的输入。

**重要**  
 使用查询引擎导出的 CSV 注释数据会直接返回数据集导入的信息。如果导入的数据包含公式或命令，则该文件可能会被注入 CSV。因此，使用查询引擎导出的文件可能会提示安全警告。为避免恶意活动，请在读取导出文件时关闭链接和宏。

TSV 解析器还执行基本的生物信息学操作，例如基因组学坐标的左归一化和标准化，如下表所示。


| 格式类型 | 说明 | 
| --- | --- | 
| 通用 | 通用文本文件。没有基因组信息。 | 
| CHR\$1POS | 起始位置-1，添加结束位置，与POS。 | 
| CHR\$1POS\$1REF\$1ALT | 包含 contig、1-base 位置、ref 和 alt 等位基因信息。 | 
| CHR\$1START\$1END\$1REF\$1ALT\$1ONE\$1BASE | 包含连续、开始、结束、参考和替代等位基因信息。坐标以 1 为基准。 | 
| CHR\$1START\$1END\$1ZERO\$1BASE | 包含连续位置、起始位置和结束位置。坐标以 0 为基准。 | 
| CHR\$1START\$1END\$1ONE\$1BASE | 包含连续位置、起始位置和结束位置。坐标以 1 为基准。 | 
| CHR\$1START\$1END\$1REF\$1ALT\$1ZERO\$1BASE | 包含连续、开始、结束、参考和替代等位基因信息。坐标以 0 为基准。 | 

TSV 导入注解存储请求类似于以下示例。

```
aws omics start-annotation-import-job \
--destination-name tsv_anno_example \
--role-arn arn:aws:iam::555555555555:role/demoRole \
--items source=s3://demodata/genomic_data.bed.gz \
--format-options '{ "tsvOptions": {
        "readOptions": {
            "header": false,
            "sep": "\t"
        }
    }
}'
```

## 创建 TSV 格式的注释存储库
<a name="annotation-import-tsv-vcftsv-annotation-store-examples-tsv"></a>

以下示例使用包含标题、行和注释的选项卡限制文件创建注释存储。坐标是`CHR_START_END_ONE_BASED`，它包含 [OMIM 的人类 HG19 基因图谱概要中的基因图谱](https://www.omim.org/downloads)。

```
aws omics create-annotation-store --name mimgenemap \
  --store-format TSV \
  --reference=referenceArn=arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/2310864158 \
  --store-options=tsvStoreOptions='{
    annotationType=CHR_START_END_ONE_BASE,  
    formatToHeader={CHR=chromosome, START=genomic_position_start, END=genomic_position_end},
    schema=[
      {chromosome=STRING}, 
      {genomic_position_start=LONG}, 
      {genomic_position_end=LONG}, 
      {cyto_location=STRING}, 
      {computed_cyto_location=STRING}, 
      {mim_number=STRING}, 
      {gene_symbols=STRING}, 
      {gene_name=STRING}, 
      {approved_gene_name=STRING}, 
      {entrez_gene_id=STRING}, 
      {ensembl_gene_id=STRING}, 
      {comments=STRING}, 
      {phenotypes=STRING}, 
      {mouse_gene_symbol=STRING}]}'
```

您可以导入带或不带标题的文件。要在 CLI 请求中指明这一点`header=false`，请使用，如以下导入任务示例所示。

```
aws omics start-annotation-import-job \
   --role-arn arn:aws:iam::555555555555:role/demoRole \
   --items=source=s3://amzn-s3-demo-bucket/annotation-examples/hg38_genemap2.txt \
   --destination-name output-bucket \
   --format-options=tsvOptions='{readOptions={sep="\t",header=false,comment="#"}}'
```

以下示例为 bed 文件创建注释存储。bed 文件是一个简单的制表符分隔文件。在此示例中，列为染色体、起点、结束和区域名称。坐标从零开始，并且数据没有标题。

```
aws omics create-annotation-store \
   --name cexbed --store-format TSV \
   --reference=referenceArn=arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/2310864158 \
   --store-options=tsvStoreOptions='{
   annotationType=CHR_START_END_ZERO_BASE,  
   formatToHeader={CHR=chromosome, START=start, END=end}, 
   schema=[{chromosome=STRING}, {start=LONG}, {end=LONG}, {name=STRING}]}'
```

然后，您可以使用以下 CLI 命令将 bed 文件导入注释存储区。

```
aws omics start-annotation-import-job \
   --role-arn arn:aws:iam::555555555555:role/demoRole \
   --items=source=s3://amzn-s3-demo-bucket/TruSeq_Exome_TargetedRegions_v1.2.bed \ 
   --destination-name cexbed \
   --format-options=tsvOptions='{readOptions={sep="\t",header=false,comment="#"}}'
```

以下示例为以制表符分隔的文件创建注释存储，该文件包含 VCF 文件的前几列，后面是带有注释信息的列。它包含基因组位置，以及有关染色体、起点、参考和备用等位基因的信息，并包含标题。

```
aws omics create-annotation-store --name gnomadchrx --store-format TSV \
--reference=referenceArn=arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/2310864158 \
--store-options=tsvStoreOptions='{
    annotationType=CHR_POS_REF_ALT, 
    formatToHeader={CHR=chromosome, POS=start, REF=ref, ALT=alt}, 
    schema=[
        {chromosome=STRING}, 
        {start=LONG}, 
        {ref=STRING}, 
        {alt=STRING}, 
        {filters=STRING}, 
        {ac_hom=STRING}, 
        {ac_het=STRING},
        {af_hom=STRING}, 
        {af_het=STRING}, 
        {an=STRING}, 
        {max_observed_heteroplasmy=STRING}]}'
```

然后，您可以使用以下 CLI 命令将文件导入注释存储区。

```
aws omics start-annotation-import-job \
  --role-arn arn:aws:iam::555555555555:role/demoRole \
   --items=source=s3://amzn-s3-demo-bucket/gnomad.genomes.v3.1.sites.chrM.reduced_annotations.tsv \
   --destination-name gnomadchrx \
   --format-options=tsvOptions='{readOptions={sep="\t",header=true,comment="#"}}'
```

以下示例显示了客户如何为 mim2gene 文件创建注释存储库。mim2gene 文件提供了 OMIM 中的基因与其他基因标识符之间的链接。它是用制表符分隔的，包含注释。

```
aws omics create-annotation-store \
  --name mim2gene \
  --store-format TSV \
  --reference=referenceArn=arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/2310864158 \
  --store-options=tsvStoreOptions='
    {annotationType=GENERIC,      
    formatToHeader={}, 
    schema=[
        {mim_gene_id=STRING}, 
        {mim_type=STRING}, 
        {entrez_id=STRING}, 
        {hgnc=STRING}, 
        {ensembl=STRING}]}'
```

然后，您可以按如下方式将数据导入您的商店。

```
aws omics start-annotation-import-job \
   --role-arn arn:aws:iam::555555555555:role/demoRole \
   --items=source=s3://xquek-dev-aws/annotation-examples/mim2gene.txt \
   --destination-name mim2gene \
   --format-options=tsvOptions='{readOptions={sep="\t",header=false,comment="#"}}'
```

## 启动 VCF 格式化的导入作业
<a name="vcf-annotation-store-examples"></a>

对于 VCF 文件，还有另外两个输入`ignoreQualField`和`ignoreFilterField`，它们会忽略或包含这些参数，如图所示。

```
aws omics start-annotation-import-job --destination-name annotation_example\
  --role-arn arn:aws:iam::555555555555:role/demoRole \
  --items source=s3://demodata/example.garvan.vcf \
  --format-options '{ "vcfOptions": {
    "ignoreQualField": false,
    "ignoreFilterField": false         
    }
   }'
```

您也可以取消注释存储库的导入，如图所示。如果取消成功，则您不会收到此 AWS CLI 呼叫的回复。但是，如果找不到导入任务 ID 或导入任务已完成，则会收到一条错误消息。

```
aws omics cancel-annotation-import-job --job-id edd7b8ce-xmpl-47e2-bc99-258cac95a508
```

**注意**  
您的元数据导入**get-annotation-import-job**、**get-variant-import-job**list-annotation-import-jobs****、和**list-variant-import-jobs**的任务历史记录将在两年后自动删除。导入的变体和注释数据不会自动删除，而是保留在您的数据存储中。

# 创建 HealthOmics 注释库版本
<a name="annotation-store-versioning"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

您可以创建新版本的注解存储库，以收集不同版本的注释数据库。这可以帮助您整理注释数据，这些数据会定期更新。

要创建现有注释库的新版本，请使用 **create-annotation-store-version**API，如以下示例所示。

```
aws omics create-annotation-store-version \
     --name my_annotation_store \
     --version-name my_version
```

您将收到以下带有注释存储版本 ID 的响应，确认注释的新版本已创建。

```
{
     "creationTime": "2023-07-21T17:15:49.251040+00:00",
     "id": "3b93cdef69d2",
     "name": "my_annotation_store",
     "reference": {
         "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/6505293348/reference/5987565360"
     },
     "status": "CREATING",
     "versionName": "my_version"
}
```

要更新注释库版本的描述，您可以使用**update-annotation-store-version**向注释库版本添加更新。

```
aws omics update-annotation-store-version \
    --name my_annotation_store \
    --version-name my_version \
    --description "New Description"
```

您将收到以下回复，确认注释库版本已更新。

```
{
     "storeId": "4934045d1c6d",
     "id": "2a3f4a44aa7b",
     "description":"New Description",
     "status": "ACTIVE",
     "name": "my_annotation_store",
     "versionName": "my_version",
     "creation Time": "2023-07-21T17:20:59.380043+00:00",
     "updateTime": "2023-07-21T17:26:17.892034+00:00"
}
```

要查看注释库版本的详细信息，请使用**get-annotation-store-version**。

```
aws omics get-annotation-store-version --name my_annotation_store --version-name my_version              
```

您将收到包含版本名称、状态和其他详细信息的回复。

```
{
     "storeId": "4934045d1c6d",
     "id": "2a3f4a44aa7b",
     "status": "ACTIVE",
     "versionArn": "arn:aws:omics:us-west-2:555555555555:annotationStore/my_annotation_store/version/my_version",
     "name": "my_annotation_store",
     "versionName": "my_version",
     "creationTime": "2023-07-21T17:15:49.251040+00:00",
     "updateTime": "2023-07-21T17:15:56.434223+00:00",
     "statusMessage": "",
     "versionSizeBytes": 0
    }
```

要查看注释存储库的所有版本，可以使用 **list-annotation-store-versions**，如以下示例所示。

```
aws omics list-annotation-store-versions --name my_annotation_store
```

您将收到包含以下信息的回复

```
{
  "annotationStoreVersions": [
    {
     "storeId": "4934045d1c6d",
     "id": "2a3f4a44aa7b",
     "status": "CREATING",
     "versionArn": "arn:aws:omics:us-west-2:555555555555:annotationStore/my_annotation_store/version/my_version_2",
     "name": "my_annotation_store",
     "versionName": "my_version_2",
     "creation Time": "2023-07-21T17:20:59.380043+00:00",
     "versionSizeBytes": 0
    },
    {
     "storeId": "4934045d1c6d",
     "id": "4934045d1c6d",
     "status": "ACTIVE",
     "versionArn": "arn:aws:omics:us-west-2:555555555555:annotationStore/my_annotation_store/version/my_version_1",
     "name": "my_annotation_store",
     "versionName": "my_version_1",
     "creationTime": "2023-07-21T17:15:49.251040+00:00",
     "updateTime": "2023-07-21T17:15:56.434223+00:00",
     "statusMessage": "",
     "versionSizeBytes": 0
    }
}
```

如果您不再需要注释库版本，则可以使用**delete-annotation-store-versions**删除注释库版本，如以下示例所示。

```
aws omics delete-annotation-store-versions --name my_annotation_store --versions my_version  
```

如果删除商店版本时没有出现错误，您将收到以下响应。

```
{
  "errors": []
}
```

如果存在错误，您将收到包含错误详细信息的回复，如图所示。

```
{
  "errors": [
    {
      "versionName": "my_version",
      "message": "Version with versionName: my_version was not found."
    }
  ]
}
```

如果您尝试删除导入任务处于活动状态的注释库版本，则会收到一条错误响应，如图所示。

```
{
  "errors": [
    {
      "versionName": "my_version",
      "message": "version has an inflight import running"
    }
  ]
}
```

在这种情况下，您可以强制删除注释存储版本，如以下示例所示。

```
aws omics delete-annotation-store-versions --name my_annotation_store --versions my_version --force 
```

# 删除 HealthOmics 分析存储
<a name="deleting-a-store-examples"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

当您删除变体或注释存储时，系统还会删除该存储区中所有导入的数据以及所有关联的标签。

以下示例说明如何使用删除多属性商店 AWS CLI。如果操作成功，变体存储状态将转换为`DELETING`。

```
aws omics delete-variant-store --id <variant-store-id>
```

以下示例说明如何删除注释存储库。如果操作成功，则注释存储状态将转换为`DELETING`。如果存在多个版本，则无法删除注释存储库。

```
aws omics delete-annotation-store --id <annotation-store-id>
```

# 查询 HealthOmics 分析数据
<a name="analytics-query-data"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

您可以使用亚马逊 Athena 或 Amazon AWS Lake Formation EMR 对您的多属性商店进行查询。在运行任何查询之前，请完成 Lake Formation 和 Amazon Athena 的设置过程（如以下各节所述）。

有关 Amazon EMR 的信息，请参阅[教程：亚马逊 EMR 入门](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)

对于 2024 年 9 月 26 日之后创建的多属性商店，按样本 ID 对商店进行 HealthOmics 分区。这种分区意味着 HealthOmics 使用样本 ID 来优化变体信息的存储。使用示例信息作为筛选器的查询将更快地返回结果，因为查询扫描的数据较少。

HealthOmics 使用示例 IDs 作为分区文件名。在采集数据之前，请检查样本 ID 是否包含任何 PHI 数据。如果是，请在采集数据之前更改样本 ID。有关样本中应包含和不包含哪些内容的更多信息 IDs，请参阅 AWS [HIPAA 合规性](https://aws.amazon.com/compliance/hipaa-compliance)网页上的指南。

**Topics**
+ [配置 Lake Formation 以供使用 HealthOmics](setting-up-lf.md)
+ [配置 Athena 以进行查询](analytics-setting-up-athena.md)
+ [在 HealthOmics 变体商店上运行查询](analytics-run-queries.md)

# 配置 Lake Formation 以供使用 HealthOmics
<a name="setting-up-lf"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

在使用 Lake Formation 管理 HealthOmics 数据存储之前，请执行以下 Lake Formation 配置过程。

**Topics**
+ [创建或验证 Lake Formation 管理员](#create-lf-admins)
+ [使用 Lake Formation 控制台创建资源链接](#create-resource-links)
+ [为 AWS RAM 资源共享配置权限](#configure-lf-permissions)

## 创建或验证 Lake Formation 管理员
<a name="create-lf-admins"></a>

在 Lake Formation 中创建数据湖之前，需要先定义一个或多个管理员。

管理员是有权创建资源链接的用户和角色。您可以为每个区域的每个账户设置数据湖管理员。

**在 Lake Formation 控制台中创建管理员用户**

1. 打开 AWS Lake Formation 控制台：[Lake Formation 控制台](https://console.aws.amazon.com//lakeformation)

1. 如果控制台显示 “**欢迎来到 Lake Formation**” 面板，请选择 “**开始**”。

   Lake Formation 会将您添加到**数据湖管理员**表中。

1. 否则，请从左侧菜单中选择 “**管理角色和任务**”。

1. 根据需要添加任何其他管理员。

## 使用 Lake Formation 控制台创建资源链接
<a name="create-resource-links"></a>

要创建用户可以查询的共享资源，必须禁用默认访问控制。要了解有关禁用默认访问控制的更多信息，请参阅 Lake Formation 文档中的[更改数据湖的默认安全设置](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html)。您可以单独创建资源链接，也可以成组创建资源链接，这样您就可以访问 Amazon Athena AWS 或其他服务（例如 Amazon EMR）中的数据。

**在 AWS Lake Formation 控制台中创建资源链接并与 HealthOmics Analytics 用户共享**

1. 打开 AWS Lake Formation 控制台：[Lake Formation 控制台](https://console.aws.amazon.com//lakeformation)

1. 在主导航栏中，选择**数据库**。

1. 在 “**数据库**” 表中，选择所需的数据库。

1. 从 “**创建**” 菜单中选择 “**资源链接**”。

1. 输入**资源链接名称**。如果您计划从 Athena 访问数据库，请仅使用小写字母（最多 256 个字符）输入名称。

1. 选择**创建**。

1. 新的资源链接现在列在 “**数据库**” 下。

### 使用 Lake Formation 控制台授予对共享资源的访问权限
<a name="create-resource-links"></a>

Lake Formation 数据库管理员可以使用以下步骤授予对共享资源的访问权限。

1. 打开 AWS Lake Formation 控制台：[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com//lakeformation)

1. 在主导航栏中，选择**数据库**。

1. 在 “**数据库**” 页面上，选择您之前创建的资源链接。

1. 从 “**操作**” 菜单中选择 “**授予目标**”。

1. 在**委托人下的**授予数据权限**页面上，**选择 **IAM 用户或角色**。

1. 从 **IAM 用户或角色**下拉菜单中，找到您要向其授予访问权限的用户。

1. 接下来，在 **LF-Tags 或目录资源**卡下，选择**命名数据目录资源选项**。

1. 从 “**表格可选**” 下拉菜单中，选择 “**所有表**” 或之前创建的表。

1. 在 “**表权限”** 卡片中，在 “**表权限**” 下选择 “**描述**并**选择”**。

1. 接下来，选择**授权**。

要查看 Lake Formation **权限，请从主导航窗格中选择数据湖权限**。该表显示了可用的数据库和资源链接。

## 为 AWS RAM 资源共享配置权限
<a name="configure-lf-permissions"></a>

在 AWS Lake Formation 控制台中，通过在主导航栏中选择**数据湖权限**来查看权限。在**数据权限**页面上，您可以查看一个表，其中显示了**资源类型**、**数据库**以及**ARN**与 **RAM 资源共享下的共享资源**相关的资源。如果您需要接受 AWS Resource Access Manager (AWS RAM) 资源共享，则会在控制台中 AWS Lake Formation 通知您。

HealthOmics 可以在商店创建期间隐式接受 AWS RAM 资源共享。要接受 AWS RAM 资源共享，调用或 `CreateAnnotationStore` API 操作的 IAM 用户`CreateVariantStore`或角色必须允许以下操作：
+ `ram:GetResourceShareInvitations`-此操作 HealthOmics 允许查找邀请。
+ `ram:AcceptResourceShareInvitation`-此操作 HealthOmics 允许使用 FAS 令牌接受邀请。

如果没有这些权限，您将在商店创建过程中看到授权错误。

以下是包含这些操作的策略示例。将此策略添加到接受 AWS RAM 资源共享的 IAM 用户或角色。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "omics:*",
        "ram:AcceptResourceShareInvitation",
        "ram:GetResourceShareInvitations"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# 配置 Athena 以进行查询
<a name="analytics-setting-up-athena"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

您可以使用 Athena 来查询变体和注释。在运行任何查询之前，请执行以下设置任务：

**Topics**
+ [使用 Athena 控制台配置查询结果位置](#configure-athena-query)
+ [使用 Athena 引擎 v3 配置工作组](#configure-athena-workgroup)

## 使用 Athena 控制台配置查询结果位置
<a name="configure-athena-query"></a>

要配置查询结果位置，请按照以下步骤操作。

1. [打开 Athena 主机：Athena 主机](https://console.aws.amazon.com//athena)

1. 在主导航栏中，选择**查询编辑器**。

1. 在查询编辑器中，选择 “**设置**” 选项卡，然后选择 “**管理**”。

1. 输入位置的 S3 前缀以保存查询结果。

## 使用 Athena 引擎 v3 配置工作组
<a name="configure-athena-workgroup"></a>

要配置工作组，请执行以下步骤。

1. [打开 Athena 主机：Athena 主机](https://console.aws.amazon.com//athena)

1. 在主导航栏中，选择**工作组**，然后选择**创建工作**组。

1. 输入工作组的名称。

1. 选择 **Athena** SQL 作为引擎类型。

1. 在 “**升级查询引擎**” 下，选择 “**手动**”。

1. 在 “**查询版本引擎**” 下，选择 **Athena** 版本 3。

1. 选择 **Create workgroup (创建工作组)**。

# 在 HealthOmics 变体商店上运行查询
<a name="analytics-run-queries"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

您可以使用 Amazon Athena 对您的多属性商店进行查询。请注意，变体和注释存储中的基因组坐标表示为从零开始、半封闭的半开间隔。

## 使用 Athena 控制台运行简单查询
<a name="run-queries-athena-simple"></a>

以下示例说明如何运行简单查询。

1. [打开 Athena 查询编辑器：Athena 查询编辑器](https://console.aws.amazon.com//athena)

1. 在 “**工作组**” 下，选择您在安装过程中创建的工作组。

1. 验证**数据源**是否为**AwsDataCatalog**。

1. 对于**数据库**，选择您在 Lake Formation 设置期间创建的数据库资源链接。

1. 将以下查询复制到**查询编辑器**的 Qu **ery 1** 选项卡下：

   ```
   SELECT * from omicsvariants limit 10
   ```

1. 选择**运行**以运行查询。控制台使用表格的前 10 行填充结果**omicsvariants**表。

## 使用 Athena 控制台运行复杂查询
<a name="run-queries-athena-complex"></a>

以下示例说明如何运行复杂查询。要运行此查询，请导`ClinVar`入注释存储库。

**运行复杂查询**

1. [打开 Athena 查询编辑器：Athena 查询编辑器](https://console.aws.amazon.com//athena)

1. 在 “**工作组**” 下，选择您在安装过程中创建的工作组。

1. 验证**数据源**是否为**AwsDataCatalog**。

1. 对于**数据库**，选择您在 Lake Formation 设置期间创建的数据库资源链接。

1. 选择右**\$1**上角的，创建一个名为 Query **2 的新查询**选项卡。

1. 将以下查询复制到 Query **2 选项卡下的查询****编辑器**中：

   ```
   SELECT variants.sampleid,
     variants.contigname,
     variants.start,
     variants."end",
     variants.referenceallele,
     variants.alternatealleles,
     variants.attributes AS variant_attributes,
     clinvar.attributes AS clinvar_attributes  
   FROM omicsvariants as variants 
   INNER JOIN omicsannotations as clinvar ON 
     variants.contigname=CONCAT('chr',clinvar.contigname) 
     AND variants.start=clinvar.start 
     AND variants."end"=clinvar."end" 
     AND variants.referenceallele=clinvar.referenceallele 
     AND variants.alternatealleles=clinvar.alternatealleles 
   WHERE clinvar.attributes['CLNSIG']='Likely_pathogenic'
   ```

1. 选择 **Run** 开始运行查询。

# 共享 HealthOmics 分析存储
<a name="cross-account-sharing"></a>

**重要**  
AWS HealthOmics 变体存储和注释存储不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS HealthOmics 变体存储和注释存储库可用性变更](variant-store-availability-change.md)。

作为变体存储或注释存储的所有者，您可以与其他 AWS 账户共享该商店。所有者可以通过删除共享来撤消对共享资源的访问权限。

作为共享商店的订阅者，您首先要接受共享。然后，您可以定义使用共享商店的工作流程。数据以表格形式显示在两者 AWS Glue 和 Lake Formation 中。

当您不再需要访问商店时，可以删除共享。

有关资源共享[中的跨账户资源共享 AWS HealthOmics](resource-sharing.md)的更多信息，请参阅。

## 创建商店共享
<a name="sharing-create"></a>

要创建商店共享，请使用**创建共享 API 操作**。主要订阅者是 AWS 账户 将要订阅该份额的用户。以下示例为多属性商店创建共享。要将商店与多个账户共享，您需要为同一家商店创建多个共享。

```
aws omics create-share  \
        --resource-arn "arn:aws:omics:us-west-2:555555555555:variantStore/omics_dev_var_store" \
        --principal-subscriber "123456789012" \
        --name "my_Share-123"
```

如果创建成功，您将收到包含共享 ID 和状态的响应。

```
{
       "shareId": "495c21bedc889d07d0ab69d710a6841e-dd75ab7a1a9c384fa848b5bd8e5a7e0a",
       "name": "my_Share-123",
       "status": "PENDING"
  }
```

在订阅者使用接受共享 API 操作接受共享之前，共享将保持待处理状态。