AWS HealthOmics 소개

오늘은 AWS HealthOmics 서비스에 대해 알아보겠습니다.

AWS HealthOmics는 연구자들이 genomics와 같은 다양한 바이오 데이터를 분석하는데 도움이 되는 AWS 서비스입니다.

HealthOmics에는 다음과 같이 크게 3가지 요소가 있습니다.

  1. 📦 HealthOmics Storage : Genomic data를 저장 및 공유할 수 있는 storage (Petabyte 규모)
  2. 📝 HealthOmics Analytics : Genomic variants 및 annotation 데이터를 변환 & 분석
  3. 🧬 HealthOmics Workflows : Workflow를 사용하여 genomic data를 분석

(📝 HealthOmics Analytics 의 경우, 분석에 대한 내용이기에 다음 포스팅에서 다루도록 하겠습니다.)

그럼 각 요소에 대해 하나씩 살펴보겠습니다.

================================================================================

🔍 구성요소

================================================================================

📦 HealthOmics Storage

HealthOmics Storage는 genomic data를 효율적이고 저렴하게 저장, 검색, 구성, 공유를 할 수 있게 해줍니다.

이 때, HealthOmics Storage의 경우 다음과 같은 특성이 있습니다.

  1. 30일동안 액세스하지 않은 ACTIVE 데이터는 자동으로 ARCHIVE 상태에 저장
  2. Read-set(읽기 세트) 객체로 저장
    • Read-set : Sequencing 파일 뿐만 아니라 메타데이터도 함께 저장되어 있는 객체

🔖 ETag (Entity Tag)

  • Sequence Store에 저장된 파일의 무결성을 확인/추적하기 위한 해시값
  • 파일 내용을 기반으로 생성되기에 메타데이터 변경에는 영향을 받지 X
  • Sequence Store에서는 파일이 압축/해제되어도 Etag는 동일
  • 알고리즘 : MD5(기본), SHA-256, SHA-512

⚠️ Amazon S3 ETag와는 다른 점을 유의하세요!

  • Amazon S3 ETag : Bit 단위의 동일성 (bitwise identity)
  • HealthOmics ETag : 파일의 의미적 동일성 (압축 여부 상관 없이 동일)

📦 Reference Store

  • Genome reference 저장 (ex. hg19.fa)
  • 💰 무료

📦 Sequence Store

  • Raw sequencing data 저장 (ex. NA12878.fastq.gz)
  • 💰 Gigabase 당 과금

================================================================================

🧬 HealthOmics Workflows

HealthOmics에서 제공하는 workflow는 다음과 같이 크게 2가지 종류가 있습니다.

—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–

🔍 Ready2Run

Ready2Run은 Third-party publisher가 미리 구성해놓은 workflow를 사용할 수 있는 서비스입니다.

GATK-BP부터 AlphaFold까지 다양한 workflow가 미리 만들어져있어서 손쉽게 분석을 해볼 수 있습니다.

일부 workflow(Sentieon)의 경우에는 별도의 구독이 필요하기도 합니다.

자세한 내용은 🔍 Ready2Run Workflow 부분을 참고하세요.

🔒 Private Workflow

Private workflow는 사용자가 자신의 개인적인 workflow를 실행하고자 할 때 사용할 수 있는 서비스입니다.

이 때, 지원되는 workflow 언어는 ① WDL ② CWL ③ Nextflow 이렇게 3가지가 있습니다.

—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–

🧐 Run Analyzer

Private Workflow를 실행할 때, 최적화를 도와주는 오픈소스 툴입니다.

크게는 다음과 같은 역할을 합니다.

  1. 메모리 & CPU의 병목현상 평가
  2. 메모리 & CPU가 over-provision된 부분을 찾아 비용을 절감할 수 있는 새로운 인스턴스 크기 권장
  3. 작업의 타임라인 뷰를 제공
  4. 실행 스토리지에 대한 권장사항을 제공

================================================================================

💰 비용

================================================================================

AWS HealthOmics는 AWS Free Tier를 사용하여 무료로 시작해볼 수 있습니다.

처음 2개월간은 다음과 같이 Free Tier를 사용할 수 있습니다.

