CtrlK
BlogDocsLog inGet started
Tessl Logo

tooluniverse-gpcr-structural-pharmacology

GPCR receptor pharmacology — agonist/antagonist/inverse-agonist/biased-agonist classification, GPCRdb structural data, receptor-ligand binding analysis, antibody-target interface (SAbDab). Use for GPCR drug discovery, biased-agonism analysis, receptor subtype selectivity questions, and orthosteric vs allosteric pocket characterization.

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

GPCR and Structural Pharmacology Research

GPCR pharmacology: agonist vs antagonist vs inverse agonist vs biased agonist — each has different clinical implications. Biased agonism (preferential G-protein vs β-arrestin signaling) can separate efficacy from side effects; for example, G-protein-biased opioid agonists aim to retain analgesia while reducing β-arrestin-mediated respiratory depression. Always classify retrieved ligands by their pharmacological type, not just their chemical structure. Receptor state (active vs inactive crystal structure) determines which ligands and mutations are interpretable — an inactive-state structure is appropriate for antagonist binding analysis, active-state for agonist-bound complexes. Generic GPCR numbering (Ballesteros-Weinstein) enables cross-receptor mutation comparison; always report positions in this system alongside sequence positions.

LOOK UP DON'T GUESS: never assume GPCRdb entry names (e.g., adrb2_human) or PDB IDs — always use GPCRdb_list_proteins to find the correct entry name and GPCRdb_get_structures to confirm available structures.

Research skill integrating GPCRdb (GPCR receptor biology), SAbDab (antibody structures), and PDBePISA (protein interface analysis) to support structural pharmacology, antibody engineering, and GPCR-targeted drug discovery.

KEY PRINCIPLES:

  1. Receptor-first — Identify GPCR entry name before any GPCRdb queries
  2. Ligand classification — Distinguish agonists, antagonists, partial agonists, biased agonists
  3. Structure-guided — Pair GPCRdb mutation data with PDB structures via PDBePISA
  4. Antibody context — Use SAbDab for therapeutic antibody structure retrieval and CDR analysis
  5. English-first queries — Use standard receptor names (e.g., "beta-2 adrenergic receptor") in searches; convert to GPCRdb entry names for API calls

When to Use

Apply when user asks:

  • "What ligands are known for [GPCR receptor]?"
  • "What crystal structures exist for [receptor]?"
  • "Find antibody structures targeting [antigen]"
  • "Analyze the protein-protein interface in PDB [ID]"
  • "What mutations affect [GPCR] function or pharmacology?"
  • "Which GPCRs are in the [family] family?"
  • "What are the CDR loops in antibody PDB [ID]?"
  • "What is the biological assembly for [PDB ID]?"

Tool Parameter Reference (CRITICAL)

ToolKey ParametersNotes
GPCRdb_get_proteinproteinGPCRdb entry name (e.g., adrb2_human), NOT gene symbol or UniProt accession
GPCRdb_list_proteinsfamily (optional), protein_class (optional)Lists all GPCRs; filter by family slug (e.g., "adrenoceptors") OR by human-readable class name via protein_class (e.g., "chemokine receptors", "opioid receptors")
GPCRdb_get_structuresprotein (optional), state (optional)state: "active", "inactive", "intermediate"
GPCRdb_get_ligandsproteinReturns agonists, antagonists, biased ligands with affinities
GPCRdb_get_mutationsproteinReturns mutation effects on receptor function and ligand binding
SAbDab_search_structuresqueryAntigen name, species, or keywords; returns browse URL + metadata
SAbDab_get_structurepdb_id4-character PDB code (e.g., "6W41"); returns CDR annotations
SAbDab_get_summary(no required params)Database statistics and summary
PDBePISA_get_interfacespdb_id4-character PDB code; returns all interface pairs with buried area
PDBePISA_get_assembliespdb_idPredicted biological assemblies from crystal packing
PDBePISA_get_monomer_analysispdb_idPer-chain solvent-accessible surface area (SASA) breakdown

GPCRdb Entry Name Format

GPCRdb uses its own entry name format: {receptor_slug}_{species}. Common examples:

  • Beta-2 adrenergic receptor: adrb2_human
  • Beta-1 adrenergic receptor: adrb1_human
  • Mu-opioid receptor: oprm1_human
  • Dopamine D2 receptor: drd2_human
  • Glucagon-like peptide-1 receptor: glp1r_human
  • CXCR4 chemokine receptor: cxcr4_human

If entry name is unknown, use GPCRdb_list_proteins() to browse and find the correct slug. You can also filter by receptor class using the protein_class parameter with a human-readable name — e.g., GPCRdb_list_proteins(protein_class="chemokine receptors") — instead of the numeric family slug. Both family and protein_class are accepted and serve overlapping purposes; prefer protein_class when the user provides a receptor class name.


