[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
# Python wrapper for BlueDesc molecular descriptors
## Installation
From source:
git clone https://github.com/OlivierBeq/bluedesc_pywrapper.git
pip install ./bluedesc_pywrapper
with pip:
```bash
pip install BlueDesc-pywrapper
```
### Get started
```python
from BlueDesc_pywrapper import BlueDesc
from rdkit import Chem
from rdkit.Chem import AllChem
smiles_list = [
# erlotinib
"n1cnc(c2cc(c(cc12)OCCOC)OCCOC)Nc1cc(ccc1)C#C",
# midecamycin
"CCC(=O)O[C@@H]1CC(=O)O[C@@H](C/C=C/C=C/[C@@H]([C@@H](C[C@@H]([C@@H]([C@H]1OC)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C)O[C@H]3C[C@@]([C@H]([C@@H](O3)C)OC(=O)CC)(C)O)N(C)C)O)CC=O)C)O)C",
# selenofolate
"C1=CC(=CC=C1C(=O)NC(CCC(=O)OCC[Se]C#N)C(=O)O)NCC2=CN=C3C(=N2)C(=O)NC(=N3)N",
]
mols = [Chem.AddHs(Chem.MolFromSmiles(smiles)) for smiles in smiles_list]
for mol in mols:
_ = AllChem.EmbedMolecule(mol)
bluedesc = BlueDesc()
print(bluedesc.calculate(mols))
```
The above calculates 118 molecular descriptors (33 1D and 85 2D).<br/>
:warning: BlueDesc skips molecules it cannot parse internally, a warning is given when that is the case.
The following command is recommended, should this occur, to prevent the unalignment of input and output indices.
```python
bluedesc.calculate(mols, chunksize=1, njobs=-1)
```
The additional 56 three-dimensional (3D) descriptors may be computed like so:
:warning: Molecules are required to have conformers for 3D descriptors to be calculated.<br/>
```python
bluedesc = BlueDesc(ignore_3D=False)
print(bluedesc.calculate(mols))
```
## Documentation
```python
def calculate(mols, show_banner=True, njobs=1, chunksize=1000):
```
Default method to calculate BlueDesc descriptors.
Parameters:
- ***mols : Iterable[Chem.Mol]***
RDKit molecule objects for which to obtain BlueDesc descriptors.
- ***show_banner : bool***
Displays default notice about BlueDesc.
- ***njobs : int***
Maximum number of simultaneous processes.
- ***chunksize : int***
Maximum number of molecules each process is charged of.
Raw data
{
"_id": null,
"home_page": "https://github.com/OlivierBeq/bluedesc_pywrapper",
"name": "BlueDesc-pywrapper",
"maintainer": "Olivier J. M. B\u00e9quignon",
"docs_url": null,
"requires_python": null,
"maintainer_email": "\"olivier.bequignon.maintainer@gmail.com\"",
"keywords": "BlueDesc, molecular descriptors, cheminformatics, toxicoinformatics, QSAR",
"author": "Olivier J. M. B\u00e9quignon",
"author_email": "\"olivier.bequignon.maintainer@gmail.com\"",
"download_url": "https://files.pythonhosted.org/packages/6a/a8/3056bd01cfe2892c6322a79c84008c505ea2142464d783c3a4cc14f1d502/bluedesc_pywrapper-0.0.5.post1.tar.gz",
"platform": null,
"description": "[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\n# Python wrapper for BlueDesc molecular descriptors\r\n\r\n## Installation\r\n\r\nFrom source:\r\n\r\n git clone https://github.com/OlivierBeq/bluedesc_pywrapper.git\r\n pip install ./bluedesc_pywrapper\r\n\r\nwith pip:\r\n\r\n```bash\r\npip install BlueDesc-pywrapper\r\n```\r\n\r\n### Get started\r\n\r\n```python\r\nfrom BlueDesc_pywrapper import BlueDesc\r\nfrom rdkit import Chem\r\nfrom rdkit.Chem import AllChem\r\n\r\nsmiles_list = [\r\n # erlotinib\r\n \"n1cnc(c2cc(c(cc12)OCCOC)OCCOC)Nc1cc(ccc1)C#C\",\r\n # midecamycin\r\n \"CCC(=O)O[C@@H]1CC(=O)O[C@@H](C/C=C/C=C/[C@@H]([C@@H](C[C@@H]([C@@H]([C@H]1OC)O[C@H]2[C@@H]([C@H]([C@@H]([C@H](O2)C)O[C@H]3C[C@@]([C@H]([C@@H](O3)C)OC(=O)CC)(C)O)N(C)C)O)CC=O)C)O)C\",\r\n # selenofolate\r\n \"C1=CC(=CC=C1C(=O)NC(CCC(=O)OCC[Se]C#N)C(=O)O)NCC2=CN=C3C(=N2)C(=O)NC(=N3)N\",\r\n]\r\nmols = [Chem.AddHs(Chem.MolFromSmiles(smiles)) for smiles in smiles_list]\r\nfor mol in mols:\r\n _ = AllChem.EmbedMolecule(mol)\r\n\r\nbluedesc = BlueDesc()\r\nprint(bluedesc.calculate(mols))\r\n```\r\n\r\nThe above calculates 118 molecular descriptors (33 1D and 85 2D).<br/>\r\n:warning: BlueDesc skips molecules it cannot parse internally, a warning is given when that is the case.\r\nThe following command is recommended, should this occur, to prevent the unalignment of input and output indices.\r\n\r\n```python\r\nbluedesc.calculate(mols, chunksize=1, njobs=-1)\r\n```\r\n\r\nThe additional 56 three-dimensional (3D) descriptors may be computed like so: \r\n:warning: Molecules are required to have conformers for 3D descriptors to be calculated.<br/>\r\n\r\n```python\r\nbluedesc = BlueDesc(ignore_3D=False)\r\nprint(bluedesc.calculate(mols))\r\n\r\n```\r\n\r\n## Documentation\r\n\r\n```python\r\ndef calculate(mols, show_banner=True, njobs=1, chunksize=1000):\r\n```\r\n\r\nDefault method to calculate BlueDesc descriptors.\r\n\r\nParameters:\r\n\r\n- ***mols : Iterable[Chem.Mol]*** \r\n RDKit molecule objects for which to obtain BlueDesc descriptors.\r\n- ***show_banner : bool*** \r\n Displays default notice about BlueDesc.\r\n- ***njobs : int*** \r\n Maximum number of simultaneous processes.\r\n- ***chunksize : int*** \r\n Maximum number of molecules each process is charged of.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Python wrapper for BlueDesc molecular descriptors",
"version": "0.0.5.post1",
"project_urls": {
"Homepage": "https://github.com/OlivierBeq/bluedesc_pywrapper"
},
"split_keywords": [
"bluedesc",
" molecular descriptors",
" cheminformatics",
" toxicoinformatics",
" qsar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "849398bbda82fa4af479abd63439261106a3808b9a0cbd81e6e2fc8d73f1307e",
"md5": "02f24fb22f2057005d830377f0f0cab5",
"sha256": "4e6f69f20930900a3689c63a0639d986f6feb7074a7b81e08d9bae4b3a4b29a0"
},
"downloads": -1,
"filename": "BlueDesc_pywrapper-0.0.5.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "02f24fb22f2057005d830377f0f0cab5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12598,
"upload_time": "2024-05-17T19:37:07",
"upload_time_iso_8601": "2024-05-17T19:37:07.383174Z",
"url": "https://files.pythonhosted.org/packages/84/93/98bbda82fa4af479abd63439261106a3808b9a0cbd81e6e2fc8d73f1307e/BlueDesc_pywrapper-0.0.5.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6aa83056bd01cfe2892c6322a79c84008c505ea2142464d783c3a4cc14f1d502",
"md5": "0cb1c3de455c58fdbe44a0c956606ace",
"sha256": "0fe275c6d26848ea32e25ad75c71798296acdd5a5d00e3f65947b8091095ca3a"
},
"downloads": -1,
"filename": "bluedesc_pywrapper-0.0.5.post1.tar.gz",
"has_sig": false,
"md5_digest": "0cb1c3de455c58fdbe44a0c956606ace",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13550,
"upload_time": "2024-05-17T19:37:10",
"upload_time_iso_8601": "2024-05-17T19:37:10.883466Z",
"url": "https://files.pythonhosted.org/packages/6a/a8/3056bd01cfe2892c6322a79c84008c505ea2142464d783c3a4cc14f1d502/bluedesc_pywrapper-0.0.5.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-17 19:37:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OlivierBeq",
"github_project": "bluedesc_pywrapper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "bluedesc-pywrapper"
}