Skip to main content

Summit

summit_banner

Documentation Status PyPI

Summit is a set of tools for optimising chemical processes. We’ve started by targeting reactions. Go through a tutorial here!

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.

Installation

To install summit, use the following command:

pip install summit

News

  • Denali (0.8) is out! Read more about the release here.
  • Kobi (@marcosfelt) gave a tutorial on Summit at the online Autonomous Discovery Symposium on Wednesday 21 April 2021. The tutorial can be found here.

Quick Start

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

# 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()

Documentation Status

Documentation

The documentation for summit can be found here.

Issues?

Submit an issue or send an email to kcmf2@cam.ac.uk.

Citing

If you find this project useful, we encourage you to

  • Star this repository ⭐
  • Cite our paper.
@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"
}

Metadata

Release files for summit 0.8.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for summit 0.8.9
File Size Uploaded
summit-0.8.9.tar.gz 872.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for summit 0.8.9
File Interpreter ABI Platform
summit-0.8.9-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / summit-0.8.9.tar.gz

Download URL summit-0.8.9.tar.gz
Size 872.8 kB
Tags Source
SHA-256 checksum
How to use checksums
751366f6f7e673d64c0efef7176cb3683308466b81a547cec753476722ee0498
BLAKE2b-256 checksum
How to use checksums
9ff6b1d647d72344b3cb29bf1f2e8b250649f956b3e60b8c272a5c47b06d32bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.8 Darwin/22.2.0

Release files / summit-0.8.9-py3-none-any.whl

Download URL summit-0.8.9-py3-none-any.whl
Size 916.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
074e93384682fa708c89356d65d7b45e39dd922a210109ff2bf1affcf70f8336
BLAKE2b-256 checksum
How to use checksums
f81e8a8c6af82ce30388c885e3bf6739c909c05ff2284ec5a80c7e624907d6ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.8 Darwin/22.2.0

Release history Release notifications | RSS feed

This release

0.8.9 This release

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page