[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
# Python wrapper for Molecular Signature Descriptors
Python wrapper to ease the calculation of Signature molecular descriptors.
## Notice
This work relies on Gilleain Torrance's re-write of Jean-Loup Faulon's signature code for molecules (https://github.com/gilleain/signatures/).
The Signature Molecular Descriptor. 2. Enumerating Molecules from Their Extended Valence Sequences
Jean-Loup Faulon, Carla J. Churchwell, and Donald P. Visco
Journal of Chemical Information and Computer Sciences 2003 43 (3), 721-734
DOI: 10.1021/ci020346o
## Installation
From source:
git clone https://github.com/OlivierBeq/Signature_pywrapper.git
pip install ./Signature_pywrapper
with pip:
```bash
pip install Signature-pywrapper
```
### Get started
```python
from Signature_pywrapper import Signature
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",
# cisplatin
"N.N.Cl[Pt]Cl"
]
mols = [Chem.MolFromSmiles(smiles) for smiles in smiles_list]
sig = Signature()
print(sig.calculate(mols, depth=1))
```
One can also calculate signatures for multiple depths:
```python
print(sig.calculate(mols, depth=[1, 2, 3]))
```
## Documentation
```python
def calculate(mols, show_banner=True, njobs=1, chunksize=100):
```
Default method to calculate counts of signatures for each vertex of the molecule.
Parameters:
- ***mols : Iterable[Chem.Mol]***
RDKit molecule objects for which to obtain Signature descriptors.
- ***depth : Union[int, List[int]]***
Depth of the signatures of vertices.
- ***show_banner : bool***
Displays default notice about Signature descriptors.
- ***njobs : int***
Maximum number of simultaneous processes.
- ***chunksize : int***
Maximum number of molecules each process is charged of.
- ***return_type : pd.DataFrame***
Pandas DataFrame containing Signature molecular descriptors.
If executables have not previously been downloaded, attempts to download and install them.
Raw data
{
"_id": null,
"home_page": "https://github.com/OlivierBeq/Signature_pywrapper",
"name": "Signature-pywrapper",
"maintainer": "Olivier J. M. B\u00e9quignon",
"docs_url": null,
"requires_python": "",
"maintainer_email": "\"olivier.bequignon.maintainer@gmail.com\"",
"keywords": "signature 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/07/a6/ea57203e48ea5a6da2ef06f128ad5fd639f6dbc2d039e205e8b9fc9c4ad3/Signature_pywrapper-0.0.2.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 Molecular Signature Descriptors\r\n\r\nPython wrapper to ease the calculation of Signature molecular descriptors.\r\n\r\n## Notice\r\n\r\nThis work relies on Gilleain Torrance's re-write of Jean-Loup Faulon's signature code for molecules (https://github.com/gilleain/signatures/).\r\n\r\nThe Signature Molecular Descriptor. 2. Enumerating Molecules from Their Extended Valence Sequences\r\nJean-Loup Faulon, Carla J. Churchwell, and Donald P. Visco\r\nJournal of Chemical Information and Computer Sciences 2003 43 (3), 721-734\r\nDOI: 10.1021/ci020346o\r\n\r\n## Installation\r\n\r\nFrom source:\r\n\r\n git clone https://github.com/OlivierBeq/Signature_pywrapper.git\r\n pip install ./Signature_pywrapper\r\n\r\nwith pip:\r\n\r\n```bash\r\npip install Signature-pywrapper\r\n```\r\n\r\n### Get started\r\n\r\n```python\r\nfrom Signature_pywrapper import Signature\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 # cisplatin\r\n \"N.N.Cl[Pt]Cl\"\r\n]\r\nmols = [Chem.MolFromSmiles(smiles) for smiles in smiles_list]\r\n\r\nsig = Signature()\r\nprint(sig.calculate(mols, depth=1))\r\n```\r\n\r\nOne can also calculate signatures for multiple depths:\r\n```python\r\nprint(sig.calculate(mols, depth=[1, 2, 3]))\r\n```\r\n## Documentation\r\n\r\n```python\r\ndef calculate(mols, show_banner=True, njobs=1, chunksize=100):\r\n```\r\n\r\nDefault method to calculate counts of signatures for each vertex of the molecule.\r\n\r\nParameters:\r\n\r\n- ***mols : Iterable[Chem.Mol]*** \r\n RDKit molecule objects for which to obtain Signature descriptors.\r\n- ***depth : Union[int, List[int]]*** \r\n Depth of the signatures of vertices.\r\n- ***show_banner : bool*** \r\n Displays default notice about Signature descriptors.\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- ***return_type : pd.DataFrame*** \r\n Pandas DataFrame containing Signature molecular descriptors.\r\n If executables have not previously been downloaded, attempts to download and install them.\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Python wrapper for signature molecular descriptors",
"version": "0.0.2.post1",
"project_urls": {
"Homepage": "https://github.com/OlivierBeq/Signature_pywrapper"
},
"split_keywords": [
"signature molecular descriptors",
"cheminformatics",
"toxicoinformatics",
"qsar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f0a5e8d0cca561d7b0d6a26bbf9d298dd927ad5f3e452023eda885ffb5a0711e",
"md5": "acbcd200f485af7938e6bb6ba049dd71",
"sha256": "589d4b5335cb856b952c197b2cfa2cf1ad4a2a31de30ed0ce5231950db16b67f"
},
"downloads": -1,
"filename": "Signature_pywrapper-0.0.2.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "acbcd200f485af7938e6bb6ba049dd71",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 153134,
"upload_time": "2023-07-04T17:38:43",
"upload_time_iso_8601": "2023-07-04T17:38:43.711840Z",
"url": "https://files.pythonhosted.org/packages/f0/a5/e8d0cca561d7b0d6a26bbf9d298dd927ad5f3e452023eda885ffb5a0711e/Signature_pywrapper-0.0.2.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "07a6ea57203e48ea5a6da2ef06f128ad5fd639f6dbc2d039e205e8b9fc9c4ad3",
"md5": "c57fe45e7b3a3514b48575312af8f9b5",
"sha256": "9c9a6aed6f4dbaf0d53331f1a82316ecf1873819649f406fac38f0510e5486a9"
},
"downloads": -1,
"filename": "Signature_pywrapper-0.0.2.post1.tar.gz",
"has_sig": false,
"md5_digest": "c57fe45e7b3a3514b48575312af8f9b5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 155466,
"upload_time": "2023-07-04T17:38:45",
"upload_time_iso_8601": "2023-07-04T17:38:45.471476Z",
"url": "https://files.pythonhosted.org/packages/07/a6/ea57203e48ea5a6da2ef06f128ad5fd639f6dbc2d039e205e8b9fc9c4ad3/Signature_pywrapper-0.0.2.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-04 17:38:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OlivierBeq",
"github_project": "Signature_pywrapper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "signature-pywrapper"
}