{"id":51230523,"url":"https://github.com/LigandPro/Bento","last_synced_at":"2026-07-06T02:00:31.791Z","repository":{"id":330974983,"uuid":"1124683203","full_name":"LigandPro/Bento","owner":"LigandPro","description":"UV-first benchmark for protein-ligand docking with reproducible annotation, pocket similarity, and HPC workflows.","archived":false,"fork":false,"pushed_at":"2026-03-04T07:57:37.000Z","size":7402,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-04T13:50:34.711Z","etag":null,"topics":["benchmark","bioinformatics","cheminformatics","computational-chemistry","drug-discovery","hpc","molecular-docking","protein-ligand-docking","python","slurm","structure-based-drug-design","uv"],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LigandPro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-29T12:39:50.000Z","updated_at":"2026-03-04T08:01:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/LigandPro/Bento","commit_stats":null,"previous_names":["ligandpro/bento"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LigandPro/Bento","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LigandPro%2FBento","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LigandPro%2FBento/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LigandPro%2FBento/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LigandPro%2FBento/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LigandPro","download_url":"https://codeload.github.com/LigandPro/Bento/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LigandPro%2FBento/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35175119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","bioinformatics","cheminformatics","computational-chemistry","drug-discovery","hpc","molecular-docking","protein-ligand-docking","python","slurm","structure-based-drug-design","uv"],"created_at":"2026-06-28T16:00:21.738Z","updated_at":"2026-07-06T02:00:31.781Z","avatar_url":"https://github.com/LigandPro.png","language":"Jupyter Notebook","funding_links":[],"categories":["Benchmarks \u0026 Datasets","Cheminformatics \u0026 Molecular Modeling"],"sub_categories":["Clinical Trial"],"readme":"# Bento\n\n[![CI](https://github.com/LigandPro/Bento/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/LigandPro/Bento/actions/workflows/ci.yml)\n![Python](https://img.shields.io/badge/python-3.10--3.12-blue)\n![uv](https://img.shields.io/badge/env-uv-5C4EE5)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/LigandPro/Bento/blob/main/LICENSE)\n\nBento is a benchmark repository for evaluating protein-ligand docking methods across curated datasets and prediction outputs.\n\n## Highlights\n\n- Unified benchmark assets for ML and classical docking methods.\n- Legacy analysis pipeline preserved in `scripts/`.\n- UV-first workflow for local development and CI.\n- Reproducibility and HPC execution notes.\n\n## Repository Layout\n\n```text\nbento/\n├── annotated_ligands/          # Train/test tables with ligand-level annotations\n├── annotations/                # Annotation maps and ligand class assets\n├── datasets/                   # Core benchmark datasets\n├── predictions_full_raw/       # Raw predictions from docking methods\n├── scripts/                    # Legacy pipeline scripts (01..04)\n├── similarity_scores/          # Similarity score artifacts\n├── src/bento/                  # Bento CLI wrapper and environment tooling\n├── tests/                      # Automated tests\n├── docs/                       # Reproducibility and HPC docs\n└── slurm/                      # Example SLURM job templates\n```\n\n## Quick Start (UV)\n\n### 1. Sync environment\n\n```bash\nuv sync --no-editable\n```\n\n`--no-editable` is recommended to guarantee the `bento` console entrypoint is available in all Python 3.12 environments.\n\nFor development checks:\n\n```bash\nuv sync --no-editable --extra lint --extra test\n```\n\nFor ligand annotation dependencies:\n\n```bash\nuv sync --no-editable --extra annotation\n```\n\nFor pocket similarity dependencies (Linux/HPC):\n\n```bash\nuv sync --no-editable --extra similarity\n```\n\n### 2. Validate environment\n\n```bash\nuv run --extra annotation bento check-env --profile annotation\nuv run bento check-env --profile similarity --glosa-dir /path/to/glosa_v2.2\n```\n\n### 3. Run pipeline commands\n\nLigand annotation:\n\n```bash\nuv run --extra annotation bento annotate-ligands \\\n  --dataset-file datasets/tests.tsv \\\n  --output-dir outputs/\n```\n\nPocket similarity:\n\n```bash\nuv run bento compute-pocket-similarity \\\n  --data-csv test_run/path_tests.tsv \\\n  --protein-path path_protein \\\n  --ligand-path path_ligand \\\n  --bs-dir bs \\\n  --glosa-dir /path/to/glosa_v2.2 \\\n  --output-file similarity_scores/test_pocket_scores.tsv\n```\n\nAnnotation mapping:\n\n```bash\nuv run bento map-annotations \\\n  --tests-file datasets/tests.tsv \\\n  --annotations-dir annotations \\\n  --output-tests-file datasets/tests_annotated.tsv \\\n  --output-tests-exploded-file datasets/tests_exploded_annotated.tsv\n```\n\n## Configuration\n\nLegacy scripts use environment variables:\n\n- `BENTO_WORKDIR`: repository root path (default: current repository root).\n- `BENTO_DATABASES_DIR`: root path for external dataset files (default: `BENTO_WORKDIR`).\n- `BENTO_GLOSA_DIR`: path to GLoSA directory (default: `\u003crepo\u003e/external/glosa`).\n- `BENTO_REPO_ROOT`: optional override for CLI location of legacy scripts.\n\nExample:\n\n```bash\nexport BENTO_WORKDIR=/path/to/Bento\nexport BENTO_DATABASES_DIR=/path/to/datasets\nexport BENTO_GLOSA_DIR=/path/to/glosa_v2.2\n```\n\n## External Tool Requirements\n\nSome steps require non-Python tools:\n\n- PyMOL (for pocket extraction in script 02; installed with `--extra similarity`\n  on Linux/HPC).\n- Java JDK and `g++` (for GLoSA tooling).\n- GLoSA v2.2 executable and `AssignChemicalFeatures` class.\n\nBuild GLoSA once inside your `BENTO_GLOSA_DIR`:\n\n```bash\ng++ -c glosa.cpp\ng++ -o glosa glosa.o\njavac AssignChemicalFeatures.java\n```\n\nThese tools are validated by:\n\n```bash\nuv run bento check-env --profile similarity --glosa-dir /path/to/glosa_v2.2\n```\n\n## Quality Checks\n\n```bash\nuv run ruff check .\nuv run ruff format --check .\nuv run pytest\n```\n\n## Reproducibility and HPC\n\n- Reproducibility guide: [docs/reproducibility.md](docs/reproducibility.md)\n- HPC setup: [docs/hpc.md](docs/hpc.md)\n- SLURM templates: `slurm/`\n\n## Citation\n\n```bibtex\n@software{bento_benchmark,\n  title={Bento: A Comprehensive Benchmark for Protein-Ligand Docking Methods},\n  author={LigandPro Team},\n  year={2024},\n  url={https://github.com/LigandPro/Bento}\n}\n```\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLigandPro%2FBento","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLigandPro%2FBento","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLigandPro%2FBento/lists"}