Skip to main content

Cross-environment vibrational normal-mode correlation and classification (VMARD/.nma and ORCA .hess)

Project description

CrossVib

Cross-environment vibrational normal-mode correlation and classification.

CrossVib classifies vibrational modes from vibAnalysis (VMARD) .nma output — or directly from ORCA .hess files — and correlates modes between two calculations of the same chemical system in different environments (solvent, surface, method, oxidation state).

The comparison projects both calculations onto a common internal-coordinate basis (the intersection of canonicalised internals after atom mapping), builds a phase-aware signed overlap matrix, and reduces it with a symmetrised Shannon mixing index. The primary reported quantity is the identity-retention metric

P_ret = 1 - H_bar        (in [0, 1];  higher = better preserved across environments)

Because the basis is an intersection, the analysis is independent of atom count — the signature capability for free-molecule vs. interacting-system comparisons.

Installation

pip install crossvib

Runtime dependencies: numpy, networkx. The optional calibration-pool tooling also needs openpyxl (pip install "crossvib[calibration]").

Usage

CrossVib has three subcommands: single, compare, and multi-compare.

Classify the modes of a single calculation:

crossvib single molecule.nma          # or: molecule.hess

Correlate two calculations of the same solute in different environments:

crossvib compare free.nma sers.nma \
    --xyz-a free.xyz --xyz-b sers.xyz \
    --range 200 3500 \
    --emit-extras ./results/

For .hess input, geometry and normal modes are read directly from the ORCA Hessian file, so --xyz-a / --xyz-b are not required. For .nma input they are required.

Multi-source (N ≥ 2 fragments) cooperativity analysis (A₁ + A₂ + … + Aₙ) → B:

crossvib multi-compare fragA.hess fragB.hess complex.hess

You can also run it as a module:

python -m crossvib compare free.nma sers.nma --xyz-a free.xyz --xyz-b sers.xyz

Output formats are selectable with --format {tsv|csv|md|pretty}. The --emit-extras DIR flag writes per-analysis TSVs (overlap matrix, robustness ranking, frequency shifts, Raman transfer, EF decomposition, silent-mode activations).

Method

The full methodology — internal-coordinate canonicalisation, VF2-based atom mapping, phase-aware overlap, the symmetrised mixing index, conservation classes (C/X/R), and the vCAL landmark pool — is documented in the accompanying methods paper.

Citing

If CrossVib is useful in your work, please cite it. A CITATION.cff and DOI will be added on first release.

License

See 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

crossvib-0.1.0.tar.gz (42.3 kB view details)

Uploaded Source

Built Distribution

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

crossvib-0.1.0-py3-none-any.whl (41.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: crossvib-0.1.0.tar.gz
  • Upload date:
  • Size: 42.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.3

File hashes

Hashes for crossvib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a77abb5f1c653246d957af1fabfc98a698326260992277105857856d5ae44ddd
MD5 627d39b0916d5a37dfca8e3f80a8c45f
BLAKE2b-256 6e2f69f6df732adacd88e5e1a18a9a6b8c1b00729190601580571fc02c6a3791

See more details on using hashes here.

File details

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

File metadata

  • Download URL: crossvib-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 41.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.3

File hashes

Hashes for crossvib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30763d251874603f48f8789eece3b3ed4b103d098c931d3a634ba3ffbd178057
MD5 b293cf56125844b1b904a934b26c761b
BLAKE2b-256 1f0551f5e8ff71ff8d3d082d0538741cc67b86aed54f6accf22a357f2935abaf

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