Amazon Omics の Omics Storage へデータを保存する手順を図解してみた

2023.01.16

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

Amazon Omics の Omics Storage へゲノムデータを保存するとき手順を図解してみました。該当の手順は以下の公式ドキュメントに記載があり、そちらの補足を目的に本記事を参考にしていただければと思います。

Omics Storage とは

Omics Storage はゲノムデータを低コストかつ、検索やデータ整理面で効率的に保存できる Amazon Omics の主要コンポーネントのひとつです。 S3(オブジェクトストレージ)や EBS(ブロックストレージ)のように何でもかんでも保存できるストレージはなくゲノムデータ保存専用設計のストレージです。専用設計ですので保存できるファイル形式に制限があります。

データフォーマット別に2つの保存先(データストア)が用意されています。

  • リファレンスゲノムを保存するリファレンスストア
  • リード配列、シーケンスデータを保存するシーケンスストア

Inventory icons created by Freepik - Flaticon

ストレージの仕様で特徴的なところは、リード配列、シーケンスデータをシーケンスストアへ保存する時、リファレンスストアに保存済みのリファレンスゲノムと関連付けが必須となっています。

デベロッパーガイドの Omics Storage の説明で以下の文章がリファレンスゲノムと関連付け必須の仕様を指しているものと解釈しています。

Omics Storage understands the relationships between different data objects, so you can define which read sets originated from the same source data, offering you data provenance.

Omics Storage - Amazon Omics

Omics Storage の利用方法

Omics Storage のリファレンスストアと、シーケンスストアへどのようにファイルを保存するのかは、マネージメントコンソール操作(GUI)での保存方法を以下の記事で紹介しております。

本記事では各ストアへファイルを保存するまでの流れを図解し、公式ドキュメントの補足を目的とします。

リファレンスストア

参考となる公式ドキュメントは以下のリンクです。

保存できるデータフォーマットの制限

FASTAファイルのみリファレンスストアへ保存できます。リファレンスストアという名前のとおり、リファレンスゲノム保存専用ストアのようですね。

リファレンスストアへデータ保存

リファレンスストアへリファレンスゲノムを保存するのに必要な作業をまとめました。Omics Storage ではリファレンスストア、シーケンスストアへデータを保存することをインポートと呼びます。

  1. Amazon Omics と同リージョンの S3 バケットにリファレンスゲノムを保存する
  2. S3 バケットに保存したリファレンスゲノムをリファレンスストアへのインポートジョブを実行する
    1. インポートジョブの実行成功 = リファレンスストアへリファレンスゲノム保存完了
  3. リファレンスストアにリファレンスゲノムが登録される

Inventory icons created by Freepik - Flaticon

リファレンスストアにリファレンスゲノムを保存するためにOmics Storage と同じリージョンの S3 バケットを経由する必要があります。その一点を除けば簡単にリファレンスストアに登録ができます。

シーケンスストア

参考となる公式ドキュメントは以下のリンクです。

保存できるデータフォーマットの制限

FASTQ(.fastq.gz), BAM, CRAMフォーマットのファイルを保存できます。BAMより圧縮効率の高いCRAMフォマーマットにも対応しています。現状サポートしているデータフォマーマットは大別すると2種類となり、FASTQファイルと、SAMファイルを圧縮した形式したものと把握しておけばよいかと思います。

シーケンスストアへデータ保存

リファレンスゲノムと関連付けが必須となっている都合、やや複雑な手順になります。

  1. Amazon Omics と同リージョンの S3 バケットにリードファイルを保存する
  2. シーケンスストアへデータ保存時(インポート)に必要なマニュフェストファイルを作成する
  3. シーケンスストアを作成
  4. S3 バケットに保存したリードファイルをシーケンスストアにインポートするジョブを実行する
    1. 関連付けるリファレンスゲノムをリファレンスストアから指定
    2. インポートするリードファイルを指定
    3. マニュフェストファイルをマネージメントコンソールへアップロード
  5. シーケンスストアストアにリードファイルが登録される

Inventory icons created by Freepik - Flaticon

リファレンスゲノムとの関連付けはマニュフェストファイルで指定します。

  • 事前にリファレンスストアへ登録済みのリファレンスゲノムをreferenceArn:で指定
  • シーケンスストアへ保存するファイルをsourceFiles:で指定
    • 一度に複数のファイルをリファレンスゲノムに関連付けて保存することはできます

sunflower-manifest.yam

sourceFiles:
  source1: "s3://omics-work/sunflower/HI.1579.001.BioO_21.ann34-cwKS_R1.fastq.gz"
  source2: "s3://omics-work/sunflower/HI.1579.001.BioO_21.ann34-cwKS_R2.fastq.gz"
sourceFileType: "FASTQ"
subjectId: "Sunflower"
sampleId: "SampleSunflower"
referenceArn: "arn:aws:omics:us-east-1:123456789012:referenceStore/1214442314/reference/1922453704"
name: "Sunflower"

マニュフェストファイルはマネージメントコンソールへアップロードして利用されます。

※ マネージメントコンソールからのインポート方法する場合はsourceFiles:で指定したファイルを改めて指定する必要がありました。

2023/1/30追記
改めてファイルを指定する必要がないように改善されました。

アップロードされると以下の様にマネージメントコンソールでマニュフェストファイルの内容を確認できます。

各ストアへデータ保存後に気になった箇所

S3 に保存したファイルは削除されません。このまま放置しておくとストレージコストが実質2倍かかることになります。ゲノムデータはファイルサイズが大きい、ファイル数も多くなるだけに S3 と Omics Storage 双方のストレージコストを払うのは得策ではありません。

Inventory icons created by Freepik - Flaticon

各ストアへインポートするために S3 へ保存したファイルは削除しても問題ないか確認後追記したいと思います。

おわりに

私はドキュメントを読んでもピンとこなかったので補足資料として作成しました。ドキュメントと合わせてご覧いただき、Omics Storage 理解の一助を担えれば幸いです。

参考