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 (
xtbcommand). - Multiwfn: Must be installed and accessible (
Multiwfncommand), or configured viasettings.ini. - OpenBabel: Required for file format conversions (
obabelcommand).
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.
-
Build the image:
docker build -t knf-core .
-
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d6c77a32c19ddc1eb047a76efc988f75d4cfcf422a0aa4dadf8d210e4c8ff60
|
|
| MD5 |
69e7cc58bc0bd4ac41323c4e5dd0d9ca
|
|
| BLAKE2b-256 |
11dda8b5501f3e8658876885781376b566c31fd6b969128fce7160005cb75781
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b00252ca7d35fd1dccd69ae203d4fb0460d62d359f458f89fc0b52786bd8c2e
|
|
| MD5 |
29ab9512e8e4c1f40b191f1c0e880e7e
|
|
| BLAKE2b-256 |
9674681069d1d500a073900cb73573f70a70871ab15b9f38825d1825695caaf1
|