Ganhos:
- Capacidade de identificar moléculas não pelo nome, mas pela representação da estrutura (SMILES com humanos, InChI/InChIKey com banco de dados)
- Capacidade de detectar estruturas inválidas ou incorretas analisando, validando e canonizando cada SMILES fornecido por inteligência artificial com RDKit
- Ser capaz de compreender que quantidades determinísticas como peso molecular e fórmula devem ser obtidas a partir da ferramenta baseada em regras, e não do modelo de linguagem.
A primeira condição para usar a IA com segurança na química é escrever a molécula em uma linguagem que tanto a máquina quanto o ser humano possam entender. Você diz "fenol", a IA acerta; mas quando você diz “ácido” existem milhares de possibilidades. Os nomes são ambíguos; as representações da estrutura são precisas. Nesta unidade aprenderemos as duas notações básicas que traduzem a molécula em texto (SMILES e InChI) e a ferramenta que as verifica deterministicamente (RDKit). Nosso objetivo: entregar a molécula à IA de uma forma que ela nunca interprete mal e confirmar a estrutura produzida pela IA com uma ferramenta.
O que é SORRISOS?
SMILES (Simplified Molecular-Input Line-Entry System) é um formato de escrita de uma molécula em uma única linha de texto. Os átomos são representados por letras, as ligações por símbolos e os anéis por números. Exemplos:
- Etanol: CCO (carbono-carbono-oxigênio; hidrogênios implícitos).
- Benzeno: c1ccccc1 ("c" minúsculo indica carbono aromático; 1 fecha o anel).
- Aspirina: CC(=O)Oc1ccccc1C(=O)O.
- Cafeína: Cn1cnc2c1c(=O)n(C)c(=O)n2C.
O poder do SMILES é que ele carrega toda a estrutura do link em uma única linha; Seu ponto fraco é que a mesma molécula pode ter vários SMILES válidos (isso é chamado de não canonicidade). Resolveremos isso com o RDKit em um momento.
Dica: O "SMILES canônico" para uma molécula é a grafia única e padrão para essa molécula. Para ver se dois SMILES são a mesma molécula, canonize-os e compare-os; Eles não deveriam ser iguais textualmente, mas deveriam ser moléculas iguais.
O que é o InChi?
InChI (International Chemical Identifier) é um identificador padrão desenvolvido pela IUPAC. A diferença do SMILES é que a mesma molécula dá sempre o mesmo InChI; isto é, é de natureza canônica. É longo e difícil de ler, mas é ideal para correspondência de bancos de dados. O abreviado "InChIKey" (resumo de 27 caracteres) é usado para pesquisa.
- Aspirina InChIKey: BSYNRYMUTXBXSQ-UHFFFAOYSA-N.
Regra: As pessoas falam SMILES (ler), máquinas e bancos de dados correspondem a InChI/InChIKey (exato). Dê SMILES para a IA; Confirme no banco de dados com InChIKey.
RDKit: mecanismo de verificação determinística
RDKit é uma biblioteca de quimioinformática de código aberto. Ao contrário do modelo de linguagem, ele é baseado em regras: analisa SMILES, calcula o peso molecular, gera SMILES canônico, retorna InChI/InChIKey, desenha a molécula. Portanto, o RDKit “calcula” o que a IA “prevê”. Este é o coração do fluxo de trabalho: a IA gera, o RDKit verifica.
Um fluxo de verificação básico:
from rdkit import Chemfrom rdkit.Chem import Descritores, Drawsmiles = "CC(=O)Oc1ccccc1C(=O)O" Chem.MolToSmiles(mol)) print("Fórmula molecular:", Chem.rdMolDescriptors.CalcMolFormula(mol)) print("Peso molecular:", round(Descriptors.MolWt(mol), 2), "g/mol") imprimir("InChIKey:", Chem.MolToInchiKey(mol))
Se MolFromSmiles retornar None, a IA forneceu uma molécula inválida; Isto por si só é um aviso muito valioso. Se for válido, você não precisa mais perguntar ao modelo de linguagem o peso molecular; Está em suas mãos de forma determinística.
Passo a passo: interoperação AI + RDKit
- Identifique a molécula: Dê o nome à IA, peça SMILES. Por exemplo, “verifique SMILES canônicos para paracetamol”.
- Verifique: analise SMILES recebidos com MolFromSmiles. Se nenhum, rejeite.
- Canonicalizar: recupere a ortografia canônica com MolToSmiles; Sempre use isso de agora em diante.
- Calcule números: obtenha peso molecular, fórmula, número de anéis, número de doadores/aceitadores de ligações de hidrogênio, etc. do RDKit, não do AI.
- Fix ID: Gere InChIKey, pesquise no banco de dados (PubChem), confirme se a molécula é realmente o composto que você deseja.
Quatro modelos copiáveis
1) Solicitando SMILES (do substantivo à estrutura):
Tarefa: Forneça os SMILES canônicos para o seguinte composto. Composto: paracetamol (acetaminofeno). Regra: Forneça apenas a string SMILES e InChIKey, não adicione mais explicações. Se não tiver certeza, escreva "INSURE", não invente.
2) Solicitação de validação do SMILES (da estrutura ao controle):
Examine os SMILES abaixo: CC(=O)Nc1ccc(O)cc1Perguntas:1) Este é um SMILES válido?2) A que composto corresponde (nome comum)?3) Qual é a fórmula molecular?Nota: calcularei o peso molecular exato com RDKit; Você apenas dá a interpretação da sua estrutura.
3) Comparando duas representações:
Tenho dois SMILES:A) OCCB) CCOTarefa: São a mesma molécula ou diferentes? Escreva seu raciocínio. Observação: verificarei sua resposta canonizando-a no RDKit.
4) Explicação da estrutura (para fins de aprendizagem):
SMILES: Cn1cnc2c1c(=O)n(C)c(=O)n2CTarsa: Leia este SMILES peça por peça e explique o que cada símbolo significa (átomo, ligação, anel, aromatização) em turco simples. Diga também qual é o composto.
Alerta fraco / Alerta forte
Fraco:
Dê as propriedades do paracetamol.
“Recurso” é vago; A IA gera números aleatórios desde o peso molecular até o ponto de fusão, alguns dos quais estarão errados.
Forte:
Composto: paracetamol.1) Canonical SMILES e InChIKey ver.2) Forneça a fórmula molecular.Regra: NÃO DÊ valores NUMÉRICOS como peso molecular, ponto de fusão, etc.; Vou obtê-los com RDKit/PubChem. Basta fornecer o ID da compilação.
Diferença: direcionamos a IA para aquilo em que ela é forte (identidade de estrutura) e para longe daquilo em que ela é fraca (números experimentais).
Comparação de impressões
recurso
SORRISOS
InChI / InChIKey
Legibilidade
Alto (amigável às pessoas)
Baixo (amigável à máquina)
canonicidade
Sujeito a alterações (precisa de canonização)
naturalmente solteiro
Uso
comunicação humana, desenho, entrada
Correspondência de banco de dados, identidade
estereoquímica
Suportes (@ símbolos)
Suportes (em camadas)
para dar à IA
ideal
Ideal para confirmação
mini-casos
Caso 1 — Dois nomes, uma molécula. Um estudante pensou que “N-acetil-para-aminofenol” e “paracetamol” eram compostos diferentes e planejou dois experimentos separados. Quando canonizados seus SMILES no RDKit, ambos acabaram sendo CC(=O)Nc1ccc(O)cc1; Era a mesma molécula. Perdido: meio dia de planejamento; ganho: poderia ter sido evitado com uma verificação de canonização de 2 minutos.
Caso 2 — Captura SMILES inválida. A IA retornou CC(=O)Nc1ccc(O)cc1C( para uma variante (colchetes não fechados). O aluno executou MolFromSmiles, retornou None, viu imediatamente o erro e solicitou SMILES corrigido. Sem verificação, a estrutura defeituosa teria se espalhado para todas as contas.
Caso 3 — Peso molecular incorreto. YZ disse “peso molecular 214,3 g/mol” para ibuprofeno (C13H18O2). O cálculo do RDKit deu 206,28 g/mol. Diferença para 0,1 mol: 21,43 g com YZ, na verdade 20,63 g. Essa diferença de 3,9% atrapalharia a estequiometria e o cálculo do rendimento. Trouxe cálculo determinístico.
Erros comuns
- Dando o nome à molécula. Sinônimos/nomes comerciais são confusos. Sempre inclua SMILES ou InChI.
- Comparar SMILES sem canonizá-lo. OCC e CCO são diferentes no texto, mas iguais nas moléculas.
- Perguntando o peso molecular ao modelo da língua. Este é um cálculo determinístico; Isso é feito a partir do RDKit ou manualmente a partir da fórmula.
- Não perceber SMILES inválidos. Não verificando o retorno do MolFromSmiles None e continuando com a estrutura errada.
- Negligenciando a estereoquímica. Os dois enantiômeros (isômeros de imagem espelhada) podem exibir diferentes efeitos biológicos; Ignorando os sinais @/@@ em SMILES.
Atenção: A mesma fórmula molecular não significa moléculas diferentes. C2H6O é etanol (CCO) e éter dimetílico (COC). Igualdade de fórmula não é igualdade de identidade; Use InChIKey para identificação.
Em resumo
- Identifique moléculas por notação de estrutura, não por nome: SMILES com humano, InChI/InChIKey com banco de dados.
- RDKit é determinístico; A IA prevê, o RDKit calcula e verifica.
- Analise cada AI SMILES com MolFromSmiles e verifique se há Nenhum, depois canonize.
- Obtenha números como peso molecular e fórmula do RDKit, não do modelo de linguagem.
- Igualdade de fórmulas não significa identidade molecular; Use InChIKey para identificação.
Tarefa de aplicativo
Escolha três compostos (por exemplo, cafeína, ibuprofeno, glicina). Peça à IA SMILES canônicos para cada um. Em seguida, escreva um script RDKit (use o modelo acima) e gere: SMILES canônicos, fórmula molecular, peso molecular, InChIKey. Quantos dos SMILES dados pela IA eram válidos? Se YZ também forneceu o peso molecular, calcule a diferença em porcentagem com o valor do RDKit. Coloque suas descobertas em uma pequena tabela.
lista de verificação
- [ ] Eu sei o que são SMILES e InChI/InChIKey e quando usá-los.
- [] Eu verifico todos os SMILES dados pela IA com MolFromSmiles.
- [ ] Canonizo SMILES antes de compará-los.
- [] Estou obtendo o peso molecular e a fórmula do RDKit, não do modelo de linguagem.
- [] Confirmo a identidade da molécula no banco de dados com InChIKey.
- [ ] Conheço situações em que a estereoquímica é importante.