

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 URIs を使用した HealthOmics リードセットへのアクセス
<a name="s3-access"></a>

Amazon S3 URI パスを使用して、アクティブなシーケンスストアの読み取りセットにアクセスできます。

Amazon S3 URI パスを使用すると、Amazon S3 オペレーションを使用して読み取りセットを一覧表示、共有、ダウンロードできます。S3 APIs高速化します。 S3 さらに、S3 APIs へのアクセスを他のアカウントと共有し、データへのクロスリージョン読み取りアクセスを提供できます。

HealthOmics は、アーカイブされた読み取りセットへの Amazon S3 URI アクセスをサポートしていません。読み取りセットをアクティブ化すると、毎回同じ URI パスに復元されます。

HealthOmics ストアにデータがロードされると、Amazon S3 URI は Amazon S3 アクセスポイントに基づいているため、次のような Amazon S3 URIs を読み取る業界標準ツールと直接統合できます。
+ Integrative Genomics Viewer (IGV) や UCSC Genome Browser などのビジュアル分析アプリケーション。
+ CWL、WDL、Nextflow などの Amazon S3 拡張機能を使用した一般的なワークフロー。
+ アクセスポイントの Amazon S3 URIs の認証と読み取り、または署名付き Amazon S3 URI の読み取りが可能な任意のツール。 URIs
+ Mountpoint や CloudFront などの Amazon S3 ユーティリティ。

