medchem
Faz seu agente aplicar filtros de química medicinal para avaliar compostos. Ele usa regras de 'drug-likeness' e alertas estruturais.
O que ela faz
Esta ferramenta ajuda a verificar se moléculas (substâncias químicas) são adequadas para serem usadas como medicamentos. Ela aplica regras e listas de compostos indesejados para garantir que as moléculas sejam seguras e eficazes.
Quando usar
- ✓Ao escolher quais moléculas testar para novos medicamentos.
- ✓Ao remover moléculas com estruturas químicas problemáticas.
- ✓Ao garantir que as moléculas sigam regras conhecidas de 'drug-likeness'.
Exemplo do que pedir para a IA
“Verifique estas moléculas para ver se elas seguem as regras de Lipinski e não contêm alertas PAINS.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta usa regras matemáticas e listas de 'alertas' (estruturas químicas indesejadas) para analisar as moléculas. Ela verifica se cada molécula atende a critérios específicos de segurança e adequação.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add K-Dense-AI/scientific-agent-skills --skill medchemOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/medchem/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Medchem
Visão Geral
Medchem é uma biblioteca Python do datamol-io para filtragem e priorização molecular na descoberta de medicamentos. Aplique regras de "drug-likeness" derivadas da literatura, catálogos de alertas nomeados, limiares de complexidade, detecção de grupos químicos e uma linguagem de consulta personalizada para triar bibliotecas de compostos em escala. Filtros são diretrizes contextuais — combine com conhecimento de domínio e conhecimento do alvo.
Tempo de execução verificado: medchem 2.1.1, datamol 0.13.0, RDKit 2026.3.6; Python 3.11+. RuleFilters e classes estruturais retornam DataFrames do pandas. Filtros rodam localmente; instalação e consulta de documentação precisam de acesso à rede. Execução nativa da Lilly não foi testada nesta revisão.
Quando Usar Esta Habilidade
Esta habilidade deve ser usada quando:
- Aplicar regras de "drug-likeness" (Lipinski, Veber, CNS, lead-like) a bibliotecas de compostos
- Filtrar moléculas por alertas estruturais, PAINS ou regras de "screening-deck" da NIBR
- Priorizar compostos para "hit-to-lead" ou otimização de "lead"
- Calcular métricas de complexidade contra limiares derivados do ZINC
- Detectar grupos funcionais ou catálogos de subestruturas nomeadas
- Construir filtros multicritérios com a linguagem de consulta medchem
Instalação
uv pip install "medchem==2.1.1" "datamol==0.13.0" "rdkit==2026.3.6"
Integração opcional com Lilly: instale as ferramentas nativas "checksum-pinned" ao lado do Python ativo. Isso baixa o código-fonte, compila executáveis e executa testes de regressão nativos (compilador C++, make, zlib, Ruby; WSL no Windows). Este comando de instalação está documentado no upstream, não é executado aqui:
medchem install-lilly
Capacidades Principais
1. Regras de Química Medicinal
Aplique regras estabelecidas de "drug-likeness" via medchem.rules.
Listar regras disponíveis:
import medchem as mc
mc.rules.RuleFilters.list_available_rules_names()
# ['rule_of_five', 'rule_of_five_beyond', 'rule_of_four', 'rule_of_three', ...]
Regra única em uma molécula:
import datamol as dm
import medchem as mc
smiles = "CC(=O)OC1=CC=CC=C1C(=O)O" # aspirin
mc.rules.basic_rules.rule_of_five(smiles) # True
mc.rules.basic_rules.rule_of_cns(smiles) # True
mc.rules.basic_rules.rule_of_veber(smiles) # True
Múltiplas regras com RuleFilters (retorna um DataFrame):
import datamol as dm
import medchem as mc
mols = [dm.to_mol(s) for s in smiles_list]
rfilter = mc.rules.RuleFilters(
rule_list=["rule_of_five", "rule_of_oprea", "rule_of_cns", "rule_of_leadlike_soft"]
)
df = rfilter(mols=mols, n_jobs=-1, progress=True, keep_props=False)
# Columns: mol, pass_all, pass_any, rule_of_five, rule_of_oprea, ...
passing = df[df["pass_all"]]
Exemplos abaixo usam mol_list, smiles_list e candidates já analisados e fornecidos pelo chamador; rejeite estruturas ausentes/vazias antes de filtrar. Use keep_props=True para incluir descritores computados (mw, clogp, tpsa, etc.) no resultado.
2. Filtros de Alertas Estruturais
Detecte padrões problemáticos com medchem.structural. Ambas as classes retornam DataFrames com colunas pass_filter, status e reasons.
Alertas comuns (conjuntos de regras derivados da ChEMBL):
import medchem as mc
alert_filter = mc.structural.CommonAlertsFilters(alerts_set=["BMS", "Dundee", "Glaxo"])
df = alert_filter(mols=mol_list, n_jobs=-1, progress=True)
# df columns: mol, pass_filter, status, reasons
clean = df[df["pass_filter"]]
Filtros NIBR (curadoria de "screening-deck" da Novartis):
nibr_filter = mc.structural.NIBRFilters()
df = nibr_filter(mols=mol_list, n_jobs=-1, progress=True)
# df columns: mol, pass_filter, status, severity, reasons, n_covalent_motif, special_mol
A classe rejeita alertas de exclusão explícita. Para também rejeitar severidade de flag acumulada ≥10, use df["pass_filter"] & (df["severity"] < 10), ou mc.functional.nibr_filter(..., max_severity=10). O corte funcional é estrito < 10 e assume moléculas válidas: ele verifica apenas a severidade e pode admitir falhas de análise com severidade zero. Pré-valide as entradas.
3. Filtros de Catálogos Nomeados (PAINS, Brenk, etc.)
Use medchem.catalogs.NamedCatalogs para instâncias RDKit FilterCatalog, ou a API funcional:
import medchem as mc
# Listar catálogos nomeados disponíveis
mc.catalogs.list_named_catalogs()
# ['tox', 'pains', 'pains_a', 'brenk', 'nibr', 'zinc', ...]
# API funcional — True significa que a molécula passa (nenhum alerta correspondente)
…
Perguntas frequentes
O que são 'drug-likeness rules'?
São regras baseadas em estudos científicos que ajudam a prever se uma molécula tem características semelhantes às de medicamentos conhecidos, aumentando a chance de sucesso em testes.
O que são 'structural alerts'?
São padrões em estruturas químicas que frequentemente causam problemas de toxicidade ou reatividade indesejada. A ferramenta identifica essas estruturas para removê-las.
O que é 'Lipinski'?
É uma das regras de 'drug-likeness' mais famosas, que define limites para o tamanho, peso e outras propriedades de uma molécula para que ela tenha boas chances de ser absorvida pelo corpo.
Detalhes
Descrição original do autor
Applies medicinal chemistry filters for compound triage, using drug-likeness rules (Lipinski, Veber, CNS), structural alert catalogs (PAINS, NIBR, ChEMBL), complexity metrics, and the medchem query language for library filtering.
Popularidade
- Estrelas no GitHub
- 51 mil
- Posição no ranking
- #1906
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
13c-metabolic-flux
Estima fluxos metabólicos usando dados de rastreamento de isótopos de carbono-13. É útil para analisar o metabolismo celular e vias bioquímicas.
K-Dense-AI/scientific-agent-skills
adaptyv
Projeta experimentos de caracterização de proteínas usando a API Adaptyv. Ele ajuda a estimar custos, enviar sequências e monitorar resultados de laboratório.
K-Dense-AI/scientific-agent-skills
aeon
Realiza tarefas de aprendizado de máquina em séries temporais. É útil para classificar, prever, detectar anomalias e encontrar padrões em dados sequenciais.
K-Dense-AI/scientific-agent-skills
alphagenome
Consulta efeitos genômicos pré-calculados para variantes genéticas. Ele fornece pontuações e explicações para entender o impacto das variantes no genoma.
K-Dense-AI/scientific-agent-skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC