Consulte moléculas bioativas e dados de descoberta de fármacos do ChEMBL. Busque compostos por estrutura/propriedades, recupere dados de bioatividade (IC50, Ki), encontre inibidores, realize estudos de SAR, para química medicinal.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill chembl-database --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Chembl Database?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/artubss-chembl-database)More formats (shields.io, HTML) on the badges page.
---
name: chembl-database
description: "Consulte moléculas bioativas e dados de descoberta de fármacos do ChEMBL. Busque compostos por estrutura/propriedades, recupere dados de bioatividade (IC50, Ki), encontre inibidores, realize estudos de SAR, para química medicinal."
---
# Banco de Dados ChEMBL
## Visão Geral
ChEMBL é um banco de dados curado manualmente de moléculas bioativas mantido pelo European Bioinformatics Institute (EBI), contendo mais de 2 milhões de compostos, 19 milhões de medições de bioatividade, mais de 13.000 alvos de drogas, e dados sobre fármacos aprovados e candidatos em ensaios clínicos. Acesse e consulte esses dados programaticamente usando o cliente Python do ChEMBL para pesquisa em descoberta de fármacos e química medicinal.
## Quando Usar Esta Habilidade
Esta habilidade deve ser usada quando:
- **Buscas de compostos**: Encontrar moléculas por nome, estrutura ou propriedades
- **Informações de alvo**: Recuperar dados sobre proteínas, enzimas ou alvos biológicos
- **Dados de bioatividade**: Consultar medições IC50, Ki, EC50 ou outras atividades
- **Informações sobre fármacos**: Procurar fármacos aprovados, mecanismos ou indicações
- **Buscas de estrutura**: Realizar buscas de similaridade ou subestrutura
- **Quiminformática**: Analisar propriedades moleculares e aptidão para fármacos
- **Relações alvo-ligante**: Explorar interações composto-alvo
- **Descoberta de fármacos**: Identificar inibidores, agonistas ou moléculas bioativas
## Instalação e Configuração
### Cliente Python
O cliente Python do ChEMBL é necessário para acesso programático:
```bash
uv pip install chembl_webresource_client
```
### Padrão de Uso Básico
```python
from chembl_webresource_client.new_client import new_client
# Acesse diferentes endpoints
molecule = new_client.molecule
target = new_client.target
activity = new_client.activity
drug = new_client.drug
```
## Capacidades Principais
### 1. Consultas de Moléculas
**Recuperar por ID ChEMBL:**
```python
molecule = new_client.molecule
aspirin = molecule.get('CHEMBL25')
```
**Buscar por nome:**
```python
results = molecule.filter(pref_name__icontains='aspirin')
```
**Filtrar por propriedades:**
```python
# Encontre moléculas pequenas (MW <= 500) com LogP favorável
results = molecule.filter(
molecule_properties__mw_freebase__lte=500,
molecule_properties__alogp__lte=5
)
```
### 2. Consultas de Alvo
**Recuperar informações de alvo:**
```python
target = new_client.target
egfr = target.get('CHEMBL203')
```
**Buscar tipos de alvo específicos:**
```python
# Encontre todos os alvos de quinase
kinases = target.filter(
target_type='SINGLE PROTEIN',
pref_name__icontains='kinase'
)
```
### 3. Dados de Bioatividade
**Consultar atividades para um alvo:**
```python
activity = new_client.activity
# Encontre inibidores potentes de EGFR
results = activity.filter(
target_chembl_id='CHEMBL203',
standard_type='IC50',
standard_value__lte=100,
standard_units='nM'
)
```
**Obter todas as atividades para um composto:**
```python
compound_activities = activity.filter(
molecule_chembl_id='CHEMBL25',
pchembl_value__isnull=False
)
```
### 4. Buscas Baseadas em Estrutura
**Busca de similaridade:**
```python
similarity = new_client.similarity
# Encontre compostos semelhantes à aspirina
similar = similarity.filter(
smiles='CC(=O)Oc1ccccc1C(=O)O',
similarity=85 # Limiar de similaridade de 85%
)
```
**Busca de subestrutura:**
```python
substructure = new_client.substructure
# Encontre compostos contendo anel benzênico
results = substructure.filter(smiles='c1ccccc1')
```
### 5. Informações sobre Fármacos
**Recuperar dados de fármaco:**
```python
drug = new_client.drug
drug_info = drug.get('CHEMBL25')
```
**Obter mecanismos de ação:**
```python
mechanism = new_client.mechanism
mechanisms = mechanism.filter(molecule_chembl_id='CHEMBL25')
```
**Consultar indicações de fármaco:**
```python
drug_indication = new_client.drug_indication
indications = drug_indication.filter(molecule_chembl_id='CHEMBL25')
```
## Workflow de Consulta
### Workflow 1: Encontrando Inibidores para um Alvo
1. **Identifique o alvo** buscando por nome:
```python
targets = new_client.target.filter(pref_name__icontains='EGFR')
target_id = targets[0]['target_chembl_id']
```
2. **Consulte dados de bioatividade** para esse alvo:
```python
activities = new_client.activity.filter(
target_chembl_id=target_id,
standard_type='IC50',
standard_value__lte=100
)
```
3. **Extraia IDs de compostos** e recupere detalhes:
```python
compound_ids = [act['molecule_chembl_id'] for act in activities]
compounds = [new_client.molecule.get(cid) for cid in compound_ids]
```
### Workflow 2: Analisando um Fármaco Conhecido
1. **Obtenha informações do fármaco**:
```python
drug_info = new_client.drug.get('CHEMBL1234')
```
2. **Recupere mecanismos**:
```python
mechanisms = new_client.mechanism.filter(molecule_chembl_id='CHEMBL1234')
```
3. **Encontre todas as bioatividades**:
```python
activities = new_client.activity.filter(molecule_chembl_id='CHEMBL1234')
```
### Workflow 3: Estudo de Relação Estrutura-Atividade (SAR)
1. **Encontre compostos semelhantes**:
```python
similar = new_client.similarity.filter(smiles='query_smiles', similarity=80)
```
2. **Obtenha atividades para cada composto**:
```python
for compound in similar:
activities = new_client.activity.filter(
molecule_chembl_id=compound['molecule_chembl_id']
)
```
3. **Analise relações propriedade-atividade** usando propriedades moleculares dos resultados.
## Operadores de Filtro
ChEMBL suporta filtros de consulta no estilo Django:
- `__exact` - Correspondência exata
- `__iexact` - Correspondência exata case-insensitive
- `__contains` / `__icontains` - Correspondência de substring
- `__startswith` / `__endswith` - Correspondência de prefixo/sufixo
- `__gt`, `__gte`, `__lt`, `__lte` - Comparações numéricas
- `__range` - Valor em intervalo
- `__in` - Valor em lista
- `__isnull` - Verificação nulo/não nulo
## Exportação e Análise de Dados
Converta resultados para DataFrame do pandas para análise:
```python
import pandas as pd
activities = new_client.activity.filter(target_chembl_id='CHEMBL203')
df = pd.DataFrame(list(activities))
# Analise resultados
print(df['standard_value'].describe())
print(df.groupby('standard_type').size())
```
## Otimização de Desempenho
### Cache
O cliente automaticamente armazena resultados em cache por 24 horas. Configure o cache:
```python
from chembl_webresource_client.settings import Settings
# Desabilite o cache
Settings.Instance().CACHING = False
# Ajuste expiração do cache (segundos)
Settings.Instance().CACHE_EXPIRE = 86400
```
### Avaliação Lazy
Consultas executam apenas quando os dados são acessados. Converta para lista para forçar execução:
```python
# Consulta ainda não foi executada
results = molecule.filter(pref_name__icontains='aspirin')
# Force execução
results_list = list(results)
```
### Paginação
Resultados são automaticamente paginados. Itere através de todos os resultados:
```python
for activity in new_client.activity.filter(target_chembl_id='CHEMBL203'):
# Processe cada atividade
print(activity['molecule_chembl_id'])
```
## Casos de Uso Comuns
### Encontrar Inibidores de Quinase
```python
# Identifique alvos de quinase
kinases = new_client.target.filter(
target_type='SINGLE PROTEIN',
pref_name__icontains='kinase'
)
# Obtenha inibidores potentes
for kinase in kinases[:5]: # Primeiras 5 quinases
activities = new_client.activity.filter(
target_chembl_id=kinase['target_chembl_id'],
standard_type='IC50',
standard_value__lte=50
)
```
### Explorar Reposicionamento de Fármacos
```python
# Obtenha fármacos aprovados
drugs = new_client.drug.filter()
# Para cada fármaco, encontre todos os alvos
for drug in drugs[:10]:
mechanisms = new_client.mechanism.filter(
molecule_chembl_id=drug['molecule_chembl_id']
)
```
### Triagem Virtual
```python
# Encontre compostos com propriedades desejadas
candidates = new_client.molecule.filter(
molecule_properties__mw_freebase__range=[300, 500],
molecule_properties__alogp__lte=5,
molecule_properties__hba__lte=10,
molecule_properties__hbd__lte=5
)
```
## Recursos
### scripts/example_queries.py
Funções Python prontas para uso demonstrando padrões comuns de consulta ao ChEMBL:
- `get_molecule_info()` - Recupere detalhes de molécula por ID
- `search_molecules_by_name()` - Busca de molécula baseada em nome
- `find_molecules_by_properties()` - Filtragem baseada em propriedades
- `get_bioactivity_data()` - Consulte bioatividades para alvos
- `find_similar_compounds()` - Busca de similaridade
- `substructure_search()` - Correspondência de subestrutura
- `get_drug_info()` - Recupere informações de fármaco
- `find_kinase_inhibitors()` - Busca especializada de inibidores de quinase
- `export_to_dataframe()` - Converta resultados para DataFrame do pandas
Consulte este script para detalhes de implementação e exemplos de uso.
### references/api_reference.md
Documentação abrangente de API incluindo:
- Listagem completa de endpoints (molecule, target, activity, assay, drug, etc.)
- Todos os operadores de filtro e padrões de consulta
- Propriedades moleculares e campos de bioatividade
- Exemplos avançados de consulta
- Configuração e otimização de desempenho
- Tratamento de erros e rate limiting
Consulte este documento quando informações detalhadas de API forem necessárias ou ao solucionar problemas com consultas.
## Notas Importantes
### Confiabilidade de Dados
- Dados do ChEMBL são curados manualmente, mas podem conter inconsistências
- Sempre verifique o campo `data_validity_comment` em registros de atividade
- Esteja atento a flags `potential_duplicate`
### Unidades e Padrões
- Valores de bioatividade usam unidades padrão (nM, uM, etc.)
- `pchembl_value` fornece atividade normalizada (escala -log)
- Verifique `standard_type` para entender o tipo de medição (IC50, Ki, EC50, etc.)
### Rate Limiting
- Respeite as políticas de uso justo do ChEMBL
- Use cache para minimizar requisições repetidas
- Considere downloads em massa para grandes conjuntos de dados
- Evite sobrecarregar a API com requisições sucessivas rápidas
### Formatos de Estrutura Química
- Strings SMILES são o formato de estrutura principal
- Chaves InChI disponíveis para compostos
- Imagens SVG podem ser geradas via endpoint de imagem
## Recursos Adicionais
- Website ChEMBL: https://www.ebi.ac.uk/chembl/
- Documentação de API: https://www.ebi.ac.uk/chembl/api/data/docs
- GitHub do cliente Python: https://github.com/chembl/chembl_webresource_client
- Documentação de interface: https://chembl.gitbook.io/chembl-interface-documentation/
- Notebooks de exemplo: https://github.com/chembl/notebooksIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!