{"id":43894374,"url":"https://github.com/recursionpharma/synflownet-boltz","last_synced_at":"2026-02-06T17:14:47.272Z","repository":{"id":301588207,"uuid":"1009685132","full_name":"recursionpharma/synflownet-boltz","owner":"recursionpharma","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-27T17:13:23.000Z","size":6908,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"trunk","last_synced_at":"2025-06-27T17:26:07.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/recursionpharma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-06-27T14:36:59.000Z","updated_at":"2025-06-27T17:13:27.000Z","dependencies_parsed_at":"2025-06-27T17:36:35.528Z","dependency_job_id":null,"html_url":"https://github.com/recursionpharma/synflownet-boltz","commit_stats":null,"previous_names":["recursionpharma/synflownet-boltz"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/recursionpharma/synflownet-boltz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursionpharma%2Fsynflownet-boltz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursionpharma%2Fsynflownet-boltz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursionpharma%2Fsynflownet-boltz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursionpharma%2Fsynflownet-boltz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/recursionpharma","download_url":"https://codeload.github.com/recursionpharma/synflownet-boltz/tar.gz/refs/heads/trunk","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursionpharma%2Fsynflownet-boltz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29169402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-02-06T17:14:42.684Z","updated_at":"2026-02-06T17:14:47.264Z","avatar_url":"https://github.com/recursionpharma.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Synflownet-Boltz](docs/sfn_boltz2_title.png)\n\n[![Python versions](https://img.shields.io/badge/Python-3.10%2B-blue)](https://www.python.org/downloads/)\n[![SynFlowNet paper](https://img.shields.io/badge/SynFlowNet_paper-arXiv-C70039)](https://arxiv.org/abs/2405.01155)\n[![Boltz2 paper](https://img.shields.io/badge/Boltz2_paper-bioRxiv-581845)](https://www.biorxiv.org/content/10.1101/2025.06.14.659707v1)\n\nThis repository contains the code for running generative screens with SynFlowNet and Boltz-2. Combining these two models allows to search the chemical space for diverse and synthesizable compounds that yield high binding affinity scores according to Boltz-2 predictions.\n\n# Purpose\n\n\u003e [!NOTE] \n\u003e **The main purpose of this repository is to offer a simple interface between SynFlowNet and Boltz-2 for running generative screens.**\n\nSynFlowNet is a GFlowNet model that generates molecules from chemical reactions and available building blocks. A SynFlowNet model is trained on a reward function to learn to sample synthesisable molecules with a probability proportional to their reward. Here we focus on **training SynFlowNet models using Boltz-2 as a reward function**. The current repository provides features allowing to leverage such computationally expensive reward functions. It extends the original [synflownet-repo](https://github.com/mirunacrt/synflownet) codebase, itself built upon the [recursionpharma-gflownet-repo](https://github.com/recursionpharma/gflownet).\n\n![Synflownet-Boltz](docs/sfn_boltz2_diagram.png)\n\nTo use SynFlowNet with computationally *less* expensive reward functions, it might be more advisable to simply start from the original [synflownet-repo](https://github.com/mirunacrt/synflownet). To use Boltz-2 for a different purpose such as screening a fixed molecular library, please refer to the [boltz-repo](https://github.com/jwohlwend/boltz).\n\n# Installation\n\nRunning SynFlowNet-Boltz screens requires installing two separate environments:\n\n1. A `boltz-env` for running the Boltz-2 workers. Start by installing boltz from the [Boltz-2 repository](https://github.com/jwohlwend/boltz) at commit `8b1627c` and add the `medchem` and `lilly-medchem-rules` packages:\n\n```\ngit clone https://github.com/jwohlwend/boltz.git\ncd boltz \u0026\u0026 git checkout 8b1627c\npip install -e .\n\npip install medchem\nconda install lilly-medchem-rules\n```\n\n2. A `synflownet-env` for running the SynFlowNet trainer. This package must be installed from the current repository:\n```\nconda create -n synflownet-env python=3.10\npip install -e . --find-links https://data.pyg.org/whl/torch-2.7.0+cu126.html\n```\n\nOptionally, you can install the development environment instead:\n```\npip install -e '.[dev]' --find-links https://data.pyg.org/whl/torch-2.7.0+cu126.html\n```\n\nFor formatting and linting, run the following command:\n```\npre-commit run --all-files\n```\n\n# Launching a screen\n\nPlease refer to [synflownet-boltz-launcher/README.md](synflownet-boltz-launcher/README.md) for instructions.\n\n# Bibtex\n\nIf this repository is useful to your research, please consider citing the following works:\n\n[![Boltz2 paper](https://img.shields.io/badge/Boltz2_paper-bioRxiv-581845)](https://www.biorxiv.org/content/10.1101/2025.06.14.659707v1)\n```\n@article{\npassaro2025boltz, title={Boltz-2: Towards Accurate and Efficient Binding Affinity Prediction}, author={Passaro, Saro and Corso, Gabriele and Wohlwend, Jeremy and Reveiz, Mateo and Thaler, Stephan and Ram Somnath, Vignesh and Getz, Noah and Portnoi, Tally and Roy, Julien and Stark, Hannes and others}, journal={bioRxiv}, pages={2025--06}, year={2025}, publisher={Cold Spring Harbor Laboratory}\n}\n```\n\n[![SynFlowNet paper](https://img.shields.io/badge/SynFlowNet_paper-arXiv-C70039)](https://arxiv.org/abs/2405.01155)\n```\n@article{\ncretu2025synflownetdesigndiversenovel, title={SynFlowNet: Design of Diverse and Novel Molecules with Synthesis Constraints}, author={Miruna Cretu and Charles Harris and Ilia Igashov and Arne Schneuing and Marwin Segler and Bruno Correia and Julien Roy and Emmanuel Bengio and Pietro Liò}, year={2025}, eprint={2405.01155}, archivePrefix={arXiv}, primaryClass={cs.LG}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecursionpharma%2Fsynflownet-boltz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frecursionpharma%2Fsynflownet-boltz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecursionpharma%2Fsynflownet-boltz/lists"}