___ ___ ___ ___ ___ ___ ___ ___
/\ \ /\ \ /\__\ /\ \ /\ \ /\ \ /\__\ /| |
|::\ \ /::\ \ /:/ / /::\ \ |::\ \ /::\ \ /:/ _/_ |:| |
|:|:\ \ /:/\:\ \ /:/ / /:/\:\ \ |:|:\ \ /:/\:\__\ /:/ /\__\ |:| |
__|:|\:\ \ /:/ \:\ \ ___ ___ /:/ / ___ /:/ \:\ \ __|:|\:\ \ /:/ /:/ / ___ ___ /:/ /:/ _/_ __|:|__|
/::::|_\:\__\ /:/__/ \:\__\ /\ \ /\__\ /:/__/ /\__\ /:/__/ \:\__\ /::::|_\:\__\ /:/_/:/ / /\ \ /\__\ /:/_/:/ /\__\ /::::\__\_____
\:\~~\ \/__/ \:\ \ /:/ / \:\ \ /:/ / \:\ \ /:/ / \:\ \ /:/ / \:\~~\ \/__/ \:\/:/ / \:\ \ /:/ / \:\/:/ /:/ / ~~~~\::::/___/
\:\ \ \:\ /:/ / \:\ /:/ / \:\ /:/ / \:\ /:/ / \:\ \ \::/__/ \:\ /:/ / \::/_/:/ / |:|~~|
\:\ \ \:\/:/ / \:\/:/ / \:\/:/ / \:\/:/ / \:\ \ \:\ \ \:\/:/ / \:\/:/ / |:| |
\:\__\ \::/ / \::/ / \::/ / \::/ / \:\__\ \:\__\ \::/ / \::/ / |:|__|
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ |/__/
Implementing a variety of complementary metrics for molecular complexity and synthetic accessibility.
A collaboration with the Sarpong group to understand complexity of molecules
# Requirements
- numpy, pandas
- rdkit
- openbabel
- mordred
- SYBA (conda install -c lich syba)
## Set up conda environment directly using the yml file:
To install the required packages through Conda, use the env.yml file as follows and the activate the environment:
1. `conda env create -f env.yml`
2. `conda activate mc`
This will set up the environment with molcomplex installed.
## For installation by cloning the GitHub folder, perform the follwoing steps:
1. Download the zipped folder or clone using: `git clone https://github.com/patonlab/molcomplex.git`
2. Navigate to the installed folder and run: `python setup.py install`. This will install `molcomplex` in the environment you are present in.
3. Install necessary dependencies using the following: `conda install -c lich syba`, `conda install -c conda-forge rdkit`, and `conda install -c conda-forge openbabel`
## Recommended installation and update guide (under works)
In a nutshell, `molcomplex` and its dependencies are installed/updated as follows:
1. Install using conda-forge: `conda install -c conda-forge molcomplex`
2. Update to the latest version: `pip install molcomplex --upgrade`
## Usage
To display the options type:
``python -m molcomplex -h``
The `molcomplex` package can be utilised as follows to obtain a csv with complexity scores.
``python -m molcomplex -f examples/test.txt``
To write to CSV add in the following:
``python -m molcomplex -f examples/test.txt --csv``
To perform a retro analysis by breaking down bonds to get complexity scores for precursors of the input SMILES add the following option:
``python -m molcomplex -f examples/test.txt --csv --retro``
## Usage APP
To run the web app perform the following steps:
1. Navigate to the webapp folder: `cd mcwebapp`
2. Run the app as follows: `python molcomplexapp.py`
3. copy paste the `http://127.0.0.1:8050/` or similar into web browser to utilise as an app.
# Metrics implemented
- Bertz Complexity (CT) Score (JACS 1981, 103, 3241-3243)
- Balaban J Score (Chem. Phys. Lett. 1982, 89, 399-404)
- Coley SCScore (J. Chem. Inf. Model. 2018, 58, 2, 252)
- IPC: Bonchev & Trinajstic's information content of the coefficients of the characteristic polynomial of the adjacency matrix of a hydrogen-suppressed graph of a molecule (J. Chem. Phys. 1977, 67, 4517-4533)
- Ertl SA_Score (J. Cheminform. 2009, 1, 8)
- Boettcher Score (J. Chem. Inf. Model. 2016, 56, 3, 462–470)
- Rücker's total walk count (twc) index: Rücker, G.; Rücker, C. Counts of All Walks as Atomic and Molecular Descriptors. (J. Chem. Inf. Comput. Sci. 1993, 33, 683-695)
- Proudfoot's Cm index based on atom environments: Proudfoot, J. R. A path based approach to assessing molecular complexity. Bioorganic Med. Chem. Lett. 27, 2014–2017 (2017)
- Kappa Shape Indices 1, 2 & 3 (Quant. Struct. Act. Relat. 1986, 5, 1-7)
- McGowan Volume (Chromatographia, 1987, 23, 243-246)
- Labute Approximate Surface Area (Methods Mol Biol 2004, 275, 261-78)
- Van der Waals Volume Atomic and Bond Contributions (J. Org. Chem. 2003, 68, 7368-7373).
- Zagreb Index
- MOE Type Desciptors (Labute ASA, PEOE VSA, SMR VSA, SLogP VSA)
- SYBA Score (J. Cheminformatics 2020, 12, 35)
- Multiple additional 2D metrics.
# To do list
- compare against human metric
- comment out descriptors that are highly correlated (say > 0.9)
# Currently broken
- Kier's alpha-modified shape indices
# Metrics to implement:
- Bertz’s Ns and Nt index: Bertz, S. H. & Sommer, T. J. Rigorous mathematical approaches to strategic bonds and synthetic analysis based on conceptually simple new complexity indices. Chem. Commun. 16, 2409–2410 (1997).
- Randić's zeta index: Randić, M. & Plavšić, D. Characterization of molecular complexity. Int. J. Quantum Chem. 91, 20–31 (2002).
- https://www.nature.com/articles/s41598-018-37253-8
Two noteworthy substructure-based methods are:
- Barone, R. & Chanon, M. A new and simple approach to chemical complexity. Application to the synthesis of natural products. J. Chem. Inf. Comput. Sci. 41, 269–272 (2001).
- Whitlock, H. W. On the structure of total synthesis of complex natural products. J. Org. Chem. 63, 7982–7989 (1998).
Raw data
{
"_id": null,
"home_page": "https://github.com/patonlab/molcomplex",
"name": "molcomplex",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.0",
"maintainer_email": null,
"keywords": "workflows, computational chemistry, cheminformatics, molecular complexity, DFT, automation",
"author": "Guilian Luchini, Shree Sowndarya S. V.",
"author_email": "guilian.luchini@colostate.edu, svss@colostate.edu",
"download_url": "https://files.pythonhosted.org/packages/e1/77/aaf2988cdceb4b1934988b67fc6013d0431d524afb0505730386468bc32f/molcomplex-1.0.3.tar.gz",
"platform": null,
"description": " ___ ___ ___ ___ ___ ___ ___ ___ \n /\\ \\ /\\ \\ /\\__\\ /\\ \\ /\\ \\ /\\ \\ /\\__\\ /| | \n |::\\ \\ /::\\ \\ /:/ / /::\\ \\ |::\\ \\ /::\\ \\ /:/ _/_ |:| | \n |:|:\\ \\ /:/\\:\\ \\ /:/ / /:/\\:\\ \\ |:|:\\ \\ /:/\\:\\__\\ /:/ /\\__\\ |:| | \n __|:|\\:\\ \\ /:/ \\:\\ \\ ___ ___ /:/ / ___ /:/ \\:\\ \\ __|:|\\:\\ \\ /:/ /:/ / ___ ___ /:/ /:/ _/_ __|:|__| \n /::::|_\\:\\__\\ /:/__/ \\:\\__\\ /\\ \\ /\\__\\ /:/__/ /\\__\\ /:/__/ \\:\\__\\ /::::|_\\:\\__\\ /:/_/:/ / /\\ \\ /\\__\\ /:/_/:/ /\\__\\ /::::\\__\\_____\n \\:\\~~\\ \\/__/ \\:\\ \\ /:/ / \\:\\ \\ /:/ / \\:\\ \\ /:/ / \\:\\ \\ /:/ / \\:\\~~\\ \\/__/ \\:\\/:/ / \\:\\ \\ /:/ / \\:\\/:/ /:/ / ~~~~\\::::/___/\n \\:\\ \\ \\:\\ /:/ / \\:\\ /:/ / \\:\\ /:/ / \\:\\ /:/ / \\:\\ \\ \\::/__/ \\:\\ /:/ / \\::/_/:/ / |:|~~| \n \\:\\ \\ \\:\\/:/ / \\:\\/:/ / \\:\\/:/ / \\:\\/:/ / \\:\\ \\ \\:\\ \\ \\:\\/:/ / \\:\\/:/ / |:| | \n \\:\\__\\ \\::/ / \\::/ / \\::/ / \\::/ / \\:\\__\\ \\:\\__\\ \\::/ / \\::/ / |:|__| \n \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ \\/__/ |/__/ \n \nImplementing a variety of complementary metrics for molecular complexity and synthetic accessibility.\n\nA collaboration with the Sarpong group to understand complexity of molecules\n\n# Requirements\n- numpy, pandas\n- rdkit\n- openbabel\n- mordred \n- SYBA (conda install -c lich syba)\n\n## Set up conda environment directly using the yml file:\nTo install the required packages through Conda, use the env.yml file as follows and the activate the environment: \n1. `conda env create -f env.yml`\n2. `conda activate mc`\nThis will set up the environment with molcomplex installed.\n\n## For installation by cloning the GitHub folder, perform the follwoing steps:\n1. Download the zipped folder or clone using: `git clone https://github.com/patonlab/molcomplex.git` \n2. Navigate to the installed folder and run: `python setup.py install`. This will install `molcomplex` in the environment you are present in. \n3. Install necessary dependencies using the following: `conda install -c lich syba`, `conda install -c conda-forge rdkit`, and `conda install -c conda-forge openbabel`\n\n## Recommended installation and update guide (under works)\nIn a nutshell, `molcomplex` and its dependencies are installed/updated as follows: \n1. Install using conda-forge: `conda install -c conda-forge molcomplex` \n2. Update to the latest version: `pip install molcomplex --upgrade` \n\n## Usage\nTo display the options type:\n\n``python -m molcomplex -h``\n\nThe `molcomplex` package can be utilised as follows to obtain a csv with complexity scores.\n\n``python -m molcomplex -f examples/test.txt``\n\nTo write to CSV add in the following:\n\n``python -m molcomplex -f examples/test.txt --csv``\n\nTo perform a retro analysis by breaking down bonds to get complexity scores for precursors of the input SMILES add the following option:\n\n``python -m molcomplex -f examples/test.txt --csv --retro``\n\n## Usage APP\nTo run the web app perform the following steps:\n1. Navigate to the webapp folder: `cd mcwebapp`\n2. Run the app as follows: `python molcomplexapp.py`\n3. copy paste the `http://127.0.0.1:8050/` or similar into web browser to utilise as an app.\n\n\n# Metrics implemented\n- Bertz Complexity (CT) Score (JACS 1981, 103, 3241-3243)\n- Balaban J Score (Chem. Phys. Lett. 1982, 89, 399-404)\n- Coley SCScore (J. Chem. Inf. Model. 2018, 58, 2, 252)\n- IPC: Bonchev & Trinajstic's information content of the coefficients of the characteristic polynomial of the adjacency matrix of a hydrogen-suppressed graph of a molecule (J. Chem. Phys. 1977, 67, 4517-4533)\n- Ertl SA_Score (J. Cheminform. 2009, 1, 8)\n- Boettcher Score (J. Chem. Inf. Model. 2016, 56, 3, 462\u2013470)\n- R\u00fccker's total walk count (twc) index: R\u00fccker, G.; R\u00fccker, C. Counts of All Walks as Atomic and Molecular Descriptors. (J. Chem. Inf. Comput. Sci. 1993, 33, 683-695)\n- Proudfoot's Cm index based on atom environments: Proudfoot, J. R. A path based approach to assessing molecular complexity. Bioorganic Med. Chem. Lett. 27, 2014\u20132017 (2017)\n- Kappa Shape Indices 1, 2 & 3 (Quant. Struct. Act. Relat. 1986, 5, 1-7)\n- McGowan Volume (Chromatographia, 1987, 23, 243-246)\n- Labute Approximate Surface Area (Methods Mol Biol 2004, 275, 261-78)\n- Van der Waals Volume Atomic and Bond Contributions (J. Org. Chem. 2003, 68, 7368-7373).\n- Zagreb Index \n- MOE Type Desciptors (Labute ASA, PEOE VSA, SMR VSA, SLogP VSA)\n- SYBA Score (J. Cheminformatics 2020, 12, 35)\n- Multiple additional 2D metrics.\n\n# To do list\n- compare against human metric\n- comment out descriptors that are highly correlated (say > 0.9)\n\n# Currently broken\n- Kier's alpha-modified shape indices\n\n# Metrics to implement:\n\n- Bertz\u2019s Ns and Nt index: Bertz, S. H. & Sommer, T. J. Rigorous mathematical approaches to strategic bonds and synthetic analysis based on conceptually simple new complexity indices. Chem. Commun. 16, 2409\u20132410 (1997).\n\n- Randi\u0107's zeta index: Randi\u0107, M. & Plav\u0161i\u0107, D. Characterization of molecular complexity. Int. J. Quantum Chem. 91, 20\u201331 (2002).\n\n- https://www.nature.com/articles/s41598-018-37253-8\n\nTwo noteworthy substructure-based methods are:\n- Barone, R. & Chanon, M. A new and simple approach to chemical complexity. Application to the synthesis of natural products. J. Chem. Inf. Comput. Sci. 41, 269\u2013272 (2001).\n\n- Whitlock, H. W. On the structure of total synthesis of complex natural products. J. Org. Chem. 63, 7982\u20137989 (1998).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Molecular Complexity Calculations",
"version": "1.0.3",
"project_urls": {
"Download": "https://github.com/patonlab/molcomplex/archive/refs/tags/v1.0.3.tar.gz",
"Homepage": "https://github.com/patonlab/molcomplex"
},
"split_keywords": [
"workflows",
" computational chemistry",
" cheminformatics",
" molecular complexity",
" dft",
" automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6aaa836764e96e8d478829bc53d1591e8ec3373bb14a88f599b65b37e034c63f",
"md5": "420491347fba356ab0d783f3cfa2fb9e",
"sha256": "016252698b3083bdd01951de4c2dc38726e7e8255d11108fc5c3554a71b75e9f"
},
"downloads": -1,
"filename": "molcomplex-1.0.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "420491347fba356ab0d783f3cfa2fb9e",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.0",
"size": 69931696,
"upload_time": "2024-07-20T06:23:27",
"upload_time_iso_8601": "2024-07-20T06:23:27.329662Z",
"url": "https://files.pythonhosted.org/packages/6a/aa/836764e96e8d478829bc53d1591e8ec3373bb14a88f599b65b37e034c63f/molcomplex-1.0.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e177aaf2988cdceb4b1934988b67fc6013d0431d524afb0505730386468bc32f",
"md5": "276220806b9e018569fba1c8434609fd",
"sha256": "a551ecf6bfb660440af36c1f507c22bbcdd26cb4ce929b45b360ecdecd0dfc8d"
},
"downloads": -1,
"filename": "molcomplex-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "276220806b9e018569fba1c8434609fd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.0",
"size": 69369082,
"upload_time": "2024-07-20T06:23:58",
"upload_time_iso_8601": "2024-07-20T06:23:58.840499Z",
"url": "https://files.pythonhosted.org/packages/e1/77/aaf2988cdceb4b1934988b67fc6013d0431d524afb0505730386468bc32f/molcomplex-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-20 06:23:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "patonlab",
"github_project": "molcomplex",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "molcomplex"
}