Skip to content
Back to skills

Chembl Database

ASecurity

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.

  • 11 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 8, 2026
documentationpythongobashdjangogitapidatabasedocumentation

Works with

  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill chembl-database --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Chembl Database?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Chembl Database
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/artubss-chembl-database/badge)](https://www.skillsdirectory.com/skills/artubss-chembl-database)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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/notebooks

Files in this skill

  • SKILL.md10.8 KB
  • references/api_reference.md6.7 KB
  • scripts/example_queries.py7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in documentation →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.