A package for calculating QED scores, molecular descriptors, and optimized geometry descriptors for libraries of small molecules.
Project description
molmetrics
A Python package for calculating QED scores, molecular descriptors, and optimized geometry descriptors for libraries of small molecules.
Molmetrics is tested on macOS, Linux (Ubuntu), and Windows with Python >=3.10.
Installation
You can install the latest release of molmetrics from PyPI using pip. It is recommended to do this in a clean Python environment (such as one created with python -m venv).
Install with pip
python -m venv molmetrics-env
source molmetrics-env/bin/activate # On Windows use: molmetrics-env\Scripts\activate
pip install --upgrade pip
pip install molmetrics
After installation, you can check that molmetrics is installed and working:
molmetrics --help
This will display the command-line help and available options.
Note on dependencies
All required dependencies will be installed automatically with pip. If you encounter issues with scientific dependencies (such as RDKit), you may prefer to use the provided conda environment file for a fully reproducible setup:
devtools/conda-envs/test_env.yaml
Usage
Before using molmetrics, ensure that you have activated the virtual environment where molmetrics is installed.
For Linux/Mac:
source molmetrics-env/bin/activate
For Windows:
molmetrics-env\Scripts\activate
After activating the virtual environment, you can run molmetrics from the command line. QED scores will automatically be generated, but if you want to include additional metrics such as QED properties (-p), select molecular descriptors (-md), and geometry descriptors (-g), enable them with the corresponding user arguments.
For example, to process a file with the default QED score:
molmetrics -f path/to/input.sdf -o path/to/output_dir
To include additional metrics, add the relevant flags as needed. For more options, see:
molmetrics --help
Command line options
-h, --help show this help message and exit
-d DIRECTORY, --directory DIRECTORY
Path to a directory containing input files (.sdf, .csv, .xlsx, .pkl).
-f FILE [FILE ...], --file FILE [FILE ...]
Path(s) to input file(s) (.sdf, .csv, .xlsx, .pkl). Example: -f file1.sdf file2.csv
-o OUT, --out OUT Path to output directory. (Default=directory of input file)
-c COLUMN, --column COLUMN
Name/substring of column containing SMILES strings. (Default=SMILES)
-s [SUBSTRUCTURES ...], --substructures [SUBSTRUCTURES ...]
Provide SMARTS substructure to remove before calculating properties. Use 'diazirine_handle' to
remove diazarne FFF handles. (Default=None)
-p, --properties Adds QED properties to outputs. (Default=False)
-md, --moldescriptors
Adds selected molecular descriptors to outputs. (Default=False)
-g, --geometry Adds NPR1, NPR2, and geometry descriptor to outputs. NOTE: This feature is resource intensive,
using the --conformers argument to decrease the required resources. (Default=False)
-rs RANDOM_SEED, --random_seed RANDOM_SEED
Random seed for ETKDGv3 conformer generation. (Default=1789)
-ft FORCE_TOLERANCE, --force_tolerance FORCE_TOLERANCE
Optimizer force tolerance for ETKDGv3 conformer optimization. Use 0.0135 for faster
performance. (Default=0.001)
-pt PRUNE_THRESH, --prune_thresh PRUNE_THRESH
RMSD (Å) threshold for filtering conformers during ETKDGv3 generation. Conformers below this
threshold are discarded to reduce redundancy. (Default=0.1)
-cf NUM_CONFORMERS, --num_conformers NUM_CONFORMERS
Number of conformers to generate using ETKDGv3. (Default=1000)
-er ENERGY_RANGE, --energy_range ENERGY_RANGE
Energy range in kcal/mol for Boltzmann averaging. (Default=3.0)
-ni, --no_img Include 3D molecule images from the output XLSX. (Default=False)
Output files
Molmetrics generates 4 output files.
XXX_qed.xlsx # Spreadsheet of all molecular properties calculated with 2D and 3D molecular visualizations.
XXX_qed.html # Spreadsheet of all molecular properties calculated with 2D and 3D molecular visualizations.
XXX_conformers.pkl # Saved RDKIT mol objects with embedded and optimized conformers.
XXX_qed.sdf # Optimized conformer of molecule with embedded molecular properties.
Copyright
Copyright (c) 2025, Seth D. Veenbaas
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file molmetrics-1.0.1.tar.gz.
File metadata
- Download URL: molmetrics-1.0.1.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
793dab20d0a6d6a39637e279b3195a3ed35173549e177da92a7d3be148cc8051
|
|
| MD5 |
cd59e6589cfb5de34cffae22f61ddad9
|
|
| BLAKE2b-256 |
e984f092954267b3d551f2ddac52e63440e5eca25ad0fc5301f5f5afa6939a99
|
Provenance
The following attestation bundles were made for molmetrics-1.0.1.tar.gz:
Publisher:
publish.yaml on Weeks-UNC/molmetrics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
molmetrics-1.0.1.tar.gz -
Subject digest:
793dab20d0a6d6a39637e279b3195a3ed35173549e177da92a7d3be148cc8051 - Sigstore transparency entry: 266080818
- Sigstore integration time:
-
Permalink:
Weeks-UNC/molmetrics@1dae975352ad925bcad3add5f14806965b18add3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Weeks-UNC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@1dae975352ad925bcad3add5f14806965b18add3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file molmetrics-1.0.1-py3-none-any.whl.
File metadata
- Download URL: molmetrics-1.0.1-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
021a3ebaf5419836211565b863a217e85db65d9be060a9fb7291c8db078e22f4
|
|
| MD5 |
f5b9474e6025c2ba4db17d23e1960993
|
|
| BLAKE2b-256 |
a0103e95625db5da82086c6a8dd59d578025622d5b36cf56fcf39d4b7c1fbd3a
|
Provenance
The following attestation bundles were made for molmetrics-1.0.1-py3-none-any.whl:
Publisher:
publish.yaml on Weeks-UNC/molmetrics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
molmetrics-1.0.1-py3-none-any.whl -
Subject digest:
021a3ebaf5419836211565b863a217e85db65d9be060a9fb7291c8db078e22f4 - Sigstore transparency entry: 266080836
- Sigstore integration time:
-
Permalink:
Weeks-UNC/molmetrics@1dae975352ad925bcad3add5f14806965b18add3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Weeks-UNC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@1dae975352ad925bcad3add5f14806965b18add3 -
Trigger Event:
release
-
Statement type: