Amazon Omics入門(Omics Storageへデータ保存)

Omics Strageへデータ保存する手順と注意点をまとめてみました。
2023.02.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!コンサル部のinomaso(@inomasosan)です。

最近、大村 保貴にAmazon Omicsを教えて貰う機会があり、最初の一歩としてOmics Storageへのファイル保存をレクチャーして貰ったので、復習も兼ねてブログにすることにしました。

ざっくり前提知識

そもそもゲノムデータ分析をどのような流れで実施しているかを把握するには、以下の図がわかりやすかったです。

Omics Storageの以下ストアにゲノムデータをそれぞれ保存することで、Omics Workflowsの処理・解析に使用することができます。

  • リファレンスゲノム(FASTA形式)を保存するリファレンスストア
  • リード配列、シーケンスデータ(FASTQ形式等)を保存するシーケンスストア

また、Omics Storageに保存することでS3バケットよりも保存コストが安くなるという側面もあります。 ゲノムデータはサイズが肥大化しやすい認識なので、このメリットは大きいと思います。

やってみた

概要

今回はOmics Analyticsによる分析に必要なデータを、Omics Storageに保存するところまで実施していきます。 データを保存する手順を図解したブログがありますので、最初にこちらを見て頂けると理解が捗るかと思います。

尚、今回はAmazon Omicsが対応しているバージニア北部リージョンで検証しています。

S3に必要なデータを保存

Omics Storageの仕様でデータはS3バケットを経由して保存する必要があります。
2023/2/22時点でOmicsコンソールにてS3バケット作成までは対応していないため、S3コンソールで事前に作成しておきましょう。

尚、S3バケットはAmazon Omicsと同じリージョンに作成しなければならないので注意しましょう。

S3バケットの作成が完了したら、FASTAとFASTQのサンプルファイルをダウンロードしていきます。 今回はゲノムが小さいショウジョウバエのデータをダウンロードします。

リファレンスゲノム(FASTA形式)

以下ページのDownloadボタンを押下します。

Download PackageでSelect file sourceでRefSeq only (1)を選択し、Downloadボタンを押下します。

Zipファイルをダウンロードできたら解凍して、GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.fnaというファイルを、先ほど作成したS3バケットにアップロードします。

リード配列、シーケンスデータ(FASTQ形式)

以下ページのGSM868349_Tot_0-1h_emb_NoAdapter_inserts.fastq.gzftphttpのリンクを押下して、ダウンロードします。

こちらのファイルは解凍不要なため、そのままS3バケットにアップロードします。

リファレンスストアの作成とデータ保存

FASTAファイルをOmics Storageのリファレンスストアへ保存していきます。
内部的な動作としてはS3からデータをインポートする流れとなります。

まずはリファレンスストアの作成が必要なのですが、Omicsの仕様で1リージョンに1つのリファレンスストアのみ作成可能です。 名前の変更もできないため、共通の命名にしておいた方が良いでしょう。

まずは先ほど作成したS3バケットと同じリージョンを選択しOmicsコンソールを開きます。 左ペインのReference storeからImport reference genomeをクリックします。

Create reference genome import jobの画面が表示されるので、まずはReference storeManual creatを選択し、Reference store nameMyReferenceStoreとしました。

Data encryptionはデフォルトのAWS管理キーであるUse AWS owned keyにしておきます。

General Detailsで先ほどS3バケットにアップロードしたショウジョウバエのFASTAファイルを指定します。 Reference genome nameFruitflyと入力し、Select reference from S3にS3バケットのFASTAファイルのS3 URIを指定していきます。 今回入力するS3 URIはs3://<S3バケット名>/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.fnaとなりますので、S3バケット名は適宜置き換えてください。

Service accessでOmicsにS3やKMS用のIAMロールを指定or新規作成を選択できます。 初回はIAMロールがないので、Create and use a new service roleを選択します。
IAMロール名はデフォルトですとOmicsStorage-20230222T140792といった名前で生成されるので、次回以降にも汎用的に使用できる名前に変更してあげます。 今回はOmicsStorage-service-roleという名前にします。

最後に画面右下のImport reference genomeをクリックします。 StatusCompletedとなっていることを確認しましょう。

シーケンスストアの作成とデータ保存

FASTQファイルを保存するために、Omics Storageのシーケンスストアを作成します。
左ペインのReference storeからImport reference genomeをクリックします。

General detailsSequence store nameは、ショウジョウバエのデータのためFruitflySequenceStoreと入力します。

Data encryptionはデフォルトのAWS管理キーであるUse AWS owned keyにしておきます。

最後に画面右下のCreate a sequence storeをクリックします。

ショウジョウバエ用のシーケンスストアが作成されたことを確認します。

次にFASTQファイルをシーケンスファイルに保存するために上図のImport genomic filesをクリックします。

Store detailsでショウジョウバエ用のシーケンスストアが選択されていることを確認します。 Reference genomeでリファレンスストアに保存したリファレンスゲノムであるFruitflyを選択します。

Service accessは先ほど作成したIAMロールを使用するため、Use an existing service roleOmicsStorage-service-roleを選択します。

Manifest fileは事前にJSONかYAMLで作成する必要があります。 これはリファレンスストアに保存したリファレンスゲノムと関連づけるために作成するファイルとなります。

以下、Manifest fileのサンプル例です。

Fruitfly.yml

sourceFiles:
  source1: "s3://<S3バケット名>/GSM868349_Tot_0-1h_emb_NoAdapter_inserts.fastq.gz"
sourceFileType: "FASTQ"
subjectId: "Fruitfly"
sampleId: "SampleFruitfly"
referenceArn: "arn:aws:omics:us-east-1:<AWSアカウントID>:referenceStore/<リファレンスストアID>/reference/<リファレンスゲノムID>"
name: "Fruitfly"

sourceFilesはS3バケットに保存したファイルのS3 URIで、referenceArnはリファレンスストアに保存したショウジョウバエのリファレンスゲノムのARNとなりますので、適宜置き換えてください。

StatusCompletedとなっていることを確認しましょう。

後片付け

S3バケットにアップロードしたファイルはそのまま削除すれば良いのですが、リファレンスストアとシーケンスストアの削除は、お互いストアの関連付けを考慮する必要があります。 詳細な解説や削除方法につきましては、以下のブログをご参照願います。

まとめ

Amazon Omicsを初めて触ってみたのですが、AWSに加えてゲノム関連の専門用語も頻出するため四苦八苦しながらブログにまとめました。 次回は分析を試したブログを書く予定です!

この記事が、どなたかのお役に立てば幸いです。それでは!