Skip to content

Commit

Permalink
feat: 1.1.0 release (#191)
Browse files Browse the repository at this point in the history
---------

Co-authored-by: AoyuQC <aoyuzhang1989@gmail.com>
Co-authored-by: Fan Su <fansu@amazon.com>
Co-authored-by: cuihubin <530051970@qq.com>
Co-authored-by: Nihir Chadderwala <nihirc@live.com>
Co-authored-by: jag-p <jag-p@git.hub>
Co-authored-by: lxy-z <18819441190@163.com>
Co-authored-by: cocojs <55574098+lxy-z@users.noreply.github.com>
Co-authored-by: l xy <lixiangyu@qutronix.com>
Co-authored-by: Renata Wong <renata.wong.kei@gmail.com>
Co-authored-by: rrxie <ruxie@amazon.com>
  • Loading branch information
11 people committed Jun 26, 2023
1 parent aebf504 commit 54afc1b
Show file tree
Hide file tree
Showing 610 changed files with 41,111 additions and 20,803 deletions.
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
title: ""
labels: bug
assignees: ''

assignees: ""
---

**Describe the bug**
Expand All @@ -17,9 +16,10 @@ Steps to reproduce the behavior.
A clear and concise description of what you expected to happen.

**Please complete the following information about the solution:**
- [ ] Version: [e.g. v1.0.0]

To get the version of the solution, you can look at the description of the created CloudFormation stack. For example, "_(SO8027) Quantum Computing Exploration for Drug Discovery on AWS (Version **v1.0.0**)_".
- [ ] Version: [e.g. v1.1.0]

To get the version of the solution, you can look at the description of the created CloudFormation stack. For example, "_(SO8027) Quantum Computing Exploration for Drug Discovery on AWS (Version **v1.1.0**)_".

- [ ] Region: [e.g. us-west-2]
- [ ] Was the solution modified from the version published on this repository?
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/cfn-nag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ jobs:
CI: 'true'
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
ref: '${{ github.event.pull_request.head.ref }}'
repository: '${{ github.event.pull_request.head.repo.full_name }}'
- uses: actions/setup-node@v2
- uses: actions/setup-node@v3
with:
node-version: '14'
node-version: '18.x'
- name: Install dependencies
run: |
cd source/
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/eslint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ jobs:
CI: 'true'
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
ref: '${{ github.event.pull_request.head.ref }}'
repository: '${{ github.event.pull_request.head.repo.full_name }}'
- uses: actions/setup-node@v2
- uses: actions/setup-node@v3
with:
node-version: '14'
node-version: '18.x'
- name: Install dependencies
run: |
cd source/
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/test-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ jobs:
- name: Install dependencies
run: |
cd source/src/cdk
pip3 install -r requirements.txt
pip3 install -U pytest
pip3 install moto==3.0.5
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,8 @@ __pycache__
.ipynb_checkpoints
.idea

nohup.out

# json
molecular-unfolding-hybrid-jobs.json
source/src/notebook/healthcare-and-life-sciences/**/*.json
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,34 @@
# Change Log

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.1.0] - 2023-06-25

### Fix

- Restructure the architecture, decouple the user notebook code and the underlying system code
- Simplify the architecture design and eliminate the batch and quickSight functions
- Add the SNS mail subscription function to ensure that the job running results reach the user in time
- Remove VPC to reduce user cost
- Add new scenarios support

## [1.0.2] - 2023-04-19

### Fix

- [source]: reslove the issue caused by S3 policy change

## [1.0.1] - 2022-07-01

### Fix

- [notebook]: pin the source code in experimental notebook

## [1.0.0] - 2022-05-20

### Added

- All files, initial version
24 changes: 11 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,23 @@ documentation, we greatly value feedback and contributions from our community.
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
information to effectively respond to your bug report or contribution.


## Reporting Bugs/Feature Requests

We welcome you to use the GitHub issue tracker to report bugs or suggest features.

When filing an issue, please check [existing open](https://github.com/awslabs/cdk-solution-init-pkg/issues), or [recently closed](https://github.com/awslabs/cdk-solution-init-pkg/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
When filing an issue, please check [existing open](https://github.com/awslabs/quantum-computing-exploration-for-drug-discovery-on-aws/issues), or [recently closed](https://github.com/awslabs/quantum-computing-exploration-for-drug-discovery-on-aws/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:

* A reproducible test case or series of steps
* The version of our code being used
* Any modifications you've made relevant to the bug
* Anything unusual about your environment or deployment

- A reproducible test case or series of steps
- The version of our code being used
- Any modifications you've made relevant to the bug
- Anything unusual about your environment or deployment

## Contributing via Pull Requests

Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

1. You are working against the latest source on the *master* branch.
1. You are working against the latest source on the _master_ branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.

Expand All @@ -40,23 +39,22 @@ To send us a pull request, please:
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).


## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/awslabs/cdk-solution-init-pkg/labels/help%20wanted) issues is a great place to start.

Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/awslabs/quantum-computing-exploration-for-drug-discovery-on-aws/labels/help%20wanted/labels/help%20wanted) issues is a great place to start.

