Agent skill

Drugbank Database

by aipoch in aipoch/medical-research-skills

Programmatic access to DrugBank drug and target data; use when you need to download, parse, and analyze DrugBank XML for properties, interactions, pathways, and pharmacology.

MITAuto-check passedData & Analytics

Install Drugbank Database

skills CLI
$ npx skills add aipoch/medical-research-skills --skill drugbank-database -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aipoch/medical-research-skills drugbank-database --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aipoch/medical-research-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'scientific-skills/Evidence Insight/drugbank-database' .claude/skills/drugbank-database && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
drugbank-database
GitHub stars
1.9k
Token cost
~1.6k tokens
SKILL.md length
344 words
Files
8 (incl. scripts, references)
Skills in repo
578
Repo updated
First seen
Licence
MIT

At a glance

Programmatic access to DrugBank drug and target data; use when you need to download, parse, and analyze DrugBank XML for properties, interactions, pathways, and pharmacology.

  • You need to download
  • SKILL.md covers When to Use, Key Features, Dependencies and Example Usage, plus 1 more section
  • Runs Python scripts from its folder; reaches drugbank.ca
  • Analyze DrugBank XML for properties

What it does

Drugbank Database is an agent skill from aipoch/medical-research-skills. Programmatic access to DrugBank drug and target data; use when you need to download, parse, and analyze DrugBank XML for properties, interactions, pathways, and pharmacology.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `drugbank-database_audit_result_v1.json`, `references/data-access.md` and `references/drug-queries.md`).

It sits in Data & Analytics, covering Drug discovery and cheminformatics. The repository describes itself as: Hundreds of agent skills for medical research, including protocol design, data analysis, evidence insights, and academic writing. The licence is MIT.

When your agent uses it

  • You need to download
  • Analyze DrugBank XML for properties

Example prompts

  • “/drugbank-database”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 686e09d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • drugbank.ca

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Drugbank Database loads about 1.6k tokens when it runs, and up to ~1.7k if it reads all its reference files. Until then it costs about 48 tokens; SKILL.md has 344 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from aipoch/medical-research-skills at commit 686e09d, republished under its MIT licence (© aipoch). 344 words, ~1,604 tokens.

Download SKILL.mdSave it as .claude/skills/drugbank-database/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
drugbank-database
description
Programmatic access to DrugBank drug and target data; use when you need to download, parse, and analyze DrugBank XML for properties, interactions, pathways, and pharmacology.
license
MIT
author
AIPOCH

Source: https://github.com/aipoch/medical-research-skills

When to Use

  • You need to extract structured drug properties (e.g., identifiers, synonyms, ATC codes) from DrugBank XML for downstream analysis.
  • You want to build and analyze drug–drug interaction (DDI) networks from DrugBank interaction records.
  • You are mapping drugs to targets (proteins/genes) to support target discovery, mechanism-of-action analysis, or enrichment workflows.
  • You need to connect drugs to pathways and pharmacology annotations for systems pharmacology or knowledge graph construction.
  • You want to generate tabular datasets (CSV/Parquet) from DrugBank for use in notebooks, dashboards, or ML pipelines.

Key Features

  • Programmatic download of DrugBank releases via drugbank-downloader (requires DrugBank access).
  • XML parsing and traversal using lxml for reliable extraction of nested DrugBank entities.
  • Data wrangling into pandas DataFrames for filtering, joining, and export.
  • Network construction and analysis with networkx (e.g., DDI graphs, drug–target bipartite graphs).
  • Optional cheminformatics support with rdkit for structure-based processing (e.g., SMILES/InChI handling when present).

Dependencies

  • drugbank-downloader (version varies by your environment)
  • lxml>=4.9
  • pandas>=2.0
  • networkx>=3.0
  • rdkit>=2022.09 (optional; required only for structure/chemistry workflows)

Example Usage

