grzsko / ASAP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ASAP - Critical Assessment of Synthetic Accessibility scores in computer-assisted synthesis Planning

This repository contains the source code for reproducing the results from the article:

Skoraczyński, G., Kitlas, M., Miasojedow, B., Gambin A. Critical assessment of synthetic accessibility scores in computer-assisted synthesis planning. J Cheminform 15, 6 (2023). https://doi.org/10.1186/s13321-023-00678-z

What is ASAP?

We assess if synthetic accessibility scores can reliably predict the outcomes of retrosynthesis planning. Using a specially prepared compounds database, we examine the outcomes of the retrosynthetic tool AiZynthFinder. We test whether synthetic accessibility scores: SAscore, SYBA, SCScore, and RAscore accurately predict the results of retrosynthesis planning. Furthermore, we investigate if synthetic accessibility scores can speed up retrosynthesis planning by better prioritizing explored partial synthetic routes and thus reducing the size of the search space. For that purpose, we analyze the AiZynthFinder partial solutions search trees, their structure, and complexity parameters, such as the number of nodes, or treewidth.

Installation

Just run the command:

./run configure

This command clones the repositories of analyzed scores, creates separate conda environments conforming to their installation requirements and decompresses deposited raw results. For more details, see the run file.

Usage

  1. Run AiZynthFinder for generating its search trees on the molecules database (may take a considerable amount of time):
run main ai

Generated trees are then deposited in the results/db.sqlite file as an SQLite database.

  1. For generated trees compute appropriate statistics:
run main ai_postprocess
  1. Statistical analysis of search trees is available in notebooks:
  • Siblings and parent-child statistics
  • Discrimination between different kinds of nodes
  • Assessment of retrosynthesis results

Adding own synthetic score

This benchmarking project aims to be a tool for gauge and compare novel synthesizability scores. Detailed instructions how to add a new synthetic accessibility score is describd in a separate file.

About

License:MIT License


Languages

Language:Jupyter Notebook 98.6%Language:Python 1.3%Language:Shell 0.0%