https://pubs.acs.org/doi/10.1021/acs.jcim.3c00978
A pesquisa molecular é importante em química, biologia e informática para identificar estruturas moleculares em grandes conjuntos de dados, melhorar a descoberta e inovação de conhecimento e tornar os dados químicos JUSTO (encontráveis, acessíveis, interoperáveis, reutilizáveis). Os algoritmos de pesquisa para polímeros são significativamente menos desenvolvidos do que aqueles para moléculas pequenas porque a pesquisa de polímeros depende da pesquisa pelo nome do polímero, o que pode ser desafiador porque a nomenclatura do polímero é excessivamente ampla (ou seja, polietileno), complicada para estruturas químicas complexas e muitas vezes não corresponde às convenções oficiais da IUPAC. A pesquisa de estrutura química em polímeros é limitada a subestruturas, como monômeros, sem conhecimento de conectividade ou topologia. Este trabalho apresenta uma nova linguagem de consulta e algoritmo de busca transversal em grafos para polímeros que fornece o primeiro método de busca capaz de capturar completamente todas as estruturas químicas presentes nos polímeros. A linguagem de consulta BigSMARTS, uma extensão da linguagem SMARTS de moléculas pequenas, permite aos usuários escrever consultas que localizam pesquisas de monômeros e grupos funcionais para diferentes partes do polímero, como o bloco intermediário de um tribloco, a cadeia lateral de um enxerto e a espinha dorsal de uma unidade de repetição. O algoritmo de busca de subestruturas é baseado no percurso de representações gráficas das funções geradoras para os gráficos estocásticos de polímeros. Operacionalmente, o algoritmo primeiro identifica os ciclos que representam os monômeros e depois os grupos finais e, finalmente, realiza uma busca em profundidade para combinar subgráficos inteiros. Para validar o algoritmo, centenas de consultas foram pesquisadas em centenas de produtos químicos e topologias alvo da literatura, com aproximadamente 440.000 pares consulta-alvo. Esta ferramenta fornece um algoritmo detalhado que pode ser implementado em mecanismos de pesquisa para fornecer resultados de pesquisa com correspondência completa entre a conectividade do monômero e a topologia do polímero.
Tabela 1. Consultas com restrição crescente no conjunto de destino correspondido.
BigSMARTS | Significado | # sucessos do BigSMILES |
---|---|---|
CCO | etanol SMARTS que pesquisa um BigSMILES inteiro | 207 |
{[]CCO[]} | etanol SMARTS que localiza acertos nas unidades de repetição | 198 |
{[][<]CCO[>][]} | Consulta PEG com grupos finais curinga que localiza ocorrências nos backbones da unidade repetida | 68 |
{[][<][CH2][CH2]O[>][]} | evita correspondências com grupos pendentes não especificados na consulta | 57 |
{[][<][CH2][CH2]O[>],!*[]} | evita correspondências com unidades de repetição extras não especificadas na consulta | 45 |
{[][<][CH2][CH2]O[>],!*;!*[]} | evita correspondências com unidades repetidas extras e grupos finais não especificados na consulta | 1 |
Tabela 2. Mutações unitárias repetidas que não afetam os alvos correspondentes.
BigSMARTS | Mudar | # sucessos do BigSMILES |
---|---|---|
{[][<]CCO[>][]} | Pesquisa de backbone PEG | 68 |
{[][>]CCO[<][]} | mudança nos descritores de ligação | 68 |
{[][<]COC[>][]} | mudança de quadro | 68 |
{[][<]OCC[>][]} | inversão | 68 |
{[][<]C[<2],[>2]CO[>][]} | dividir | 68 |
{[][<]CCO[>],[<]CCO[>][]} | duplicação | 68 |
Tabela 3. Emparelhamentos de alvo de consulta de copolímero em bloco.
BigSMARTS | Mudar | # sucessos do BigSMILES |
---|---|---|
{[][>]CC(c1ccccc1)[<][>]}?*{[>][<]CC(C(=O)O)[>][]} | subestrutura em bloco de poliestireno -b -poliacrilato com linker curinga | 11 |
{[][$]CC(c1ccccc1)[$][$]}{[$][$]CC(C(=O)O)[$][]} | nenhum vinculador curinga | 7 |
{[][$]CC(C(=O)O)[$][$]}{[$][$]CC(c1ccccc1)[$][]} | vire os blocos | 7 |
{[][<]CC(c1ccccc1)[>][<]}{[>][<]CC(C(=O)O)[>][]} | apenas unidades de repetição cabeça-cauda | 7 |
{[][<]CC(c1ccccc1)[>],[<]CC(c1ccccc1)[>2],[<2]CC(C(=O)O)[>2][]} | um único objeto estocástico, mas ainda codifica um dibloco! | 7 |
{[][<]CC(c1ccccc1)[>];[<]CC(c1ccccc1){[>][<]CC(C(=O)O)[>][]}[]} | representação implícita/explícita do grupo final | 7 |
Tabela 4. Emparelhamentos de destino de consulta de rede de polímero.
BigSMARTS | Mudar | # sucessos do BigSMILES |
---|---|---|
{[][<]CCCCC(C)(C)C(=O)O{[>][<]CCO[>][<]}C(=O)C(C)(C)CCCC[<] ,[>]n1cc([<2])nn1,[>2]COCC(COC[>2])(COC[>2])C[]} | Rede de polímero A2 + B3 | 2 |
{[][<]CCCCC(C)(C)C(=O)O{[>][<]CCOCCO[>][<]}C(=O)C(C)(C)CCCC[<] ,[>]n1cc([<2])nn1,[>2]COCC(COC[>2])(COC[>2])C[]} | unidade de repetição aninhada duplicada | 2 |
{[][<]CCCCC(C)(C)C(=O)O{[>][<]C[<3],[>3]CO[>][<]}C(=O)C (C)(C)CCCC[<],[>]n1cc([<2])nn1,[>2]COCC(COC[>2])(COC[>2])C[]} | divisão de unidade de repetição aninhada | 2 |
{[][>]CCCCC(C)(C)C(=O)O{[>][<]CCO[>][<]}C(=O)C(C)(C)CCCC[>] ,[<]n1cc([<5])nn1,[>5]COCC(COC[>5])(COC[>5])C[]} | mudança nos descritores de ligação | 2 |
Tabela 5. Consultas de gráficos topológicos.
BigSMARTS | Significado | # sucessos do BigSMILES |
---|---|---|
{[][]} | objeto estocástico curinga, corresponde a todos os polímeros | 489 |
{[][]}!{[][]} | apenas um objeto estocástico, não corresponde a diblocos, triblocos ou estrelas | 382 |
{[][]}?*{[][]} | subestrutura dibloco, pode corresponder a triblocos e tetrablocos | 107 |
{[][]}?*{[][]}!{[][]} | subestrutura diblock sem outros blocos | 78 |
{[][]}?*{[][]}?*{[][]} | subestrutura tribloco, pode combinar com tetrablocos e hexablocos | 15 |
{[][]}?*{[][]}?*{[][]}!{[][]} | subestrutura tribloco sem outros blocos | 2 |
{[][<]?*{[>][<]?*[>][<]}?*[>][]} | topologia segmentada (objeto aninhado ao longo do backbone) | 10 |
{[][<]?*(?*{[>][<]?*[>][]})?*[>][]} | topologia de enxerto (objeto aninhado na cadeia lateral) | 11 |
{[][]}?*(?*{[][]})?*{[][]} | Subestrutura de polímero em estrela de 3 braços | 21 |
Tabela 6. Grupos funcionais ao longo das consultas do backbone.
BigSMARTS | Aula de Química | # sucessos do BigSMILES |
---|---|---|
{[][<]C(=O)O?*[>][]} | poliéster | 75 |
{[][<]OC(=O)O?*[>][]} | policarbonato | 29 |
{[][<]NC(=O)O?*[>][]} | poliuretano | 1 |
{[][<]C=C?*[>][]} | polidieno | 31 |
{[][<]NC(=O)N?*[>][]} | poliureia | 6 |
São casos simples, mas não há restrição quanto ao número de unidades repetidas e grupos finais na consulta e no destino, aumentando muito a complexidade da pesquisa. O algoritmo lida com todos esses casos.
https://doi.org/10.5281/zenodo.10702689
O conjunto de dados é lançado sob CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) em Zenodo (https://doi.org/10.5281/zenodo.10702689).