Mold2-pywrapper


NameMold2-pywrapper JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/OlivierBeq/Mold2_pywrapper
SummaryPython wrapper for Mold2 descriptors
upload_time2024-11-06 07:24:01
maintainerOlivier J. M. Béquignon
docs_urlNone
authorOlivier J. M. Béquignon
requires_pythonNone
licenseNone
keywords mold2 molecular descriptors cheminformatics toxicoinformatics qsar
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)  

# Mold² Python wrapper

Python wrapper to ease the calculation of Mold2 molecular descriptors.

## Copyright notice

Mold2 is a product designed and produced by the National Center for Toxicological
Research (NCTR).<br/>FDA and NCTR retain ownership of this product.

Olivier J. M. Béquignon is **neither** the copyright holder of Mold2 **nor** responsible for it.

Only the Python wrapper is the work of Olivier J. M. Béquignon.

## Installation

From source:

    git clone https://github.com/OlivierBeq/Mold2_pywrapper.git
    pip install ./Mold2_pywrapper

with pip:

```bash
pip install mold2-pywrapper
```

### Get started

```python
from Mold2_pywrapper import Mold2

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]

mold2 = Mold2()
print(mold2.calculate(mols))
```

Instantiating a Mold2 object ensures that the executables for your platform are accessible.
If this is not the case, an attempt to download them from the
[website of the FDA](https://www.fda.gov/science-research/bioinformatics-tools/mold2) is made.

Should one have downloaded the original ZIP file available from the
[website of the FDA](https://www.fda.gov/science-research/bioinformatics-tools/mold2), the executables can be installed
using the following:

```python
path_to_zipfile = '...'  # Replace by the path to the ZIP file on your machine
mold2 = Mold2.from_executable(path_to_zipfile)
print(mold2.calculate(mols))
```

Executables will be installed for future use. From then on, default instanciation may be carried out:

```python
mold2 = Mold2()
print(mold2.calculate(mols))
```

### Details about descriptors

Any detail about the 777 Mold2 descriptors can be obtained either for a single descriptor, by providing its index:

```python
print(mold2.descriptor_detail(15))
# rotatable bond fraction
```

Or for all at once:

```python
print(mold2.descriptor_details())
# {"D001": "number of 6-membered aromatic rings (only carbon atoms)",
#  "D002": "number of 03-membered rings",
#  ...
#  }
```

## Documentation

```python
def calculate(mols, show_banner=True, njobs=1, chunksize=100):
```

Default method to calculate #### Parameters

- ***mols  : Iterable[Chem.Mol]***  
  RDKit molecule objects for which to obtain Mold2 descriptors.
- ***show_banner  : bool***  
  Displays default notice about Mold2 descriptors.
- ***njobs  : int***  
  Maximum number of simultaneous processes.
- ***chunksize  : int***  
  Maximum number of molecules each process is charged of.
- ***return_type  : pd.DataFramce***  
  Pandas DataFrame containing Mold2 molecular descriptors.Mold2 descriptors.
  If executables have not previously been downloaded, attempts to download and install them.

________________

```python
def descriptor_detail(index):
```

Obtain detils about one descriptor.

#### Parameters

- ***index  : int***  
  Index of the descriptor.
- ***return_type  : str***  
  Description of the descriptor.

________________

```python
def descriptor_details():
```

Obtain details about all descriptors.

#### Parameters

- ***return_type  : dict***  
  Mapping of molecular descriptors with their details.

________________

```python
def from_executable(zipfile_path):
```

Install executables and instantiate a Mold2 calculator.

#### Parameters

- ***zipfile_path  : str***  
  Path to the user-downloaded ZIP file containing Mold2 executables.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/OlivierBeq/Mold2_pywrapper",
    "name": "Mold2-pywrapper",
    "maintainer": "Olivier J. M. B\u00e9quignon",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "\"olivier.bequignon.maintainer@gmail.com\"",
    "keywords": "mold2, 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/b4/cc/6f37f55252444a05ed74448728ddfe9e5147ddd9b6a050111017c54caedf/mold2_pywrapper-0.1.2.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![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge&logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)  \r\n\r\n# Mold\u00b2 Python wrapper\r\n\r\nPython wrapper to ease the calculation of Mold2 molecular descriptors.\r\n\r\n## Copyright notice\r\n\r\nMold2 is a product designed and produced by the National Center for Toxicological\r\nResearch (NCTR).<br/>FDA and NCTR retain ownership of this product.\r\n\r\nOlivier J. M. B\u00e9quignon is **neither** the copyright holder of Mold2 **nor** responsible for it.\r\n\r\nOnly the Python wrapper is the work of Olivier J. M. B\u00e9quignon.\r\n\r\n## Installation\r\n\r\nFrom source:\r\n\r\n    git clone https://github.com/OlivierBeq/Mold2_pywrapper.git\r\n    pip install ./Mold2_pywrapper\r\n\r\nwith pip:\r\n\r\n```bash\r\npip install mold2-pywrapper\r\n```\r\n\r\n### Get started\r\n\r\n```python\r\nfrom Mold2_pywrapper import Mold2\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\nmold2 = Mold2()\r\nprint(mold2.calculate(mols))\r\n```\r\n\r\nInstantiating a Mold2 object ensures that the executables for your platform are accessible.\r\nIf this is not the case, an attempt to download them from the\r\n[website of the FDA](https://www.fda.gov/science-research/bioinformatics-tools/mold2) is made.\r\n\r\nShould one have downloaded the original ZIP file available from the\r\n[website of the FDA](https://www.fda.gov/science-research/bioinformatics-tools/mold2), the executables can be installed\r\nusing the following:\r\n\r\n```python\r\npath_to_zipfile = '...'  # Replace by the path to the ZIP file on your machine\r\nmold2 = Mold2.from_executable(path_to_zipfile)\r\nprint(mold2.calculate(mols))\r\n```\r\n\r\nExecutables will be installed for future use. From then on, default instanciation may be carried out:\r\n\r\n```python\r\nmold2 = Mold2()\r\nprint(mold2.calculate(mols))\r\n```\r\n\r\n### Details about descriptors\r\n\r\nAny detail about the 777 Mold2 descriptors can be obtained either for a single descriptor, by providing its index:\r\n\r\n```python\r\nprint(mold2.descriptor_detail(15))\r\n# rotatable bond fraction\r\n```\r\n\r\nOr for all at once:\r\n\r\n```python\r\nprint(mold2.descriptor_details())\r\n# {\"D001\": \"number of 6-membered aromatic rings (only carbon atoms)\",\r\n#  \"D002\": \"number of 03-membered rings\",\r\n#  ...\r\n#  }\r\n```\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 #### Parameters\r\n\r\n- ***mols  : Iterable[Chem.Mol]***  \r\n  RDKit molecule objects for which to obtain Mold2 descriptors.\r\n- ***show_banner  : bool***  \r\n  Displays default notice about Mold2 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.DataFramce***  \r\n  Pandas DataFrame containing Mold2 molecular descriptors.Mold2 descriptors.\r\n  If executables have not previously been downloaded, attempts to download and install them.\r\n\r\n________________\r\n\r\n```python\r\ndef descriptor_detail(index):\r\n```\r\n\r\nObtain detils about one descriptor.\r\n\r\n#### Parameters\r\n\r\n- ***index  : int***  \r\n  Index of the descriptor.\r\n- ***return_type  : str***  \r\n  Description of the descriptor.\r\n\r\n________________\r\n\r\n```python\r\ndef descriptor_details():\r\n```\r\n\r\nObtain details about all descriptors.\r\n\r\n#### Parameters\r\n\r\n- ***return_type  : dict***  \r\n  Mapping of molecular descriptors with their details.\r\n\r\n________________\r\n\r\n```python\r\ndef from_executable(zipfile_path):\r\n```\r\n\r\nInstall executables and instantiate a Mold2 calculator.\r\n\r\n#### Parameters\r\n\r\n- ***zipfile_path  : str***  \r\n  Path to the user-downloaded ZIP file containing Mold2 executables.\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python wrapper for Mold2 descriptors",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/OlivierBeq/Mold2_pywrapper"
    },
    "split_keywords": [
        "mold2",
        " molecular descriptors",
        " cheminformatics",
        " toxicoinformatics",
        " qsar"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "464179bef16bbb827c19ec0e88e1ddd891247f11d786c03727b1e039d345a9a8",
                "md5": "ea5100cdbc829c56994af625284b4c83",
                "sha256": "c901a9db46074714ccaae7c39282a564bfbe387bb3c1443609d1d34efea4d38f"
            },
            "downloads": -1,
            "filename": "Mold2_pywrapper-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ea5100cdbc829c56994af625284b4c83",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 16472,
            "upload_time": "2024-11-06T07:24:00",
            "upload_time_iso_8601": "2024-11-06T07:24:00.430608Z",
            "url": "https://files.pythonhosted.org/packages/46/41/79bef16bbb827c19ec0e88e1ddd891247f11d786c03727b1e039d345a9a8/Mold2_pywrapper-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4cc6f37f55252444a05ed74448728ddfe9e5147ddd9b6a050111017c54caedf",
                "md5": "3f8e886a772161440b623d2a0619094a",
                "sha256": "7dadf3ac70cb619d59ff0d1060676286a51ce7bdb6791f074156fba854716446"
            },
            "downloads": -1,
            "filename": "mold2_pywrapper-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "3f8e886a772161440b623d2a0619094a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 17986,
            "upload_time": "2024-11-06T07:24:01",
            "upload_time_iso_8601": "2024-11-06T07:24:01.875410Z",
            "url": "https://files.pythonhosted.org/packages/b4/cc/6f37f55252444a05ed74448728ddfe9e5147ddd9b6a050111017c54caedf/mold2_pywrapper-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-06 07:24:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "OlivierBeq",
    "github_project": "Mold2_pywrapper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "mold2-pywrapper"
}
        
Elapsed time: 0.52792s