Skip to main content

Generate quantum chemistry input files from molecular structures

Project description

qcinput

qcinput is a CLI tool that reads an xyz geometry, loads task type and keywords from TOML, and writes an ORCA or Gaussian input file.

Install With pip

python -m pip install .

For development:

python -m pip install -e .

Run With Nix

nix develop -c qcinput

Or run directly from the flake package:

nix run .

Usage

qcinput generate <path/to/structure.xyz> [-c|--config <path/to/qcinput.toml>] [-o output.inp]

Compatibility shorthand (same behavior):

qcinput <path/to/structure.xyz> [-c|--config <path/to/qcinput.toml>] [-o output.inp]

First-time setup:

qcinput init-config

Default config path:

./qcinput.toml

You can override this with:

QCINPUT_CONFIG=/path/to/config.toml qcinput water.xyz

Example:

qcinput water.xyz -c qcinput.toml -o water_opt.inp

When qcinput.engine = "gaussian", default output suffix is .gjf.

Config Format (TOML)

We use TOML because it is readable for humans, easy to version control, and strongly structured.

[qcinput]
engine = "orca" # or "gaussian"
kind = "int" # int | ts | sp

[molecule]
charge = 0
multiplicity = 1

[orca]
nprocs = 8
maxcore = 4000
base_keywords = ["r2scan-3c", "D4", "def2-mTZVPP"]

[orca.task.int]
keywords = ["Opt", "Freq"]

[orca.task.ts]
keywords = ["OptTS", "Freq"]

[orca.task.sp]
keywords = ["SP"]

[gaussian]
nprocshared = 8
mem = "8GB"
method_basis = "B3LYP/def2TZVP"

[gaussian.task.int]
route = ["Opt", "Freq"]

[gaussian.task.ts]
route = ["OptTS", "Freq"]

[gaussian.task.sp]
route = ["SP"]

Output Snippet

# Generated by qcinput from water.xyz
! Opt Freq r2scan-3c D4 def2-mTZVPP
%pal nprocs 8 end
%maxcore 4000
* xyz 0 1
O 0.000000 0.000000 0.000000
H 0.757000 0.586000 0.000000
H -0.757000 0.586000 0.000000
*

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

qcinput-0.1.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

qcinput-0.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qcinput-0.1.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.11

File hashes

Hashes for qcinput-0.1.0.tar.gz
Algorithm Hash digest
SHA256 992a4237fa1c3dfaa6813b3d6b6211804ed31b9ac7ebf08d2cc392e2b3976906
MD5 347316f3c955264d81612675096eac57
BLAKE2b-256 89ae208b755f75d147909ee964cbb58a58dab7353c711489b28ed0cb82f616a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qcinput-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.11

File hashes

Hashes for qcinput-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62657c7e6142d5900bf79ebf43d89a5954aadd4caaddad1b14c7d4c00dc38caa
MD5 2f9524db66fbe3980927d808781bbffa
BLAKE2b-256 fc60223ce066f472481f95e4c37127e6058e54c3b39a24c40dc967118c90a5af

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