agentsclimarketplace

Ddi corpus

Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/ddi_corpus

A curated collection of AI agent skills for biomedical research, covering genomics, proteomics, single-cell analysis, clinical AI, and protein design.From the repository description

Install
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill ddi_corpus

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.2 KB, 909 tokens by cl100k_base, as published. Nobody here has run it

DDI Corpus 2013 – Drug-Drug Interaction Query Skill

Overview

FieldValue
ResourceDDI Corpus 2013
CategoryDrug-centric / Drug NLP & Text Mining
SourceGitHub
PaperHerrero-Zazo et al., 2013
Corpus Size~2,740 unique entities, ~5,000 annotated DDI pairs
SourcesDrugBank descriptions + MEDLINE abstracts

The DDI Corpus 2013 is the standard benchmark for drug-drug interaction (DDI) extraction from biomedical text. Each XML file contains sentences with annotated drug entities and pairwise DDI labels.

DDI Types:

  • mechanism – pharmacokinetic mechanism described (e.g., altered absorption/metabolism)
  • effect – clinical effect of the interaction (e.g., increased bleeding risk)
  • advise – recommendation or warning about co-administration
  • int – stated interaction without further detail

Entity Types: drug, group, brand, drug_n (active substance not approved for human use)

Setup

1. Download & extract (one-time):

git clone https://github.com/isegura/DDICorpus.git
cd DDICorpus
unzip DDICorpus-2013.zip

2. Set the corpus path in 30_DDI_Corpus_2013.py:

CORPUS_ROOT = "/path/to/DDICorpus-master"  # contains DDICorpus/Train/ and DDICorpus/Test/

Or pass --root at runtime or set env var DDI_CORPUS_ROOT.

Usage

Python API

from 30_DDI_Corpus_2013 import query_entities, list_all_entities, corpus_stats

# Query a single drug
result = query_entities("aspirin")

# Query multiple drugs at once
result = query_entities(["warfarin", "metformin", "digoxin"])

# List all entity names in the corpus
names = list_all_entities()

# Get corpus-level statistics
stats = corpus_stats()

CLI (直接运行)

python 30_DDI_Corpus_2013.py

直接运行即输出 demo 结果(corpus 统计 → 单实体查询 → 批量查询 → 未找到示例)。 修改 __main__ 块中的实体名即可自定义查询。

Output Format

query_entities returns a JSON string. Each element:

{
  "query": "aspirin",
  "found": true,
  "canonical_names": ["ASPIRIN", "Aspirin", "aspirin"],
  "entity_types": ["brand", "drug"],
  "total_interactions": 65,
  "interactions": [
    {
      "partner": "ketoprofen",
      "ddi_type": "mechanism",
      "sentence": "concurrent administration of aspirin decreased ketoprofen protein binding...",
      "source": "Train/DrugBank"
    }
  ],
  "example_sentences": ["..."]
}

If an entity is not found: {"query": "xyz", "found": false}.

Parameters

ParameterDefaultDescription
entities(required)str or list[str] — drug names to look up (case-insensitive)
corpus_rootCORPUS_ROOTPath to the extracted DDICorpus-master directory
max_interactions20Maximum interaction records returned per entity
max_sentences5Maximum example sentences returned per entity

Dependencies

Python 3.10+ standard library only (xml.etree.ElementTree, json, os, collections). No third-party packages required.

What ships with it: 5 files

15.5 KB alongside SKILL.md, 4 of them executable

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.