agentsclimarketplace

Unid3

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

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 unid3

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

2.9 KB, 812 tokens by cl100k_base, as published. Nobody here has run it

UniD3 - Drug Discovery Knowledge Graph

Overview

UniD3 is a multi-knowledge-graph built from 150,000+ PubMed articles, stored as 6 GraphML files. It supports drug-disease matching, effectiveness assessment, and drug-target analysis.

Node Schema

Each node contains:

FieldDescription
entityNode name (e.g. RESPIRATORY DISEASES)
entity_typeType label (e.g. DISEASE, DRUG, GENE, HOST, BIOLOGICAL PROCESS)
descriptionFree-text description from PubMed articles
source_idChunk ID linking back to source article

Edge Schema

Each edge contains:

FieldDescription
source / targetConnected entity names
weightRelation strength (float)
descriptionRelationship description
keywordsAssociated keywords
source_idSource chunk ID

API Reference

list_graphs() → list[str]

Return names of all 6 GraphML files.

from UniD3 import list_graphs
list_graphs()
# → ["UniD3_L1T1", "UniD3_L1T2", "UniD3_L2T1", ...]

query_entities(entities, graph_names=None) → list[dict]

Look up one or more entities by name (case-insensitive).

from UniD3 import query_entities

# Single entity
query_entities("RESPIRATORY DISEASES")

# Multiple entities
query_entities(["CALVES", "INFLAMMATION MODULATION"])

# Restrict to specific graph
query_entities("CALVES", graph_names=["UniD3_L1T1"])

Returns list of dicts: {entity, entity_type, description, source_id, graph}

get_neighbors(entity, graph_names=None) → list[dict]

Get all direct neighbors and connecting edge info for an entity.

from UniD3 import get_neighbors
get_neighbors("CALVES")

Returns list of dicts: {graph, neighbor: {entity, entity_type, description, source_id}, edge: {source, target, weight, description, keywords, source_id}}

search_by_type(entity_type, graph_names=None, limit=50) → list[dict]

Filter entities by type.

from UniD3 import search_by_type
search_by_type("DISEASE", limit=10)
search_by_type("DRUG", graph_names=["UniD3_L1T1"])

search_by_keyword(keyword, graph_names=None, limit=50) → list[dict]

Substring match over entity names and descriptions.

from UniD3 import search_by_keyword
search_by_keyword("inflammation")
search_by_keyword("cancer", limit=20)

Typical Workflow

from UniD3 import query_entities, get_neighbors, search_by_type

# Step 1: Find a drug entity
hits = query_entities("ASPIRIN")

# Step 2: Explore its neighborhood (related diseases, targets, etc.)
neighbors = get_neighbors("ASPIRIN")

# Step 3: Filter neighbors by type
diseases = [n for n in neighbors if n["neighbor"]["entity_type"] == "DISEASE"]

What ships with it: 5 files

15.2 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.