Skip to main content

Python wrapper for Mold2 descriptors

Project description

License: MIT

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).
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:

pip install mold2-pywrapper

Get started

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 is made.

Should one have downloaded the original ZIP file available from the website of the FDA, the executables can be installed using the following:

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:

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:

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

Or for all at once:

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

Documentation

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.

def descriptor_detail(index):

Obtain detils about one descriptor.

Parameters

  • index : int
    Index of the descriptor.
  • return_type : str
    Description of the descriptor.

def descriptor_details():

Obtain details about all descriptors.

Parameters

  • return_type : dict
    Mapping of molecular descriptors with their details.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Mold2_pywrapper-0.0.3.post3.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

Mold2_pywrapper-0.0.3.post3-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file Mold2_pywrapper-0.0.3.post3.tar.gz.

File metadata

  • Download URL: Mold2_pywrapper-0.0.3.post3.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for Mold2_pywrapper-0.0.3.post3.tar.gz
Algorithm Hash digest
SHA256 5a4adad1c431128a5b356d36524837b9dfa234121f81756dc23351d094c982f9
MD5 463b04ae031b72983f484541c63fc236
BLAKE2b-256 e37ede9ced241f658d73cdf1e8e6f8b00f511f547517a41f9777d296eda4a5c7

See more details on using hashes here.

File details

Details for the file Mold2_pywrapper-0.0.3.post3-py3-none-any.whl.

File metadata

File hashes

Hashes for Mold2_pywrapper-0.0.3.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 0f0220762b326ba629322b9e9f03c11c03649d31f6def4c47b7f216d3d9cf9de
MD5 9f58e9812c4e916c098275eb6072f721
BLAKE2b-256 b82029b79535510ed2385f652c2c102150f4c4d0bac85c61d6170e1b2d589051

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page