D

Drugbank Database System

Enterprise-grade skill for access, analyze, comprehensive, drug. Includes structured workflows, validation checks, and reusable patterns for scientific.

SkillClipticsscientificv1.0.0MIT
0 views0 copies

DrugBank Database System

A scientific computing skill for querying DrugBank — the comprehensive bioinformatics database containing detailed information about drugs, their mechanisms, interactions, targets, pharmacology, and chemical properties. DrugBank Database System helps you look up drug information, find drug-target relationships, and analyze drug interaction networks.

When to Use This Skill

Choose DrugBank Database System when:

  • Looking up drug mechanisms of action, targets, and pharmacology
  • Checking drug-drug interactions for polypharmacy analysis
  • Finding approved drugs for specific molecular targets
  • Building drug repurposing analyses based on target overlap

Consider alternatives when:

  • You need bioactivity data with quantitative IC50 values (use ChEMBL)
  • You need clinical trial status information (use ClinicalTrials.gov)
  • You need enzyme kinetics (use BRENDA)
  • You need pharmacogenomics data (use ClinPGx/PharmVar)

Quick Start

claude "Look up drug interactions and targets for metformin"
import requests import json # DrugBank API (requires API key) # Register at go.drugbank.com for API access API_KEY = "your_api_key" BASE_URL = "https://api.drugbank.com/v1" headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Search for a drug response = requests.get( f"{BASE_URL}/drugs", headers=headers, params={"q": "metformin"} ) drugs = response.json() drug = drugs[0] print(f"Name: {drug['name']}") print(f"DrugBank ID: {drug['drugbank_id']}") print(f"Type: {drug['type']}") print(f"Groups: {drug['groups']}") print(f"Description: {drug['description'][:200]}...") # Get targets targets_resp = requests.get( f"{BASE_URL}/drugs/{drug['drugbank_id']}/targets", headers=headers ) targets = targets_resp.json() for t in targets: print(f" Target: {t['name']} ({t['gene_name']})") print(f" Actions: {t['actions']}")

Core Concepts

DrugBank Data Categories

CategoryDescriptionExample
Drug InfoName, description, statusMetformin — approved antidiabetic
TargetsProtein targets and actionsAMPK — agonist
EnzymesMetabolizing enzymesCYP3A4 — substrate
TransportersDrug transport proteinsOCT1 — substrate
InteractionsDrug-drug interactionsWarfarin + aspirin
PathwaysMetabolic/signaling pathwaysmTOR pathway
ProductsMarketed formulationsGlucophage 500mg tablet

Drug-Drug Interactions

def get_drug_interactions(drugbank_id, headers): """Get drug-drug interactions for a compound""" resp = requests.get( f"{BASE_URL}/drugs/{drugbank_id}/drug-interactions", headers=headers, params={"severity": "major"} ) interactions = resp.json() for ix in interactions[:10]: print(f"Interacts with: {ix['affected_drug']['name']}") print(f" Severity: {ix['severity']}") print(f" Description: {ix['description'][:100]}...") return interactions

Target-Based Drug Discovery

def find_drugs_for_target(gene_name, headers): """Find all drugs targeting a specific protein""" resp = requests.get( f"{BASE_URL}/targets", headers=headers, params={"q": gene_name} ) targets = resp.json() for target in targets: print(f"\nTarget: {target['name']} ({target['gene_name']})") drugs_resp = requests.get( f"{BASE_URL}/targets/{target['id']}/drugs", headers=headers ) drugs = drugs_resp.json() for d in drugs: print(f" {d['name']} | {d['groups']} | {d['actions']}") find_drugs_for_target("EGFR", headers)

Configuration

ParameterDescriptionDefault
api_keyDrugBank API authentication keyRequired
api_base_urlAPI base URLhttps://api.drugbank.com/v1
result_limitMax results per query25
include_withdrawnInclude withdrawn drugsfalse
interaction_severityFilter interaction severityNone (all)

Best Practices

  1. Use DrugBank IDs for precise lookups. Drug names can be ambiguous — "aspirin" has multiple formulations. Use the DrugBank ID (DB00945) for unambiguous identification across queries.

  2. Filter interactions by severity. DrugBank classifies interactions as major, moderate, or minor. For clinical decision support, focus on major interactions. Including all severity levels creates noise for therapeutic analysis.

  3. Cross-reference targets with other databases. DrugBank targets map to UniProt accessions. Use these to cross-reference with ChEMBL (bioactivity data), PDB (structural data), and STRING (interaction networks) for comprehensive target analysis.

  4. Check drug approval status. DrugBank includes experimental, investigational, and withdrawn drugs alongside approved ones. Filter by groups (approved, investigational, experimental) to focus on clinically relevant compounds.

  5. Cache drug data for repeated analyses. Drug information doesn't change frequently. Cache API responses locally for drug repurposing screens or interaction analyses that query the same drugs repeatedly.

Common Issues

API returns 401 for valid credentials. DrugBank API access requires a separate license from the website account. Free academic access may have different endpoints than commercial access. Verify your API key permissions and the correct base URL.

Drug interaction data is incomplete. DrugBank covers well-documented interactions but may miss rare or recently discovered combinations. For critical clinical decisions, cross-reference with FDA drug labels and clinical pharmacology resources.

Target information differs from recent publications. DrugBank is manually curated and may lag behind the latest research. For newly discovered drug-target relationships, check the last update date and supplement with primary literature from PubMed.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates