schrodinger.application.jaguar.textparser module

Classes for parsing Jaguar output files and accessing output properties programmatically.

Copyright Schrodinger, LLC. All rights reserved.

exception schrodinger.application.jaguar.textparser.JaguarParseError

Bases: Exception

__init__

Initialize self. See help(type(self)) for accurate signature.

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

schrodinger.application.jaguar.textparser.textparser_trace(func)

A decorator that will print the callback function name when it is called.

class schrodinger.application.jaguar.textparser.TextParser(jaguar_output, file_iter=None)

Bases: object

A parser to create a JaguarOutput object from a Jaguar output file.

The basic organization of this parser is that of a number of line processing callback functions triggered by regular expressions.

callback = {'scf': {re.compile('^\\s*number of electrons\\.+\\s+(\\d+)'): <function nelectron>, re.compile('^\\s*Sz\\*\\(Sz\\+1\\)[\\s\\.]+(\\S+)'): <function sz2>, re.compile('^\\s*<S\\*\\*2>[\\s\\.]+(\\S+)'): <function s2>, re.compile('^\\s*GVB:\\s+(\\S+)'): <function npair>, re.compile('(^etot.*$)'): <function etot>, re.compile('(?<!\\()SCFE.*\\s+(-?[\\.\\d]+)\\s+hartrees'): <function scfe>, re.compile('\\(B\\)\\s+Nuclear-nuclear\\.+\\s+(-?[\\.\\d]+)'): <function nucrep1>, re.compile('\\(A\\)\\s+Nuclear repulsion\\.+\\s+(-?[\\.\\d]+)'): <function nucrep2>, re.compile('\\(E\\)\\s+Total one-electron terms\\.+\\s+(-?[\\.\\d]+)'): <function one_e_terms>, re.compile('\\(I\\)\\s+Total two-electron terms\\.+\\s+(-?[\\.\\d]+)'): <function two_e_terms>, re.compile('\\(L\\)\\s+Electronic energy\\.+\\s+(-?[\\.\\d]+)'): <function electronic_e>, re.compile('\\(N0\\).*correction\\.+\\s+(-?[\\.\\d]+)'): <function aposteri_e>, re.compile('(Alpha|Beta)? HOMO energy:\\s+(\\S+)'): <function homo>, re.compile('(Alpha|Beta)? LUMO energy:\\s+(\\S+)'): <function lumo>, re.compile('(?P<type>Alpha|Beta)? Orbital energies( \\(hartrees\\))?(?P<label>/symmetry label)?:'): <function orbital_energies>, re.compile('Energy computed with NOPS on.'): <function nops_on>, re.compile('Energy computed with NOPS off.'): <function nops_off>, re.compile('^\\sPCM solvation energy (electrostatic)\\.+\\s*(-?[\\.\\d]+)'): <function solvation>, re.compile('\\(V\\).*Solvation energy\\.+\\s*(-?[\\.\\d]+)'): <function solvation>, re.compile('^\\sSolution phase energy\\.+\\s*(-?[\\.\\d]+)'): <function solution_phase>, re.compile('\\(P\\).*Solution phase energy\\.+\\s*(-?[\\.\\d]+)'): <function solution_phase>, re.compile('^\\sGas phase energy\\.+\\s*(-?[\\.\\d]+)'): <function gas_phase>, re.compile('\\(O\\).*Gas phase energy\\.+\\s*(-?[\\.\\d]+)'): <function gas_phase>}, 'pre': {re.compile('net molecular charge:\\s+(-?\\d+)'): <function molchg>, re.compile('multiplicity:\\s+(\\d+)'): <function multip>, re.compile('number of basis functions\\.\\.\\.\\.\\s+(\\d+)'): <function nbasis>, re.compile('Molecular weight:\\s+([0-9.]+)'): <function mol_weight>, re.compile('Stoichiometry:\\s+(\\w+)'): <function stoichiometry>, re.compile('basis set:\\s+(\\S+)'): <function basis_set>, re.compile('Number of optimization coordinates:\\s+(\\d+)'): <function coords_opt>, re.compile('Number of independent coordinates:\\s+(\\d+)'): <function coords_ind>, re.compile('Number of non-redundant coordinates:\\s+(\\d+)'): <function coords_nred>, re.compile('Number of constrained coordinates:\\s+(\\d+)'): <function coords_frozen1>, re.compile('Number of frozen coordinates:\\s+(\\d+)'): <function coords_frozen2>, re.compile('Number of harmonic constraints:\\s+(\\d+)'): <function coords_harmonic>, re.compile('Solvation energy will be computed'): <function solvation_job>, re.compile('Numerical 2nd derivatives will be computed'): <function numerical_freqs>, re.compile('Electrostatic potential fit to point charges on atomic centers'): <function esp_fit_atoms>, re.compile('and bond midpoints'): <function esp_fit_atoms_and_bonds>, re.compile('(Input|new) geometry:'): <function start_geometry>, re.compile('Path geometry: \\(interpolated\\, X\\=.*\\)'): <function path_geometry>, re.compile('Z-variables: (.*)$'): <function z_variables>, re.compile('Maestro file \\(output\\):\\s+(\\S+)'): <function mae>, re.compile('Maestro file \\(input\\):\\s+(\\S+)'): <function mae_in>, re.compile('Molecular Point Group:\\s+(\\w+)'): <function point_group>, re.compile('Point Group used:\\s+(\\w+)'): <function point_group_used>, re.compile('Number of atoms treated by QM:\\s+(\\w+)'): <function qm_atoms>, re.compile('SCF calculation type: ([A-Z/_-]+)'): <function calc_type>, re.compile('Post-SCF correlation type: (\\w+)'): <function correlation_type>, re.compile('DFT=(\\S+)\\s*(\\(.+\\))?'): <function functional>, re.compile('^ *User Defined Functional:'): <function custom_functional>, re.compile('Geometry from &zmat(2|3), &zvar(2|3)'): <function qst_geometries>, re.compile('Symmetrized geometry:'): <function symmetrized_geometry>, re.compile('Initial geometry: \\(interpolated\\)'): <function qst_initial_geometry>, re.compile('Geometry scan coordinates:(?:\\s*\\((angstroms|bohr) and (degrees|radians)\\))?'): <function scan_coordinates>, re.compile('Non-default print settings:'): <function non_default_print_options>, re.compile('Fully analytic SCF calculation: pseudospectral method not used'): <function pseudospectral>, re.compile('Total LO correction:\\s+(\\S+)\\s+kcal/mole'): <function total_lo_correction>, re.compile('Target molecule has a ligand field spin-splitting score of\\s+(\\S+)'): <function spin_splitting_score>, re.compile('rotational constants:'): <function rotational_constants>}, 'read_external_gradient': {re.compile('Energy From External Program \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function external_program_energy>}, 'ani_energy': {re.compile('ANI Energy \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function external_program_ani_energy>, re.compile('ANI Committee Standard Deviation \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function external_program_ani_energy_stddev>}, 'lmp2': {re.compile('Total LMP2.*\\s+(-?[\\.\\d]+)'): <function lmp2>, re.compile('\\(V\\).*Solvation energy\\.+\\s*(-?[\\.\\d]+)'): <function solvation>, re.compile('\\(P\\).*Solution phase energy\\.+\\s*(-?[\\.\\d]+)'): <function solution_phase>, re.compile('\\(O\\).*Gas phase energy\\.+\\s*(-?[\\.\\d]+)'): <function gas_phase>}, 'gvblmp2': {re.compile('Total LMP2.*\\s+(-?[\\.\\d]+)'): <function rolmp2>, re.compile('Total GVB-LMP2.*\\s+(-?[\\.\\d]+)'): <function gvblmp2>}, 'scanner': {re.compile('(Input|new) geometry:'): <function start_geometry>, re.compile('end of geometry scan step'): <function end_scan>, re.compile('Geometry scan step\\s+\\d+\\s*:'): <function geometry_scan_step>}, 'geopt': {re.compile('new geometry:'): <function geopt_geometry>, re.compile('String geometry: \\(iteration=.* point=.*energy=.*\\)'): <function sm_geometry>, re.compile('end of geometry optimization iteration'): <function end_geometry>, re.compile('(stopping optimization: maximum number of iterations reached|Geometry optimization complete)'): <function stopping_optimization>, re.compile('optimization seems to be stuck'): <function geopt_stuck1>, re.compile('Convergence category (\\d+)'): <function convergence_category>, re.compile('IRC point found -\\s+(Forward|Reverse|Downhill)\\s+#\\s+(\\d+)'): <function irc_point>, re.compile('Summary of IRC Reaction Path:'): <function irc_summary>, re.compile('restarting optimization from step'): <function doubted_geom>, re.compile('Setting nops=0, recomputing energy'): <function geopt_nops_on>, re.compile('to be a stuck geometry'): <function geopt_stuck2>, re.compile('SCF will be redone to get proper energy & wavefunction.'): <function nofail_geopt_restart>, re.compile('Taking the geometry with the lowest energy \\(iteration (\\d+)\\)'): <function nofail_geopt>, re.compile('Z-variables: (.*)$'): <function z_variables>, re.compile('First excited state energy:\\s+(\\S+) hartrees'): <function tddft_geopt_energy>, re.compile('rotational constants:'): <function rotational_constants>}, 'tddft_g': {re.compile('forces \\(hartrees/bohr\\) : (total|numerical)'): <function forces>}, 'der1b': {re.compile('forces \\(hartrees/bohr\\) : (total|numerical)'): <function forces>}, 'lmp2gb': {re.compile('forces \\(hartrees/bohr\\) : (total|numerical)'): <function forces>}, 'lmp2gdb': {re.compile('forces \\(hartrees/bohr\\) : (total|numerical)'): <function forces>}, 'nude': {re.compile('forces \\(hartrees/bohr\\) : (total|numerical)'): <function forces>}, 'sole': {re.compile('\\(V\\).*Solvation energy\\.+\\s*(-?[\\.\\d]+).*\\(P-O\\)'): <function solvation>, re.compile('\\(P\\).*Solution phase energy\\.+\\s*(-?[\\.\\d]+)'): <function solution_phase>}, 'onee': {re.compile('number of canonical orbitals\\.\\.\\.\\.\\.\\s+(\\d+)'): <function canorb>, re.compile('smallest eigenvalue of S:\\s+(\\S+)'): <function s_min_eval>}, 'ch': {re.compile('Atomic charges from electrostatic potential'): <function esp_charges>, re.compile('Atomic charges from Lowdin population analysis'): <function lowdin_charges>, re.compile('Atomic Spin Densities from Lowdin analysis'): <function lowdin_spins>, re.compile('Atomic charges from Mulliken population analysis'): <function mulliken_charges>, re.compile('Atomic Spin Densities from Mulliken analysis'): <function mulliken_spins>, re.compile('Stockholder charges from Hirshfeld partitioning'): <function stockholder_charges>, re.compile('Moments from quantum mechanical wavefunction'): <function multipole_qm>, re.compile('Moments from electrostatic potential charges'): <function multipole_esp>, re.compile('Moments from Mulliken charges'): <function multipole_mulliken>, re.compile('Atomic Fukui indices'): <function fukui_indices>}, 'etit': {re.compile('^ Reading '): <function electron_transfer>}, 'cpolar': {re.compile('^ polarizability \\(in AU\\):'): <function alpha_polar>, re.compile('^ first hyperpolarizability \\(in AU\\):'): <function beta_polar>, re.compile('^ second hyperpolarizability \\(in AU\\):'): <function gamma_polar>}, 'elden': {re.compile('^ Electrostatic Potential at the Nuclei'): <function epn>, re.compile('^ Analysis of ESP on isodensity surface:'): <function esp_analysis>, re.compile('^ Analysis of ALIE on isodensity surface:'): <function alie_analysis>}, 'nmrcphf': {re.compile('NMR Properties for atom\\s+(\\S+)'): <function get_nmr>}, 'cis': {re.compile('CI size ='): <function cis_excitation_energies>}, 'tdener': {re.compile('Ground State Dipole Moments'): <function reset_tddft_excitation_energies>, re.compile('(.*)Excited State\\s+\\d+:\\s+$'): <function tddft_excitation_energies>, re.compile('(.*)Excited State\\s+\\d+:\\s+(\\S+) eV'): <function tddft_excitation_energies_old>}, 'stdener': {re.compile('Ground State Dipole Moments'): <function reset_tddft_excitation_energies>, re.compile('(.*)Excited State\\s+\\d+:\\s+$'): <function tddft_excitation_energies>}, 'freq': {re.compile('The zero point energy \\(ZPE\\):\\s+(\\S+) k(\\w+)/mol'): <function zpe>, re.compile('Valid transition vector #\\s+(\\b[0-9]+\\b)'): <function get_vetted_vec_index>, re.compile('normal modes in cartesian coordinates:\\s+(\\d+)'): <function frequencies>, re.compile('normal modes in cartesian coordinates:\\s+$'): <function frequencies_old>, re.compile('\\s*rotational symmetry number:\\s+([0-9]+)'): <function symmetry_number>}, 'before pre': {re.compile('^JobId:\\s+(\\S+)', re.IGNORECASE|re.MULTILINE): <function jobid>}, None: {re.compile('start of program (\\w+)'): <function start_of_program>, re.compile('glibc:\\s+(\\S+)'): <function glibc>, re.compile('\\s+Summary of Natural Population Analysis:'): <function nbo_charges>, re.compile('Job \\S+ completed on \\S+ at (\\w.*)$'): <function end_time>, re.compile('ERROR *(\\d+)?: fatal error( -- debug information follows)?'): <function fatal_error>}}
first_line_re = re.compile('^Job \\S+ started on (\\S+) at (\\w.*)$')
__init__(jaguar_output, file_iter=None)

Parameters

file_iter (iterator returning lines of Jaguar output file)

jaguar_output (JaguarOutput instance)

endGeopt(jo)

Clean up at the end of a geopt step.

Adds the current results to the geopt list and creates a new current results object if appropriate.

endScan(jo)

Clean up at the end of a scan step.

Adds the current results to the scan list and creates a new current results object. Or, if this a relaxed scan, archives the geopt steps to the scan list and creates an empty geopt_step list.

endIRC(direction)

Set state indicating the end of an IRC step and its direction.

direction (str)
Must be ‘Forward’ or ‘Reverse’.
parse(jaguar_output=None)

Parse the provided file iterator.

Return a JaguarOutput instance populated with properties parsed from the output file.

Parameters

jaguar_output (JaguarOutput instance)
If jaguar_output is provided, that instance will be populated with the properties parsed from the output file. Otherwise, the object provided to the TextParser constructor will be used.
Raises:
  • StopIteration – In cases of unexpected file termination
  • JaguarParseError – For parsing errors
schrodinger.application.jaguar.textparser.callback(prog, regexp=None, debug=False, parser_class=<class 'schrodinger.application.jaguar.textparser.TextParser'>)

A decorator to add a function to the TextParser callback dictionary.

The ‘callback’ dictionary consists of dictionaries for individual programs, each one indexed by the regular expression that needs to be satisfied to invoke the function.

Arguments

prog (str)
A Jaguar subprogram to which searching will be restricted. Set to None if the whole file needs to be searched.
regexp (str)
The regular expression that needs to be matched. This can be None if multiple decorators are being applied (to restrict to multiple subprograms) and the inner decorator specified a regexp.
schrodinger.application.jaguar.textparser.nelectron(tp, jo, m, it)
schrodinger.application.jaguar.textparser.sz2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.s2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.npair(tp, jo, m, it)
schrodinger.application.jaguar.textparser.molchg(tp, jo, m, it)
schrodinger.application.jaguar.textparser.multip(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nbasis(tp, jo, m, it)
schrodinger.application.jaguar.textparser.mol_weight(tp, jo, m, it)
schrodinger.application.jaguar.textparser.stoichiometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.basis_set(tp, jo, m, it)
schrodinger.application.jaguar.textparser.coords_opt(tp, jo, m, it)
schrodinger.application.jaguar.textparser.coords_ind(tp, jo, m, it)
schrodinger.application.jaguar.textparser.coords_nred(tp, jo, m, it)
schrodinger.application.jaguar.textparser.coords_frozen1(tp, jo, m, it)
schrodinger.application.jaguar.textparser.coords_frozen2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.coords_harmonic(tp, jo, m, it)
schrodinger.application.jaguar.textparser.solvation_job(tp, jo, m, it)
schrodinger.application.jaguar.textparser.numerical_freqs(tp, jo, m, it)
schrodinger.application.jaguar.textparser.esp_fit_atoms(tp, jo, m, it)
schrodinger.application.jaguar.textparser.esp_fit_atoms_and_bonds(tp, jo, m, it)
schrodinger.application.jaguar.textparser.external_program_energy(tp, jo, m, it)
schrodinger.application.jaguar.textparser.external_program_ani_energy(tp, jo, m, it)
schrodinger.application.jaguar.textparser.external_program_ani_energy_stddev(tp, jo, m, it)
schrodinger.application.jaguar.textparser.etot(tp, jo, m, it)
schrodinger.application.jaguar.textparser.scfe(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nucrep1(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nucrep2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.one_e_terms(tp, jo, m, it)
schrodinger.application.jaguar.textparser.two_e_terms(tp, jo, m, it)
schrodinger.application.jaguar.textparser.electronic_e(tp, jo, m, it)
schrodinger.application.jaguar.textparser.aposteri_e(tp, jo, m, it)
schrodinger.application.jaguar.textparser.homo(tp, jo, m, it)
schrodinger.application.jaguar.textparser.lumo(tp, jo, m, it)
schrodinger.application.jaguar.textparser.orbital_energies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.lmp2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.rolmp2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.gvblmp2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.start_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.geopt_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.path_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.sm_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.geometry_read(it, charge=None)

A utility function to read an input cartesian geometry from the output file.

Return a tuple of (JaguarAtomicResults list, mmjag_handle). The mmjag_handle containing the parsed geometry in MMJAG_ZMAT1 if charge is provided. If not, the mmjag handle is None.

schrodinger.application.jaguar.textparser.end_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.stopping_optimization(tp, jo, m, it)
schrodinger.application.jaguar.textparser.geopt_stuck1(tp, jo, m, it)
schrodinger.application.jaguar.textparser.convergence_category(tp, jo, m, it)
schrodinger.application.jaguar.textparser.irc_point(tp, jo, m, it)
schrodinger.application.jaguar.textparser.irc_summary(tp, jo, m, it)
schrodinger.application.jaguar.textparser.doubted_geom(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nops_on(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nops_off(tp, jo, m, it)
schrodinger.application.jaguar.textparser.geopt_nops_on(tp, jo, m, it)
schrodinger.application.jaguar.textparser.geopt_stuck2(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nofail_geopt_restart(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nofail_geopt(tp, jo, m, it)
schrodinger.application.jaguar.textparser.z_variables(tp, jo, m, it)
schrodinger.application.jaguar.textparser.forces(tp, jo, m, it)
schrodinger.application.jaguar.textparser.solvation(tp, jo, m, it)
schrodinger.application.jaguar.textparser.solution_phase(tp, jo, m, it)
schrodinger.application.jaguar.textparser.gas_phase(tp, jo, m, it)
schrodinger.application.jaguar.textparser.canorb(tp, jo, m, it)
schrodinger.application.jaguar.textparser.s_min_eval(tp, jo, m, it)
schrodinger.application.jaguar.textparser.end_scan(tp, jo, m, it)
schrodinger.application.jaguar.textparser.mae(tp, jo, m, it)
schrodinger.application.jaguar.textparser.mae_in(tp, jo, m, it)
schrodinger.application.jaguar.textparser.point_group(tp, jo, m, it)
schrodinger.application.jaguar.textparser.point_group_used(tp, jo, m, it)
schrodinger.application.jaguar.textparser.qm_atoms(tp, jo, m, it)
schrodinger.application.jaguar.textparser.calc_type(tp, jo, m, it)
schrodinger.application.jaguar.textparser.correlation_type(tp, jo, m, it)
schrodinger.application.jaguar.textparser.functional(tp, jo, m, it)
schrodinger.application.jaguar.textparser.custom_functional(tp, jo, m, it)
schrodinger.application.jaguar.textparser.qst_geometries(tp, jo, m, it)
schrodinger.application.jaguar.textparser.symmetrized_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.qst_initial_geometry(tp, jo, m, it)
schrodinger.application.jaguar.textparser.scan_coordinates(tp, jo, m, it)
schrodinger.application.jaguar.textparser.geometry_scan_step(tp, jo, m, it)
schrodinger.application.jaguar.textparser.non_default_print_options(tp, jo, m, it)
schrodinger.application.jaguar.textparser.pseudospectral(tp, jo, m, it)
schrodinger.application.jaguar.textparser.gen_charges_spins(attr, tp, jo, m, it)
schrodinger.application.jaguar.textparser.esp_charges(tp, jo, m, it)
schrodinger.application.jaguar.textparser.lowdin_charges(tp, jo, m, it)
schrodinger.application.jaguar.textparser.lowdin_spins(tp, jo, m, it)
schrodinger.application.jaguar.textparser.mulliken_charges(tp, jo, m, it)
schrodinger.application.jaguar.textparser.mulliken_spins(tp, jo, m, it)
schrodinger.application.jaguar.textparser.stockholder_charges(tp, jo, m, it)
schrodinger.application.jaguar.textparser.multipole_moments(type_, tp, jo, m, it)
schrodinger.application.jaguar.textparser.multipole_qm(tp, jo, m, it)
schrodinger.application.jaguar.textparser.multipole_esp(tp, jo, m, it)
schrodinger.application.jaguar.textparser.multipole_mulliken(tp, jo, m, it)
schrodinger.application.jaguar.textparser.fukui_indices(tp, jo, m, it)
schrodinger.application.jaguar.textparser.electron_transfer(tp, jo, m, it)
schrodinger.application.jaguar.textparser.alpha_polar(tp, jo, m, it)
schrodinger.application.jaguar.textparser.beta_polar(tp, jo, m, it)
schrodinger.application.jaguar.textparser.gamma_polar(tp, jo, m, it)
schrodinger.application.jaguar.textparser.epn(tp, jo, m, it)
schrodinger.application.jaguar.textparser.esp_analysis(tp, jo, m, it)
schrodinger.application.jaguar.textparser.alie_analysis(tp, jo, m, it)
schrodinger.application.jaguar.textparser.get_nmr_shifts(jo, it)

Auxiliary fxn used to parse NMR chemical shifts, called by get_nmr()

schrodinger.application.jaguar.textparser.get_nmr(tp, jo, m, it)
schrodinger.application.jaguar.textparser.cis_excitation_energies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.reset_tddft_excitation_energies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.tddft_excitation_energies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.tddft_excitation_energies_old(tp, jo, m, it)
schrodinger.application.jaguar.textparser.tddft_geopt_energy(tp, jo, m, it)
schrodinger.application.jaguar.textparser.zpe(tp, jo, m, it)
schrodinger.application.jaguar.textparser.get_vetted_vec_index(tp, jo, m, it)
schrodinger.application.jaguar.textparser.thermo_helper(temp, press, units, it)

Parse a thermochemical properties section and return a ThermoCollection object.

schrodinger.application.jaguar.textparser.frequencies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.frequencies_old(tp, jo, m, it)
schrodinger.application.jaguar.textparser.jobid(tp, jo, m, it)
schrodinger.application.jaguar.textparser.start_of_program(tp, jo, m, it)
schrodinger.application.jaguar.textparser.glibc(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nbo_charges(tp, jo, m, it)
schrodinger.application.jaguar.textparser.end_time(tp, jo, m, it)
schrodinger.application.jaguar.textparser.fatal_error(tp, jo, m, it)
schrodinger.application.jaguar.textparser.total_lo_correction(tp, jo, m, it)
schrodinger.application.jaguar.textparser.spin_splitting_score(tp, jo, m, it)
schrodinger.application.jaguar.textparser.rotational_constants(tp, jo, m, it)
schrodinger.application.jaguar.textparser.symmetry_number(tp, jo, m, it)