Amazon Omics Analytics のアノテーションストアへデータ保存時の関連要素を図解してみた
Amazon Omics のコンポーネントのひとつ Omics Analytics のアノテーションストアへ VCF ファイルの保存する流れを例に関連要素を図解してみました。該当の手順は以下の公式ドキュメントに記載があり、そちらの補足を目的に本記事を参考にしていただければと思います。
Omics Analytics アノテーションストア
Omics Analytics にはデータの保存先としてバリアントストアと、アノテーションストアの2つ用意されています。本記事ではアノテーションストアへデータ(VCF ファイル)を保存するときに関連する要素を図解します。
Inventory icons created by Freepik - Flaticon
アノテーションストアとは?
アノテーションデータ保存専用のストレージサービスです。特徴的なところは保存したファイルを自動的にクエリ対応スキーマ(Apatch Iceberg Table)に変換します。この仕組は AWS Glue Data Catalog が裏側で動作しており半構造化されたテキストベースのデータをクエリに最適化された状態で保存しています。データの保存から Glue を利用してデータカタログを作成する部分までがマネージドサービスになっています。
- アノテーションストアは複数個作成することができる
- 紐付けるファレンスゲノムを指定する必要がある
- 保存するデータフォーマット指定する必要がある
ひとつのリファレンスゲノムに対して、TSV/CSV、VCF、GFF のファイルを保存したいときは最低3つのアノテーションストアを作成が必要になります。
Inventory icons created by Freepik - Flaticon
TIPS: ファイルフォーマット名を表示したい
作成したアノテーションストアの一覧は以下の様に表示されます。一覧画面からは何のデータフォーマットに対応したアノテーションストアなのか判別できません。対策としてName
かDescription
にファイルフォーマットを入力しておくと視認性が良くなります。
アノテーションストアを個別に開き、スキーマタブからファイルフォーマットを確認することはできます。しかし、登録数が多くなるといちいち確認するのは大変です。
ちなみにName
は後から名前の変更をできません。アノテーションストア作成時Name
にファイルフォーマットを入力するか、後から編集可能なDescription
を活用していただければと思います。
Description
の方が取り回し良さそうなので現時点ではDescription
をオススメします。
アノテーションストアへファイル保存方法
アノテーションストアへ保存したファイルは事前に Amazon Omics と同リージョンの S3 バケットに保存しておく必要があります。一度 S3 を経由する流れは Omics Storage 同様です。手間の様にも感じますが S3 バケットがハブになっていることで、EC2 などの AWS リソースからのアクセス、権限設定で新たに Amazon Omics 周りの設定で悩まなく良いはメリットに思えます。
Inventory icons created by Freepik - Flaticon
TSV/CSV ファイルを保存する場合
TSV/CSV ファイルを保存するときはスキーマを JSON 形式で定義したものを作成し一緒に保存する必要があります。
[ {"chromosome":"STRING"}, {"start":"LONG"}, {"end":"LONG"}, {"positions":"LONG"}, {"reference_allele":"STRING"}, ]
なぜスキーマの定義が必要かというと、Omics Analytics のアノテーションストア、バリアントストアへ保存したファイルは Athena で検索できるように裏側で変換処理を行ってくれる仕組みがあります。そのため、ほぼ自由に定義できる TSV/CSV ファイルはスキーマの情報を Omics Analyticsへ渡さないと変換処理ができないものと推測しています。
Amazon Omics は、お客様が VCF を Variant Store にインポートし、クエリ対応スキーマである Apache Iceberg Table として利用可能な形にシームレスに変換することで、これらの課題に取り組みます。また、変異アノテーションを Annotation Store にインポートすることも可能です。 Part 1: Amazon Omics のご紹介 – セキュアかつ大規模に生物配列データから洞察を得る | Amazon Web Services ブログ