Use CDK to create Quilt packages from AWS HealthOmics
Use CDK to create and deploy the stack. Note that it requires a large Cloud9 instance to run Docker.
cp example.env .env # and edit
source .env
aws configure list-profiles # verify AWS credentials exist
# npx npm install # if npm not present (but npx is)
npm install yarn -g # if yarn not present (but npm is)
yarn install
# set bootstrap region (if new or changed)
npx cdk bootstrap aws://$CDK_DEFAULT_ACCOUNT/$CDK_DEFAULT_REGION
# start Docker if not already running
sudo systemctl start docker # e.g. on Linux (requires large Cloud9 instance!)
npm run deploy
You will also need to accept the Subscription from your email client.
If running on macOS, you will get an error for docker-credentials-helper
.
You will need to install and alias that and the docker-credential-desktop
helper.
brew install docker-credential-helper
cd /opt/homebrew/bin
ln -s docker-credential-osxkeychain docker-credential-helper
ln -s docker-credential-osxkeychain docker-credential-desktop
Use your Quilt Catalog to browse the inputs and outputs
- Go to AWS Console and find the Omics-Quilt stack
- Copy names of the INPUT and OUTPUT buckets
- Copy the SNS Topic ARN, with type "AWS::SNS::Topic", e.g.
arn:aws:sns:us-east-1:1234567890:omics-quilt-status-topic
- Go your Quilt Catalog
- Click "+" on the front page (or Admin Settings -> Buckets)
- Click "+" in the upper right corner to add a new bucket
- Name: Physical Name from Stack
- Title: Omics Quilt Input / Output
- SNS Topic ARN (under Indexing and Notifications)
- Find or create your region's input parameters file:
./workflows/fastq/<region>.json
- Go to Console and find the input bucket
- Create Folders
fastq
and, inside that,<region>
- Upload the JSON file to
s3://<input-bucket>/fastq/<region>/<region>.json
If it already exists, set the timestamp to a future time to trigger a new run.
TODO: Setup a Quilt package push that does this for you
- Go to the 'packager' Lambda and view the logs
- Grab the 'quilt+uri' from the output
- Paste into the URI field of the Quilt Catalog (next to the search bar)
- NOTE: May need to click the package name to stop page reloading
- Click "Expand" (and tripledot menu) to interact with result DataGrids
Uses pre-commit to pre-lint files.
pre-commit install
pre-commit run --all-files
Uses projen to manage project files.
yarn install
npm run projen
npm run eslint
npm run build
npm run test:watch