—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–

🧬 HealthOmics Workflows

  • omics.m.xlarge(또는 동급) 인스턴스 최대 275시간 및 49,000GB의 실행 스토리지
    • omics.m.xlarge : vCPU 4 & 메모리 16GiB

📦 HealthOmics DataStore

  • Sequence Store
    • Active storage/archive storage모두 1,500 gigabase/month
  • Variant Store
    • 200 GB/month

⚠️ Sequence Store는 Gigabase/Variant Store는 GB(Gigabyte) 기준으로 과금되는 점을 참고하세요!

—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–

이후에는 사용자의 사용량에 따라 과금💰이 됩니다.

1. Private Workflow 실행

  • Workflow Task Instance
    • 각 Task에 요청된 사양(ex. vCPU, 메모리)를 충족하는 가장 작은 omics instance에 매핑
  • Run Storage
    • Static : 1,200 GiB → 2,400 GiB→ 이후 2,400 GiB 단위로 지정 가능
    • Dynamic : 사용량에 따라 자동 조정

📌 Workflow 실행 중(Running) → 💰 부과 O

📌 Workflow 보류 중(Pending), 시작(Starting), 중지(Stopping) → 💰 부과 X

2. Ready2Run Workflow 실행

  • 선택한 Workflow당 요금 부과

📌 실행이 성공적으로 완료되면 실행 시간에 관계없이 실행당 동일한 고정 요금 💰 부과

3. Data Store

  • 대규모 샘플 데이터를 위한 관리형 FAIR(검색 가능, 액세스 가능, 상호 운용 가능, 재사용 가능) 스토리지
  • 월별 Gigabase당 요금 💰 부과 → 파일 형식/압축에 대해 고민 필요 X
  • HealthOmics API를 통해 read-set에 접근할 때, GET requests을 제외한 모든 요청은 무료

4. Data Transfer

—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–o—–

자세한 내용은 💰 AWS HealthOmics Cost 부분을 참고하세요.

================================================================================

👍🏻 장점

================================================================================

그래서 AWS HealthOmics 서비스가 기존의 AWS 서비스들보다 어떤 우수한 부분이 있는지 설명드리겠습니다.

AWS HealthOmics와 비교할만한 서비스로는 AWS Parallel Cluster와 AWS Batch가 있지만, 이들보다 더 유리한 점들이 있습니다.

🧑🏻‍🔬 연구자들의 간편한 사용 가능

  • [Parallel Cluster & Batch] 대량의 분석에 필요한 HPC 구성을 위해 직접 클러스터 구성이 필요
  • [HealthOmics] 👍🏻
    • 별도의 클러스터 구성 없이 바로 사용할 수 있도록 구성되어있음
    • 연구자들이 직접 인프라를 구성하거나 관리할 필요가 없음

🧬 Workflow 최적화

  • [Parallel Cluster & Batch] 범용적인 HPC 및 배치 처리 용도로 설계되었기에 최적화 부족
  • [HealthOmics] 👍🏻
    • NGS 분석, Variant calling 등 Ready2Run workflow를 사용하여 바로 분석할 수 있음
    • Private workflow도 개인적인 Workflow가 있을 경우, 손쉽게 분석을 진행할 수 있음

💰 비용 효율적

  • [Parallel Cluster & Batch] 불필요한 노드가 유지될 수 있고, 혹은 비용 최적화를 위한 설정이 복잡할 수 있음
  • [HealthOmics] 👍🏻
    • 분석에 적합한 최소한의 서버를 자동으로 할당해주고, run analyzer를 사용하여 최적화도 가능
    • 분석이 완료되면 자동으로 자원을 해제하기에 불필요한 비용 절감 가능

📦 데이터 관리 최적화

  • [Parallel Cluster & Batch] S3와 같은 스토리지와 별도의 연결 필요
  • [HealthOmics] 👍🏻
    • Fastq와 같이 bioinformatic 관련 데이터를 다루기에 편한 스토리지 제공
    • 압축의 종류나 여부와 상관없이 같은 파일이라고 인식됨

📃 Reference

SA 서희재