Una aplicación web para la exploración del espacio de incrustación de reactivos utilizados en los datos de reacción. Descrito en nuestros reactivos de curación de documentos en datos de reacción química con un mapa espacial de reactivos interactivos.
La aplicación es una forma visual de explorar las estadísticas de concurrencia de reactivos en las reacciones. La aplicación muestra las proyecciones de UMAP de incrustaciones de reactivos derivadas de la descomposición de la matriz PMI de reactivos con descomposición de valor singular.
Una matriz de PMI contiene puntajes de información mutua puntiaguda . Para dos reactivos A y B , su puntaje PMI se deriva del recuento de ocurrencia de reactivos.
La factorización de esta matriz con SVD produce incrustaciones densas para reactivos, que tienden a ser similares para dos reactivos si se encuentran estos reactivos
En contextos similares, es decir, junto con los mismos otros reactivos. Por ejemplo, dos catalizadores de paladio diferentes para el acoplamiento de Suzuki no se usarán juntos en una reacción, pero pueden usarse con las mismas bases y solventes.
Por lo tanto, esos dos catalizadores obtendrán integridades similares y se acostarán juntas. Esos incrustaciones se proyectan en el plano 2D y la superficie de la esfera de la unidad
por el algoritmo UMAP. Es un algoritmo de reducción de dimensionalidad que intenta preservar las relaciones de distancia entre los puntos originales al proyectarlos a un espacio de dimensiones inferiores.
El mapa de las proyecciones de UMAP de incrustaciones de reactivos se muestra en la aplicación.
Ejecute los siguientes comandos para instalar el entorno para la aplicación:
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 .Ejecute la aplicación con el siguiente comando
python3 app . py La aplicación se ejecutará en http: // localhost: 8050. De manera predeterminada, muestra el mapa de las incrustaciones de reactivos USPTO determinados por AAM leyendo la infominación de data/default/uspto_aam_rgs_min_count_100_d_50.csv . Los usuarios también pueden cargar sus propios datos de reactivos, preparados con los scripts apropiados de la manera que se describe a continuación.
El archivo data/standard_reagents.csv contiene la información sobre ~ 600 reactivos que ocurren en USPTO, con sus roles y nombres. Las entradas en el archivo se ordenan por frecuencia de ocurrencia en el orden descendente.
Descargamos el conjunto de datos USPTO usando rxnutils ejecutando los siguientes comandos del directorio data :
python - m rxnutils . data . uspto . download python - m rxnutils . data . uspto . combine Descarga los data/uspto_data.csv . Luego, hacemos el filtrado inicial de este conjunto de datos con el siguiente comando ejecutado desde el directorio del proyecto:
python3 - m rxnutils . pipeline . runner - - pipeline uspto / pipeline . yml - - data data / uspto_data . csv - - output data / uspto_filtered . csvFinalmente, extraemos los reactivos del conjunto de datos filtrados:
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 El script prepare_reagents.py como varias opciones. Por ejemplo, puede determinar los reactivos, ya sea por mapeo de átomos o por huellas digitales.
Los incrustaciones para reactivos se calculan utilizando el script build_embeddings.py basado en un archivo con reactivos que se usan en sus respectivos reactivos.
El archivo de entrada debe contener conjuntos de sonrisas de reactivos para alguna reacción en cada fila, y esas sonrisas deben ser separadas por algún separador. p.ej ; .
Ejemplo:
CCO ; c1ccccc1
[ H - ].[ Na + ]; C1CCOC1
NN Cada fila de este archivo contiene reactivos para alguna reacción en el conjunto de datos de interés. Las reacciones en sí no son relevantes. El script prepare_reagents.py prepara una entrada adecuada para build_embeddings.py .
La aplicación usa coordenadas en un archivo CSV, que se prepara utilizando el script build_embeddings.py .
Ejecute el siguiente comando:
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 > Para obtener más información, ejecute python3 build_embeddings.py --help .
Los incrustaciones de reactivos predeterminados se construyeron con el siguiente comando:
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 Cargue un archivo CSV construido por el script build_embeddings.py .
Para las ideas sobre los reactivos en USPTO y para reproducir las cifras en el documento, siga los cuadernos 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 }
}