# dbparser: de bancos de dados complexos de medicamentos para fluxos de trabalho R reproduzíveis

HTML canônico: https://dsti.school/pt/techblog/dbparser-dados-farmacologicos-pacote-r

Esta versão em português brasileiro é gerada pelo mesmo build do site estático da DSTI que a página HTML canônica. Ela se destina à leitura por máquinas e à consulta concisa.

[DSTI TechBlog](https://dsti.school/pt/techblog)  /  Ex-alunos

Ex-alunos
Software de pesquisa de código aberto

Um projeto estudantil tornou-se uma infraestrutura de pesquisa mantida e revisada por pares. Mohammed Ali, ex-aluno da DSTI, criou o `dbparser` para transformar bancos de dados farmacológicos incompatíveis em objetos R consistentes e fluxos de integração reproduzíveis.

MA

Mohammed Ali
Ex-aluno da DSTI · Autor e mantenedor do dbparser · R e integração de dados farmacológicos

23 de junho de 2026
12 min de leitura
CRAN · OpenSci · JOSS

R
dbparser
farmacovigilância
bioinformática
código aberto
pesquisa reproduzível

![Logotipo oficial do pacote dbparser](https://dsti.school/assets/dsti-techblog-dbparser-logo.6ebb275baa.png)

## Três fontes. Um modelo de análise.

DrugBank, OnSides e TWOSIDES se tornam objetos R consistentes e rastreáveis.

DrugBank
XML aninhado

OnSides
CSV relacional

TWOSIDES
interações comprimidas
objeto dv
um objeto drogverse consistente

3
bancos de dados suportados

2.2.1
versão atual do CRAN

2018
primeira versão do CRAN

2026
Publicação JOSS

Grandes bancos de dados farmacológicos são valiosos porque preservam relações complexas entre medicamentos, alvos, vias, produtos, efeitos adversos e interações. Eles são difíceis de analisar exatamente pelo mesmo motivo. O DrugBank chega como XML profundamente aninhado; onSides como arquivos CSV relacionais; TWOSIDES como dados de interação compactados. `dbparser` converte essas diferentes fontes em objetos R consistentes e fluxos de trabalho de integração rastreáveis.

Importante

Acesso e licenciamento de dados dbparser analisa bancos de dados que o pesquisador está autorizado a acessar. Ele não redistribui o conteúdo restrito do DrugBank. A reprodutibilidade ainda requer o registro da versão do banco de dados de origem, das condições de acesso e da versão exata do pacote usado.

A abstração útil não é meramente um arquivo mais plano. É um modelo de objeto estável que preserva relacionamentos, divulga informações e procedências, ao mesmo tempo em que oferece aos analistas uma forma consistente de trabalhar.

## 01 O problema é estrutural, não cosmético

Um banco de dados farmacológico não é uma planilha com muitas colunas. Os registros de medicamentos se conectam a alvos, enzimas, transportadores, vias, produtos, referências e identificadores externos. Um analisador que apenas nivela o arquivo pode facilitar o carregamento do resultado e, ao mesmo tempo, destruir silenciosamente as relações que dão significado aos dados.

As fontes também discordam sobre formatos e identificadores. O DrugBank usa uma grande hierarquia XML. O OnSides distribui tabelas CSV relacionadas derivadas de rótulos de medicamentos. TWOSIDES usa uma representação plana comprimida de eventos adversos associados a pares de medicamentos. Os scripts ad-hoc podem unir uma análise, mas geralmente ocultam suposições sobre uniões, versões e valores ausentes.

DrugBank
`XML hierarchy`

Mecanismos, registros de medicamentos, alvos, vias e identificadores.

OnSides
`CSV tables`

Eventos adversos a medicamentos extraídos dos rótulos de medicamentos da FDA.

TWOSIDES
`CSV.GZ`

Eventos adversos associados a pares de medicamentos.

## 02 Um objeto comum sem apagar a fonte

dbparser apresenta o `dvobject`—um objeto drugverse implementado como uma lista R com padrões de acesso consistentes. Ele retém tabelas organizadas para análise, metadados sobre o processo de lançamento e análise do banco de dados e mapeamentos que descrevem como as tabelas se relacionam entre si.

Para uma única liberação do DrugBank, o objeto pode expor informações sobre medicamentos, sais, produtos, referências e as estruturas conectadas transportador-enzima-alvo-transportador. Quando as fontes são mescladas, o mesmo objeto ganha componentes de banco de dados aninhados e tabelas integradas, em vez de se tornar uma coleção não documentada de uniões.

### O que um objeto DV mantém unido

objeto pronto para análise

medicamentos
tabelas principais de medicamentos

cett
transportadores, enzimas, alvos, transportadores

produtos
produtos comerciais

references
artigos, links e livros

metadados
liberação e proveniência

## 03 Do analisador ao mecanismo de integração

O pacote atual usa o DrugBank como núcleo mecanístico. OnSIDES contribui com eventos adversos extraídos dos rótulos de medicamentos da FDA, enquanto TWOSIDES contribui com eventos adversos associados a combinações de medicamentos. A arquitetura hub-and-spoke reduz o número de mapeamentos de identificadores que precisam ser mantidos e torna explícito o caminho de integração.

Esse design é uma desvantagem: fluxos de trabalho de vários bancos de dados dependem dos identificadores e mapeamentos do DrugBank. Mas é uma compensação visível e testável, em vez de uma suposição implícita escondida em um caderno único.

OnSides
Eventos adversos a medicamentos extraídos dos rótulos de medicamentos da FDA.

DrugBank
DrugBank como centro mecanicista

TWOSIDES
Eventos adversos associados a pares de medicamentos.

## 04 A engenharia de software em torno do analisador

Um pacote de pesquisa útil precisa de mais do que funções de análise operacionais. Precisa de uma interface pública estável, testes, documentação, metadados, exemplos, versões identificadas e um processo de revisão das alterações. O dbparser é distribuído pelo CRAN, documentado pela rOpenSci, publicado sob licença MIT e mantido em um repositório público.

O pacote passou pela revisão por pares da rOpenSci, e seu artigo de software foi publicado no Journal of Open Source Software em fevereiro de 2026. Esse registro é importante porque torna verificáveis as alegações de qualidade: os usuários podem consultar o repositório, a discussão da revisão, a versão arquivada, a documentação e o rastreador de problemas.

Lançamentos versionados

Os arquivos CRAN tornam visível a evolução do pacote e a versão exata usada em uma análise.

Avaliação por pares

A revisão da rOpenSci e o registro no JOSS expõem a documentação, os testes e as decisões de projeto do software.

Entradas reproduzíveis

Os metadados mantêm as versões de origem e analisam os detalhes junto com o objeto pronto para análise.

## 05 Um fluxo de trabalho compacto e reproduzível

O código abaixo mostra a ideia arquitetônica sem escondê-la por trás de uma interface gráfica. Cada fonte é analisada de forma independente. Os objetos resultantes são então mesclados por meio de operações explícitas e encadeáveis. O código permanece deliberadamente inalterado na documentação do pacote.

R
Pipeline de integração

```r
library(dbparser)
library(dplyr)

drugbank_db <- parseDrugBank("data/drugbank.xml")
onsides_db  <- parseOnSIDES("data/onsides/")
twosides_db <- parseTWOSIDES("data/TWOSIDES.csv.gz")

final_db <- drugbank_db %>%
  merge_drugbank_onsides(onsides_db) %>%
  merge_drugbank_twosides(twosides_db)

head(final_db$integrated_data$drug_drug_interactions)
```

## 06 Do projeto estudantil à infraestrutura de pesquisa

O CRAN grava o primeiro lançamento do dbparser em dezembro de 2018. O arquivo público então mostra uma sequência de versões mantidas em vez de um upload único. Na versão 2.2.1, publicada em janeiro de 2026, o pacote foi além da análise exclusiva do DrugBank para oferecer suporte a fluxos de trabalho integrados de farmacovigilância em três fontes.

A documentação do projeto identifica o uso em mais de dez publicações revisadas por pares, abrangendo reaproveitamento de medicamentos, biomarcadores, modelagem de caminhos e análise de ensaios clínicos. A história mais forte, portanto, não é que um aluno tenha escrito um analisador. É que o trabalho sobreviveu ao contato com outros pesquisadores, à alteração dos bancos de dados de origem, à revisão de pacotes e à manutenção de longo prazo.

2018
dbparser 1.0.0 entra no CRAN.

2023–24
A série 2.x moderniza o pacote e seu modelo de dados.

2026
A versão 2.2.1 suporta integração com DrugBank, OnSides e TWOSIDES.

2026
O artigo do software é publicado no JOSS após uma revisão aberta.

## 07 O ex-aluno por trás do projeto de código aberto

Mohammed Ali é ex-aluno de DSTI, autor e mantenedor do dbparser. Ali Ezzat é coautor do pacote e do artigo do JOSS. Seu registro público permite que os leitores inspecionem o software em vários níveis: a versão estável do CRAN, o manual de referência completo, a documentação do OpenSCI, o repositório de origem, a discussão da revisão do software e a publicação arquivada do JOSS.

Essa abertura faz parte do resultado da engenharia. Uma ferramenta de pesquisa reproduzível deve permitir rastrear não apenas a saída de uma análise, mas também a versão do software, a liberação dos dados de origem e as decisões que transformaram uma na outra.

### Software, documentação e publicação

MA

### Mohammed Ali

Ex-aluno da DSTI, autor e mantenedor do dbparser. Seu trabalho reúne engenharia de software em R, integração de dados farmacológicos e infraestrutura de pesquisa reproduzível.

[LinkedIn](https://www.linkedin.com/in/mohammedali85/)

Fonte e nota editorial: Artigo desenvolvido a partir do registro do projeto estudantil anterior na DSTI, de um manuscrito fornecido e das fontes atuais do CRAN, da rOpenSci, do repositório e do JOSS. Os nomes técnicos, as funções do pacote, o código e os títulos das publicações foram preservados com exatidão.

---

© DSTI School of Engineering 2026 - Todos os direitos reservados. Instituição privada de ensino superior - V350 - 2 de agosto de 2026
