Quickstart Hail
Deployment Guide
스택 준비
이 CloudFormation 스택을 시작하려는 region에서 S3 버킷을 생성합니다.
aws s3 mb s3://{버킷이름}-{리전}
이 리포지토리의 콘텐츠를 다운로드하고 압축을 푼 다음 다운로드한 콘텐츠를 앞에서 만든 S3 버킷에 넣습니다.
앞의 예제에서라면 버킷명
은 {버킷이름}-{리전}-quickstart-hail
와 같습니다.
export AWS_BUCKET={버킷이름}-{리전}
git clone https://github.com/hmkim/quickstart-hail.git
cd quickstart-hail
aws s3 sync . s3://$AWS_BUCKET/quickstart-hail/ --exclude ".git/*"
예를들어 최종 결과는 다음과 같아야 합니다.
CloudFormation
CloudFormation 콘솔로 진입합니다.
새로운 리소스를 생성합니다.
앞에서 업로드한 template 디렉토리 내의 hail-launcher.template.yaml을 선택하고 Copy URL을 클릭합니다.
이 주소를 CloudFormation 스택 생성시 템플릿 주소로 입력하고 스택을 만듭니다.
사전에 만든 VPC를 선택합니다.
같은 VPC내 Public Subnet을 하나 선택합니다.
public subnet을 택했으므로 public으로 선택합니다.
필요한 버킷들을 추가로 만들도록 설정해봅니다.
quickstart-hail 폴더를 업로드한 기존의 버킷명도 입력하고 리전도 확인합니다.
CREATE_COMPLETE
메세지와 함께 아래와 같이 portfolio가 출력에 나왔다 면 정상 실행되었음을 확인할 수 있음.
Building AMIs
VEP의 경우 미리 다운로드할 수 있음. (아래 예시 참고)
wget <ftp://ftp.ensembl.org/pub/release-112/variation/vep/homo_sapiens_vep_112_GRCh37.tar.gz>
aws s3 cp homo_sapiens_vep_112_GRCh37.tar.gz s3://{버킷명}/vep/cache/
CodeBuild 콘솔로 진입하여 각각 새로운 AMI 빌드를 시도한다.
Environment 섹션의 Additional configuration 선택
HAIL_VERSION | 0.2.105 |
---|---|
HTSLIB_VERSION | 1.20 |
SAMTOOLS_VERSION | 1.20 |
VEP_VERSION | <desired> |
RODA_BUCKET | <VEP 다운로드 받은 버킷명> |
빌드 후 약 20분이 지나면 hail (without VEP) 이미지 빌드 완료
hail (with VEP)의 경우 1시간 38분 정도 소요됨.
AMI 결과는 다음과 같이 확인
AMI 메뉴 또는 CodeBuild 로그에서 확인 가능.
실행방법
Stack 결과의 portfolio 에 있는 부분을 클릭.
권한 설정
포트폴리오내 해당 Product에 대한 Access 추가
제품 실행
Product에 있는 Hail EMR Cluster메뉴로 진입하여 Launch product
앞에서 만든 Hail AMI를 입력합니다.
Product에 있는 Hail EMR Cluster외에도 Notebook instance를 실행할 수 있음.
GWAS 실습 (Hail)
노트북에서 각각 2개의 노트북을 가지고 실습해봅니다.
- common-notebooks/plotting-tutorail.ipynb
- common-notebooks/GWAS-tutorial.ipynb
참고 문서
- https://github.com/hmkim/quickstart-hail/
- VEP Install : VEP 데이터 다운로드 및 준비 방법을 설명
- Hail AMI Creation via AWS CodeBuild
- Building a Custom Hail AMI : packer 로 hail AMI를 만드는 방법을 설명. (CLI포함)