Parsers for Qchem output files.

class QCOutput(filename: str)[source]

Bases: monty.json.MSONable

Class to parse QChem output files.


filename (str) – Filename to parse


MSONAble dict.

static multiple_outputs_from_file(cls, filename, keep_sub_files=True)[source]

Parses a QChem output file with multiple calculations # 1.) Seperates the output into sub-files

e.g. qcout -> qcout.0, qcout.1, qcout.2 … qcout.N a.) Find delimeter for multiple calcualtions b.) Make seperate output sub-files

2.) Creates seperate QCCalcs for each one from the sub-files

check_for_structure_changes(mol1: pymatgen.core.structure.Molecule, mol2: pymatgen.core.structure.Molecule) → str[source]

Compares connectivity of two molecules (using MoleculeGraph w/ OpenBabelNN). This function will work with two molecules with different atom orderings,

but for proper treatment, atoms should be listed in the same order.

Possible outputs include: - no_change: the bonding in the two molecules is identical - unconnected_fragments: the MoleculeGraph of mol1 is connected, but the

MoleculeGraph is mol2 is not connected

  • fewer_bonds: the MoleculeGraph of mol1 has more bonds (edges) than the MoleculeGraph of mol2

  • more_bonds: the MoleculeGraph of mol2 has more bonds (edges) than the MoleculeGraph of mol1

  • bond_change: this case catches any other non-identical MoleculeGraphs

  • mol1 – Pymatgen Molecule object to be compared.

  • mol2 – Pymatgen Molecule object to be compared.


One of [“unconnected_fragments”, “fewer_bonds”, “more_bonds”, “bond_change”, “no_change”]