Drug Research Strategy
Comprehensive drug investigation using 50+ ToolUniverse tools across chemical databases, clinical trials, adverse events, pharmacogenomics, and literature.
KEY PRINCIPLES:
- Report-first approach - Create report file FIRST, then populate progressively
- Compound disambiguation FIRST - Resolve identifiers before research
- Citation requirements - Every fact must have inline source attribution
- Evidence grading - Grade claims by evidence strength (T1-T4)
- Mandatory completeness - All sections must exist, even if "data unavailable"
- English-first queries - Always use English drug/compound names in tool calls, even if the user writes in another language. Only try original-language terms as a fallback. Respond in the user's language
LOOK UP, DON'T GUESS
When asked about a drug, query ChEMBL/PubChem/DailyMed FIRST. Don't guess at mechanism, targets, or side effects — look them up. When you're not sure about a fact, your first instinct should be to SEARCH for it using tools, not to reason harder from memory.
Drug Mechanism Reasoning
When investigating a drug's mechanism of action, trace the full causal chain:
- Target engagement - Which protein(s) does the drug bind, and with what affinity/selectivity?
- Molecular effect - Does binding inhibit, activate, or modulate the target's function?
- Pathway consequence - Which signaling or metabolic pathway is altered downstream?
- Cellular phenotype - What changes occur at the cell level (proliferation, apoptosis, secretion)?
- Physiological outcome - How does the cellular effect translate to the therapeutic benefit in the patient?
Workflow Overview
1. Report-First Approach (MANDATORY)
DO NOT show the search process or tool outputs to the user. Instead:
- Create the report file FIRST -
[DRUG]drugreport.md with all 11 section headers and [Researching...] placeholders. See [REPORTTEMPLATE.md](REPORTTEMPLATE.md) for the full template.
- Progressively update the report - Replace placeholders with findings as you query each tool.
- Use ALL relevant tools - Query multiple databases for each data type; cross-reference across sources.
2. Citation Requirements (MANDATORY)
Every piece of information MUST include its source. Use inline citations:
*Source: PubChem via `PubChem_get_compound_properties_by_CID` (CID: 4091)*
3. Progressive Writing Workflow
Step 1: Create report file with all section headers
Step 2: Resolve compound identifiers -> Update Section 1
Step 3: Query PubChem/ADMET-AI/DailyMed SPL -> Update Section 2 (Chemistry)
Step 4: Query FDA Label MOA + ChEMBL + DGIdb -> Update Section 3 (Mechanism)
Step 5: Query ADMET-AI tools -> Update Section 4 (ADMET)
Step 6: Query ClinicalTrials.gov -> Update Section 5 (Clinical)
Step 7: Query FAERS/DailyMed -> Update Section 6 (Safety)
Step 8: Query PharmGKB -> Update Section 7 (Pharmacogenomics)
Step 9: Query DailyMed/Orange Book -> Update Section 8 (Regulatory)
Step 10: Query PubMed/literature -> Update Section 9 (Literature)
Step 11: Synthesize findings -> Update Executive Summary & Section 10
Step 12: Document all sources -> Update Section 11 (Data Sources)
Compound Disambiguation (Phase 1)
CRITICAL: Establish compound identity before any research.
Identifier Resolution Chain
1. PubChem_get_CID_by_compound_name(compound_name)
-> Extract: CID, canonical SMILES, formula
2. ChEMBL_search_molecules(query=drug_name)
-> Extract: ChEMBL ID, pref_name
3. DailyMed_search_spls(drug_name)
-> Extract: Set ID, NDC codes (if approved)
4. PharmGKB_search_drugs(query=drug_name)
-> Extract: PharmGKB ID (PA...)
Handle Naming Ambiguity
| Issue |
Example |
Resolution |
| Salt forms |
metformin vs metformin HCl |
Note all CIDs; use parent compound |
| Isomers |
omeprazole vs esomeprazole |
Verify SMILES; separate entries if distinct |
| Prodrugs |
enalapril vs enalaprilat |
Document both; note conversion |
| Brand confusion |
Different products same name |
Clarify with user |
Research Paths Summary
Each path has detailed tool chains and output examples in [REPORTGUIDELINES.md](REPORTGUIDELINES.md).
PATH 1: Chemical Properties & CMC
Tools: PubChem properties -> ADMET-AI physicochemical -> ADMET-AI solubility -> DailyMed chemistry/description Output: Physicochemical table, Lipinski assessment, QED score, salt forms, formulation comparison
PATH 2: Mechanism & Targets
Tools: DailyMed MOA -> ChEMBL activities (NOT ChEMBLgetmoleculetargets) -> ChEMBL target details -> DGIdb -> PubChem bioactivity Critical: Derive targets from activities filtered to pChEMBL >= 6.0. Avoid ChEMBLgetmoleculetargets. Output: FDA MOA text, target table with UniProt/potency, selectivity profile
PATH 3: ADMET Properties
Tools: ADMET-AI (bioavailability, BBB, CYP, clearance, toxicity) Fallback: DailyMed clinicalpharmacology + pharmacokinetics + druginteractions Critical: If ADMET-AI fails, automatically use fallback. Never leave Section 4 empty.
PATH 4: Clinical Trials
Tools: searchclinicaltrials -> compute phase counts -> extract outcomes/AEs -> fdapharmacogenomicbiomarkers Critical: Section 5.2 must show actual counts by phase/status in table format.
PATH 5: Post-Marketing Safety
Tools: FAERS (reactions, seriousness, outcomes, deaths, age) + DailyMed (DDI, dosing, warnings) Critical: Include FAERS date window, seriousness breakdown, and limitations paragraph.
PATH 6: Pharmacogenomics
Tools: PharmGKB (search -> details -> annotations -> guidelines) Fallback: DailyMed pharmacogenomics section + PubMed literature
PATH 7: Regulatory & Patents
Tools: FDA Orange Book (search, approval history, exclusivity, patents, generics) + DailyMed (special populations via LOINC codes) Note: US-only data; document EMA/PMDA limitation.
PATH 8: Real-World Evidence
Tools: ClinicalTrials.gov (OBSERVATIONAL studies) + PubMed (real-world, registry, surveillance)
PATH 9: Comparative Analysis
Tools: Abbreviated tool chains for each comparator + head-to-head trial search + PubMed meta-analyses
FDA Label Core Fields
For approved drugs, retrieve these DailyMed sections early (after getting set_id):
| Batch |
Sections |
Maps to Report |
| Phase 1 |
mechanismofaction, pharmacodynamics, chemistry |
Sections 2-3 |
| Phase 2 |
clinicalpharmacology, pharmacokinetics, druginteractions |
Sections 4, 6.5 |
| Phase 3 |
warningsandcautions, adversereactions, dosageand_administration |
Sections 6, 8.2 |
| Phase 4 |
pharmacogenomics, clinicalstudies, description, inactiveingredients |
Sections 5, 7 |
Fallback Chains
| Primary Tool |
Fallback |
Use When |
PubChemgetCIDbycompound_name |
ChEMBLsearchdrugs |
Name not in PubChem |
ChEMBLgetmolecule_targets |
Use ChEMBLsearchactivities instead |
Always avoid this tool |
ChEMBLgetactivity |
PubChemBioAssaygetassay_summary |
No ChEMBL ID |
DailyMedsearchspls |
PubChemToxgetacute_effects |
DailyMed timeout |
PharmGKBsearchdrugs |
DailyMed PGx sections + PubMed |
PharmGKB unavailable |
PharmGKBgetdosing_guidelines |
DailyMed pharmacogenomics section |
PharmGKB API error |
FAERScountreactionsbydrug_event |
Document "FAERS unavailable" + use label AEs |
API error |
ADMETAI_* (all tools) |
DailyMed clinical_pharmacology + pharmacokinetics |
Invalid SMILES or API error |
Quick Reference: Tools by Use Case
| Use Case |
Primary Tool |
Fallback |
Evidence |
| Name -> CID |
PubChemgetCIDbycompound_name |
ChEMBLsearchdrugs |
T1 |
| Properties |
PubChemgetcompoundpropertiesby_CID |
ADMET-AI physicochemical |
T1/T2 |
| FDA MOA |
DailyMedparseclinicalpharmacology (mechanismof_action) |
- |
T1 |
| Targets |
ChEMBLsearchactivities -> ChEMBLgettarget |
DGIdbgetdrug_info |
T1 |
| ADMET |
ADMETAIpredict* (5 tools) |
DailyMed PK sections |
T2/T1 |
| Trials |
searchclinicaltrials |
- |
T1 |
| Trial outcomes |
extractclinicaltrial_outcomes |
- |
T1 |
| FAERS |
FAERScountreactionsbydrug_event |
Label adverse_reactions |
T1 |
| Dose mods |
DailyMedparseclinical_pharmacology (dosage, warnings) |
- |
T1 |
| PGx |
PharmGKBsearchdrugs |
DailyMed PGx + PubMed |
T2/T1 |
| Label |
DailyMedsearchspls |
PubChemToxgetacute_effects |
T1 |
| Literature |
PubMedsearcharticles |
EuropePMCsearcharticles |
Varies |
| Regulatory |
FDAOrangeBook* tools |
DailyMed label data |
T1 |
See [TOOLSREFERENCE.md](TOOLSREFERENCE.md) for the complete tool listing with parameters and input format requirements.
Type Normalization
Many tools require string inputs. Always convert IDs before API calls:
- ChEMBL IDs, PubMed IDs, NCT IDs: convert int -> str
- SMILES for ADMET-AI: pass as list
["SMILES_STRING"]
- FAERS drug names: use UPPERCASE (e.g.,
"METFORMIN")
- ChEMBL IDs: full format
"CHEMBL1431" not "1431"
- PharmGKB IDs: PA prefix
"PA450657" not "450657"
Common Use Cases
| Use Case |
Primary Sections |
Light Sections |
| Approved Drug Profile |
All 11 sections |
None |
| Investigational Compound |
1, 2, 3, 4, 9 |
5, 6, 7, 8 |
| Safety Review |
1, 5, 6, 7, 9 |
2, 3, 4, 8 |
| ADMET Assessment |
1, 2, 4 |
3, 5, 6, 7, 8, 9 |
| Clinical Development Landscape |
1, 5, 9 |
2, 3, 4, 6, 7, 8 |
Always maintain all section headers but adjust depth based on query focus and data availability.
When NOT to Use This Skill
- Target research -> Use target-intelligence-gatherer skill
- Disease research -> Use disease-research skill
- Literature-only -> Use literature-deep-research skill
- Single property lookup -> Call tool directly
- Structure similarity search -> Use
PubChemsearchcompoundsbysimilarity directly
Cross-Skill References
For drug interaction checking, run: python3 skills/tooluniverse-drug-drug-interaction/scripts/pharmacology_ref.py --type interaction --drug1 X --drug2 Y
Additional Resources
- Report template: [REPORTTEMPLATE.md](REPORTTEMPLATE.md) - Initial file template, citation format, evidence grading, scorecard, audit template
- Report guidelines: [REPORTGUIDELINES.md](REPORTGUIDELINES.md) - Detailed section-by-section instructions with output examples
- Tool reference: [TOOLSREFERENCE.md](TOOLSREFERENCE.md) - Complete tool listing with parameters and input formats
- Verification checklist: [CHECKLIST.md](CHECKLIST.md) - Section-by-section pre-delivery verification
- Examples: [EXAMPLES.md](EXAMPLES.md) - Detailed workflow examples for different use cases