[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAMF22HR9QPKC0JSQ26SW7":3,"skill-same:01M6DAMF22HR9QPKC0JSQ26SW7":88},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":14,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6DAMF22HR9QPKC0JSQ26SW7","tooluniverse-binder-discovery",null,"Discover novel small molecule binders for protein targets using structure-based and ligand-based approaches. Creates actionable reports with candidate compounds, ADMET profiles, and synthesis feasibility. Use when users ask to find small molecules for a target, identify novel binders, perform virtual screening, or need hit-to-lead compound identification.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"discovery","tooluniverse binder discovery","feasibility","virtual","find","ask","use","reports","Synthesis","compound","structure","discover","2026-11-10 10:12:30",false,"---\nname: tooluniverse-binder-discovery\ndescription: Discover novel small molecule binders for protein targets using structure-based and ligand-based approaches. Creates actionable reports with candidate compounds, ADMET profiles, and synthesis feasibility. Use when users ask to find small molecules for a target, identify novel binders, perform virtual screening, or need hit-to-lead compound identification.\n---\n\n# Small Molecule Binder Discovery Strategy\n\nSystematic discovery of novel small molecule binders using 60+ ToolUniverse tools across druggability assessment, known ligand mining, similarity expansion, ADMET filtering, and synthesis feasibility.\n\n**LOOK UP DON'T GUESS** - Always retrieve actual data from tools before drawing conclusions. Do not assume druggability, binding sites, or compound properties based on target class alone.\n\n**KEY PRINCIPLES**:\n1. **Report-first approach** - Create report file FIRST, then populate progressively\n2. **Target validation FIRST** - Confirm druggability before compound searching\n3. **Multi-strategy approach** - Combine structure-based and ligand-based methods\n4. **ADMET-aware filtering** - Eliminate poor compounds early\n5. **Evidence grading** - Grade candidates by supporting evidence\n6. **Actionable output** - Provide prioritized candidates with rationale\n7. **English-first queries** - Always use English terms in tool calls. Respond in the user's language\n\n---\n\n## Binding Site Reasoning (Start Here)\n\nBefore any tool call, reason about the target's structural biology:\n\n**Is the binding site a well-defined pocket (small molecule accessible) or a flat protein-protein interface (needs peptide\u002Fmacrocycle)?** This determines your screening strategy.\n\n- **Enzymes with active sites** (proteases, kinases, ATPases): deep, well-defined pockets. Classic small molecule territory. Prioritize co-crystal structure search and known inhibitor scaffold analysis.\n- **GPCRs and ion channels**: transmembrane pockets. Structure often available; start with GPCRdb and GtoPdb for known pharmacology.\n- **Nuclear receptors**: deep hydrophobic pockets. Excellent small molecule tractability; ligand-based methods are well-powered.\n- **Protein-protein interfaces**: flat, large contact surface. Small molecules rarely compete effectively unless there is a \"hot spot\" cavity. Check whether any allosteric pockets exist before committing to small molecule strategy. Warn the user if no pocket is found.\n- **Intrinsically disordered regions**: essentially no small molecule approach. Redirect to peptide or degrader strategies.\n- **Scaffolding \u002F adaptor proteins**: assess co-crystal structures for unexpected pockets before declaring undruggable.\n\nUse this reasoning to select phases and warn the user about challenges before executing a full workflow.\n\n---\n\n## Critical Workflow Requirements\n\n### 1. Report-First Approach (MANDATORY)\n\n**DO NOT** show search process or tool outputs to the user. Instead:\n\n1. **Create the report file FIRST** - Before any data collection:\n   - File name: `[TARGET]_binder_discovery_report.md`\n   - Initialize with all section headers from the template (see REPORT_TEMPLATE.md)\n   - Add placeholder text: `[Researching...]` in each section\n\n2. **Progressively update the report** - As you gather data, update each section immediately.\n\n3. **Output separate data files**:\n   - `[TARGET]_candidate_compounds.csv` - Prioritized compounds with SMILES, scores\n   - `[TARGET]_bibliography.json` - Literature references (optional)\n\n### 2. Citation Requirements (MANDATORY)\n\nEvery piece of information MUST include its source:\n\nExample: `*Source: ChEMBL via ChEMBL_get_target_activities (CHEMBL203)*`\n\n---\n\n## Workflow Overview\n\nPhases in order:\n- **Phase 0**: Tool verification (check parameter names with `get_tool_info`)\n- **Phase 1**: Target validation — resolve IDs, assess druggability, identify binding sites, predict structure if needed\n- **Phase 2**: Known ligand mining — ChEMBL, BindingDB, GtoPdb, PubChem BioAssay, chemical probes; SAR analysis\n- **Phase 3**: Structure analysis — PDB co-crystals, EMDB (membrane targets), binding pocket characterization\n- **Phase 3.5**: Docking validation — dock reference inhibitor to validate pocket geometry\n- **Phase 4**: Compound expansion — similarity\u002Fsubstructure search (seeds: 3-5 diverse actives) + de novo generation\n- **Phase 5**: ADMET filtering — physicochemical, bioavailability, toxicity, CYP, structural alerts\n- **Phase 6**: Candidate docking and prioritization — score and rank top 20\n- **Phase 6.5**: Literature evidence — PubMed, EuropePMC, OpenAlex\n- **Phase 7**: Report synthesis and delivery\n\n---\n\n## Phase 0: Tool Verification\n\n**CRITICAL**: Verify tool parameters before calling unfamiliar tools.\n\n```python\ntool_info = tu.tools.get_tool_info(tool_name=\"ChEMBL_get_target_activities\")\n```\n\nCommon parameter corrections (verify with `get_tool_info` if uncertain):\n- `OpenTargets_*`: `ensemblId` (camelCase); `ADMETAI_*`: `smiles` must be a list\n- `NvidiaNIM_alphafold2`: `sequence` not `seq`; `NvidiaNIM_genmol`: SMILES must contain `[*{min-max}]`\n- `NvidiaNIM_boltz2`: `polymers=[{\"molecule_type\": \"protein\", \"sequence\": \"...\"}]`\n\n---\n\n## Phase 1: Target Validation\n\n### 1.1 Identifier Resolution\n\nResolve all IDs upfront and store for downstream queries:\n\n```\n1. UniProt_search(query=target_name, organism=\"human\") -> UniProt accession\n2. MyGene_query_genes(q=gene_symbol, species=\"human\") -> Ensembl gene ID\n3. ChEMBL_search_targets(query=target_name, organism=\"Homo sapiens\") -> ChEMBL target ID\n4. GtoPdb_get_targets(query=target_name) -> GtoPdb ID (if GPCR\u002Fchannel\u002Fenzyme)\n```\n\n### 1.2 Druggability Assessment\n\nUse multi-source triangulation:\n- `OpenTargets_get_target_tractability_by_ensemblID(ensemblId)` - tractability bucket\n- `DGIdb_get_gene_druggability(genes=[gene_symbol])` - druggability categories\n- `OpenTargets_get_target_classes_by_ensemblID(ensemblId)` - target class\n- For GPCRs: `GPCRdb_get_protein` + `GPCRdb_get_ligands` + `GPCRdb_get_structures`\n- For antibody landscape: `TheraSAbDab_search_by_target(target=target_name)`\n\n**Decision Point**: If no tractability data and binding site reasoning suggests PPI or disordered region, explicitly warn the user before proceeding.\n\n### 1.3 Binding Site Analysis\n\n- `ChEMBL_search_binding_sites(target_chembl_id)`\n- `get_binding_affinity_by_pdb_id(pdb_id)` for co-crystallized ligands\n- `InterPro_get_protein_domains(accession)` for domain architecture\n\n### 1.4 Structure Prediction (NVIDIA NIM)\n\nRequires `NVIDIA_API_KEY`. Two options:\n- **AlphaFold2**: `NvidiaNIM_alphafold2(sequence, algorithm=\"mmseqs2\")` - high accuracy, 5-15 min\n- **ESMFold**: `ESMFold_predict_structure(sequence)` - fast (~30s), max 1024 AA\n\npLDDT guidance: >=90 very high confidence, 70-90 confident, \u003C70 use with caution. Low pLDDT in the putative binding region undermines docking reliability.\n\n---\n\n## Phase 2: Known Ligand Mining\n\nPriority order for bioactivity data:\n1. `ChEMBL_get_target_activities` - curated, SAR-ready\n2. `BindingDB_get_ligands_by_uniprot` - direct Ki\u002FKd with literature links\n3. `GtoPdb_search_ligands` - pharmacology focus (GPCRs, channels)\n4. `PubChem_search_assays_by_target_gene` - HTS screens, novel scaffolds\n5. `OpenTargets_get_chemical_probes_by_target_ensemblID` - validated probes\n\nKey steps:\n1. Filter to IC50\u002FKi\u002FKd \u003C 10 uM; retrieve molecule details for top actives\n2. Identify chemical probes and approved drugs\n3. Analyze SAR: common scaffolds, key modifications\n4. Check off-target selectivity: `BindingDB_get_targets_by_compound`\n\n---\n\n## Phase 3: Structure Analysis\n\nTools:\n- `PDB_search_similar_structures(query=uniprot, type=\"sequence\")` - find PDB entries\n- `get_protein_metadata_by_pdb_id(pdb_id)` - resolution, method\n- `get_binding_affinity_by_pdb_id(pdb_id)` - co-crystal ligand affinities\n- `get_ligand_smiles_by_chem_comp_id(chem_comp_id)` - ligand SMILES from PDB\n- `emdb_search(query)` - cryo-EM structures (prefer for GPCRs, ion channels)\n- `alphafold_get_prediction(qualifier)` - AlphaFold DB fallback\n\n### Phase 3.5: Docking Validation (NVIDIA NIM)\n\nIf PDB + SDF available: use `get_diffdock_info(protein=PDB, ligand=SDF, num_poses=10)`.\nIf only sequence + SMILES: use `NvidiaNIM_boltz2(polymers=[...], ligands=[...])`.\n\nDock a known reference inhibitor first to validate the binding pocket geometry before running candidates.\n\n---\n\n## Phase 4: Compound Expansion\n\n### 4.1-4.3 Search-Based Expansion\n\nUse 3-5 diverse actives as seeds, similarity threshold 70-85%:\n- `ChEMBL_search_similar_molecules(molecule=SMILES, similarity=70)`\n- `PubChem_search_compounds_by_similarity(smiles, threshold=0.7)`\n- `ChEMBL_search_substructure(smiles=core_scaffold)`\n- `STITCH_get_chemical_protein_interactions(identifier=gene, species=9606)`\n\n### 4.4 De Novo Generation (NVIDIA NIM)\n\n**GenMol** - scaffold hopping with masked regions:\n```\nNvidiaNIM_genmol(smiles=\"...core...[*{3-8}]...tail...[*{1-3}]...\", num_molecules=100, temperature=2.0, scoring=\"QED\")\n```\n\n**MolMIM** - controlled analog generation:\n```\nNvidiaNIM_molmim(smi=reference_smiles, num_molecules=50, algorithm=\"CMA-ES\")\n```\n\n---\n\n## Phase 5: ADMET Filtering\n\nApply sequentially (all tools accept `smiles=[list]`):\n\n1. **Physicochemical**: `ADMETAI_predict_physicochemical_properties` - Lipinski violations \u003C= 1, QED > 0.3, MW 200-600\n2. **Bioavailability**: `ADMETAI_predict_bioavailability` - oral bioavailability > 0.3\n3. **Toxicity**: `ADMETAI_predict_toxicity` - AMES \u003C 0.5, hERG \u003C 0.5, DILI \u003C 0.5\n4. **CYP**: `ADMETAI_predict_CYP_interactions` - flag CYP3A4 inhibitors\n5. **Alerts**: `ChEMBL_search_compound_structural_alerts` - no PAINS\n\nInclude a filter funnel summary in the report showing pass\u002Ffail counts at each stage.\n\n---\n\n## Phase 6: Candidate Docking & Prioritization\n\nComposite score: docking confidence (40%) + ADMET score (30%) + similarity to known active (20%) + novelty (10%, not in ChEMBL + novel scaffold bonus).\n\nEvidence tiers for candidates:\n- T1 (3 stars): Experimental IC50\u002FKi \u003C 100 nM\n- T2 (2 stars): Docking within 5% of reference OR IC50 100-1000 nM\n- T3 (1 star): >80% similarity to T1 compound\n- T4 (0 stars): 70-80% similarity, scaffold match only\n- T5 (no stars): Generated molecule, ADMET-passed, no docking\n\nDeliver top 20 candidates with: Rank, ID, SMILES, docking score, ADMET score, overall score, source, evidence tier.\n\n---\n\n## Phase 6.5: Literature Evidence\n\n- `PubMed_search_articles(query=\"[TARGET] inhibitor SAR\")` - peer-reviewed\n- `EuropePMC_search_articles(query, source=\"PPR\")` - preprints (not peer-reviewed)\n- `openalex_search_works(query)` - citation analysis\n\n---\n\n## Fallback Chains\n\n```\nTarget ID:     ChEMBL_search_targets -> GtoPdb_get_targets -> \"Not in databases\"\nDruggability:  OpenTargets tractability -> DGIdb druggability -> target class proxy\nBioactivity:   ChEMBL -> BindingDB -> GtoPdb -> PubChem BioAssay -> \"No data\"\nStructure:     PDB -> EMDB (membrane) -> NvidiaNIM_alphafold2 -> NvidiaNIM_esmfold -> AlphaFold DB -> \"None\"\nSimilarity:    ChEMBL similar -> PubChem similar -> \"Search failed\"\nDocking:       get_diffdock_info -> NvidiaNIM_boltz2 -> similarity-based scoring\nGeneration:    NvidiaNIM_genmol -> NvidiaNIM_molmim -> similarity search only\nLiterature:    PubMed -> EuropePMC (preprints) -> OpenAlex\nGPCR data:     GPCRdb_get_protein -> GtoPdb_get_targets\n```\n\n---\n\n## Programmatic Access (Beyond Tools)\n\nWhen ToolUniverse tools return limited compound sets, access chemical databases directly:\n\n```python\nimport requests, pandas as pd\n\n# PubChem batch property retrieval (up to 100 CIDs per call)\ncids = \"2244,5988,3672\"\nurl = f\"https:\u002F\u002Fpubchem.ncbi.nlm.nih.gov\u002Frest\u002Fpug\u002Fcompound\u002Fcid\u002F{cids}\u002Fproperty\u002FMolecularWeight,XLogP,TPSA,HBondDonorCount,HBondAcceptorCount\u002FJSON\"\nprops = pd.DataFrame(requests.get(url).json()[\"PropertyTable\"][\"Properties\"])\n\n# ChEMBL bioactivity bulk download for a target\ntarget_id = \"CHEMBL203\"  # EGFR\nurl = f\"https:\u002F\u002Fwww.ebi.ac.uk\u002Fchembl\u002Fapi\u002Fdata\u002Factivity.json?target_chembl_id={target_id}&pchembl_value__gte=5&limit=1000\"\nactivities = requests.get(url).json()[\"activities\"]\ndf = pd.DataFrame(activities)[[\"molecule_chembl_id\", \"canonical_smiles\", \"pchembl_value\", \"standard_type\"]]\n\n# Lipinski Rule of 5 filtering (no RDKit needed)\nlipinski = props[(props[\"MolecularWeight\"] \u003C= 500) & (props[\"XLogP\"] \u003C= 5) &\n                 (props[\"HBondDonorCount\"] \u003C= 5) & (props[\"HBondAcceptorCount\"] \u003C= 10)]\n\n# SDF download from PubChem (for docking input)\nsdf_url = f\"https:\u002F\u002Fpubchem.ncbi.nlm.nih.gov\u002Frest\u002Fpug\u002Fcompound\u002Fcid\u002F{cids}\u002FSDF\"\nsdf_content = requests.get(sdf_url).text\n```\n\nSee `tooluniverse-data-wrangling` skill for format cookbook and pagination patterns.\n\n---\n\n## NVIDIA NIM Runtime Notes\n\nAlphaFold2: 5-15 min (async, max ~2000 AA). ESMFold: ~30 sec (max 1024 AA). DiffDock: ~1-2 min\u002Fligand. Boltz2: ~2-5 min. GenMol\u002FMolMIM: ~1-3 min.\n\nAlways check: `import os; nvidia_available = bool(os.environ.get(\"NVIDIA_API_KEY\"))`\n\nFor large expansions (>500 compounds): batch in chunks of 100, prioritize top candidates for docking.\n\n---\n\n## Reference Files\n\n- [WORKFLOW_DETAILS.md](.\u002FWORKFLOW_DETAILS.md) - Phase-by-phase procedures, code patterns, screening protocols\n- [TOOLS_REFERENCE.md](.\u002FTOOLS_REFERENCE.md) - Complete tool reference with parameters and fallback chains\n- [REPORT_TEMPLATE.md](.\u002FREPORT_TEMPLATE.md) - Report file template and evidence grading system\n- [EXAMPLES.md](.\u002FEXAMPLES.md) - End-to-end workflow examples (EGFR, novel target, lead optimization)\n- [CHECKLIST.md](.\u002FCHECKLIST.md) - Pre-delivery verification checklist\n","# Small Molecule Binder Discovery Strategy\n\nSystematic discovery of novel small molecule binders using 60+ ToolUniverse tools across druggability assessment, known ligand mining, similarity expansion, ADMET filtering, and synthesis feasibility.\n\n**LOOK UP DON'T GUESS** - Always retrieve actual data from tools before drawing conclusions. Do not assume druggability, binding sites, or compound properties based on target class alone.\n\n**KEY PRINCIPLES**:\n1. **Report-first approach** - Create report file FIRST, then populate progressively\n2. **Target validation FIRST** - Confirm druggability before compound searching\n3. **Multi-strategy approach** - Combine structure-based and ligand-based methods\n4. **ADMET-aware filtering** - Eliminate poor compounds early\n5. **Evidence grading** - Grade candidates by supporting evidence\n6. **Actionable output** - Provide prioritized candidates with rationale\n7. **English-first queries** - Always use English terms in tool calls. Respond in the user's language\n\n---\n\n## Binding Site Reasoning (Start Here)\n\nBefore any tool call, reason about the target's structural biology:\n\n**Is the binding site a well-defined pocket (small molecule accessible) or a flat protein-protein interface (needs peptide\u002Fmacrocycle)?** This determines your screening strategy.\n\n- **Enzymes with active sites** (proteases, kinases, ATPases): deep, well-defined pockets. Classic small molecule territory. Prioritize co-crystal structure search and known inhibitor scaffold analysis.\n- **GPCRs and ion channels**: transmembrane pockets. Structure often available; start with GPCRdb and GtoPdb for known pharmacology.\n- **Nuclear receptors**: deep hydrophobic pockets. Excellent small molecule tractability; ligand-based methods are well-powered.\n- **Protein-protein interfaces**: flat, large contact surface. Small molecules rarely compete effectively unless there is a \"hot spot\" cavity. Check whether any allosteric pockets exist before committing to small molecule strategy. Warn the user if no pocket is found.\n- **Intrinsically disordered regions**: essentially no small molecule approach. Redirect to peptide or degrader strategies.\n- **Scaffolding \u002F adaptor proteins**: assess co-crystal structures for unexpected pockets before declaring undruggable.\n\nUse this reasoning to select phases and warn the user about challenges before executing a full workflow.\n\n---\n\n## Critical Workflow Requirements\n\n### 1. Report-First Approach (MANDATORY)\n\n**DO NOT** show search process or tool outputs to the user. Instead:\n\n1. **Create the report file FIRST** - Before any data collection:\n   - File name: `[TARGET]_binder_discovery_report.md`\n   - Initialize with all section headers from the template (see REPORT_TEMPLATE.md)\n   - Add placeholder text: `[Researching...]` in each section\n\n2. **Progressively update the report** - As you gather data, update each section immediately.\n\n3. **Output separate data files**:\n   - `[TARGET]_candidate_compounds.csv` - Prioritized compounds with SMILES, scores\n   - `[TARGET]_bibliography.json` - Literature references (optional)\n\n### 2. Citation Requirements (MANDATORY)\n\nEvery piece of information MUST include its source:\n\nExample: `*Source: ChEMBL via ChEMBL_get_target_activities (CHEMBL203)*`\n\n---\n\n## Workflow Overview\n\nPhases in order:\n- **Phase 0**: Tool verification (check parameter names with `get_tool_info`)\n- **Phase 1**: Target validation — resolve IDs, assess druggability, identify binding sites, predict structure if needed\n- **Phase 2**: Known ligand mining — ChEMBL, BindingDB, GtoPdb, PubChem BioAssay, chemical probes; SAR analysis\n- **Phase 3**: Structure analysis — PDB co-crystals, EMDB (membrane targets), binding pocket characterization\n- **Phase 3.5**: Docking validation — dock reference inhibitor to validate pocket geometry\n- **Phase 4**: Compound expansion — similarity\u002Fsubstructure search (seeds: 3-5 diverse actives) + de novo generation\n- **Phase 5**: ADMET filtering — physicochemical, bioavailability, toxicity, CYP, structural alerts\n- **Phase 6**: Candidate docking and prioritization — score and rank top 20\n- **Phase 6.5**: Literature evidence — PubMed, EuropePMC, OpenAlex\n- **Phase 7**: Report synthesis and delivery\n\n---\n\n## Phase 0: Tool Verification\n\n**CRITICAL**: Verify tool parameters before calling unfamiliar tools.\n\n```python\ntool_info = tu.tools.get_tool_info(tool_name=\"ChEMBL_get_target_activities\")\n```\n\nCommon parameter corrections (verify with `get_tool_info` if uncertain):\n- `OpenTargets_*`: `ensemblId` (camelCase); `ADMETAI_*`: `smiles` must be a list\n- `NvidiaNIM_alphafold2`: `sequence` not `seq`; `NvidiaNIM_genmol`: SMILES must contain `[*{min-max}]`\n- `NvidiaNIM_boltz2`: `polymers=[{\"molecule_type\": \"protein\", \"sequence\": \"...\"}]`\n\n---\n\n## Phase 1: Target Validation\n\n### 1.1 Identifier Resolution\n\nResolve all IDs upfront and store for downstream queries:\n\n```\n1. UniProt_search(query=target_name, organism=\"human\") -> UniProt accession\n2. MyGene_query_genes(q=gene_symbol, species=\"human\") -> Ensembl gene ID\n3. ChEMBL_search_targets(query=target_name, organism=\"Homo sapiens\") -> ChEMBL target ID\n4. GtoPdb_get_targets(query=target_name) -> GtoPdb ID (if GPCR\u002Fchannel\u002Fenzyme)\n```\n\n### 1.2 Druggability Assessment\n\nUse multi-source triangulation:\n- `OpenTargets_get_target_tractability_by_ensemblID(ensemblId)` - tractability bucket\n- `DGIdb_get_gene_druggability(genes=[gene_symbol])` - druggability categories\n- `OpenTargets_get_target_classes_by_ensemblID(ensemblId)` - target class\n- For GPCRs: `GPCRdb_get_protein` + `GPCRdb_get_ligands` + `GPCRdb_get_structures`\n- For antibody landscape: `TheraSAbDab_search_by_target(target=target_name)`\n\n**Decision Point**: If no tractability data and binding site reasoning suggests PPI or disordered region, explicitly warn the user before proceeding.\n\n### 1.3 Binding Site Analysis\n\n- `ChEMBL_search_binding_sites(target_chembl_id)`\n- `get_binding_affinity_by_pdb_id(pdb_id)` for co-crystallized ligands\n- `InterPro_get_protein_domains(accession)` for domain architecture\n\n### 1.4 Structure Prediction (NVIDIA NIM)\n\nRequires `NVIDIA_API_KEY`. Two options:\n- **AlphaFold2**: `NvidiaNIM_alphafold2(sequence, algorithm=\"mmseqs2\")` - high accuracy, 5-15 min\n- **ESMFold**: `ESMFold_predict_structure(sequence)` - fast (~30s), max 1024 AA\n\npLDDT guidance: >=90 very high confidence, 70-90 confident, \u003C70 use with caution. Low pLDDT in the putative binding region undermines docking reliability.\n\n---\n\n## Phase 2: Known Ligand Mining\n\nPriority order for bioactivity data:\n1. `ChEMBL_get_target_activities` - curated, SAR-ready\n2. `BindingDB_get_ligands_by_uniprot` - direct Ki\u002FKd with literature links\n3. `GtoPdb_search_ligands` - pharmacology focus (GPCRs, channels)\n4. `PubChem_search_assays_by_target_gene` - HTS screens, novel scaffolds\n5. `OpenTargets_get_chemical_probes_by_target_ensemblID` - validated probes\n\nKey steps:\n1. Filter to IC50\u002FKi\u002FKd \u003C 10 uM; retrieve molecule details for top actives\n2. Identify chemical probes and approved drugs\n3. Analyze SAR: common scaffolds, key modifications\n4. Check off-target selectivity: `BindingDB_get_targets_by_compound`\n\n---\n\n## Phase 3: Structure Analysis\n\nTools:\n- `PDB_search_similar_structures(query=uniprot, type=\"sequence\")` - find PDB entries\n- `get_protein_metadata_by_pdb_id(pdb_id)` - resolution, method\n- `get_binding_affinity_by_pdb_id(pdb_id)` - co-crystal ligand affinities\n- `get_ligand_smiles_by_chem_comp_id(chem_comp_id)` - ligand SMILES from PDB\n- `emdb_search(query)` - cryo-EM structures (prefer for GPCRs, ion channels)\n- `alphafold_get_prediction(qualifier)` - AlphaFold DB fallback\n\n### Phase 3.5: Docking Validation (NVIDIA NIM)\n\nIf PDB + SDF available: use `get_diffdock_info(protein=PDB, ligand=SDF, num_poses=10)`.\nIf only sequence + SMILES: use `NvidiaNIM_boltz2(polymers=[...], ligands=[...])`.\n\nDock a known reference inhibitor first to validate the binding pocket geometry before running candidates.\n\n---\n\n## Phase 4: Compound Expansion\n\n### 4.1-4.3 Search-Based Expansion\n\nUse 3-5 diverse actives as seeds, similarity threshold 70-85%:\n- `ChEMBL_search_similar_molecules(molecule=SMILES, similarity=70)`\n- `PubChem_search_compounds_by_similarity(smiles, threshold=0.7)`\n- `ChEMBL_search_substructure(smiles=core_scaffold)`\n- `STITCH_get_chemical_protein_interactions(identifier=gene, species=9606)`\n\n### 4.4 De Novo Generation (NVIDIA NIM)\n\n**GenMol** - scaffold hopping with masked regions:\n```\nNvidiaNIM_genmol(smiles=\"...core...[*{3-8}]...tail...[*{1-3}]...\", num_molecules=100, temperature=2.0, scoring=\"QED\")\n```\n\n**MolMIM** - controlled analog generation:\n```\nNvidiaNIM_molmim(smi=reference_smiles, num_molecules=50, algorithm=\"CMA-ES\")\n```\n\n---\n\n## Phase 5: ADMET Filtering\n\nApply sequentially (all tools accept `smiles=[list]`):\n\n1. **Physicochemical**: `ADMETAI_predict_physicochemical_properties` - Lipinski violations \u003C= 1, QED > 0.3, MW 200-600\n2. **Bioavailability**: `ADMETAI_predict_bioavailability` - oral bioavailability > 0.3\n3. **Toxicity**: `ADMETAI_predict_toxicity` - AMES \u003C 0.5, hERG \u003C 0.5, DILI \u003C 0.5\n4. **CYP**: `ADMETAI_predict_CYP_interactions` - flag CYP3A4 inhibitors\n5. **Alerts**: `ChEMBL_search_compound_structural_alerts` - no PAINS\n\nInclude a filter funnel summary in the report showing pass\u002Ffail counts at each stage.\n\n---\n\n## Phase 6: Candidate Docking & Prioritization\n\nComposite score: docking confidence (40%) + ADMET score (30%) + similarity to known active (20%) + novelty (10%, not in ChEMBL + novel scaffold bonus).\n\nEvidence tiers for candidates:\n- T1 (3 stars): Experimental IC50\u002FKi \u003C 100 nM\n- T2 (2 stars): Docking within 5% of reference OR IC50 100-1000 nM\n- T3 (1 star): >80% similarity to T1 compound\n- T4 (0 stars): 70-80% similarity, scaffold match only\n- T5 (no stars): Generated molecule, ADMET-passed, no docking\n\nDeliver top 20 candidates with: Rank, ID, SMILES, docking score, ADMET score, overall score, source, evidence tier.\n\n---\n\n## Phase 6.5: Literature Evidence\n\n- `PubMed_search_articles(query=\"[TARGET] inhibitor SAR\")` - peer-reviewed\n- `EuropePMC_search_articles(query, source=\"PPR\")` - preprints (not peer-reviewed)\n- `openalex_search_works(query)` - citation analysis\n\n---\n\n## Fallback Chains\n\n```\nTarget ID:     ChEMBL_search_targets -> GtoPdb_get_targets -> \"Not in databases\"\nDruggability:  OpenTargets tractability -> DGIdb druggability -> target class proxy\nBioactivity:   ChEMBL -> BindingDB -> GtoPdb -> PubChem BioAssay -> \"No data\"\nStructure:     PDB -> EMDB (membrane) -> NvidiaNIM_alphafold2 -> NvidiaNIM_esmfold -> AlphaFold DB -> \"None\"\nSimilarity:    ChEMBL similar -> PubChem similar -> \"Search failed\"\nDocking:       get_diffdock_info -> NvidiaNIM_boltz2 -> similarity-based scoring\nGeneration:    NvidiaNIM_genmol -> NvidiaNIM_molmim -> similarity search only\nLiterature:    PubMed -> EuropePMC (preprints) -> OpenAlex\nGPCR data:     GPCRdb_get_protein -> GtoPdb_get_targets\n```\n\n---\n\n## Programmatic Access (Beyond Tools)\n\nWhen ToolUniverse tools return limited compound sets, access chemical databases directly:\n\n```python\nimport requests, pandas as pd\n\n# PubChem batch property retrieval (up to 100 CIDs per call)\ncids = \"2244,5988,3672\"\nurl = f\"https:\u002F\u002Fpubchem.ncbi.nlm.nih.gov\u002Frest\u002Fpug\u002Fcompound\u002Fcid\u002F{cids}\u002Fproperty\u002FMolecularWeight,XLogP,TPSA,HBondDonorCount,HBondAcceptorCount\u002FJSON\"\nprops = pd.DataFrame(requests.get(url).json()[\"PropertyTable\"][\"Properties\"])\n\n# ChEMBL bioactivity bulk download for a target\ntarget_id = \"CHEMBL203\"  # EGFR\nurl = f\"https:\u002F\u002Fwww.ebi.ac.uk\u002Fchembl\u002Fapi\u002Fdata\u002Factivity.json?target_chembl_id={target_id}&pchembl_value__gte=5&limit=1000\"\nactivities = requests.get(url).json()[\"activities\"]\ndf = pd.DataFrame(activities)[[\"molecule_chembl_id\", \"canonical_smiles\", \"pchembl_value\", \"standard_type\"]]\n\n# Lipinski Rule of 5 filtering (no RDKit needed)\nlipinski = props[(props[\"MolecularWeight\"] \u003C= 500) & (props[\"XLogP\"] \u003C= 5) &\n                 (props[\"HBondDonorCount\"] \u003C= 5) & (props[\"HBondAcceptorCount\"] \u003C= 10)]\n\n# SDF download from PubChem (for docking input)\nsdf_url = f\"https:\u002F\u002Fpubchem.ncbi.nlm.nih.gov\u002Frest\u002Fpug\u002Fcompound\u002Fcid\u002F{cids}\u002FSDF\"\nsdf_content = requests.get(sdf_url).text\n```\n\nSee `tooluniverse-data-wrangling` skill for format cookbook and pagination patterns.\n\n---\n\n## NVIDIA NIM Runtime Notes\n\nAlphaFold2: 5-15 min (async, max ~2000 AA). ESMFold: ~30 sec (max 1024 AA). DiffDock: ~1-2 min\u002Fligand. Boltz2: ~2-5 min. GenMol\u002FMolMIM: ~1-3 min.\n\nAlways check: `import os; nvidia_available = bool(os.environ.get(\"NVIDIA_API_KEY\"))`\n\nFor large expansions (>500 compounds): batch in chunks of 100, prioritize top candidates for docking.\n\n---\n\n## Reference Files\n\n- [WORKFLOW_DETAILS.md](.\u002FWORKFLOW_DETAILS.md) - Phase-by-phase procedures, code patterns, screening protocols\n- [TOOLS_REFERENCE.md](.\u002FTOOLS_REFERENCE.md) - Complete tool reference with parameters and fallback chains\n- [REPORT_TEMPLATE.md](.\u002FREPORT_TEMPLATE.md) - Report file template and evidence grading system\n- [EXAMPLES.md](.\u002FEXAMPLES.md) - End-to-end workflow examples (EGFR, novel target, lead optimization)\n- [CHECKLIST.md](.\u002FCHECKLIST.md) - Pre-delivery verification checklist\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-binder-discovery",{"tool":48,"command":49},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-binder-discovery",{"tool":51,"command":52},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-binder-discovery","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FSKILL.md",true,[56,62,66,72,76,80,84],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"checklist.md","REFERENCE","参考文档",1681,"https:\u002F\u002Fgithub.com\u002Ftonygomes-wq\u002Fevo\u002Fblob\u002Fmain\u002F.kiro\u002Fskills\u002Fgds-test-automate\u002Fchecklist.md",{"path":63,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":64,"sourceHtmlUrl":65},"CHECKLIST.md",8321,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FCHECKLIST.md",{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"customize.toml","OTHER","其他",1615,"https:\u002F\u002Fgithub.com\u002Ftonygomes-wq\u002Fevo\u002Fblob\u002Fmain\u002F.kiro\u002Fskills\u002Fgds-test-automate\u002Fcustomize.toml",{"path":73,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":74,"sourceHtmlUrl":75},"EXAMPLES.md",25793,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FEXAMPLES.md",{"path":77,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":78,"sourceHtmlUrl":79},"REPORT_TEMPLATE.md",7438,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FREPORT_TEMPLATE.md",{"path":81,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":82,"sourceHtmlUrl":83},"TOOLS_REFERENCE.md",29024,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FTOOLS_REFERENCE.md",{"path":85,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":86,"sourceHtmlUrl":87},"WORKFLOW_DETAILS.md",19649,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-binder-discovery\u002FWORKFLOW_DETAILS.md",[89,110,141,168,182,198],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":31},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[96,97,98,99,100,101,102,103,104,25,105,106,107,108,109],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":121,"publishedAt":31},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[116],{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[122,123,124,125,126,127,128,129,130,131,132,133,134,135,25,136,137,138,139,140],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":153,"publishedAt":31},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[147,150],{"categoryNo":148,"categoryName":149,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":151,"categoryName":152,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000008","测试与质量",[154,155,156,157,158,159,160,161,162,163,123,164,165,166,167],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":31},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[170,175,176,177,178,179,180,181],"setup","report","project","installation","project setup","issues","state",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":189,"publishedAt":31},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[188],{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},[184,190,101,191,192,193,25,194,195,196,197],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":199,"name":175,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":203,"publishedAt":31},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[175,177,138,204,179,205],"files","interactive"]