{"data":{"kind":"file","path":"README.md","version_id":"ed64l1t69stufr94p56yus16","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":2331,"modified_at":"2026-07-08T23:16:44.906000","content_hash":"bbe6a5adbb1d698a3f57056ff059c98b51fa4963cda794f5312cba2e7b80afb1"},"entries":[],"content":"# bioreason-go-rl\n\nA single-turn RL environment for protein Gene Ontology (GO) function prediction.\nThe model reads protein evidence, treats GO-GPT candidate terms as noisy\nhypotheses, and emits one strict JSON object containing a functional summary plus\nGO IDs grouped by ontology aspect.\n\n## Task\n\nGiven the protein evidence, predict GO annotations as JSON:\n\n```json\n{\n  \"functional_summary\": \"2-3 sentence description of function, role, and location\",\n  \"molecular_function\": [\"GO:0005524\", \"GO:0004672\"],\n  \"biological_process\": [\"GO:0006468\"],\n  \"cellular_component\": [\"GO:0005737\"]\n}\n```\n\n## Data\n\n- Train: `wanglab/bioreason-pro-rl-reasoning-data`\n- Eval: `wanglab/bioreason-pro-test-data`\n\nExamples without any gold GO annotation are dropped. `go_mf`, `go_bp`, and\n`go_cc` are the gold per-aspect labels. `go_pred` is shown to the model as noisy\ncandidate evidence and is never used as a target.\n\n## Reward Profiles\n\nThe environment supports only the BioReason reward profiles used by the RL\nconfig pack:\n\n| profile | weighted signals |\n| --- | --- |\n| `ted_f1_presence_v1` | `go_f1_mean` 0.35 + `go_ted_score` 0.30 + `aspect_presence_accuracy` 0.25 + `json_format_score` 0.10 |\n| `json_allaspect_f1_v1` | `go_f1_all_aspects` 0.90 + `json_format_score` 0.10 |\n| `json_go_f1_mean_v1` | `go_f1_mean` 0.90 + `json_format_score` 0.10 |\n\n`go_ted_score` computes Zhang-Shasha tree-edit-distance similarity over the GO\nJSON, excluding `functional_summary`. GO lists are sorted for order invariance\nbut not deduplicated, so repeated GO IDs are penalized as extra leaves.\n\nDiagnostic metrics `go_mf_f1`, `go_bp_f1`, `go_cc_f1`, `go_pair_f1`, and\n`empty_aspect_accuracy` are logged at weight 0 for analysis.\n\n## Contract\n\n```python\nfrom bioreason_go_rl import load_environment\n\nenv = load_environment(\n    dataset_name=\"wanglab/bioreason-pro-rl-reasoning-data\",\n    split=\"train\",\n    num_examples=-1,\n    max_sequence_chars=2000,\n    max_candidate_chars=1800,\n    include_protein_function=False,\n    reward_profile=\"json_go_f1_mean_v1\",\n)\n```\n\nUnsupported `reward_profile` values raise `ValueError` with the supported profile\nlist.\n\n## Dependencies\n\n`datasets`, `verifiers`, and `zss`. No external API keys or network tools are\nneeded beyond Hugging Face dataset download.\n\nPublished environment handle: `lokahq/bioreason-go-rl@1`.\n","encoding":"utf-8","truncated":false,"total_bytes":2331},"status":null}