项目作者: aws-samples

项目描述 :
Genomics Workflows on AWS
高级语言: Shell
项目地址: git://github.com/aws-samples/aws-genomics-workflows.git
创建时间: 2019-02-08T20:24:48Z
项目社区:https://github.com/aws-samples/aws-genomics-workflows

开源协议:Other

下载


Genomics Workflows on AWS

:warning: This site and related code are no longer actively maintained as of 2023-07-31. :warning:

This allows all code and assets presented here to remain publicly available for historical reference purposes only.

For more up to date solutions to running Genomics workflows on AWS checkout:

  • Amazon Omics - a fully managed service for storing, processing, and querying genomic, transcriptomic, and other omics data into insights. Omics Workflows provides fully managed execution of pre-packaged Ready2Run workflows or private workflows you create using WDL or Nextflow.
  • Amazon Genomics CLI - an open source tool that automates deploying and running workflow engines in AWS. AGC uses the same architectural patterns described here (i.e. operating workflow engines with AWS Batch). It provides support for running WDL, Nextflow, Snakemake, and CWL based workflows.

This repository is the source code for Genomics Workflows on AWS. It contains markdown documents that are used to build the site as well as source code (CloudFormation templates, scripts, etc) that can be used to deploy AWS infrastructure for running genomics workflows.

If you want to get the latest version of these solutions up and running quickly, it is recommended that you deploy stacks using the launch buttons available via the hosted guide.

If you want to customize these solutions, you can create your own distribution using the instructions below.

Creating your own distribution

Clone the repo

  1. git clone https://github.com/aws-samples/aws-genomics-workflows.git

Create an S3 bucket in your AWS account to use for the distribution deployment

  1. aws s3 mb <dist-bucketname>

Create and deploy a distribution from source

  1. cd aws-genomics-workflows
  2. bash _scripts/deploy.sh --deploy-region <region> --asset-profile <profile-name> --asset-bucket s3://<dist-bucketname> test

This will create a dist folder in the root of the project with subfolders dist/artifacts and dist/templates that will be uploaded to the S3 bucket you created above.

Use --asset-profile option to specify an AWS profile to use to make the deployment.

Note: the region set for --deploy-region should match the region the bucket <dist-bucketname> is created in.

You can now use your deployed distribution to launch stacks using the AWS CLI. For example, to launch the GWFCore stack:

  1. TEMPLATE_ROOT_URL=https://<dist-bucketname>.s3-<region>.amazonaws.com/test/templates
  2. aws cloudformation create-stack \
  3. --region <region> \
  4. --stack-name <stackname> \
  5. --template-url $TEMPLATE_ROOT_URL/gwfcore/gwfcore-root.template.yaml \
  6. --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND \
  7. --parameters \
  8. ParameterKey=VpcId,ParameterValue=<vpc-id> \
  9. ParameterKey=SubnetIds,ParameterValue=\"<subnet-id-1>,<subnet-id-2>,...\" \
  10. ParameterKey=ArtifactBucketName,ParameterValue=<dist-bucketname> \
  11. ParameterKey=TemplateRootUrl,ParameterValue=$TEMPLATE_ROOT_URL \
  12. ParameterKey=S3BucketName,ParameterValue=<store-buketname> \
  13. ParameterKey=ExistingBucket,ParameterValue=false

Shared File System Support

Amazon EFS is supported out of the box for GWFCore and Nextflow. You have two options to use EFS.

  1. Create a new EFS File System: Be sure to have CreateEFS set to Yes and also include the total number of subnets.
  2. Use an Existing EFS File System: Be sure to specify the EFS ID in the ExistingEFS parameter. This file system should be accessible from every subnet you specify.

Following successful deployment of GWFCore, when creating your Nextflow Resources, set MountEFS to Yes.

Building the documentation

The documentation is built using mkdocs.

Install dependencies:

  1. $ conda env create --file environment.yaml

This will create a conda environment called mkdocs

Build the docs:

  1. $ conda activate mkdocs
  2. $ mkdocs build

License Summary

This library is licensed under the MIT-0 License. See the LICENSE file.