Workflow Overview

Phase 1: Receptor Identification (for GPCR queries)
  -> GPCRdb_list_proteins: find receptor family and entry name
  -> GPCRdb_get_protein: receptor details, family, species

Phase 2: Ligand Landscape
  -> GPCRdb_get_ligands: all known ligands by pharmacology class
  -> Cross-reference with ChEMBL/PubChem for chemical properties

Phase 3: Structural Data
  -> GPCRdb_get_structures: available PDB/EMDB structures with resolution
  -> PDBePISA_get_interfaces: interface analysis on best structure
  -> PDBePISA_get_assemblies: biological assembly determination

Phase 4: Mutation & Pharmacology Data
  -> GPCRdb_get_mutations: pharmacological mutation map
  -> Compare to ligand binding sites from structure

Phase 5: Antibody Structures (for antibody queries)
  -> SAbDab_search_structures: find structures by antigen
  -> SAbDab_get_structure: CDR annotations, chain details
  -> PDBePISA_get_interfaces: antibody-antigen interface analysis

Phase 1: GPCR Receptor Identification

# List all GPCRs in a family to find entry name (by slug)
family_list = GPCRdb_list_proteins(family="adrenoceptors")

# Filter by human-readable class name (new -- preferred when user says e.g. "chemokine receptors")
chemokine_list = GPCRdb_list_proteins(protein_class="chemokine receptors")

# Browse all GPCRs (no family filter)
all_gpcrs = GPCRdb_list_proteins()

# Get detailed protein info once you have the entry name
receptor = GPCRdb_get_protein(protein="adrb2_human")
# Returns: family classification, endogenous ligands, tissue expression,
#          GPCRdb-specific annotations, sequence features

Phase 2: Ligand Landscape

# Get all known ligands for a GPCR
ligands = GPCRdb_get_ligands(protein="adrb2_human")
# Returns: ligand names, types (agonist/antagonist/partial/biased/allosteric),
#          binding affinities (Ki, IC50, EC50), references

# Ligand type classification:
# - Agonist: activates receptor
# - Antagonist/Inverse agonist: blocks or suppresses receptor
# - Partial agonist: submaximal activation
# - Biased agonist: selective signaling (Gs vs. beta-arrestin bias)
# - Positive/Negative allosteric modulator (PAM/NAM)

After retrieving ligands from GPCRdb, optionally cross-reference with:

  • PubChem_get_CID_by_compound_name(compound_name=ligand_name) — get CID, SMILES
  • ChEMBL_search_molecules(query=ligand_name) — get ChEMBL ID, bioactivity data

Phase 3: Structural Data

# Get available crystal/cryo-EM structures
structures = GPCRdb_get_structures(protein="adrb2_human", state="inactive")
# state options: "active", "inactive", "intermediate" (omit for all)
# Returns: PDB IDs, resolution, ligand in structure, publication info

# Analyze a specific structure's interfaces
interfaces = PDBePISA_get_interfaces(pdb_id="2rh1")  # adrb2 inactive structure
# Returns: interface pairs, buried solvent-accessible area (BSA),
#          interface residues, hydrogen bonds, salt bridges

# Determine biological assembly
assemblies = PDBePISA_get_assemblies(pdb_id="2rh1")
# Returns: predicted oligomeric state, assembly stability score,
#          subunit composition

# Per-chain SASA breakdown
monomers = PDBePISA_get_monomer_analysis(pdb_id="2rh1")
# Returns: accessible/buried surface area per chain

Interface Analysis Interpretation:

  • BSA > 1500 Ų: Strong interface (likely biologically relevant)
  • BSA 800-1500 Ų: Moderate interface
  • BSA < 800 Ų: Weak or crystal contact

Phase 4: Mutation Data

# Get all mutations characterized for a GPCR
mutations = GPCRdb_get_mutations(protein="adrb2_human")
# Returns: mutation positions (generic GPCR numbering), effects on:
#   - Expression/folding
#   - Ligand binding (affinity changes)
#   - G-protein coupling
#   - Receptor activation

# Generic GPCR numbering (Ballesteros-Weinstein):
# e.g., 3.32 = position 32 in TM helix 3 — conserved across GPCR classes

Phase 5: Antibody Structure Retrieval

# Search SAbDab for antibody structures by antigen
results = SAbDab_search_structures(query="EGFR", limit=20)
# Returns: browse URL + metadata table of matching structures