## Code of Conduct

This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
opensource-codeofconduct@amazon.com with any additional questions or comments.


## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public GitHub issue.

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public GitHub issue.

## Licensing

See the [LICENSE](https://github.com/awslabs/cdk-solution-init-pkg/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.
See the [LICENSE](https://github.com/awslabs/quantum-computing-exploration-for-drug-discovery-on-aws/blob/main/LICENSE.txt) file for our project's licensing. We will ask you to confirm the licensing of your contribution.

We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
18 changes: 16 additions & 2 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
Quantum Computing Exploration for Drug Discovery on AWS

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
Licensed under the Apache License Version 2.0 (the "License"). You may not use this file except
in compliance with the License. A copy of the License is located at http://www.apache.org/licenses/
or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for the
specific language governing permissions and limitations under the License.

**********************
THIRD PARTY COMPONENTS
Expand All @@ -25,14 +31,22 @@ typescript under the Apache License 2.0
ts-jest under the Massachusetts Institute of Technology (MIT) license
ts-node under the Massachusetts Institute of Technology (MIT) license
jest under the Massachusetts Institute of Technology (MIT) license
mustache under the Massachusetts Institute of Technology (MIT) license


numpy under the BSD License (BSD)
dimod under the Apache Software License (Apache 2.0)
networkx under the BSD License
dwave-ocean-sdk under the Apache Software License (Apache 2.0)
biopandas under the BSD License (BSD 3-Clause)
dwave-ocean-sdk under the Apache Software License (Apache 2.0)
amazon-braket-sdk under the Apache Software License (Apache License 2.0)
amazon-braket-ocean-plugin under the Apache Software License (Apache License 2.0)
py3Dmol under the MIT License (MIT)
ipywidgets under the BSD License (BSD)
ipywidgets under the BSD License (BSD)
boto3 under the Apache Software License (Apache 2.0)
Cython under the Apache Software License (Apache 2.0)
altair under the BSD License (BSD)
setproctitle under the GPL-3.0 License
source-map-support under the MIT license
cdk-nag under the Apache-2.0 License
fs under the ISC License
118 changes: 54 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,89 +2,77 @@

## Overview

Quantum Computing Exploration for Drug Discovery on AWS (abbrev. QCEDD), an open-sourced solution customers can launch to design and run computational studies in the area of drug discovery, e.g. molecular docking and protein folding. With this solution, customers can design and load new, or existing algorithms, into Jupyter notebooks, then orchestrate the classical and quantum compute resources using AWS Batch and AWS Step Functions. Due to its design, customers are free to scale their classical simulations by launching a performant HPC resource instead of a single EC2 instance. At the same time customer’s quantum experiments benefit from the growing number of quantum resources available through the Amazon Braket service.
Quantum Computing Exploration for Drug Discovery on AWS is an open-source solution that allows researchers and quantum computing advocates to design and run computational studies in the field of drug discovery. With this solution, you can access quantum computers via the Amazon Braket service. The Amazon Braket Hybrid Job feature allows you to use classical computing and quantum computing resources to evaluate experiment values such as cost, time, and performance. The solution comes with built-in sample code for certain drug discovery problems, such as molecular docking, protein folding, RNA folding, and retrosynthetic planning, to help you get started with quantum computing in the field.

The overall architecture is shown as below:

![architecture](./docs/en/images/architecture.png)

This solution deploys the Amazon CloudFormation template in your
AWS Cloud account and provides three URLs. One for **Visualization**.
The others provide user with two approaches to study drug discovery
problems: **Notebook Experiment** and **Batch Evaluation**:

* Notebook Experiment

The solution deploys the notebook for user to study different drug discovery
problems.
These problems will be studied using classical computing or quantum
computing.

* Batch Evaluation

The solution provides user the way to evaluate a particular problem based
on different computing resources , classical computing or quantum computing.
For example, for the problem of molecular unfolding, the performance difference
between quantum annealer and simulated annealer can be compared.

* Visualization

The solution provides user the way to visualize the comparing results of
batch evaluation (e.g. performance, time)

For detailed description of architecture, please refer to the
For detailed description of architecture, please refer to the
[Architecture Page](https://awslabs.github.io/quantum-computing-exploration-for-drug-discovery-on-aws/en/architecture/)

This solution deploys the Amazon CloudFormation template in your
AWS Cloud account and provides the URL for Notebook Experiment about drug discovery problems.

## Pre-built Examples for Drug Discovery[<sup>1,</sup>](#more-example)[<sup>2</sup>](#data)

<table border='1' style="text-align: center">
<tr>
<td><B>Problem Name</B></td>
<td><B>Methods</td>
<td colspan='2'><B>Function</td>
<td><B>Dataset</td>
<td><B>Method</td>
<td><B>Reference</td>
</tr>
<tr>
<td>Molecular Unfolding </td>
<td>QUBO</td>
<td><a href="https://arxiv.org/abs/2107.13607">Quantum Molecular Unfolding(2021)</a></td>
</tr>
<tr>
<td rowspan='4'>Molecular Unfolding </td>
<td rowspan='4'>QUBO</td>
<td><span>single solver</span></td>
<td><span>&#10004;</span></td>
<td rowspan='4'><a href="https://www.rcsb.org/ligand/117">117 mol2</a></td>
<td rowspan='4'><a href="https://arxiv.org/abs/2107.13607">Quantum Molecular Unfolding(2021)</a></td>
<td rowspan='2'>RNA folding</td>
<td rowspan='2'>QUBO</td>
<td ><span><a href="https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010032">RNA folding using quantum computers(2022)</a></span></td>
</tr>
<tr>
<td ><span><a href="https://github.com/XanaduAI/QHack2022/issues/114">QHack 2022 winner</a></span></td>
</tr>
<tr>
<td><span>qbsolv</span></td>
<td><span><span></td>
<td rowspan='5'>Protein folding</td>
<td rowspan='2'>Quantum Walk</td>
<td ><span><a href="https://iopscience.iop.org/article/10.1088/2058-9565/ac4f2f">QFold: quantum walk and deep learning to solve protein folding(2022)</a></span></td>
</tr>
<tr>
<td ><span><a href="https://github.com/roberCO/QFold">Roberto Campos's Implementation</a></span></td>
</tr>
<tr>
<td rowspan='4'>RNA Folding</td>
<td rowspan='4'>QUBO</td>
<td><span>single solver</span></td>
<td><span>&#10004;</span></td>
<td rowspan='4'><a href="http://bprna.cgrb.oregonstate.edu/">bpRNA-1m</a></td>
<td ><span><a href="https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010032">RNA folding using quantum computers(2022)</a></span></td>
<td>VQE</td>
<td >--</td>
</tr>
<tr>
<td rowspan='2'>Grover's Algorithm</td>
<td ><span><a href="https://ieeexplore.ieee.org/document/9374469">Quantum Speedup for Protein Structure Prediction(2022)</a></span></td>
</tr>
<tr>
<td><span>qbsolv</span></td>
<td><span><span></td>
<td ><span><a href="https://github.com/XanaduAI/QHack2022/issues/114">QHack 2022 winner</a></span></td>
<td ><span><a href="https://github.com/renatawong/quantum-protein-structure-prediction">Roberto Campos's Implementation</a></span></td>
</tr>
<tr>
<td >Retrosynthetic Planning</td>
<td >Quantum Reinforcement Learning</td>
<td ><span><a href="https://pubs.acs.org/doi/10.1021/acscentsci.9b00055">Learning Retrosynthetic Planning through Simulated Experience(2019)</a></span></td>
</tr>
</table>

<div id='more-example'></div>
1.More examples to be added with continuous update
<div id='data'></div>
2.All the data in the solution follow the CC0 License

## File Structure

Upon successfully cloning the repository into your local development environment, you will see the following file structure in your editor:

```
├── CHANGELOG.md [Change log file]
├── CODE_OF_CONDUCT.md [Code of conduct file]
├── CONTRIBUTING.md [Contribution guide]
├── LICENSE [LICENSE for this solution]
├── CHANGELOG.md [Change log file]
├── CODE_OF_CONDUCT.md [Code of conduct file]
├── CONTRIBUTING.md [Contribution guide]
├── LICENSE [LICENSE for this solution]
├── NOTICE [Notice for 3rd-party libraries]
├── README.md [Read me file]
├── docs [Solution's document]
Expand All @@ -100,21 +88,22 @@ Upon successfully cloning the repository into your local development environment
├── package-lock.json
├── package.json
├── src [Solution's source code]
│   ├── main.ts
│   ├── molecular-unfolding
│   │   ── batch-images
│   │   ├── cdk
│   │   ├── lambda
│   │   ├── molecular_unfolding.ipynb
│   │   ├── molecule-data
│   │   ├── requirements.txt
│   │   └── utility
│   ├── cdk
│   ├── notebook
│   │   ── healthcare-and-life-sciences
│   │   ├── a-1-molecular-unfolding-quadratic-unconstrained-binary-optimization
│   │   ├── b-1-folding-quadratic-unconstrained-binary-optimization
│   │   ├── c-1-rna-folding-quadratic-unconstrained-binary-optimization
│   │   ├── c-2-protein-folding-variational-quantum-eigensolver
│   │   ├── c-3-protein-folding-grover-search
│   │   └── d-1-retrosynthetic-planning-quantum-reinforcement-learning
│   └── stack.ts
├── test [Solution's unit test code]
├── test [Solution's unit test code]
├── tsconfig.jest.json
├── tsconfig.json
└── version.json
```

## Deploy From Source

Refer to [prerequisites and deployment](source/README.md)
Expand All @@ -130,9 +119,10 @@ chmod +x ./run-all-tests.sh
./run-all-tests.sh
```
***

## Documents
---

## Documents

- [Github latest page](https://awslabs.github.io/quantum-computing-exploration-for-drug-discovery-on-aws/en/)

Expand Down
Loading

0 comments on commit 54afc1b

Please sign in to comment.