Skip to main content

Automated Descriptor Engine for SNCI, SCDI, and 9D KNF

Project description

KNF-CORE: Automated Descriptor Engine

KNF-CORE is a specialized computational chemistry pipeline designed to automate the extraction of key molecular descriptors for KNF (Kinetic and Non-covalent Feature) analysis. It integrates powerful tools like xTB (Extended Tight-Binding) and Multiwfn (Multifunctional Wavefunction Analyzer) to generate a unique 9-dimensional vector representation of molecular interactions.

Features

  • Automated Workflow: From a single input structure (XYZ, SDF, MOL, etc.) to a final descriptor vector with minimal user intervention.
  • Robust Geometry Handling: Automatically detects and converts input formats, perceives molecular fragments, and handles both single molecules and two-fragment complexes.
  • xTB Integration: Performs semi-empirical quantum mechanical optimization (Geometry Optimization) and single-point energy calculations to derive electronic properties.
  • Multiwfn Analysis: Automates Non-Covalent Interaction (NCI) analysis to capture weak interactions critical for binding affinity and stability.
  • COSMO Solvation Model: Computes Sigma-Profile descriptors (SCDI) to account for solvation effects.
  • Docker Support: Fully containerized environment for consistent execution across different platforms.

Installation

Prerequisites

  • Python 3.8+
  • xTB: Must be installed and accessible in your system PATH (xtb command).
  • Multiwfn: Must be installed and accessible (Multiwfn command), or configured via settings.ini.
  • OpenBabel: Required for file format conversions (obabel command).

Install from Source

Clone the repository and install using pip:

git clone https://github.com/yourusername/KNF-CORE.git
cd KNF-CORE
pip install .

Docker Usage

A Dockerfile is provided for a complete, pre-configured environment.

  1. Build the image:

    docker build -t knf-core .
    
  2. Run the container:

    docker run --rm -v $(pwd):/data knf-core /data/input.sdf
    

Usage

Command Line Interface (CLI)

The package provides a knf command for easy execution.

Basic Usage:

knf input_molecule.sdf

Options:

  • --charge <int>: Net charge of the system (default: 0).
  • --spin <int>: Spin multiplicity (default: 1).
  • --force: Force recalculation of existing steps.
  • --clean: Clean up previous run directories before starting.
  • --debug: Enable verbose debug logging.

Example with Test File: The repository includes a test file example.mol (diethyl sulfate) for verification.

knf example.mol --charge 0 --force

General Example:

knf drug_molecule.sdf --charge 1 --force

Python API

You can also use KNF-CORE within your own Python scripts:

from knf_core.pipeline import KNFPipeline

# Initialize the pipeline
pipeline = KNFPipeline(
    input_file='test.sdf',
    charge=0,
    spin=1
)

# Run the analysis
pipeline.run()

Output

The pipeline generates a results folder containing:

  • knf.json: The final 9D KNF vector and metadata.
  • output.txt: Human-readable summary of the results.
  • xtbopt.xyz: Optimized geometry.
  • Intermediate files from xTB and Multiwfn.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

knf-0.1.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

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

knf-0.1.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file knf-0.1.0.tar.gz.

File metadata

  • Download URL: knf-0.1.0.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for knf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d6c77a32c19ddc1eb047a76efc988f75d4cfcf422a0aa4dadf8d210e4c8ff60
MD5 69e7cc58bc0bd4ac41323c4e5dd0d9ca
BLAKE2b-256 11dda8b5501f3e8658876885781376b566c31fd6b969128fce7160005cb75781

See more details on using hashes here.

File details

Details for the file knf-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: knf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for knf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b00252ca7d35fd1dccd69ae203d4fb0460d62d359f458f89fc0b52786bd8c2e
MD5 29ab9512e8e4c1f40b191f1c0e880e7e
BLAKE2b-256 9674681069d1d500a073900cb73573f70a70871ab15b9f38825d1825695caaf1

See more details on using hashes here.

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