A library for parsing Quantum Chemistry output files into structured data objects and converting structured input objects into program-native input files. Uses data structures from qcio.
qcparse
works in harmony with a suite of other quantum chemistry tools for fast, structured, and interoperable quantum chemistry.
- qcio - Beautiful and user friendly data structures for quantum chemistry.
- qcparse - A library for efficient parsing of quantum chemistry data into structured
qcio
objects and conversion ofqcio
input objects to program-native input files. - qcop - A package for operating quantum chemistry programs using
qcio
standardized data structures. Compatible withTeraChem
,psi4
,QChem
,NWChem
,ORCA
,Molpro
,geomeTRIC
and many more. - BigChem - A distributed application for running quantum chemistry calculations at scale across clusters of computers or the cloud. Bring multi-node scaling to your favorite quantum chemistry program.
ChemCloud
- A web application and associated Python client for exposing a BigChem cluster securely over the internet.
-
Installation:
python -m pip install qcparse
-
Parse a file into a
SinglePointResults
object with a single line of code.from qcparse import parse # May pass a path or the contents of a file as string/bytes results = parse("terachem", "/path/to/stdout.log")
-
The
results
object will be aqcio.SinglePointResults
object. Rundir(results)
inside a Python interpreter to see the various values you can access. A few prominent values are shown here as an example:from qcparse import parse results = parse("/path/to/tc.out", "terachem") results.energy results.gradient # If a gradient calc results.hessian # If a hessian calc results.calcinfo_nmo # Number of molecular orbitals
-
Parsed values can be written to disk like this:
with open("results.json", "w") as f: f.write(result.model_dumps_json())
-
And read from disk like this:
from qcio import SinglePointResults results = SinglePointResults.open("results.json")
-
You can also run
qcparse
from the command line like this:qcparse -h # Get help message for cli qcparse terachem ./path/to/tc.out > results.json # Parse TeraChem stdout to json
Please see the contributing guide for details on how to contribute new parsers to this project :)
If there's data you'd like parsed from output files or want to support input files for a new program, please open an issue in this repo explaining the data items you'd like parsed and include an example output file containing the data, like this.