Build on the biomedical knowledge graph.
Plex integrates biological & chemical databases. Billions of relationships. Three API calls to insight. Resolve entities, search the graph, and let AutoPlex run autonomous research campaigns.
plex_api.py
# Resolve a compound name to a Plex ID
resolved = plex.resolve(["aspirin"])
→ chembl:CHEMBL25 (Aspirin, match: definitive)
# Search the knowledge graph for targets
results = plex.search(
ids=["chembl:CHEMBL25"],
instructions="Identify primary protein targets"
)
→ Found 847 relationships across 12 categories
- PTGS2 (COX-2) rank: 0.97 evidence: 1,243
- PTGS1 (COX-1) rank: 0.94 evidence: 987
- NFKB1 (NF-κB) rank: 0.71 evidence: 312
- IKBKB (IKK-β) rank: 0.58 evidence: 156
A unified biomedical knowledge graph
Plex integrates many databases into a single graph with billions of relationship edges. Every connection represents a discrete evidence point — traceable back to its source.
Graph-Based Ranking
Plex Rank 0–1
Results are ranked using centrality algorithms inspired by PageRank. The score (0–1) reflects the quantity and quality of supporting evidence. A rank of 1.0 means the strongest support in the graph. Results appearing across multiple independent categories carry the highest confidence.
Entity Categories
- Compounds: Small molecules, peptides, chemical entities
- Targets: Genes, proteins, biological macromolecules
- Diseases: Disease classifications and ontologies
- Pathways: Biological pathways and signaling cascades
- Gene Sets: Gene collections, signatures, complexes
- Expression Profiles: RNA/protein perturbation profiles
Three operations. Infinite insight.
Every Plex workflow combines these three primitives: resolve entities, search the graph, and let AutoPlex interpret the results.
01 Resolve
Convert names to Plex IDs
Turn gene symbols, compound names, SMILES strings, or disease terms into validated Plex IDs with match-quality indicators.
# Resolve any biomedical entity
resolved = plex.resolve(["aspirin", "BRD4", "lung cancer"])
Response:
[
{
"id": "unichem:161671",
"category": "compound",
"title": "Aspirin",
"match_type": "resolved-definitive"
},
{
"id": "entrezgene:23476",
"category": "target",
"title": "Bromodomain-containing protein 4",
"gene_symbol": "BRD4"
}
]
02 Search
Query the knowledge graph
Search billions of relationships with compound similarity, activity filtering, and natural language instructions interpreted by AutoPlex.
results = plex.search(
ids=["chembl:CHEMBL25"],
instructions="Identify primary targets",
simType="ecfp4",
simThreshold=0.4
)
Response:
{
"targets": [
{ "id": "entrezgene:5743", "title": "PTGS2", "rank": 0.97, "evidence": 1243 },
{ "id": "entrezgene:5742", "title": "PTGS1", "rank": 0.94, "evidence": 987 }
],
"pathways": [...],
"diseases": [...],
"search_id": "a1b2c3d4-..."
}
03 AutoPlex
Let AI run the research
Describe a research objective. AutoPlex autonomously plans multi-step query strategies, executes them, interprets results, and delivers a complete report.
report = plex.search(
ids=compound_ids,
instructions="""
Characterize this compound:
- Primary targets with binding data
- Mechanism of action
- Safety signals from FAERS
- Clinical trial landscape
"""
)
Response:
{
"analysis": "Aspirin (acetylsalicylic acid) primarily inhibits PTGS2 (COX-2) and PTGS1 (COX-1) with IC50 values of...",
"targets": [...],
"moa": [...],
"adverse_events": [...],
"clinical_trials": [...],
"evidence_links": [...]
}
Common workflow patterns
Real-world patterns used by computational biologists and chemists to accelerate drug discovery with Plex.
01 Target Identification from Chemical Structure
02 Disease Gene Signature Analysis
03 Biomarker Discovery from Expression Profiles
04 Cell Line Response Analysis
05 Cross-Species Validation
What’s in the graph
Plex integrates many databases spanning chemistry, genomics, transcriptomics, proteomics, clinical data, and scientific literature.
- Chemistry & Compounds
- Targets & Genes
- Gene Expression & Perturbations
- Pathways & Biology
- Cell Lines & Cancer
- Clinical & Safety
- Literature & IP
- Cheminformatics
Compound similarity & activity filtering
Fine-tune structural similarity searches with multiple fingerprint types, similarity methods, and bioactivity filters.
Fingerprint Types
| Type | Default Threshold | Description |
|---|---|---|
sim/chem |
0.75 |
Standard fingerprints, general-purpose similarity |
ecfp2 |
0.30 |
Extended connectivity, radius 2 |
ecfp4 |
0.30 |
Extended connectivity, radius 4 (most common) |
ecfp6 |
0.30 |
Extended connectivity, radius 6 |
ecfp8 |
0.30 |
Extended connectivity, radius 8 |
pubchem |
0.30 |
PubChem fingerprints |
none |
— | Exact matches only, no similarity expansion |
Similarity Methods
simMethod parameter |
|---|
tanimoto |
tversky |
euclid-sub |
Activity Filtering
# Filter by specific measurement type
activityFilter="IC50 <= 100"
activityFilter="Ki <= 50"
# Any measurement type
activityFilter="* <= 100"
How to integrate
Use Plex from Python, REST, Jupyter notebooks, or as an MCP server for AI agent workflows.
Ready to build on the biomedical knowledge graph?
Request API access to start resolving entities, searching billions of relationships, and running autonomous research with AutoPlex. Enterprise features include proprietary data integration, custom deployments, and dedicated scientific support.