Amazon S3 Mountpoint を使用すると、Amazon S3 バケットをローカルファイルシステムとして使用できます。Mountpoint の詳細については、「[Mountpoint for Amazon S3](https://github.com/awslabs/mountpoint-s3)」を参照してください。

Amazon CloudFront は、高いパフォーマンス、セキュリティ、開発者の利便性を実現するために構築されたコンテンツ配信ネットワーク (CDN) サービスです。Amazon CloudFront の使用の詳細については、[Amazon CloudFront ドキュメント](https://docs.aws.amazon.com/cloudfront/)を参照してください。シーケンスストアで CloudFront を設定するには、 AWS HealthOmics チームにお問い合わせください。

データ所有者のルートアカウントは、シーケンスストアプレフィックスのアクション S3:GetObject、S3:GetObjectTagging、S3:List Bucket に対して有効になっています。アカウントのユーザーがデータにアクセスするには、IAM ポリシーを作成し、ユーザーまたはロールにアタッチします。ポリシーの例については「[Amazon S3 URIs を使用したデータアクセスのアクセス許可](s3-sharing.md)」を参照してください。

アクティブな読み取りセットで次の Amazon S3 API オペレーションを使用して、データを一覧表示および取得できます。アーカイブされたリードセットは、アクティブ化された後に Amazon S3 URIs を介してアクセスできます。
+ [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) — Amazon S3 からオブジェクトを取得します。
+ [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html.html) — HEAD オペレーションは、オブジェクト自体を返すことなく、オブジェクトからメタデータを取得します。このオペレーションは、オブジェクトのメタデータのみが必要な場合に便利です。
+ [ListObjects および ListObject v2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) — バケット内のオブジェクトの一部またはすべて (最大 1,000) を返します。
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) — Amazon S3 に既に保存されているオブジェクトのコピーを作成します。HealthOmics は Amazon S3 アクセスポイントへのコピーをサポートしていますが、アクセスポイントへの書き込みはサポートしていません。

HealthOmics シーケンスストアは、ETags を通じてファイルのセマンティックアイデンティティを維持します。ファイルのライフサイクル全体を通して、ビット単位のアイデンティティに基づく Amazon S3 ETag は変更される可能性がありますが、HealthOmics ETag は変わりません。詳細については[HealthOmics ETags とデータ出所](etags-and-provenance.md)を参照してください。

**Topics**
+ [HealthOmics ストレージの Amazon S3 URI 構造](#s3-uri-structure)
+ [ホスト型またはローカル IGV を使用した読み取りセットへのアクセス](#s3-access-igv)
+ [HealthOmics での Samtools または HTSlib の使用 HealthOmics](#s3-access-Samtools)
+ [Mountpoint HealthOmics の使用](#s3-access-Mountpoint)
+ [HealthOmics での CloudFront の使用](#s3-access-CloudFront)

## HealthOmics ストレージの Amazon S3 URI 構造
<a name="s3-uri-structure"></a>

Amazon S3 URIsには、 `omics:subjectId` および `omics:sampleId`リソースタグがあります。これらのタグを使用して、 などのパターンで IAM ポリシーを使用してアクセスを共有できます`"s3:ExistingObjectTag/omics:subjectId": "pattern desired"`。

 ファイル構造は次のとおりです。

`.../account_id/sequenceStore/seq_store_id/readSet/read_set_id/files.`

Amazon S3 からシーケンスストアにインポートされたファイルの場合、シーケンスストアは元のソース名を維持しようとします。名前が競合すると、システムは読み込みセット情報を追加して、ファイル名が一意であることを確認します。例えば、fastq 読み取りセットの場合、両方のファイル名が同じであれば、名前を一意にするために、 `sourceX`は .fastq.gz または .fq.gz の前に挿入されます。直接アップロードの場合、ファイル名は次のパターンに従います。
+ FASTQ の場合 — *read\$1set\$1name*\$1*sourcex*.fastq.gz 
+ uBAM/BAM/CRAM の場合 — *read\$1set\$1name*.*file 拡張子*。拡張子は `.bam`または です`.cram`。例は `NA193948.bam` です。

BAM または CRAM のリードセットの場合、インデックスファイルは取り込みプロセス中に自動的に生成されます。生成されたインデックスファイルには、ファイル名の末尾に適切なインデックス拡張子が適用されます。パターン <*インデックスがオンになっているソースの名前>.<ファイルインデックス拡張子> があります。*インデックス拡張子は `.bai`または です`.crai`。

## ホスト型またはローカル IGV を使用した読み取りセットへのアクセス
<a name="s3-access-igv"></a>

IGV は、BAM ファイルと CRAM ファイルを分析するために使用されるゲノムブラウザです。一度にゲノムの一部しか表示されないため、 ファイルとインデックスの両方が必要です。IGV はローカルでダウンロードして使用でき、AWS がホストする IGV を作成するガイドがあります。CORS が必要なため、パブリックウェブバージョンはサポートされていません。

ローカル IGV は、ファイルにアクセスするためにローカル AWS 設定に依存します。その設定で使用されるロールに、アクセスするリードセットの s3 URI に対する kms:Decrypt および s3:GetObject アクセス許可を有効にするポリシーがアタッチされていることを確認します。その後、IGV で「ファイル > URL からのロード」を使用して、ソースとインデックスの URI に貼り付けることができます。または、署名付き URLsを生成して同じ方法で使用することもできます。これにより、AWS 設定がバイパスされます。CORS は Amazon S3 URI アクセスではサポートされていないため、CORS に依存するリクエストはサポートされていないことに注意してください。

 AWS ホスト型 IGV の例では、AWS Cognito を使用して環境内で正しい設定とアクセス許可を作成します。アクセスするリードセットの Amazon S3 URI に対する kms:Decrypt および s3:GetObject アクセス許可を有効にするポリシーが作成されていることを確認し、このポリシーを Cognito ユーザープールに割り当てられたロールに追加します。その後、IGV で「ファイル > URL からのロード」を使用して、ソースとインデックスの URI に と入力できます。または、署名付き URLsを生成して同じ方法で使用して、AWS 設定をバイパスすることもできます。

シーケンスストアは「Amazon」タブには表示されないことに注意してください。 は、 AWS プロファイルが設定されているリージョンで、ユーザーが所有するバケットのみを表示するためです。

## HealthOmics での Samtools または HTSlib の使用 HealthOmics
<a name="s3-access-Samtools"></a>

HTSlib は、Samtools、rSamtools、PySam などのいくつかのツールで共有されるコアライブラリです。HTSlib バージョン 1.20 以降を使用して、Amazon S3 アクセスポイントをシームレスにサポートします。HTSlib ライブラリの古いバージョンでは、次の回避策を使用できます。
+ を使用して HTS Amazon S3 ホストの環境変数を設定します。 `export HTS_S3_HOST="s3.region.amazonaws.com"`
+ 使用するファイルの署名済み URL を生成します。BAM または CRAM を使用している場合は、ファイルとインデックスの両方の署名付き URL が生成されていることを確認します。その後、両方のファイルをライブラリで使用できます。
+ Mountpoint を使用して、HTSlib ライブラリを使用しているのと同じ環境にシーケンスストアまたはリードセットプレフィックスをマウントします。ここから、ローカルファイルパスを使用してファイルにアクセスできます。

## Mountpoint HealthOmics の使用
<a name="s3-access-Mountpoint"></a>

Mountpoint for Amazon S3 は、[Amazon S3 バケットをローカルファイルシステムとしてマウントするためのシンプルで高スループットのファイル](https://aws.amazon.com/blogs/storage/the-inside-story-on-mountpoint-for-amazon-s3-a-high-performance-open-source-file-client/)クライアントです。Mountpoint for Amazon S3 を使用すると、アプリケーションはオープンや読み取りなどのファイルオペレーションを通じて Amazon S3 に保存されているオブジェクトにアクセスできます。Mountpoint for Amazon S3 は、これらのオペレーションを Amazon S3 オブジェクト API コールに自動的に変換するため、アプリケーションはファイルインターフェイスを介して Amazon S3 のエラスティックストレージとスループットにアクセスできます。

 Mountpoint のインストール手順を使用して[、Mountpoint をインストール](https://github.com/awslabs/mountpoint-s3/blob/main/doc/INSTALL.md)できます。Mountpoint は、インストールにローカルな AWS プロファイルを使用し、Amazon S3 プレフィックスレベルで動作します。使用するプロファイルに、アクセスするリードセット (複数可) またはシーケンスストアの Amazon S3 URI プレフィックスに対する s3:GetObject、s3:ListBucket、および kms:Decrypt アクセス許可を有効にするポリシーがあることを確認します。その後、次のパスを使用してバケットをマウントできます。

```
mount-s3 access point arn local path to mount --prefix prefix to sequence store or read set --region region                                  
```

## HealthOmics での CloudFront の使用
<a name="s3-access-CloudFront"></a>

Amazon CloudFront は、高いパフォーマンス、セキュリティ、開発者の利便性を実現するために構築されたコンテンツ配信ネットワーク (CDN) サービスです。CloudFront を使用するお客様は、サービスチームと協力して CloudFront ディストリビューションを有効にする必要があります。アカウントチームと協力して HealthOmics サービスチームを関与させます。