python
"""
End-to-end example:
1) Parse a local DrugBank XML file
2) Extract a minimal drug table
3) Extract drug-drug interactions
4) Build a DDI graph

Prerequisites:
- You must obtain DrugBank XML via your DrugBank account/license.
- Place the XML file at ./drugbank.xml (or update the path).
"""

from lxml import etree
import pandas as pd
import networkx as nx

DRUGBANK_XML_PATH = "./drugbank.xml"
NS = {"db": "http://www.drugbank.ca"}  # DrugBank XML namespace

# --- Parse XML ---
tree = etree.parse(DRUGBANK_XML_PATH)
root = tree.getroot()

# --- Extract drug records (minimal fields) ---
drugs = []
for drug in root.xpath("//db:drug", namespaces=NS):
    drugbank_id = drug.xpath("string(db:drugbank-id[@primary='true'])", namespaces=NS).strip()
    name = drug.xpath("string(db:name)", namespaces=NS).strip()
    drug_type = drug.get("type", "").strip()

    # Optional: first SMILES if present
    smiles = drug.xpath(
        "string(db:calculated-properties/db:property[db:kind='SMILES']/db:value)",
        namespaces=NS,
    ).strip()

    drugs.append(
        {
            "drugbank_id": drugbank_id,
            "name": name,
            "type": drug_type,
            "smiles": smiles or None,
        }
    )

drugs_df = pd.DataFrame(drugs).dropna(subset=["drugbank_id"])
print("Drugs:", len(drugs_df))
print(drugs_df.head())

# --- Extract drug-drug interactions ---
interactions = []
for drug in root.xpath("//db:drug", namespaces=NS):
    src_id = drug.xpath("string(db:drugbank-id[@primary='true'])", namespaces=NS).strip()
    src_name = drug.xpath("string(db:name)", namespaces=NS).strip()

    for ddi in drug.xpath("db:drug-interactions/db:drug-interaction", namespaces=NS):
        tgt_id = ddi.xpath("string(db:drugbank-id)", namespaces=NS).strip()
        tgt_name = ddi.xpath("string(db:name)", namespaces=NS).strip()
        description = ddi.xpath("string(db:description)", namespaces=NS).strip()

        if src_id and tgt_id:
            interactions.append(
                {
                    "source_id": src_id,
                    "source_name": src_name,
                    "target_id": tgt_id,
                    "target_name": tgt_name,
                    "description": description or None,
                }
            )

ddi_df = pd.DataFrame(interactions)
print("Interactions:", len(ddi_df))
print(ddi_df.head())

# --- Build a DDI graph ---
G = nx.from_pandas_edgelist(
    ddi_df,
    source="source_id",
    target="target_id",
    edge_attr=["description"],
    create_using=nx.Graph(),
)

print("DDI graph nodes:", G.number_of_nodes())
print("DDI graph edges:", G.number_of_edges())

# Example analysis: top 10 drugs by interaction degree
top_degree = sorted(G.degree, key=lambda x: x[1], reverse=True)[:10]
top_degree_df = pd.DataFrame(top_degree, columns=["drugbank_id", "degree"]).merge(
    drugs_df[["drugbank_id", "name"]],
    on="drugbank_id",
    how="left",
)
print(top_degree_df)

