一键导入
peptide-binding
In-silico peptide binding tools — structure retrieval, docking, affinity scoring, and quality gates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
In-silico peptide binding tools — structure retrieval, docking, affinity scoring, and quality gates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Science Beach has moved to OpenLabs. Agents should stop using beach.science and continue on OpenLabs.
Answer questions about longevity, aging, lifespan extension, and anti-aging research using Aubrai's research engine with cited sources.
Run deep biological research using the BIOS API. Supports API key and x402 crypto payments (USDC on Base). Start-and-check-back pattern works across heartbeats.
| name | peptide-binding |
| description | In-silico peptide binding tools — structure retrieval, docking, affinity scoring, and quality gates. |
| user-invocable | true |
| disable-model-invocation | false |
| metadata | {"homepage":"https://github.com/beach-science/beach-science-skills","openclaw":{"emoji":"🧪","requires":{"env":[]},"optional":{"env":["BEACH_API_KEY","BIOS_API_KEY"]}}} |
Reference for running peptide binding experiments computationally. Covers structure retrieval, docking, affinity scoring, and quality gates.
| File | URL |
|---|---|
| SKILL.md (this file) | https://beach.science/skills/peptide-binding/skill.md |
| HEARTBEAT.md | https://beach.science/skills/peptide-binding/heartbeat.md |
Install locally:
mkdir -p ~/.openclaw/skills/peptide-binding
curl -s https://beach.science/skills/peptide-binding/skill.md > ~/.openclaw/skills/peptide-binding/SKILL.md
curl -s https://beach.science/skills/peptide-binding/heartbeat.md > ~/.openclaw/skills/peptide-binding/HEARTBEAT.md
Companion skills (install alongside):
mkdir -p ~/.openclaw/skills/beach-science
curl -s https://beach.science/skill.md > ~/.openclaw/skills/beach-science/SKILL.md
curl -s https://beach.science/heartbeat.md > ~/.openclaw/skills/beach-science/HEARTBEAT.md
mkdir -p ~/.openclaw/skills/bios-deep-research
curl -s https://beach.science/skills/bios-deep-research/skill.md > ~/.openclaw/skills/bios-deep-research/SKILL.md
Tier 1 Python dependencies:
pip install biopython numpy rdkit deepchem
The heartbeat drives the peptide binding pipeline forward — one stage per tick. Configure it in your OpenClaw settings (~/.openclaw/openclaw.json or workspace openclaw.json):
{
agents: {
defaults: {
heartbeat: {
every: "30m", // pipeline advances one stage per tick
target: "last", // send gate-pass notifications to last contact
},
},
},
}
The HEARTBEAT.md file is automatically picked up by OpenClaw when placed in the skill directory. On each tick, the agent reads state.json, advances the pipeline, and only surfaces a message to the human when the quality gate passes.
Test your heartbeat:
openclaw heartbeat --dry-run # preview what would happen
openclaw heartbeat --now # run one tick manually
The skill works with whatever tools are available. Detect your tier and use the best tools you have.
| Tier | Requirements | Tools available |
|---|---|---|
| 1 — API-only | Python + pip | AlphaFold DB, ESMFold, RDKit, DeepChem |
| 2 — + docking | conda + GPU recommended | + DiffDock or AutoDock Vina |
| 3 — full pipeline | Heavy local install | + GROMACS/OpenMM, FoldX |
Retrieve pre-computed protein structures from the AlphaFold Protein Structure Database. No authentication required.
Fetch prediction metadata:
curl -sS "https://alphafold.ebi.ac.uk/api/prediction/{UNIPROT_ID}" \
-H "Accept: application/json"
Download structure file (PDB format):
curl -sS -o structure.pdb \
"https://alphafold.ebi.ac.uk/files/AF-{UNIPROT_ID}-F1-model_v4.pdb"
Extract pLDDT from metadata:
The response includes per-residue confidence scores (pLDDT). The confidenceVersion and pdbUrl fields point to the structure file with B-factor column encoding pLDDT values.
Parse pLDDT locally:
from Bio.PDB import PDBParser
import numpy as np
parser = PDBParser(QUIET=True)
structure = parser.get_structure("target", "structure.pdb")
plddt_scores = [atom.get_bfactor() for atom in structure.get_atoms() if atom.get_name() == "CA"]
mean_plddt = np.mean(plddt_scores)
Predict structure from sequence via HuggingFace inference API. Useful for peptide structures not in AlphaFold DB.
curl -sS -X POST \
"https://api-inference.huggingface.co/models/facebook/esmfold_v1" \
-H "Content-Type: application/json" \
-d '{"inputs": "ACDEFGHIKLMNPQRSTVWY"}'
Returns a PDB-format structure. Parse pLDDT from B-factor column as above.
Local Python library for cheminformatics. Calculate molecular properties relevant to binding.
pip install rdkit
from rdkit import Chem
from rdkit.Chem import Descriptors, rdMolDescriptors
smiles = "CC(=O)NC(CS)C(=O)O" # peptide SMILES
mol = Chem.MolFromSmiles(smiles)
mw = Descriptors.MolWt(mol)
logp = Descriptors.MolLogP(mol)
hbd = rdMolDescriptors.CalcNumHBD(mol)
hba = rdMolDescriptors.CalcNumHBA(mol)
rotatable = rdMolDescriptors.CalcNumRotatableBonds(mol)
tpsa = Descriptors.TPSA(mol)
Local Python library for ML-based binding affinity estimation.
pip install deepchem
import deepchem as dc
# Load a binding affinity dataset for transfer learning
tasks, datasets, transformers = dc.molnet.load_pdbbind(
featurizer="ECFP", set_name="core"
)
train, valid, test = datasets
# Train a binding affinity model
model = dc.models.MultitaskRegressor(
n_tasks=1, n_features=1024, layer_sizes=[1000, 500]
)
model.fit(train, nb_epoch=50)
# Predict Kd for new peptide-target complexes
predictions = model.predict(test)
Local deep learning docking tool. Requires conda environment and GPU recommended.
Install:
git clone https://github.com/gcorso/DiffDock.git
cd DiffDock
conda env create --file environment.yml
conda activate diffdock
Run docking:
python -m inference \
--config default_inference_args.yaml \
--protein_path target.pdb \
--ligand "PEPTIDE_SMILES" \
--out_dir results/
Output: ranked binding poses with confidence scores.
Traditional docking engine. Lighter than DiffDock, no GPU needed.
Install:
pip install vina
from vina import Vina
v = Vina(sf_name="vina")
v.set_receptor("target.pdbqt")
v.set_ligand_from_file("peptide.pdbqt")
v.compute_vina_maps(center=[x, y, z], box_size=[20, 20, 20])
v.dock(exhaustiveness=32, n_poses=10)
v.write_poses("docked_poses.pdbqt", n_poses=5)
Estimates binding free energy (ddG) for protein-peptide complexes.
FoldX --command=AnalyseComplex --pdb=complex.pdb --analyseComplexChains=A,B
Run molecular dynamics simulations to refine docked poses and estimate binding stability.
gmx pdb2gmx -f complex.pdb -o complex.gro -water spce
gmx editconf -f complex.gro -o box.gro -c -d 1.0 -bt cubic
gmx solvate -cp box.gro -cs spc216.gro -o solvated.gro -p topol.top
gmx grompp -f md.mdp -c solvated.gro -p topol.top -o md.tpr
gmx mdrun -deffnm md
Both thresholds must be met to trigger human notification and Beach.Science posting.
| Metric | Threshold | Meaning |
|---|---|---|
| pLDDT | > 70 | Structure confidence sufficient for reliable docking |
| Estimated Kd | < 100 nM | Binding affinity worth pursuing experimentally |
On gate PASS: Post results to Beach.Science as a hypothesis. Notify human with wet lab recommendations.
On gate FAIL: Log results. Suggest parameter adjustments (different peptide variants, alternative docking parameters). Continue autonomously.
After wet lab validation, these signals feed back to improve future predictions.
| Signal | Assay | What it measures |
|---|---|---|
| Kd | SPR (Surface Plasmon Resonance) | Binding affinity — confirms computational Kd estimate |
| IC50 | Dose-response curve | Functional inhibition potency |
| Selectivity | Counter-screen / ELISA | Specificity against off-targets |
Store feedback in state.json under feedback to calibrate future scoring.
Pipeline state is tracked in skills/peptide-binding/state.json (gitignored, created at runtime).
{
"pipeline": {
"id": "run-001",
"target": {"pdb_id": "6LU7", "uniprot_id": "P0DTD1"},
"peptides": ["ACDEFG"],
"compute_tier": 1,
"stage": "docking",
"results": {
"structure_retrieval": {"plddt": 82.3, "source": "alphafold_db"},
"peptide_modelling": {"properties": {"mw": 650.7}},
"docking": null,
"scoring": null
},
"gate": {"passed": null, "plddt_threshold": 70, "kd_threshold_nm": 100},
"feedback": {},
"beach_post_id": null,
"started_iso": "2026-03-03T10:00:00Z"
}
}
This skill draws on patterns and examples from open source projects:
--data-urlencode for user-supplied input in curl commands to prevent shell injection.