# Get detailed annotations for a specific antibody structure
structure = SAbDab_get_structure(pdb_id="1IQD")
# Returns: VH/VL chain IDs, CDR1-3 (Kabat/IMGT), antigen info,
#          heavy/light chain types, resolution

# Get database overview
summary = SAbDab_get_summary()
# Returns: total structures, species breakdown, antigen coverage stats

CDR Analysis:

  • CDR-H3 is most variable and typically dominates antigen contact
  • CDR length distribution: SAbDab provides Kabat, Chothia, and IMGT numbering
  • After retrieving SAbDab structure, use PDBePISA_get_interfaces(pdb_id=...) to compute antibody-antigen buried surface area

Common Research Patterns

Pattern 1: GPCR Drug Target Profiling

Input: GPCR name (e.g., "GLP-1 receptor")
Flow: GPCRdb_list_proteins -> find "glp1r_human" ->
      GPCRdb_get_protein (receptor details) ->
      GPCRdb_get_ligands (approved + investigational drugs) ->
      GPCRdb_get_structures (available PDB structures) ->
      PDBePISA_get_interfaces on best structure ->
      GPCRdb_get_mutations (pharmacological mutants)
Output: Complete GPCR pharmacology profile with structural context

Pattern 2: Antibody-Antigen Interface Analysis

Input: Target antigen (e.g., "PD-L1") or specific PDB code
Flow: SAbDab_search_structures(query="PD-L1") ->
      SAbDab_get_structure(pdb_id="best hit") (CDR annotations) ->
      PDBePISA_get_interfaces(pdb_id=...) (buried area, key contacts) ->
      PDBePISA_get_assemblies (assembly context)
Output: CDR sequences, epitope contact residues, interface energetics

Pattern 3: GPCR Family Survey

Input: Drug class question (e.g., "beta-adrenergic receptors")
Flow: GPCRdb_list_proteins(family="adrenoceptors") ->
      GPCRdb_get_protein per receptor (adrb1/2/3) ->
      GPCRdb_get_ligands per receptor (selectivity landscape) ->
      GPCRdb_get_structures per receptor (structural coverage)
Output: Family-wide selectivity map, structural availability, ligand classes

Pattern 4: Structure Interface Characterization

Input: PDB code
Flow: PDBePISA_get_assemblies (oligomeric state) ->
      PDBePISA_get_interfaces (all interface pairs ranked by BSA) ->
      PDBePISA_get_monomer_analysis (per-chain surface burial)
Output: Biologically relevant assembly, key interface residues, buried areas

Tool Combinations with Other Skills

This skill complements other ToolUniverse skills:

GoalThis skill providesComplement with
GPCR drug discoveryReceptor/ligand/structure datatooluniverse-binder-discovery for virtual screening
Antibody engineeringSAbDab structure + CDR datatooluniverse-antibody-engineering for optimization
Variant impact on GPCRGPCRdb mutation effectstooluniverse-variant-functional-annotation for ACMG
Target validationGPCR expression, ligand datatooluniverse-drug-target-validation
PDB structure analysisPDBePISA interfacestooluniverse-protein-structure-retrieval for RCSB/PDBe

Fallback Chains

Primary ToolFallbackUse When
GPCRdb_get_proteinUniProt search + PubMedEntry name unknown or non-GPCR target
GPCRdb_get_ligandsChEMBL bioactivity searchReceptor not in GPCRdb
GPCRdb_get_structuresRCSB PDB text searchStructures not yet in GPCRdb
SAbDab_search_structuresRCSB PDB antibody searchAntigen not indexed in SAbDab
PDBePISA_get_interfacesPDBe graph APIPDBePISA returns no interfaces

Completeness Checklist

For GPCR profiling:

  • Entry name resolved via GPCRdb_list_proteins or GPCRdb_get_protein
  • Receptor family and class documented
  • Ligand landscape retrieved with pharmacology types
  • Available structures listed with resolution and state
  • Best structure analyzed with PDBePISA (interfaces + assembly)
  • Mutation data retrieved for pharmacological context

For antibody structure:

  • SAbDab search run with antigen name
  • Best structure retrieved with SAbDab_get_structure
  • CDR1-3 sequences extracted for VH and VL chains
  • Antibody-antigen interface analyzed with PDBePISA
  • Buried surface area and key contact residues documented

Key References

  • GPCRdb: https://gpcrdb.org — standardized GPCR data with generic numbering
  • SAbDab: https://opig.stats.ox.ac.uk/webapps/newsabdab/sabdab — structural antibody database
  • PDBePISA: https://www.ebi.ac.uk/pdbe/pisa — protein interface analysis
Repository
mims-harvard/ToolUniverse
Last updated
First committed

Also appears in

mims-harvard/ToolUniverse
In sync

since Jul 28, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.