Overview

Quantum Computing Exploration for Drug Discovery on AWS is an open-source solution that allows researchers or quantum computing advocates to design and run computational studies in the field of drug discovery. With the solution, you can access quantum computers via Amazon Braket service, use Amazon Batch for job management, and leverage AWS Step Functions to orchestrate different workflows. The solution helps you to use classical computing and quantum computing resources to evaluate experiment values such as cost, time, performance, etc. Evaluation results are visualized in Amazon QuickSight. The solution comes with built-in code for certain drug discovery problems, such as molecular docking and protein folding, for you to get started with quantum computing in the field.
Benefits

The solution provides a hybrid architecture that offers flexibility for you to use either quantum computing or classical computing resources, or both. You can evaluate and compare experimental values by testing the same problem with these resources.
The solution includes code for certain drug discovery use cases. You can learn and customize the code step-by-step in Jupyter Notebook.
The batch-run results are stored in Amazon S3 and visualized with Amazon QuickSight. You can build the customized QuickSight dashboards or use the built-in dashboards.
Technical details

The diagram below presents the architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.
This solution deploys the AWS CloudFormation template in your AWS Cloud account and provides three parts: notebook experimentation, batch evaluation and visualization.
Step 1
An Amazon SageMaker notebook instance, which allows notebook experimentation for drug discovery.
Step 2
The notebook comes with built-in code for different problems in drug discovery, such as molecular unfolding.
Step 3
The solution creates Network Address Translation (NAT) gateways in public subnets, which connect to the internet using an internet gateway. The notebook instance is deployed in private subnets, and can access internet using NAT gateways.
Step 4
AWS Step Functions workflows for batch evaluation.
Step 5
The AWS Step Functions workflows launch various computing tasks in parallel through AWS Batch jobs based on different model parameters and resources for classical computing or quantum computing.
Step 6
Each AWS Batch job uses pre-built container images and attempts to evaluate a particular drug discovery problem based on specific model parameters.
Step 7
All the pre-built container images are stored in Amazon Elastic Container Registry (Amazon ECR).
Step 8
AWS Batch jobs evaluate the problem on Amazon EC2, and save results in Amazon Simple Storage Service (Amazon S3).
Step 9
AWS Batch jobs asynchronously submit Amazon Braket tasks.
Step 10
When an Amazon Braket task is completed, it saves the output as a file in an Amazon S3 bucket, and an event is dispatched via Amazon EventBridge.
Step 11
An AWS Lambda function is triggered by events from Amazon EventBridge, parses the output file of the Amazon Braket task/job in Amazon S3, saves the evaluation result to the Amazon S3 bucket, and sends a callback to the AWS Step Functions workflow.
Step 12
When the whole batch evaluation is done, the workflow sends a notification to an Amazon Simple Notification Service (Amazon SNS) topic. All subscribers will be notified for the batch evaluation results.
Step 13
An Amazon Athena table is created for querying the metrics of batch evaluation.
Step 14
Amazon QuickSight is used to view the batch evaluation results. By default, the solution provides metrics for the running time of different resources.