Automated Descriptor Engine for SNCI, SCDI, and 9D KNF
Project description
KUID Branch
This branch is focused on KUID generation, calibration, and indexing workflows.
What Is KNF
KNF (Kulkarni–NCI Fingerprint) is a physics-informed descriptor framework that encodes non-covalent interactions into a structured, high-dimensional representation derived from electronic structure and NCI analysis.
Current package version in this branch: 1.0.6
Scope
- Generate full
KUIDidentifiers for single and batch runs - Generate topology-oriented
KUID-Intensiveidentifiers - Persist calibration metadata for reproducible encoding
- Build lookup artifacts (prefix, reverse, and bridge indexes)
- Recompute universal KUID outputs from existing batch folders (
--universal-kuid)
KUID Representations
1) Full KUID (Instance Address)
- Feature set:
f1..f9 - Format: 18 hex chars (
00-FFper feature in canonical order) - Intended use: exact instance lookup and deduplication
2) KUID-Intensive (Topology Passport)
- Feature set:
f3,f4,f7,f8,f9 - Format: 5 hex chars (display form:
X-X-X-X-X) - Intended use: family-level grouping and topology comparison
Undefined f2 behavior
- If
f2is undefined, the pipeline preservesf2_defined = 0. - Full KUID still remains available by using an internal surrogate bin during encoding.
- KUID-Intensive remains directly comparable because it does not depend on
f2.
Prefix semantics
KUID_prefix2:f3KUID_prefix4:f3+f4KUID_prefix6:f3+f4+f7- Full topology passport:
KUID_Intensive_raw = f3+f4+f7+f8+f9
Requirements
- Python
>=3.8 - External tools in
PATH:xtbobabel
Multiwfnonly when using--nci-backend multiwfn
Optional:
torchfor Torch NCI backend
Install
From source:
git clone https://github.com/Prasanna163/KNF.git
cd KNF
pip install -e .
Install with Torch extra:
pip install -e ".[torch-nci]"
Run KUID Workflows
Primary CLI command in this branch:
kuid
Single molecule:
kuid example.mol --force
Batch run:
kuid ./molecules --processing multi --workers 4 --force
Split into batches and emit combined universal outputs:
kuid ./molecules --batches 4
Recompute universal KUID from existing batch outputs:
kuid ./existing_runs --universal-kuid
KUID Files Emitted
Single-run outputs include:
knf.json(containskuidandkuid_intensivesections)kuid_calibration.json
Batch root outputs include:
batch_knf.jsonbatch_knf_unified_kuid_intensive.csvkuid_calibration.jsonkuid_intensive_calibration.jsonkuid_prefix_index.jsonkuid_topology_prefix_index.jsonkuid_instance_prefix_index.jsonkuid_full_topology_bridge.jsonkuid_full_topology_bridge.csvkuid_reverse_index.jsonkuid_reverse_index.csvkuid_topology_reverse_index.jsonkuid_topology_reverse_index.csvkuid_family_stats.jsonkuid_family_stats.csvkuid_intensive_family_distribution.csvkuid_intensive_family_distribution.png
With --water, water-suffixed variants are emitted (for example *_water.json, *_water.csv).
Key CSV Columns
batch_knf_unified_kuid_intensive.csv includes:
KUID_rawKUIDKUID_ClusterKUID_Intensive_rawKUID_IntensiveKUID_Intensive_ClusterKUID_prefix2KUID_prefix4KUID_prefix6f2_defined
Incremental Resume
When batch_knf_unified_kuid_intensive.csv already exists and --force is not set, existing rows are reused and only new files are processed.
Docker
KUID-focused Docker usage is documented in README.DOCKER.md.
Releasing
Release steps are documented in RELEASE.md.
License
MIT (LICENSE)
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-1.0.6.tar.gz.
File metadata
- Download URL: knf-1.0.6.tar.gz
- Upload date:
- Size: 69.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6eeac7e2a43bc9af638d6e75abec273c7b980183ba415505f06da08834e5e3f6
|
|
| MD5 |
3bbdaf61663cbec82abf4f947e59c41b
|
|
| BLAKE2b-256 |
5b53286beb5c58688bbfe6c6931c69b8f68c100c8d76e40c1d83aa0432db745b
|
File details
Details for the file knf-1.0.6-py3-none-any.whl.
File metadata
- Download URL: knf-1.0.6-py3-none-any.whl
- Upload date:
- Size: 78.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb4b8434e2e704a9f9c4daca511512f95483618339b659f4bc10b429840fc488
|
|
| MD5 |
d4900f368d8444041bbe89281ca77580
|
|
| BLAKE2b-256 |
397520d04b8bdcf8684dba600b7f57a6dd2cb3713a51ddddd435731a7cb129ec
|