Implementation Details

  • Access & authentication

    • DrugBank data access requires a free academic account or a paid license depending on your use case.
    • The drugbank-downloader step is responsible for fetching the release artifacts; ensure you comply with DrugBank terms.
  • XML parsing approach

    • DrugBank is distributed as a large XML document; lxml.etree is used for robust XPath-based extraction.
    • The XML uses a namespace (commonly http://www.drugbank.ca); XPath queries must include the namespace mapping (e.g., NS = {"db": "http://www.drugbank.ca"}).
  • Core extraction patterns

    • Primary DrugBank ID: db:drugbank-id[@primary='true']
    • Drug name: db:name
    • Calculated properties (e.g., SMILES): db:calculated-properties/db:property[db:kind='SMILES']/db:value
    • Drug interactions: db:drug-interactions/db:drug-interaction with fields db:drugbank-id, db:name, db:description
  • Data modeling

    • Use pandas DataFrames for normalized tables (drugs, targets, interactions, pathways).
    • Use networkx for graph representations:
      • DDI graph: nodes are drugs, edges are interactions (store description as edge attribute).
      • Drug–target graph: bipartite graph with drug nodes and target nodes.
  • Performance considerations

    • DrugBank XML can be large; for memory-sensitive environments, consider iterative parsing (etree.iterparse) and writing intermediate results to disk.
    • Normalize identifiers early (e.g., always keep primary DrugBank IDs) to simplify joins across tables.
  • Further references

    • See: references/data-access.md
    • See: references/drug-queries.md
    • See: references/interactions.md

© aipoch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in scientific-skills/Evidence Insight/drugbank-database of aipoch/medical-research-skills.

  • SKILL.md
  • drugbank-database_audit_result_v1.json
  • references/data-access.md
  • references/drug-queries.md
  • references/interactions.md
  • scripts/analyze_interactions.py
  • scripts/download_drugbank.py
  • scripts/parse_xml.py

Open the folder on GitHubat commit 686e09d

Compare with similar skills

Drugbank Database next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Drugbank Database compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Drugbank Database this skillaipoch/medical-research-skills1.9k—~1.6kAutomated safety check: PassMIT
Molecular Visualization 3dmoljaechang-hits/SciAgent-Skills374—~3.2kAutomated safety check: PassBSD-3-Clause
Molfeatdavila7/claude-code-templates33k9 repos~3.7kAutomated safety check: PassMIT
Daphne KollerK-Dense-AI/mimeo282—~1.8kAutomated safety check: PassMIT
RDKit Descriptors and Fingerprintsjinzhezenggroup/computational-chemistry-agent-skills148—~2.3kAutomated safety check: PassLGPL-3.0
Unimoljinzhezenggroup/computational-chemistry-agent-skills148—~1.5kAutomated safety check: PassLGPL-3.0-or-later

Similar skills

  • Molecular Visualization 3dmol

    jaechang-hits/SciAgent-Skills

    3Dmol.js WebGL molecular visualization emitted as self-contained HTML.

    374 GitHub stars~3.2k tokensUpdated 11 days ago
    Data & AnalyticsAuto-check passed
  • Molfeat

    davila7/claude-code-templates

    Molecular featurization for ML (100+ featurizers). An agent skill from davila7/claude-code-templates.

    33k GitHub starsUsed in 9 repos~3.7k tokens
    Data & AnalyticsAuto-check passed
  • Daphne Koller

    K-Dense-AI/mimeo

    Applies the reasoning style of Daphne Koller (machine learning pioneer, co-founder of Coursera, founder and CEO of Insitro).

    282 GitHub stars~1.8k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • RDKit Descriptors and Fingerprints

    jinzhezenggroup/computational-chemistry-agent-skills

    Computes RDKit physicochemical descriptors and molecular fingerprints from SMILES through a uv-run CLI script that skips and logs invalid molecules.

    148 GitHub stars~2.3k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Unimol

    jinzhezenggroup/computational-chemistry-agent-skills

    A standardized CLI wrapper for Uni-Mol molecular ML workflows that handles representation extraction (embeddings), model training (regression/classification), and property prediction with built-in…

    148 GitHub stars~1.5k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Bio Qsar Modeling

    GPTomics/bioSkills

    Builds QSAR / QSPR models using chemprop D-MPNN, MolFormer, Uni-Mol, ChemBERTa, random forest baselines, and Gaussian processes with explicit handling of OECD 5 principles, applicability domain…

    1.2k GitHub starsUsed in 2 repos~5.5k tokens
    Data & AnalyticsAuto-check passed

More from aipoch/medical-research-skills

All 578 skills in this repo
  • Academic Poster Generator

    aipoch/medical-research-skills

    Complete workflow for generating academic research posters from PDF literature; use when you need to extract paper content from PDFs and produce a LaTeX-based poster…

    1.9k GitHub stars~2.2k tokensUpdated 23 days ago
    Auto-check passed
  • Diagnostic Study Quality Assessment Quadas

    aipoch/medical-research-skills

    Analyzes clinical diagnostic accuracy studies for bias using the QUADAS-2 tool.

    1.9k GitHub stars~1.4k tokensUpdated 23 days ago
    Auto-check passed
  • Exploratory Data Analysis

    aipoch/medical-research-skills

    Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.

    1.9k GitHub stars~3.7k tokensUpdated 23 days ago
    Auto-check passed
  • Iso Certification

    aipoch/medical-research-skills

    A toolkit for preparing ISO 13485:2016 certification documentation for medical device QMS.

    1.9k GitHub stars~1.8k tokensUpdated 23 days ago
    Auto-check passed
  • Journal Skills

    aipoch/medical-research-skills

    Recommends target journals for manuscript submission by analyzing the paper topic/abstract and the journal distribution of similar PubMed literature; use when users ask for journal…

    1.9k GitHub stars~1.7k tokensUpdated 23 days ago
    Auto-check passed
  • Latex Posters

    aipoch/medical-research-skills

    Creates academic-poster writing packages for LaTeX using beamerposter, tikzposter, or baposter.

    1.9k GitHub stars~1.3k tokensUpdated 23 days ago
    Auto-check passed

Questions about Drugbank Database

What does Drugbank Database do?

Programmatic access to DrugBank drug and target data; use when you need to download, parse, and analyze DrugBank XML for properties, interactions, pathways, and pharmacology. Drugbank Database is an agent skill from aipoch/medical-research-skills. Programmatic access to DrugBank drug and target data; use when you need to download, parse, and analyze DrugBank XML for properties, interactions, pathways, and pharmacology.

When should I use Drugbank Database?

Drugbank Database fits situations like: you need to download; analyze DrugBank XML for properties.

How do I install Drugbank Database in Claude Code?

Run `npx skills add aipoch/medical-research-skills --skill drugbank-database -a claude-code`. Or copy the skill folder (scientific-skills/Evidence Insight/drugbank-database in aipoch/medical-research-skills) into .claude/skills/drugbank-database in your project. Claude Code loads it when a task matches its description.

How do I install Drugbank Database in Codex?

Run `npx skills add aipoch/medical-research-skills --skill drugbank-database -a codex`. Or copy the skill folder (scientific-skills/Evidence Insight/drugbank-database in aipoch/medical-research-skills) into .agents/skills/drugbank-database in your project. Codex loads it when a task matches its description.

Can I use Drugbank Database in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aipoch/medical-research-skills --skill drugbank-database -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/drugbank-database, .gemini/skills/drugbank-database, .github/skills/drugbank-database and .opencode/skills/drugbank-database in your project.

What does Drugbank Database need to run?

Going by SKILL.md and its folder, Drugbank Database needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Drugbank Database access the network?

SKILL.md names 1 domain. In commands or code: drugbank.ca; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Drugbank Database safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Drugbank Database use?

Drugbank Database is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Drugbank Database use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 123 tokens, read only when the agent opens those files.

What are the alternatives to Drugbank Database?

Skills that share tags, products or a category with Drugbank Database: Molecular Visualization 3dmol (jaechang-hits/SciAgent-Skills, 374 stars), Molfeat (davila7/claude-code-templates, 33k stars), Daphne Koller (K-Dense-AI/mimeo, 282 stars) and RDKit Descriptors and Fingerprints (jinzhezenggroup/computational-chemistry-agent-skills, 148 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Drugbank Database?

aipoch (a GitHub organization) maintains it in aipoch/medical-research-skills, which has 1,937 GitHub stars. The repository holds 578 skills in this directory. The repository was last updated on September 17, 2026.

Source: aipoch/medical-research-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.