Skip to content

Commit 6f1368c

Browse files
authored
Merge pull request #5 from frog2000/master
Improving the accuracy of the score calculations
2 parents 85c6d3b + ce3c885 commit 6f1368c

File tree

2 files changed

+290
-107
lines changed

2 files changed

+290
-107
lines changed

Diff for: README.md

+29-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# bottchscore
2-
Calculate Böttcher score on small molecules as described in [Demoret et al. (ChemRxiv 2020)](https://chemrxiv.org/articles/Synthesis_and_Mechanistic_Interrogation_of_Ginkgo_biloba_Chemical_Space_en_route_to_-Bilobalide/12132939) according to the definition from [Böttcher, J.Chem.Inf.Mod. 2016](https://pubs.acs.org/doi/pdf/10.1021/acs.jcim.5b00723)
1+
# bottchscore (Improved Accuracy)
2+
Calculate Böttcher score on small molecules as described in [Demoret et al. (ChemRxiv 2020)](https://chemrxiv.org/articles/Synthesis_and_Mechanistic_Interrogation_of_Ginkgo_biloba_Chemical_Space_en_route_to_-Bilobalide/12132939) according to the definition from [Böttcher, J.Chem.Inf.Mod. 2016](https://pubs.acs.org/doi/pdf/10.1021/acs.jcim.5b00723). This repository contains a modified script originally developed by ForliLab (https://github.com/forlilab/bottchscore). The modified script accounts for E/Z double bond isomers and changes the s_i term accordingly for the appropriate atom. An option to change the maximum memory size for automorphic calculations was also added, allowing to aviod the memory limit errors for highly symmetrical molecules. The complexity score can also be calculated by directly calling the appropriate function from another script.
33

44
```
5-
usage: bottchscore3.py [-h] -i filename.ext [-m] [-p] [-c] [-v]
5+
usage: bottchscore4.py [-h] -i filename.ext [-m] [-p] [-c] [-v] [-x MaxMemory]
66
77
Tool to calculate Böttcher score on small molecules.
88
@@ -15,10 +15,34 @@ optional arguments:
1515
-c add a progressive counter to the list of results shown
1616
-v verbose mode; print the full table of the terms used to
1717
estimate the score, as described in the paper
18+
-x MaxMemory specify the maximum memory that will be available for the automorphism/symmetry calculations; the
19+
default value is set to 3000000
1820
```
1921
Require OpenBabel v.3.0 or newer.
2022

2123
All reading formats supported by [OpenBabel](http://openbabel.org/wiki/Main_Page) are supported. Although, there might be errors with molecule labels when using the ChemDraw format (just delete molecule labels).
2224

23-
## Support
24-
For help and support, please subscribe to the [CCSB mailing list](https://autodocksuite.scripps.edu/support/).
25+
This version of the program supports calculating scores for optical stereoisomers as well as E/Z double bond isomers as described in [Böttcher, J.Chem.Inf.Mod. 2016](https://pubs.acs.org/doi/pdf/10.1021/acs.jcim.5b00723); however, it does not support axial isomers (axial chirality).
26+
27+
Python function:
28+
```
29+
calculate_bottchscore_from_smiles(smiles: str, verbose_response=False, debug_arg=False, disable_mesomer=False, automorp_memory_maxsize=3000000) -> float
30+
```
31+
can be called to calculate a Böttcher score for a molecule directly from SMILES passed to the function as a string.
32+
33+
The modified script returns the same scores as the original script (see the 'Calculated Examples' folder), however the accuracy improvement is seen for such molecules as:
34+
```
35+
SMILES Original Score New Score
36+
CC(/C=C/C1=CC=CC=C1)=O 73.43 80.60 (the same as in SI figure S6 of the Bottcher paper)
37+
Cl/C=C\C=C\Br 54.25 68.59
38+
CC/C(C1=CC=CC=C1)=C(C2=CC=CC=C2)/CC 60.26 66.26
39+
C/C(=C(/C=C/C)\CCC)/CC 64.34 83.51
40+
CC/C=C(C)/[2H] 24.34 31.51
41+
CC/C=C1CCC[C@H](Br)C/1 99.80 106.97
42+
```
43+
Compounds that are not E/Z isomer but have a double bond also work as expected:
44+
```
45+
SMILES Original Score New Score
46+
C/C=C(C)/C 19.17 19.17
47+
CC/C=C1CCCCC/1 38.17 38.17
48+
```

0 commit comments

Comments
 (0)