CopperMap: Enhancing Success in Ullmann Couplings
CopperMap is a Jupyter notebook developed with the goal of enhacing success in Cu-catalyzed C–N couplings (Ullmann couplings). The machine learning algorithm behind CopperMap was trained and validated using approximately 1000 experimental data points and was found to predict the yield outcome of Ullmann couplings (below or above 20% yield) between primary amines and aryl-bromides with an average accuracy of 87%. CopperMap also includes a ligand suggestion tool capable of finding the most probable working ligands for a given pair of coupling partners based on experimental results for similar compounds.
CopperMap is derived from our manuscript posted on ChemRxiv. For a more in-depth understanding of the model, its training, and validation, please refer to the manuscript.
The complete dataset and notebook utilized for training the model can be accessed from the dedicated GitHub repository for the Ullmann Coupling project.
The training of CopperMap relied on a consistent set of reaction conditions:
- Temperature: 110°C
- Solvent: DMA
- Base: K₃PO₄
- Cu Source: CuI
- Concentrations [0.25 M]:
- Aryl-bromide [1 eq]
- Primary amine [1.2 eq]
- CuI [10 mol%]
- Ligand [20 mol%]
- Base [2 eq]
We observed a degree of transferability of these conditions in our study, but the yield-predictions should be taken carefully for reactions in different conditions. For more details, refer to the manuscript.
- Prediction Tool: Find out the likelihood of success for a given pair of substrates.
- Ligand Suggestion Tool: Receive information about the ligands most likely to work for the specific coupling partners.
Ensure you have conda installed before proceeding.
- Clone this repository.
git clone https://github.com/ljkaras/CopperMap.git
- Create and activate the Python environment.
conda env create -f environments/coppermap_mac.yml # for MacBook
conda env create -f environments/coppermap_windows.yml # for Windows
conda activate coppermap
- Install IPykernel and create a Jupyter kernel for the Python environment.
conda install ipykernel
python -m ipykernel install --user --name=coppermap --display-name "coppermap"
- Open the notebook:
CopperMap.ipynb
. - Follow the instructions within the notebook for predictions and ligand suggestions.
If you encounter issues with .yml files, you can manually install the required libraries for CopperMap. Ensure you have conda installed before proceeding.
- Pandas:
conda install pandas
- Matplotlib:
conda install matplotlib
- RDKit:
conda install -c conda-forge rdkit
- Scikit-learn (v.1.2.2):
conda install scikit-learn=1.2.2
Remember to activate your environment before launching CopperMap.
If you find CopperMap useful, please cite our manuscript:
M. Samha,# L. Karas,# D. Vogt, E. Odogwu, J. Elward, J. Crawford, J. Steves, M. Sigman. Predicting Success in Cu-Catalyzed C–N Coupling Reactions using Data Science. ChemRxiv, 2023. DOI: 10.26434/chemrxiv-2023-f50w6.
Developed by The Sigman Lab
Tool Developer: Lucas Karas; Library Developer: David Vogt; Experimental Results: Moe Samha