Python Library: ChemDescriptors
This library provides various functions for calculating molecular descriptors and fingerprints in cheminformatics. It supports the calculation of a wide range of molecular descriptors and fingerprints, such as RDKit, Lipinski, Morgan, Mordred, and more.
Importance of Fingerprint Types:
- Distinct Representation: Different fingerprint types capture various aspects of a molecule’s structure, allowing for versatile molecular comparisons.
- Diverse Applications: Depending on the task (such as similarity searching, classification, or clustering), choosing the right fingerprint type ensures better performance in chemical analysis and predictive modeling.
- Accuracy in Modeling: The right fingerprint type can significantly improve the accuracy of machine learning models and predictions based on molecular features.
Number of Fingerprints:
The library supports a wide variety of fingerprint types, enabling a range of analyses for molecular datasets.
Tutorial & Example visit the Chemical Descriptors Repository. GitHub Repository & GitHub Repository
Functions
add_rdkit_descriptor(input_file,smiles_column)
Description:
This function calculates RDKit molecular descriptors for molecules specified in a CSV file (input_file) using SMILES strings from a specified column (smiles_column). The calculated descriptors are appended as additional columns to the original data and saved in a new CSV file named <input_file_name>_rdkit_descriptor.csv.
Parameters:
input_file(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.
Output:
The output will be saved as a CSV file named <input_file_name>_rdkit_descriptor.csv.
add_lipinski_descriptors(file_path, smiles_column, verbose=False)
Description:
This function calculates Lipinski descriptors for molecules specified in a CSV file (file_path) using SMILES strings from a specified column (smiles_column). It automatically saves the calculated descriptors to an output file named <input_file_name>_lipinski_descriptors.csv.
Parameters:
file_path(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.verbose(bool, optional): IfTrue, the function will print additional processing details. Default isFalse.
Output:
The output will be saved as a CSV file named <input_file_name>_lipinski_descriptors.csv.
add_morgan_fp(input_file, smiles_column)
Description:
Calculates Morgan fingerprints for molecules specified in a CSV file (input_file) using SMILES strings from a specified column (smiles_column). The function saves the calculated fingerprints to an output file named <input_file_name>_calculate_morgan_fpts.csv.
Parameters:
input_file(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.
Output:
The output will be saved as a CSV file named <input_file_name>_calculate_morgan_fpts.csv.
add_mordred_descriptors(input_file, smiles_column)
Description:
Computes Mordred descriptors for molecules specified in a CSV file (input_file) using SMILES strings from a specified column (smiles_column). The function saves the computed descriptors to an output file named <input_file_name>_mordred_descriptors.csv.
Parameters:
input_file(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.
Output:
The output will be saved as a CSV file named <input_file_name>_mordred_descriptors.csv.
**add_WienerIndex_ZagrebIndex(filename, smiles_column):
add_WienerIndex_ZagrebIndex(input_file, smiles_column)
Description:
Computes WienerIndex and ZagrebIndex descriptors for molecules specified in a CSV file (input_file) using SMILES strings from a specified column (smiles_column). The function saves the computed descriptors to an output file named add_WienerIndex_ZagrebIndex_<input_file_name>_.csv.
Parameters:
input_file(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.
Output:
The output will be saved as a CSV file named <input_file_name>_mordred_descriptors.csv.
add_padelpy_fps(input_file, smiles_column)
Description:
This function allow to user to add 12 different types of molecular fingerprints by using padelpy Library.. The supported fingerprints include:
AtomPairs2DCountAtomPairs2DEStateCDKextendedCDKCDKgraphonlyKlekotaRothCountKlekotaRothMACCSPubChemSubstructureCountSubstructure
Each enhanced dataset with fingerprints is saved as separate CSV files, appended with the respective fingerprint type name.
Parameters:
input_file(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.Then run the code: You find list of fingerpints you can select one or more to add them in your file
Output:
Each fingerprint type will be saved as a separate CSV file with the respective fingerprint type name appended.
For example: <input_file_name>_AtomPairs2DCount.csv.
add_molfeat_fps(filename, smiles_column)
Description:
This function allow to user to add 19 different types of molecular fingerprints by using molfeat Library. The supported fingerprints include:
maccsavalonpatternlayeredmap4secfpergestateavalon-countecfpfcfptopologicalatompairrdkitecfp-countfcfp-counttopological-countatompair-countrdkit-count
Parameters:
filename(str): Path to the input CSV file containing molecular data in SMILES format.smiles_column(str): The name of the column in the input CSV file that contains the SMILES strings.Then run the code: You find list of fingerpints you can select one or more to add them in your file
Output:
The output will be saved as a CSV file named <input_file_name>_<fp_type>.csv depending on the fingerprint type chosen.
Refernce:
-
Emmanuel Noutahi, Cas Wognum, Hadrien Mary, Honoré Hounwanou, Kyle M. Kovary, Desmond Gilmour, thibaultvarin-r, Jackson Burns, Julien St-Laurent, t, DomInvivo, Saurav Maheshkar, & rbyrne-momatx. (2023). datamol-io/molfeat: 0.9.4 (0.9.4). Zenodo. https://doi.org/10.5281/zenodo.8373019
GitHub Repository -
RDKit: Open-source cheminformatics software. https://rdkit.org
-
Moriwaki, H., Tian, YS., Kawashita, N. et al. (2018). Mordred: a molecular descriptor calculator. Journal of Cheminformatics, 10, 4. https://doi.org/10.1186/s13321-018-0258-y
-
PaDELPy: A Python wrapper for PaDEL-Descriptor software. GitHub Repository
-
Ahmed Alhilal. Chemical Descriptors Repository. GitHub Repository
Ahmed Alhilal
0.0.8 (05/01/2025)
- First Release
Metadata
Release files for ChemDescriptors 0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chemdescriptors-0.0.8.tar.gz | 9.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ChemDescriptors-0.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / chemdescriptors-0.0.8.tar.gz
| Download URL | chemdescriptors-0.0.8.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0aee373e9b47d34aa2f1e93937c4182837d3ba251ab513ab127fabff3674810
|
|
BLAKE2b-256 checksum How to use checksums |
4f5ffa7e3708f62d2827bf39e404b5987bebc5f72191f8428f0419ad823cc3e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.0
|
Release files / ChemDescriptors-0.0.8-py3-none-any.whl
| Download URL | ChemDescriptors-0.0.8-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
13222e5bbc5dbeb27bfdf5894e4530f964a08261ec080a420d7426c937393af1
|
|
BLAKE2b-256 checksum How to use checksums |
bd3542aec2ac31ad3af830ea208c3ae7b59df2f99e4b8a91a48464adea07773f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.0
|
Security for ChemDescriptors 0.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.