Finding molecules similar to mestranol
Generate molecules with atom-pair similarity to mestranol above 0.75, within 10,000 oracle calls.
+58 −0 README.md 新增 查看文件
| @@ -0,0 +1,58 @@ | ||
| 1 | +# Finding molecules similar to mestranol | |
| 2 | + | |
| 3 | +Rediscovering a known drug from a similarity score is the simplest check that a design algorithm can steer towards a target region of chemical space. Mestranol, a steroid, is the hardest of GuacaMol's three similarity targets, because its fused-ring scaffold is difficult to assemble by small edits. | |
| 4 | + | |
| 5 | +## Task | |
| 6 | + | |
| 7 | +Propose molecules as SMILES strings and maximise similarity to mestranol, measured as Tanimoto similarity over atom-pair fingerprints and thresholded at 0.75, so anything above the threshold counts as full marks. Scored by AUC top-10 over a 10,000-call budget. | |
| 8 | + | |
| 9 | +## Background | |
| 10 | + | |
| 11 | +The oracle is one of GuacaMol's similarity benchmarks, served by the Therapeutics Data Commons. In PMO's results it stays much harder than its siblings: albuterol similarity reaches 0.898 while nothing passes 0.63 here. The two are scored with different fingerprints, atom-pair for mestranol against FCFC4 for albuterol, and mestranol's fused steroid rings are harder to assemble by small edits, so the pair is a clean comparison of what current methods can and cannot reach. | |
| 12 | + | |
| 13 | +## Data and evaluation | |
| 14 | + | |
| 15 | +- Data: there is no training set to fit. Any database a method needs is restricted to ZINC 250k, which ships | |
| 16 | + with the repository, so no method gets an advantage from a richer corpus. | |
| 17 | +- Budget and seeds: 10,000 oracle calls per run, and five independent runs with different random seeds | |
| 18 | + (`python run.py METHOD --task production --n_runs 5 --oracles mestranol_similarity`). Report the mean and standard deviation | |
| 19 | + over the runs. The budget counts distinct valid canonical SMILES: a molecule queried twice is served from the | |
| 20 | + cache for free, and an invalid SMILES scores 0. | |
| 21 | +- Metric: AUC top-10. The mean score of the ten best molecules found so far is recorded every 100 calls, the | |
| 22 | + curve against the number of calls is integrated by the trapezoid rule and divided by the 10,000-call budget, so | |
| 23 | + the value lands in $[0, 1]$ and higher is better. A run that stops early keeps its final top-10 value for the | |
| 24 | + rest of the budget. Unlike a plain top-10 average, the metric rewards reaching a good score early. | |
| 25 | +- Official evaluation code: <https://github.com/wenhao-gao/mol_opt> (MIT), where `main/optimizer.py` holds the | |
| 26 | + budget accounting and the AUC. Oracles come from the Therapeutics Data Commons via PyTDC (MIT); the ZINC | |
| 27 | + database is free to use. | |
| 28 | + | |
| 29 | +## What is known | |
| 30 | + | |
| 31 | +- Best in the PMO paper's table: GP BO at 0.627 ± 0.089, then REINVENT on SELFIES at 0.620 ± 0.029 and REINVENT at 0.618 ± 0.048. Six methods lie within 0.1 of the leader, so the ranking is not well separated. | |
| 32 | +- Later work on the same protocol reports higher: Mol GA at 0.762 ± 0.048 and Genetic GFN at 0.708 ± 0.057 (five runs, 10,000 calls). | |
| 33 | +- A random screen of ZINC 250k scores 0.409, so roughly two thirds of the leader's score comes for free from the database. | |
| 34 | +- For comparison, the same methods reach about 0.9 on the albuterol similarity oracle, which is what marks this one as the hard case. | |
| 35 | + | |
| 36 | +## What would count as progress | |
| 37 | + | |
| 38 | +- A mean AUC top-10 above 0.627 on `mestranol_similarity` from five runs under the official protocol, reported | |
| 39 | + with the per-run values and the standard deviation. To beat the field rather than the 2022 table, the number to | |
| 40 | + pass is 0.762 (Mol GA). | |
| 41 | +- The run logs, which record every scored molecule in order, so the AUC and the oracle-call count can be | |
| 42 | + recomputed rather than trusted. | |
| 43 | +- Code in the repository's method layout, so the result can be re-run on the other 22 oracles: a method that wins | |
| 44 | + on one oracle and loses elsewhere is the pattern PMO was built to expose. | |
| 45 | + | |
| 46 | +## References | |
| 47 | + | |
| 48 | +1. W. Gao, T. Fu, J. Sun and C. W. Coley, "Sample Efficiency Matters: A Benchmark for Practical Molecular Optimization", *NeurIPS 2022 Datasets and Benchmarks* (2022). <https://arxiv.org/abs/2206.12411> | |
| 49 | +2. N. Brown, M. Fiscato, M. H. S. Segler and A. C. Vaucher, "GuacaMol: Benchmarking Models for de Novo Molecular Design", *Journal of Chemical Information and Modeling* **59**, 1096–1108 (2019). <https://doi.org/10.1021/acs.jcim.8b00839> | |
| 50 | +3. A. Tripp, G. N. C. Simm and J. M. Hernández-Lobato, "A Fresh Look at De Novo Molecular Design Benchmarks", *NeurIPS 2021 AI for Science Workshop* (2021). <https://openreview.net/forum?id=gS3XMun4cl_> | |
| 51 | +4. A. Tripp and J. M. Hernández-Lobato, "Genetic algorithms are strong baselines for molecule generation" (2023). <https://arxiv.org/abs/2310.09267> | |
| 52 | +5. H. Kim, M. Kim, S. Choi and J. Park, "Genetic-guided GFlowNets for Sample Efficient Molecular Optimization", *NeurIPS 2024* (2024). <https://arxiv.org/abs/2402.05961> | |
| 53 | + | |
| 54 | +## Source | |
| 55 | + | |
| 56 | +Imported from [PMO (mol_opt), the `mestranol_similarity` oracle](https://github.com/wenhao-gao/mol_opt), curated by Wenhao Gao, Tianfan Fu, Jimeng Sun | |
| 57 | +and Connor W. Coley. Open according to the source as of 2026-10-20. The statement above is written in our own | |
| 58 | +words; see the source for the original wording, history and discussion. | |