Une application Web pour l'exploration de l'espace d'incorporation des réactifs utilisé dans les données de réaction. Décrit dans notre article de conservation des réactifs dans les données de réaction chimique avec une carte d'espace de réactif interactif.
L'application est un moyen visuel d'explorer les statistiques de cooccurrence des réactions dans les réactions. L'application affiche les projections UMAP des intérêts de réactifs dérivés en décomposant la matrice PMI des réactifs avec décomposition de valeur singulière.
Une matrice PMI contient des scores d'informations mutuelles ponctuelles . Pour deux réactifs A et B , leur score PMI est dérivé du nombre d'occurrence des réactifs.
Factoriser cette matrice en utilisant le SVD donne des intérêts denses pour les réactifs, qui ont tendance à être similaires pour deux réactifs si ces réactifs sont rencontrés
Dans des contextes similaires, c'est-à-dire avec les mêmes autres réactifs. Par exemple, deux catalyseurs de palladium différents pour le couplage Suzuki ne seront pas utilisés ensemble dans une réaction, mais ils peuvent être utilisés avec les mêmes bases et solvants.
Par conséquent, ces deux catalyseurs obtiendront des incorporations similaires et resteront près les uns des autres. Ces intérêts sont ensuite projetés sur le plan 2D et la surface de la sphère unitaire
par l'algorithme UMAP. Il s'agit d'un algorithme de réduction de la dimensionnalité qui essaie de préserver les relations à distance entre les points originaux lors de la projection d'un espace de dimension inférieure.
La carte des projections UMAP des incorporations de réactifs est affichée dans l'application.
Exécutez les commandes suivantes pour installer l'environnement pour l'application:
conda create - n reagent_emb_vis_app python = 3.10 - y
conda activate reagent_emb_vis_app
pip install - r requirements . txt
pip install - e .Exécutez l'application avec la commande suivante
python3 app . py L'application fonctionnera sur http: // localhost: 8050. Par défaut, il montre la carte des intégres réactifs USPTO déterminés par AAM en lisant l'infomation à partir data/default/uspto_aam_rgs_min_count_100_d_50.csv . Les utilisateurs peuvent également télécharger leurs propres données de réactif, préparées avec les scripts appropriés de la manière décrite ci-dessous.
Le fichier data/standard_reagents.csv contient les informations sur ~ 600 réactifs qui se produisent dans USPTO, avec leurs rôles et leurs noms. Les entrées du fichier sont commandées par fréquence d'occurrence dans l'ordre descendant.
Nous téléchargeons l'ensemble de données USPTO à l'aide rxnutils en exécutant les commandes suivantes à partir du répertoire data :
python - m rxnutils . data . uspto . download python - m rxnutils . data . uspto . combine Il télécharge les data/uspto_data.csv . Ensuite, nous effectuons le filtrage initial de cet ensemble de données avec la commande suivante exécutée à partir du répertoire du projet:
python3 - m rxnutils . pipeline . runner - - pipeline uspto / pipeline . yml - - data data / uspto_data . csv - - output data / uspto_filtered . csvEnfin, nous extrayons les réactifs de l'ensemble de données filtré:
python3 scripts / prepare_reagents . py - i data / uspto_filtered . csv - - output_dir uspto_aam_reagents - c ReactionSmiles - - reagents aam - - fragment_grouping cxsmiles - - canonicalization remove_aam - - n_jobs 9 - - min_reagent_occurrences 1 - - verbose Le script prepare_reagents.py comme diverses options. Par exemple, il peut déterminer les réactifs soit par cartographie des atomes, soit par des empreintes digitales.
Les intégres pour les réactifs sont calculés à l'aide du script build_embeddings.py en fonction d'un fichier avec des réactifs qui sont utilisés dans leurs réactifs respectifs.
Le fichier d'entrée doit contenir des ensembles de sourires de réactifs pour une réaction dans chaque ligne, et ces sourires doivent être séparés par un séparateur. par exemple ; .
Exemple:
CCO ; c1ccccc1
[ H - ].[ Na + ]; C1CCOC1
NN Chaque ligne de ce fichier contient des réactifs pour une réaction dans l'ensemble de données d'intérêt. Les réactions elles-mêmes ne sont pas pertinentes. Le script prepare_reagents.py prépare une entrée appropriée pour build_embeddings.py .
L'application utilise des coordonnées dans un fichier CSV, qui est préparé à l'aide du script build_embeddings.py .
Exécutez la commande suivante:
python3 scripts / build_embeddings . py - i < PATH TO THE TEXT FILE WITH REAGENT SMILES > - - standard data / standard_reagents . csv - - min_count < MINIMAL OCCURENCE COUNT FOR REAGENTS TO BE CONSIDERED > - o < PATH TO THE OUTPUT CSV FILE > - d < DIMENSONALITY OF REAGENT EMBEDDINGS > Pour plus d'informations, exécutez python3 build_embeddings.py --help .
Les incorporations de réactifs par défaut ont été construites avec la commande suivante:
python3 scripts / build_embeddings . py - i data / uspto_aam_reagents / reagents - 1128297. txt - - standard data / standard_reagents . csv - d 50 - o data / uspto_aam_rgs_min_count_100_d_50 . csv - - min_count 100 Téléchargez un fichier CSV Build par le script build_embeddings.py .
Pour les informations sur les réactifs dans l'USPTO et pour reproduire les figures du document, veuillez suivre les notebooks/results.ipynb .
@inproceedings { andronov2024 ,
title = { Curating Reagents in Chemical Reaction Data with an Interactive Reagent Space Map } ,
author = { Andronov, Mikhail and Andronova, Natalia and Wand, Michael and Schmidhuber, J{"u}rgen and Clevert, Djork-Arn{'e} } ,
booktitle = { International Workshop on AI in Drug Discovery } ,
pages = { 21--35 } ,
year = { 2024 } ,
publisher = { Springer Nature Switzerland } ,
address = { Cham } ,
doi = { 10.1007/978-3-031-72381-0_3 }
}