Skip to main content

A package for calculating QED scores, molecular descriptors, and optimized geometry descriptors for libraries of small molecules.

Project description

molmetrics

GitHub Actions Build Status codecov PyPI version

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


Download files

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

Source Distribution

molmetrics-1.0.1.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

molmetrics-1.0.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

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

Hashes for molmetrics-1.0.1.tar.gz
Algorithm Hash digest
SHA256 793dab20d0a6d6a39637e279b3195a3ed35173549e177da92a7d3be148cc8051
MD5 cd59e6589cfb5de34cffae22f61ddad9
BLAKE2b-256 e984f092954267b3d551f2ddac52e63440e5eca25ad0fc5301f5f5afa6939a99

See more details on using hashes here.

Provenance

The following attestation bundles were made for molmetrics-1.0.1.tar.gz:

Publisher: publish.yaml on Weeks-UNC/molmetrics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for molmetrics-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 021a3ebaf5419836211565b863a217e85db65d9be060a9fb7291c8db078e22f4
MD5 f5b9474e6025c2ba4db17d23e1960993
BLAKE2b-256 a0103e95625db5da82086c6a8dd59d578025622d5b36cf56fcf39d4b7c1fbd3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for molmetrics-1.0.1-py3-none-any.whl:

Publisher: publish.yaml on Weeks-UNC/molmetrics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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