Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Find the real protein target(s) of a peptide from its sequence — peptide target deorphanization / off-target identification, for ANY target class (GPCR, ion channel, protease, cytokine/growth-factor receptor, enzyme, integrin), not only GPCRs. Use when a peptide has a phenotype but does not bind its hypothesized target, when a peptide binds a target in one species or assay but not another, or to screen candidate targets for an orphan peptide. A target-class router steers a multi-route keyless pi
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 153% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 87% | 0% |
Deorphanize a peptide: given a peptide sequence plus an observed phenotype (and often a hypothesized target the peptide does NOT actually bind), find its likely real protein target(s) — using ToolUniverse's keyless characterization, homology, target-family, phenotype, cross-species, and (optional, key-gated) co-folding tools.
The target can be anything, not just a GPCR. A target-class router (GPCR ligand / ion-channel toxin / protease target / cytokine or growth-factor receptor / integrin ligand / antimicrobial / unknown) classifies the peptide up front and adapts the enumeration strategy. GPCRs are the best-trodden case (and the validated control), but the pipeline's spine — homology, motif, phenotype, cross-species, co-fold — is target-class-agnostic, and family enumeration uses HGNC gene-family (general) + InterPro (general) + GPCRdb (GPCR-only cross-check).
The failure mode this skill defends against is guessing a target from the peptide's name or its assumed mechanism. A peptide can be phenotypically active yet not bind the hypothesized target — because it hits a paralog, a different family member, or the same receptor in a different species whose binding interface has diverged. So:
This skill is built on validated, mostly keyless tools (BLAST, ELM/PROSITE, GPCRdb/HGNC/GtoPdb, OpenTargets, EnsemblCompara/Alliance). The single key-gated step is the optional structural confirmation by co-folding (NVIDIA NIM), used only to rank an already-narrowed shortlist.
Two runnable scripts in scripts/ execute the whole pipeline so you don't have to chain the phase calls by hand. Both load ToolUniverse via the SDK and run from the repo root.
deorphanize_peptide.py — keyless candidate generation + ranking (Phases 1–4)No API key. For each peptide it characterizes it (PepCalc/ProtParam), flags non-canonical/cyclic residues, scans PROSITE + ELM signatures, flags protease/degradation liability, classifies the target class (GPCR / channel / protease / cytokine-receptor / integrin / …) and enumerates the candidate target family accordingly, anchors on phenotype (OpenTargets), and — for the top candidates — resolves the ortholog protein sequences and aligns the binding interface across human / assay-species / source-species (the mechanistic "binds in A, not B" step) and suggests a ClusPro-ready PDB structure. Prints a ranked candidate shortlist with evidence tiers.
bashpython3 scripts/deorphanize_peptide.py \ --sequence <PEPTIDE_SEQ> \ # OR --fasta peptides.fasta for BATCH mode --hypothesized-target <GENE> \ # optional; seeds family enumeration (e.g. GLP1R). OMIT for SEEDLESS mode --phenotype "<disease name>" \ # optional, REPEATABLE; OpenTargets anchor (use the DISEASE node, not a symptom) — pass several to union plausible phenotypes --assay-species mus_musculus \ # species of the NEGATIVE binding assay --source-species <organism> \ # optional; species where binding WAS observed -> 3-way interface alignment [--no-blast] [--out result.json]
Modes:
--hypothesized-target GLP1R) — enumerate that gene's family as the candidate panel (cleanest). Even seeded, the sequence-derived candidates (below) are always unioned in, so a wrong hypothesized seed cannot blind the search to the real target's family — exactly the deorphanization premise.receptor/channel/protease, chosen by the router) via UniProt; degrades to phenotype-only if that resolver is transiently down. No longer receptor-only.--phenotype is repeatable; pass every plausible disease and the anchor is the union (max score per target). Best when you don't know the single right phenotype.--fasta) — one record per FASTA entry, sharing --phenotype/--assay-species.Extra signals it always reports:
A@P2) is DPP4-LABILE; exendin-4 (G@P2) is resistant. A labile flag triggers a "re-test with a DPP4 inhibitor or protease-resistant analog" note — a key alternative explanation for "works in vitro, not in the mouse assay."Norine_get_peptide and pass --cyclic to cofold_screen.py.EBI_msa_align), reporting per-pair % identity and substitution count. A low human-vs-assay identity flags the ortholog whose binding interface most plausibly diverged — the mechanistic answer to "binds in A, not B". If the source organism is a protist absent from UniProt, it reports insufficient and tells you to supply the partner sequence by hand.PDBeSIFTS_get_best_structures resolves a representative solved PDB id you can feed straight to ClusPro_submit_peptide_docking.Validated on the control (--sequence HGEGTFTSDLSKQMEEEAVRLFIEWLKNGGPSSGAPPPS --hypothesized-target GLP1R --phenotype "type 2 diabetes mellitus"): recovers the class-B panel {GCGR, GHRHR, GIPR, GLP1R, GLP2R, SCTR}, flags GLP1R as hypothesized (tested negative), and promotes GIPR to Tier 1 (family + phenotype, score 0.674) as the leading real-target hypothesis — exactly the deorphanization re-ranking, produced with zero API keys.
cofold_screen.py — structural confirmation (Phase 5, key-gated)Co-folds the peptide against each shortlisted receptor and ranks by interface confidence (ipTM). Requires NVIDIA_API_KEY; without it, runs a DRY RUN that still resolves every receptor sequence (GPCRdb → UniProt fallback) and prints the co-fold plan, so you can verify inputs before paying for GPU time.
bashpython3 scripts/cofold_screen.py --peptide <SEQ> --candidates GIPR GCGR GLP2R \ [--backend boltz2|alphafold2_multimer|openfold3] [--assay-species mus_musculus] [--out cofold.json]
Use the scripts for the fast path. When you need to run, debug, or extend a single step by hand, the full per-phase manual reference — every tool call the scripts automate, with exact parameter names, gotchas, fallback chains, runtime notes, and two fully worked examples — lives in references/phases.md. Read it when a script step fails, when you want to drive a phase manually, or when you extend the pipeline to a new tool.
Six phases; the scripts automate 1–4 (and the Phase-5 dry run). Full detail + exact tool calls + gotchas are in references/phases.md — read it before driving any phase by hand.
| Phase | What it does | Key tools | |---|---|---| | 0 Verify | Confirm every tool loads; substitute fallbacks | tooluniverse.cli run … | | 1 Characterize + motif + classify | Properties, non-canonical/cyclic flag, PROSITE/ELM signature → ligand family, target-class router (GPCR/channel/protease/cytokine/integrin/…) | PepCalc/ProtParam, ScanProsite→PROSITE_get_entry, ELM_*, ESMFold | | 2 Candidate generation | 4 independent routes — homology, motif→domain, target-family enumeration (class-aware), phenotype anchor → union | BLAST/EBI_msa_align, HGNC+InterPro+GPCRdb+GtoPdb, OpenTargets | | 3 Cross-species | Resolve "binds in A not B": align the ortholog interface across human / assay / source species | EnsemblCompara, Alliance, UniProt, EBI_msa_align | | 4 Narrow + rank | Score on sequence × phenotype × pharmacology × cross-species → shortlist ≤15 | (intersection logic) | | 5 Structural confirm (optional, key-gated) | Co-fold top candidates, rank by interface ipTM; or academic-free ClusPro docking | NvidiaNIM_boltz2/…, ClusPro_submit_peptide_docking | | 6 Report | Ranked shortlist with evidence tiers + wet-lab plan | (inline report) |
Core intersection rule: the real target is where phenotype-plausible (Route 2D) meets sequence/structure-plausible (Routes 2A–2C). A name-level guess ("it's a GLP-1 analog so it's GLP1R") is exactly what produces off-target errors — never assert a target the union of routes didn't surface.
ortholog_one2one? interface % identity in the assay species?).Evidence tiers — always state which evidence is keyless/validated vs key-gated (co-fold not run), and flag any candidate that is a negative against the originally hypothesized target so the reader sees the re-ranking:
Validated on the exendin-4 → GLP1R control: recovers the class-B panel {GCGR, GHRHR, GIPR, GLP1R, GLP2R, SCTR}, flags GLP1R as the (negative) hypothesized target, and promotes GIPR to Tier 1 — the deorphanization re-ranking, produced with zero API keys. The full step-by-step (control and the real "binds in the source organism, not in mouse" case) is in references/phases.md.
Reproducible test prompts + checkable assertions are in evals/evals.json (the exendin-4 control, the source-organism/mouse-negative case, and a non-GPCR seedless case). To check the skill still behaves, run a prompt through it and verify the output against that eval's assertions.
Other measured skills in the registry, with their headline benchmark lift.