- AWS HealthOmics と Step Functions でオミクスデータ分析ワークフローを構築する
- AWS HealthOmics で AlphaFold を実行し、タンパク質の立体構造を可視化する
This repository contains the following codes.
-
Frontend application implemented by Vue.js and Quasar.
- Run bioinformatics workflows with AWS HealthOmics
- Run secondary analysis (visualization) through AWS Step Functions.
- Send notification emails with Amazon Simple Email Service (SES) on workflow completion.
- Browse workflow run outputs.
- View details of the tasks executed in the workflow run.
-
Backend API implemented by Amazon API Gateway and AWS Lambda function (Python).
- User authentication with Amazon Cognito.
- Provides all functionality required by frontend through REST API.
-
AWS CDK stack to deploy frontend and backend.
- AWS Command Line Interface (AWS CLI)
- Node.js
- Docker
Edit cdk.json as needed.
allowdIPv4AddressRanges
: IPv4 address range you want to allow access.allowdIPv6AddressRanges
: IPv6 address range you want to allow access.- (Removing both items above will deploy without IP address restrictions)
Example
"context": {
"allowdIPv4AddressRanges": ["100.100.100.0/24"],
"allowdIPv6AddressRanges": ["1000:1000:1000:1000::/64"],
...
}
Execute the following commands in /cdk
directory.
npm ci
npx cdk bootstrap
npx cdk deploy OmicsAnalysisAppStack --require-approval never
To receive email of workflow completion notification, your email address must be verified by following instructions due to Amazon Simple Email Service (SES) security restrictions.
Now you can use this application by accessing the following URL displayed as OmicsAnalysisAppStackxxxx.FrontendURL
.
OmicsAnalysisAppStackxxxx.FrontendURL = https://xxxx.cloudfront.net
To create an account, select the 'Create Account' tab, enter your email and password, and click the 'Create Account' button.
When you receive an email with the title 'Verify your new account', enter the 6-digit number written in that email in the 'Verification Code' field and click the 'Confirm' button.
Then, an account will be created and the application will be displayed.