Skip to main content

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 KUID identifiers for single and batch runs
  • Generate topology-oriented KUID-Intensive identifiers
  • 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-FF per 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 f2 is undefined, the pipeline preserves f2_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: f3
  • KUID_prefix4: f3+f4
  • KUID_prefix6: f3+f4+f7
  • Full topology passport: KUID_Intensive_raw = f3+f4+f7+f8+f9

Requirements

  • Python >=3.8
  • External tools in PATH:
    • xtb
    • obabel
  • Multiwfn only when using --nci-backend multiwfn

Optional:

  • torch for 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 (contains kuid and kuid_intensive sections)
  • kuid_calibration.json

Batch root outputs include:

  • batch_knf.json
  • batch_knf_unified_kuid_intensive.csv
  • kuid_calibration.json
  • kuid_intensive_calibration.json
  • kuid_prefix_index.json
  • kuid_topology_prefix_index.json
  • kuid_instance_prefix_index.json
  • kuid_full_topology_bridge.json
  • kuid_full_topology_bridge.csv
  • kuid_reverse_index.json
  • kuid_reverse_index.csv
  • kuid_topology_reverse_index.json
  • kuid_topology_reverse_index.csv
  • kuid_family_stats.json
  • kuid_family_stats.csv
  • kuid_intensive_family_distribution.csv
  • kuid_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_raw
  • KUID
  • KUID_Cluster
  • KUID_Intensive_raw
  • KUID_Intensive
  • KUID_Intensive_Cluster
  • KUID_prefix2
  • KUID_prefix4
  • KUID_prefix6
  • f2_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


Download files

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

Source Distribution

knf-1.0.6.tar.gz (69.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-1.0.6-py3-none-any.whl (78.6 kB view details)

Uploaded Python 3

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

Hashes for knf-1.0.6.tar.gz
Algorithm Hash digest
SHA256 6eeac7e2a43bc9af638d6e75abec273c7b980183ba415505f06da08834e5e3f6
MD5 3bbdaf61663cbec82abf4f947e59c41b
BLAKE2b-256 5b53286beb5c58688bbfe6c6931c69b8f68c100c8d76e40c1d83aa0432db745b

See more details on using hashes here.

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

Hashes for knf-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bb4b8434e2e704a9f9c4daca511512f95483618339b659f4bc10b429840fc488
MD5 d4900f368d8444041bbe89281ca77580
BLAKE2b-256 397520d04b8bdcf8684dba600b7f57a6dd2cb3713a51ddddd435731a7cb129ec

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