{"data":{"kind":"file","path":"README.md","version_id":"rfv0d97eckn2t1szmn6slgs6","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":4350,"modified_at":"2026-10-28T14:50:18.953000","content_hash":"38d02b91d466eda16d8ed2780754dd9bf09fd041520248ef5a30e05495c69fb2"},"entries":[],"content":"# Protein Polymer Design Lab\n\nAn installable experimental **Prime Intellect Environments Hub** benchmark for constrained protein macromolecule / polypeptide sequence engineering.\n\n> **Scope and scientific limitation:** All scoring functions are deliberately simplified, synthetic numerical proxies. Hydropathy, molecular mass and residue counts are computable features, but disorder, aggregation, and diversity rewards do **not** constitute validated predictions of folding, solubility, function, safety, synthesis feasibility or experimental success. No proteins are claimed to work in a lab. No wet-lab protocols or bioactivity evaluation are included.\n\n## Task\n\nEach episode asks an agent to return a protein sequence using a **JSON** object: `{\"sequence\":\"ACDE...\"}`. Episodes vary in length (48–160 aa), charge target, hydropathy target, aromatic fraction, flexibility/disorder proxy, molecular mass target, and hard sequence constraints. Length, excluded residue, homopolymer run length and repetitive 3-mer fraction are strictly enforced. Invalid sequences score **zero**.\n\nObjectives have continuous bounded rewards across charge (18%), hydropathy (18%), aromatic fraction (12%), disorder proxy (14%), mass (13%), aggregation proxy (15%) and diversity (10%). No LLM judge required. Evaluation is reproducible and the task generator uses independent split-specific seeds.\n\n## Quick start (offline, Python 3.10+)\n\n```bash\npython cli.py task --seed 0\npython cli.py baseline --seed 0 --iterations 3000\npython cli.py export --split validation --count 100 --output validation.jsonl\npython -m unittest discover -s tests -v\n```\n\n## Prime Intellect integration\n\n```bash\nuv venv --python 3.11\nuv pip install --python .venv/bin/python .\n.venv/bin/python -m unittest discover -s tests -v\nuv build --wheel\n# Requires an authenticated Prime account with a public username:\nprime env push -p . --visibility PUBLIC --plain\n```\n\nThe adapter implements `load_environment(split='train', num_examples=200)` using the classic `vf.SingleTurnEnv` API, pinned to Verifiers 0.1.8. The offline solver/score/tests run without Verifiers. Local verification includes the core tests and a deterministic scripted SDK rollout, not a live model evaluation. No hosted CI or model evaluation is claimed. Publication requires a Prime account with a public username.\n\n## Architecture\n\n- `protein_polymer_design_lab/core.py`: deterministic task generator, featurization, constraint checker, reward decomposition, baseline optimizer.\n- `polymer_core.py`: compatibility imports for the offline CLI.\n- `protein_polymer_design_lab/__init__.py`: Verifiers environment entry point.\n- `cli.py`: standalone inspection, grading, baseline, JSONL export.\n- `tests/test_core.py`: deterministic generation, constraints, schema and baseline tests.\n\n## Bounty-level roadmap (not implemented)\n\n1. **Long-horizon interactive optimization**: stateful tools for proposing mutants, staging experiments, budget accounting, and terminal submission; action traces and tool budgets.\n2. **Validated surrogate plug-ins**: pinned public datasets and precomputed folding/structure metrics with explicit confidence intervals and strict train/test family separation.\n3. **Hidden holdouts**: concealed variant tasks, leakage-resistant split by sequence identity/family, non-adversarial reference targets.\n4. **Multi-fidelity experimentation**: cost-tiered analytic, coarse-grained and computational-structure estimates; reward for planning efficient experiments under limited compute.\n5. **Difficulty calibration**: baseline distributions from random search, evolutionary strategies, and diverse LLM agents; identify ceiling/floor effects.\n6. **Reproducibility**: immutable data manifest, versioned scoring, deterministic containers, public environment card, safety evaluation.\n\n## Anti-reward-hacking notes\n\n- Final reward derived from submitted sequence, not self-reported features.\n- Invalid residues and hard-constraint violations yield 0.\n- Inputs are normalized and explicitly parsed as JSON.\n- Generation has distinct train/validation/test seeds, but these are **not secret** in a public benchmark; hidden hosted holdouts would strengthen evaluation.\n- Scoring proxies are inspectable and can be gamed as mathematical objectives; this is intentional for v0.1 and does not imply biological performance.\n","encoding":"utf-8","truncated":false,"total_bytes":4350},"status":null}