Um aplicativo da Web para a exploração do espaço de incorporação de reagentes usados nos dados de reação. Descrito em nossos reagentes de curadoria de papel em dados de reação química com um mapa espacial de reagente interativo.
O aplicativo é uma maneira visual de explorar as estatísticas de co-ocorrência dos reagentes nas reações. O aplicativo exibe projeções UMAP de incorporações de reagentes derivadas pela decomposição da matriz PMI de reagentes com decomposição de valor singular.
Uma matriz PMI contém pontuações de informação mútua no ponto . Para dois reagentes A e B , sua pontuação no PMI é derivada de contagens de ocorrência de reagentes.
Fatorizar essa matriz usando SVD produz incorporações densas para reagentes, que tendem a ser semelhantes para dois reagentes se esses reagentes forem encontrados
Em contextos semelhantes, ou seja, juntamente com os mesmos outros reagentes. Por exemplo, dois catalisadores de paládio diferentes para o acoplamento Suzuki não serão usados juntos em uma reação, mas podem ser usados com as mesmas bases e solventes.
Portanto, esses dois catalisadores receberão incorporações semelhantes e ficarão próximas. Essas incorporações são então projetadas no plano 2D e na superfície da esfera unitária
pelo algoritmo UMAP. É um algoritmo de redução da dimensionalidade que tenta preservar as relações de distância entre os pontos originais ao projetar-os a um espaço inferior dimensional.
O mapa das projeções UMAP de incorporação de reagentes é exibido no aplicativo.
Execute os seguintes comandos para instalar o ambiente para o aplicativo:
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 .Execute o aplicativo com o seguinte comando
python3 app . py O aplicativo estará em execução em http: // localhost: 8050. Por padrão, ele mostra o mapa das incorporações de reagentes do USPTO determinadas pela AAM lendo a infomação de data/default/uspto_aam_rgs_min_count_100_d_50.csv . Os usuários também podem fazer upload de seus próprios dados de reagente, preparados com os scripts apropriados da maneira descrita abaixo.
Os data/standard_reagents.csv contêm as informações sobre ~ 600 reagentes que ocorrem no USPTO, com seus papéis e nomes. As entradas no arquivo são ordenadas por frequência de ocorrência na ordem decrescente.
Fazemos o download do conjunto de dados do USPTO usando rxnutils executando os seguintes comandos do diretório data :
python - m rxnutils . data . uspto . download python - m rxnutils . data . uspto . combine Ele baixa os data/uspto_data.csv . Em seguida, fazemos a filtragem inicial deste conjunto de dados com o seguinte comando executado no diretório do projeto:
python3 - m rxnutils . pipeline . runner - - pipeline uspto / pipeline . yml - - data data / uspto_data . csv - - output data / uspto_filtered . csvPor fim, extraímos os reagentes do conjunto de dados 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 O script prepare_reagents.py como várias opções. Por exemplo, ele pode determinar os reagentes por mapeamento de átomos ou por impressões digitais.
As incorporações para reagentes são calculadas usando o script build_embeddings.py com base em um arquivo com reagentes usados em seus respectivos reagentes.
O arquivo de entrada deve conter conjuntos de sorrisos reagentes para alguma reação em todas as linhas, e esses sorrisos devem ser separados por algum separador. por exemplo ; .
Exemplo:
CCO ; c1ccccc1
[ H - ].[ Na + ]; C1CCOC1
NN Cada linha neste arquivo contém reagentes para alguma reação no conjunto de dados de interesse. As próprias reações não são relevantes. O script prepare_reagents.py prepara uma entrada adequada para build_embeddings.py .
O aplicativo usa coordenadas em um arquivo CSV, que é preparado usando o script build_embeddings.py .
Execute o seguinte 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 obter mais informações, execute python3 build_embeddings.py --help .
As incorporações de reagente padrão foram construídas com o seguinte 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 Faça o upload de um arquivo CSV construído pelo script build_embeddings.py .
Para obter informações sobre reagentes no USPTO e reproduzir os números no artigo, siga os 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 }
}