summit


Namesummit JSON
Version 0.8.8 PyPI version JSON
download
home_pagehttps://github.com/sustainable-processes/summit
SummaryTools for optimizing chemical processes
upload_time2022-12-02 19:48:22
maintainer
docs_urlNone
authorKobi Felton
requires_python>=3.8,<3.11
licenseMIT
keywords machine-learning chemistry bayesian-reaction-optimization reaction-optimization neural-networks process optimization bayesian-optimization nelder-mead snobfit gryffin tsemo
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Summit
![summit_banner](https://raw.githubusercontent.com/sustainable-processes/summit/master/docs/source/_static/banner_4.png)

<p align="center">
<a href='https://gosummit.readthedocs.io/en/latest/?badge=latest'>
    <img src='https://readthedocs.org/projects/gosummit/badge/?version=latest' alt='Documentation Status' />
</a>
<a href="https://pypi.org/project/summit/"><img alt="PyPI" src="https://img.shields.io/pypi/v/summit"></a>
</p>

Summit is a set of tools for optimising chemical processes. We’ve started by targeting reactions. Go through a tutorial [here](https://colab.research.google.com/drive/1E_KVm-aZMqMm3memvesn3FIzGiXKHwJz#scrollTo=Wxg4TiHLV0Kd&uniqifier=2)!


## What is Summit?
Currently, reaction optimisation in the fine chemicals industry is done by intuition or design of experiments.  Both scale poorly with the complexity of the problem. 

Summit uses recent advances in machine learning to make the process of reaction optimisation faster. Essentially, it applies algorithms that learn which conditions (e.g., temperature, stoichiometry, etc.) are important to maximising one or more objectives (e.g., yield, enantiomeric excess). This is achieved through an iterative cycle.

Summit has two key features:

- **Strategies**: Optimisation algorithms designed to find the best conditions with the least number of iterations. Summit has eight strategies implemented.
- **Benchmarks**: Simulations of chemical reactions that can be used to test strategies. We have both mechanistic and data-driven benchmarks.

To get started, see the Quick Start below or follow our [tutorial](https://gosummit.readthedocs.io/en/latest/tutorial.html). 

## Installation

To install summit, use the following command:

```pip install summit```

## News

* Denali (0.8) is out! Read more about the release [here](https://github.com/sustainable-processes/summit/releases/tag/0.8.0).
* Kobi ([@marcosfelt](https://github.com/marcosfelt)) gave a tutorial on Summit at the online Autonomous Discovery Symposium on Wednesday 21 April 2021. The tutorial can be found [here](https://colab.research.google.com/drive/1E_KVm-aZMqMm3memvesn3FIzGiXKHwJz#scrollTo=Wxg4TiHLV0Kd&uniqifier=2).

## Quick Start

Below, we show how to use the Nelder-Mead  strategy to optimise a benchmark representing a nucleophlic aromatic substitution (SnAr) reaction.

```python
# Import summit
from summit.benchmarks import SnarBenchmark
from summit.strategies import SOBO, MultitoSingleObjective
from summit.run import Runner

# Instantiate the benchmark
exp = SnarBenchmark()

# Since the Snar benchmark has two objectives and Nelder-Mead is single objective, we need a multi-to-single objective transform
transform = MultitoSingleObjective(
    exp.domain, expression="-sty/1e4+e_factor/100", maximize=False
)

# Set up the strategy, passing in the optimisation domain and transform
nm = SOBO(exp.domain, transform=transform)

# Use the runner to run closed loop experiments
r = Runner(
    strategy=nm, experiment=exp,max_iterations=50
)
r.run()

# Make a pareto plot comparing both objectives
r.experiment.pareto_plot()
```

<p align="center">
<img src="static/pareto.png", alt='Documentation Status' />
</p>


## Documentation

The documentation for summit can be found [here](https://gosummit.readthedocs.io/en/latest/index.html).


## Issues?
Submit an [issue](https://github.com/sustainable-processes/summit/issues) or send an email to kcmf2@cam.ac.uk.

## Citing

If you find this project useful, we encourage you to

* Star this repository :star: 
* Cite our [paper](https://chemistry-europe.onlinelibrary.wiley.com/doi/full/10.1002/cmtd.202000051).
```
@article{Felton2021,
author = "Kobi Felton and Jan Rittig and Alexei Lapkin",
title = "{Summit: Benchmarking Machine Learning Methods for Reaction Optimisation}",
year = "2021",
month = "2",
url = "https://chemistry-europe.onlinelibrary.wiley.com/doi/full/10.1002/cmtd.202000051",
journal = "Chemistry Methods"
}
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sustainable-processes/summit",
    "name": "summit",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<3.11",
    "maintainer_email": "",
    "keywords": "machine-learning,chemistry,bayesian-reaction-optimization,reaction-optimization,neural-networks,process optimization,bayesian-optimization,nelder-mead,snobfit,gryffin,TSEMO",
    "author": "Kobi Felton",
    "author_email": "kobi.c.f@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/58/13/dbde75667103c0d96a7211b2ad3314839484e5e3d86a83e6481f7efb44bc/summit-0.8.8.tar.gz",
    "platform": null,
    "description": "# Summit\n![summit_banner](https://raw.githubusercontent.com/sustainable-processes/summit/master/docs/source/_static/banner_4.png)\n\n<p align=\"center\">\n<a href='https://gosummit.readthedocs.io/en/latest/?badge=latest'>\n    <img src='https://readthedocs.org/projects/gosummit/badge/?version=latest' alt='Documentation Status' />\n</a>\n<a href=\"https://pypi.org/project/summit/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/summit\"></a>\n</p>\n\nSummit is a set of tools for optimising chemical processes. We\u2019ve started by targeting reactions. Go through a tutorial [here](https://colab.research.google.com/drive/1E_KVm-aZMqMm3memvesn3FIzGiXKHwJz#scrollTo=Wxg4TiHLV0Kd&uniqifier=2)!\n\n\n## What is Summit?\nCurrently, reaction optimisation in the fine chemicals industry is done by intuition or design of experiments.  Both scale poorly with the complexity of the problem. \n\nSummit uses recent advances in machine learning to make the process of reaction optimisation faster. Essentially, it applies algorithms that learn which conditions (e.g., temperature, stoichiometry, etc.) are important to maximising one or more objectives (e.g., yield, enantiomeric excess). This is achieved through an iterative cycle.\n\nSummit has two key features:\n\n- **Strategies**: Optimisation algorithms designed to find the best conditions with the least number of iterations. Summit has eight strategies implemented.\n- **Benchmarks**: Simulations of chemical reactions that can be used to test strategies. We have both mechanistic and data-driven benchmarks.\n\nTo get started, see the Quick Start below or follow our [tutorial](https://gosummit.readthedocs.io/en/latest/tutorial.html). \n\n## Installation\n\nTo install summit, use the following command:\n\n```pip install summit```\n\n## News\n\n* Denali (0.8) is out! Read more about the release [here](https://github.com/sustainable-processes/summit/releases/tag/0.8.0).\n* Kobi ([@marcosfelt](https://github.com/marcosfelt)) gave a tutorial on Summit at the online Autonomous Discovery Symposium on Wednesday 21 April 2021. The tutorial can be found [here](https://colab.research.google.com/drive/1E_KVm-aZMqMm3memvesn3FIzGiXKHwJz#scrollTo=Wxg4TiHLV0Kd&uniqifier=2).\n\n## Quick Start\n\nBelow, we show how to use the Nelder-Mead  strategy to optimise a benchmark representing a nucleophlic aromatic substitution (SnAr) reaction.\n\n```python\n# Import summit\nfrom summit.benchmarks import SnarBenchmark\nfrom summit.strategies import SOBO, MultitoSingleObjective\nfrom summit.run import Runner\n\n# Instantiate the benchmark\nexp = SnarBenchmark()\n\n# Since the Snar benchmark has two objectives and Nelder-Mead is single objective, we need a multi-to-single objective transform\ntransform = MultitoSingleObjective(\n    exp.domain, expression=\"-sty/1e4+e_factor/100\", maximize=False\n)\n\n# Set up the strategy, passing in the optimisation domain and transform\nnm = SOBO(exp.domain, transform=transform)\n\n# Use the runner to run closed loop experiments\nr = Runner(\n    strategy=nm, experiment=exp,max_iterations=50\n)\nr.run()\n\n# Make a pareto plot comparing both objectives\nr.experiment.pareto_plot()\n```\n\n<p align=\"center\">\n<img src=\"static/pareto.png\", alt='Documentation Status' />\n</p>\n\n\n## Documentation\n\nThe documentation for summit can be found [here](https://gosummit.readthedocs.io/en/latest/index.html).\n\n\n## Issues?\nSubmit an [issue](https://github.com/sustainable-processes/summit/issues) or send an email to kcmf2@cam.ac.uk.\n\n## Citing\n\nIf you find this project useful, we encourage you to\n\n* Star this repository :star: \n* Cite our [paper](https://chemistry-europe.onlinelibrary.wiley.com/doi/full/10.1002/cmtd.202000051).\n```\n@article{Felton2021,\nauthor = \"Kobi Felton and Jan Rittig and Alexei Lapkin\",\ntitle = \"{Summit: Benchmarking Machine Learning Methods for Reaction Optimisation}\",\nyear = \"2021\",\nmonth = \"2\",\nurl = \"https://chemistry-europe.onlinelibrary.wiley.com/doi/full/10.1002/cmtd.202000051\",\njournal = \"Chemistry Methods\"\n}\n```\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Tools for optimizing chemical processes",
    "version": "0.8.8",
    "split_keywords": [
        "machine-learning",
        "chemistry",
        "bayesian-reaction-optimization",
        "reaction-optimization",
        "neural-networks",
        "process optimization",
        "bayesian-optimization",
        "nelder-mead",
        "snobfit",
        "gryffin",
        "tsemo"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "ddc351fa6ac98c29b50f9001a2801ae9",
                "sha256": "f8c7fe94af47c72524ea666240b937251ec8f6750696ab66f7ce98e6d5d66ce5"
            },
            "downloads": -1,
            "filename": "summit-0.8.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ddc351fa6ac98c29b50f9001a2801ae9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<3.11",
            "size": 920139,
            "upload_time": "2022-12-02T19:48:20",
            "upload_time_iso_8601": "2022-12-02T19:48:20.562365Z",
            "url": "https://files.pythonhosted.org/packages/51/49/36c070b56fbb0a465a001de4c6c2781fbb629cb8e37d4cf8c8baba3cde37/summit-0.8.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "6ad290e6cb7157a63645f003840cb66b",
                "sha256": "fd9b900a4c5ec6cac8ad7fb7189ddbf2f4a89aec3e04595ebbd1530f08aa19ca"
            },
            "downloads": -1,
            "filename": "summit-0.8.8.tar.gz",
            "has_sig": false,
            "md5_digest": "6ad290e6cb7157a63645f003840cb66b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<3.11",
            "size": 876079,
            "upload_time": "2022-12-02T19:48:22",
            "upload_time_iso_8601": "2022-12-02T19:48:22.308838Z",
            "url": "https://files.pythonhosted.org/packages/58/13/dbde75667103c0d96a7211b2ad3314839484e5e3d86a83e6481f7efb44bc/summit-0.8.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-02 19:48:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "sustainable-processes",
    "github_project": "summit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "summit"
}
        
Elapsed time: 0.14776s