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__(*args, **kwargs)
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 = {'ssccb': {re.compile('Pair\\s(?P<atom_pair_index>\\d+)\\:\\s+(?P<atom1_name>[a-zA-Z]+\\d+)\\s+\\((?P<atom1_iso>\\d+\\-[a-zA-Z]+)\\s+(?P<atom1_nuc_spin>-?[\\.\\d]+)\\s+(?P<atom1_nuc_dip>-?[\\.\\d]+)\\)\\s+\\<\\-\\-\\>\\s+(): <function ssccb>, re.compile('Summary of total isotropic spin-spin coupling \\(Hz\\)\\:'): <function ssccb_summary>}, 'pre': {re.compile('^\\s*Using up to\\s+(\\d+) threads per process'): <function nthreads>, re.compile('^&gen'): <function gensec>, re.compile('^&atomic'): <function atomicsec>, 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-Za-z0-9/_-]+)'): <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>}, '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('\\s*No-fail mode: converged with (?P<settings>\\w+) settings'): <function nofail_mode>, 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>, re.compile('The zero point energy \\(ZPE\\):\\s+(\\S+) k(\\w+)/mol'): <function zpe>}, 'read_external_gradient': {re.compile('Energy From External Program \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function external_program_energy>}, 'nn_energy': {re.compile('ANI Gas-Phase Energy \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function nn_gas_energy>, re.compile('QRNN Gas-Phase Energy \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function nn_gas_energy>, re.compile('GFN2-xTB Gas-Phase Energy \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function nn_gas_energy>, re.compile('QRNN Solution-Phase Energy \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function nn_sol_energy>, re.compile('GFN2-xTB Solution-Phase Energy \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function nn_sol_energy>, re.compile('ANI Committee Standard Deviation \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function external_program_nn_energy_stddev>, re.compile('QRNN Committee Standard Deviation \\(a\\.u\\.\\)\\s+(-?[\\.\\d]+)'): <function external_program_nn_energy_stddev>}, 'rimp2': {re.compile('RI-MP2 Energies, in hartrees'): <function rimp2_energies>}, 'lmp2': {re.compile('Total LMP2.*\\s+(-?[\\.\\d]+)'): <function mp2>, 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 mp2>, re.compile('Total GVB-LMP2.*\\s+(-?[\\.\\d]+)'): <function gvblmp2>}, 'rolmp2': {re.compile('Total LMP2.*\\s+(-?[\\.\\d]+)'): <function mp2>}, '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('^  gradient maximum:\\s*(\\S+) .  \\(\\s*(\\S+)\\s+\\)'): <function geopt_convcrit>, re.compile('^  energy change:\\s*(\\S+) .  \\(\\s*(\\S+)\\s+\\)'): <function geopt_convcrit>, 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('[Gg]eometry optimization step\\s+(\\d+)'): <function geopt_step_number>, 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>}, 'rimp2g': {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>}, 'fdpol': {re.compile('polarizability \\(in AU\\) alpha\\(\\s+([0-9.-]+) eV;\\s+([0-9.-]+) eV'): <function alpha_fdpolar>, re.compile('hyperpolarizability \\(in AU\\) beta\\(\\s+([0-9.-]+) eV;'): <function beta_fdpolar>}, 'polar': {re.compile('^  polarizability \\(in AU\\):'): <function alpha_polar>}, '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>}, 'sotdener': {re.compile('Ground State Dipole Moments'): <function initialize_tddft>, re.compile('(.*)Excited State\\s+\\d+:\\s+$'): <function tddft_excitation_properties>}, 'tdener': {re.compile('Ground State Dipole Moments'): <function initialize_tddft>, re.compile('(.*)Excited State\\s+\\d+:\\s+$'): <function tddft_excitation_properties>}, 'stdener': {re.compile('Ground State Dipole Moments'): <function initialize_tddft>, re.compile('(.*)Excited State\\s+\\d+:\\s+$'): <function tddft_excitation_properties>}, '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 mass-weighted cartesian coordinates:\\s+(\\d+)'): <function frequencies>, 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('\\s+Total cpu seconds\\s+user:\\s+(?P<cpu_duration>[\\.\\d]+)\\s+user\\+sys:\\s+(?P<cpu_sys_duration>[\\.\\d]+)'): <function cpu_time>, re.compile('Time\\((?P<routine>\\w+)\\)\\s+user:\\s+(?P<utime>\\d+\\.\\d+)\\s+user\\+sys:\\s+(?P<systime>\\d+\\.\\d+)\\s+wallclock:\\s+(?P<clocktime>\\d+\\.\\d+)'): <function routine_time>, re.compile('Job .+ completed on \\S+ at (\\w.*)$'): <function end_time>, re.compile('ERROR *(\\d+)?: fatal error( -- debug information follows)?'): <function fatal_error>, re.compile('\\s+MEMINIT: failed to allocate *(\\d+)? words of dynamic memory'): <function nbo_mem_failure>}}
first_line_re = re.compile('^Job .+ 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.ssccb(tp, jo, m, it)
schrodinger.application.jaguar.textparser.ssccb_summary(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nthreads(tp, jo, m, it)
schrodinger.application.jaguar.textparser.readsec(it: Iterator[str], sec_name: str, match: str) str

Helper function to read a jaguar input section. reads lines from ‘&{sec_name}’ to ‘&’, returning the contents.

We must also check the match string as this could contain data.

e.g. sec_name = “gen” will read the gen section

Parameters
  • it – iterator returning lines of file

  • sec_name – section name to read through.

Returns

string with contents of setion.

schrodinger.application.jaguar.textparser.gensec(tp, jo, m, it)
schrodinger.application.jaguar.textparser.atomicsec(tp, jo, m, it)
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.nn_gas_energy(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nn_sol_energy(tp, jo, m, it)
schrodinger.application.jaguar.textparser.external_program_nn_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.rimp2_energies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.mp2(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_convcrit(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.geopt_step_number(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.nofail_mode(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_fdpolar(tp, jo, m, it)
schrodinger.application.jaguar.textparser.beta_fdpolar(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.ground_multipole_qm(tp, jo, m, it)

Collect ground state dipole from start of excited state calculation

May be errors in ground dipoles computed with spin-orbit coupling, (JAGUAR-10586)

schrodinger.application.jaguar.textparser.reset_tddft_excitation_energies(tp, jo, m, it)
schrodinger.application.jaguar.textparser.initialize_tddft(tp, jo, m, it)

Read ground state dipole and reset excitation energies

schrodinger.application.jaguar.textparser.tddft_excitation_properties(tp, jo, m, it)

Collects properties for each computed excited state

For each state, collects the excitation energy and oscillator strength, as well as the transition and excited state total dipole moments.

schrodinger.application.jaguar.textparser.tddft_geopt_energy(tp, jo, m, it)
schrodinger.application.jaguar.textparser.zpe(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.get_vetted_vec_index(tp, jo, m, it)
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.cpu_time(tp, jo, m, it)
schrodinger.application.jaguar.textparser.routine_time(tp, jo, m, it)

Collect routine in JaguarOutput’s RoutineTimes instance

schrodinger.application.jaguar.textparser.end_time(tp, jo, m, it)
schrodinger.application.jaguar.textparser.fatal_error(tp, jo, m, it)
schrodinger.application.jaguar.textparser.nbo_mem_failure(tp, jo, m, it)

NBO doesn’t return a status code when it fails to allocate memory, so we have to check the output for this string. This lets us mark the calculation as having failed even if Jaguar itself doesn’t realize.

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)