Package schrodinger :: Package application :: Package jaguar :: Module textparser
[hide private]
[frames] | no frames]

Module textparser

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

Copyright Schrodinger, LLC. All rights reserved.

Classes [hide private]
  JaguarParseError
  line_enumerate
A simple wrapper class to keep track of the line iteration count.
  TextParser
A parser to create a JaguarOutput object from a Jaguar output file.
Functions [hide private]
 
textparser_trace(func)
A decorator that will print the callback function name when it is called.
 
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.
 
molchg(tp, jo, m, it)
 
multip(tp, jo, m, it)
 
nbasis(tp, jo, m, it)
 
mol_weight(tp, jo, m, it)
 
stoichiometry(tp, jo, m, it)
 
basis_set(tp, jo, m, it)
 
coords_opt(tp, jo, m, it)
 
coords_ind(tp, jo, m, it)
 
coords_nred(tp, jo, m, it)
 
coords_frozen1(tp, jo, m, it)
 
coords_frozen2(tp, jo, m, it)
 
coords_harmonic(tp, jo, m, it)
 
solvation_job(tp, jo, m, it)
 
numerical_freqs(tp, jo, m, it)
 
esp_fit_atoms(tp, jo, m, it)
 
esp_fit_atoms_and_bonds(tp, jo, m, it)
 
etot(tp, jo, m, it)
 
scfe(tp, jo, m, it)
 
nucrep1(tp, jo, m, it)
 
nucrep2(tp, jo, m, it)
 
one_e_terms(tp, jo, m, it)
 
two_e_terms(tp, jo, m, it)
 
electronic_e(tp, jo, m, it)
 
aposteri_e(tp, jo, m, it)
 
homo(tp, jo, m, it)
 
lumo(tp, jo, m, it)
 
orbital_energies(tp, jo, m, it)
 
lmp2(tp, jo, m, it)
 
rolmp2(tp, jo, m, it)
 
gvblmp2(tp, jo, m, it)
 
start_geometry(tp, jo, m, it)
 
geopt_geometry(tp, jo, m, it)
 
path_geometry(tp, jo, m, it)
 
sm_geometry(tp, jo, m, it)
 
geometry_read(it, charge=None)
A utility function to read an input cartesian geometry from the output file.
 
end_geometry(tp, jo, m, it)
 
stopping_optimization(tp, jo, m, it)
 
geopt_stuck1(tp, jo, m, it)
 
convergence_category(tp, jo, m, it)
 
irc_point(tp, jo, m, it)
 
irc_summary(tp, jo, m, it)
 
nops_on(tp, jo, m, it)
 
geopt_stuck2(tp, jo, m, it)
 
nofail_geopt_restart(tp, jo, m, it)
 
nofail_geopt(tp, jo, m, it)
 
z_variables(tp, jo, m, it)
 
forces(tp, jo, m, it)
 
solvation(tp, jo, m, it)
 
solution_phase(tp, jo, m, it)
 
gas_phase(tp, jo, m, it)
 
canorb(tp, jo, m, it)
 
s_min_eval(tp, jo, m, it)
 
end_scan(tp, jo, m, it)
 
mae(tp, jo, m, it)
 
mae_in(tp, jo, m, it)
 
point_group(tp, jo, m, it)
 
point_group_used(tp, jo, m, it)
 
qm_atoms(tp, jo, m, it)
 
calc_type(tp, jo, m, it)
 
correlation_type(tp, jo, m, it)
 
functional(tp, jo, m, it)
 
custom_functional(tp, jo, m, it)
 
qst_geometries(tp, jo, m, it)
 
_store_input_geometry(jo, it)
Store a Structure object at jo.input_geometry for the input geometry, then replace the initial geometry with the new one.
 
symmetrized_geometry(tp, jo, m, it)
 
qst_initial_geometry(tp, jo, m, it)
 
scan_coordinates(tp, jo, m, it)
 
geometry_scan_step(tp, jo, m, it)
 
non_default_print_options(tp, jo, m, it)
 
pseudospectral(tp, jo, m, it)
 
gen_charges(attr, tp, jo, m, it)
 
esp_charges(tp, jo, m, it)
 
mulliken_charges(tp, jo, m, it)
 
multipole_moments(type_, tp, jo, m, it)
 
multipole_qm(tp, jo, m, it)
 
multipole_esp(tp, jo, m, it)
 
multipole_mulliken(tp, jo, m, it)
 
fukui_indices(tp, jo, m, it)
 
electron_transfer(tp, jo, m, it)
 
alpha_polar(tp, jo, m, it)
 
beta_polar(tp, jo, m, it)
 
gamma_polar(tp, jo, m, it)
 
epn(tp, jo, m, it)
 
esp_analysis(tp, jo, m, it)
 
alie_analysis(tp, jo, m, it)
 
get_nmr(tp, jo, m, it)
 
cis_excitation_energies(tp, jo, m, it)
 
reset_tddft_excitation_energies(tp, jo, m, it)
 
tddft_excitation_energies(tp, jo, m, it)
 
tddft_excitation_energies_old(tp, jo, m, it)
 
tddft_geopt_energy(tp, jo, m, it)
 
zpe(tp, jo, m, it)
 
get_vetted_vec_index(tp, jo, m, it)
 
thermo_helper(temp, it)
Parse a thermochemical properties section and return a ThermoCollection object.
 
frequencies(tp, jo, m, it)
 
frequencies_old(tp, jo, m, it)
 
jobid(tp, jo, m, it)
 
start_of_program(tp, jo, m, it)
 
glibc(tp, jo, m, it)
 
end_time(tp, jo, m, it)
 
fatal_error(tp, jo, m, it)
 
total_lo_correction(tp, jo, m, it)
 
spin_splitting_score(tp, jo, m, it)
Variables [hide private]
  blank_line_re = re.compile(r'^\s*$')
  zvar_tags_re = re.compile(r'[\*#]')
  input_geometry_re = re.compile(r'^\s+Input geometry:')
  _log = logging.getLogger("schrodinger.application.jaguar.output")
  textparser_debug = False
hash(x)
  __package__ = 'schrodinger.application.jaguar'
Function Details [hide private]

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.

molchg(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"net molecular charge:\s+(-?\d+)")

multip(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"multiplicity:\s+(\d+)")

nbasis(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"number of basis functions\.\.\.\.\s+(\d+)")

mol_weight(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Molecular weight:\s+([0-9.]+)")

stoichiometry(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Stoichiometry:\s+(\w+)")

basis_set(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"basis set:\s+(\S+)")

coords_opt(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of optimization coordinates:\s+(\d+)")

coords_ind(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of independent coordinates:\s+(\d+)")

coords_nred(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of non-redundant coordinates:\s+(\d+)")

coords_frozen1(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of constrained coordinates:\s+(\d+)")

coords_frozen2(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of frozen coordinates:\s+(\d+)")

coords_harmonic(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of harmonic constraints:\s+(\d+)")

solvation_job(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Solvation energy will be computed")

numerical_freqs(tp, jo, m, it)

 
Decorators:
  • @callback("pre", "Numerical 2nd derivatives will be computed")

esp_fit_atoms(tp, jo, m, it)

 
Decorators:
  • @callback("pre", "Electrostatic potential fit to point charges on atomic centers")

esp_fit_atoms_and_bonds(tp, jo, m, it)

 
Decorators:
  • @callback("pre", "and bond midpoints")

etot(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"(^etot.*$)")

scfe(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"SCFE.*\s+(-?[\.\d]+)\s+hartrees")

nucrep1(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"\(B\)\s+Nuclear-nuclear\.+\s+(-?[\.\d]+)")

nucrep2(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"\(A\)\s+Nuclear repulsion\.+\s+(-?[\.\d]+)")

one_e_terms(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"\(E\)\s+Total one-electron terms\.+\s+(-?[\.\d]+)")

two_e_terms(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"\(I\)\s+Total two-electron terms\.+\s+(-?[\.\d]+)")

electronic_e(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"\(L\)\s+Electronic energy\.+\s+(-?[\.\d]+)")

aposteri_e(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"\(N0\).*correction\.+\s+(-?[\.\d]+)")

homo(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"(Alpha|Beta)? HOMO energy:\s+(\S+)")

lumo(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"(Alpha|Beta)? LUMO energy:\s+(\S+)")

orbital_energies(tp, jo, m, it)

 
Decorators:
  • @callback("scf", r"(?PAlpha|Beta)? Orbital energies" r"( \(hartrees\))?(?P

lmp2(tp, jo, m, it)

 
Decorators:
  • @callback("lmp2", r"Total LMP2.*\s+(-?[\.\d]+)")

rolmp2(tp, jo, m, it)

 
Decorators:
  • @callback("gvblmp2", r"Total LMP2.*\s+(-?[\.\d]+)")

gvblmp2(tp, jo, m, it)

 
Decorators:
  • @callback("gvblmp2", r"Total GVB-LMP2.*\s+(-?[\.\d]+)")

start_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("pre")
  • @callback("scanner", r"(Input|new) geometry:")

geopt_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"new geometry:")

path_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Path geometry: \(interpolated\, X\=.*\)")

sm_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"String geometry: \(iteration=.* point=.*energy=.*\)")

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.

end_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"end of geometry optimization iteration")

stopping_optimization(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"(stopping optimization: maximum number of iterations reached|Geometry optimization complete)")

geopt_stuck1(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"optimization seems to be stuck")

convergence_category(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"Convergence category (\d+)")

irc_point(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"IRC point found -\s+(Forward|Reverse|Downhill)\s+#\s+(\d+)")

irc_summary(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"Summary of IRC Reaction Path:")

nops_on(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r'Setting nops=0, recomputing energy')

geopt_stuck2(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"to be a stuck geometry")

nofail_geopt_restart(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r'SCF will be redone to get proper energy & wavefunction.')

nofail_geopt(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r'Taking the geometry with the lowest energy \(iteration (\d+)\)')

z_variables(tp, jo, m, it)

 
Decorators:
  • @callback("pre")
  • @callback("geopt", r"Z-variables: (.*)$")

forces(tp, jo, m, it)

 
Decorators:
  • @callback("nude")
  • @callback("lmp2gdb")
  • @callback("lmp2gb")
  • @callback("der1b")
  • @callback("tddft_g", r"forces \(hartrees/bohr\) : (total|numerical)")

solvation(tp, jo, m, it)

 
Decorators:
  • @callback("lmp2")
  • @callback("scf", r"\(V\).*Solvation energy\.+\s*(-?[\.\d]+)")
  • @callback("sole", r"\(V\).*Solvation energy\.+\s*(-?[\.\d]+).*\(P-O\)")

solution_phase(tp, jo, m, it)

 
Decorators:
  • @callback("lmp2")
  • @callback("scf", r"\(P\).*Solution phase energy\.+\s*(-?[\.\d]+)")
  • @callback("sole", r"\(P\).*Solution phase energy\.+\s*(-?[\.\d]+)")

gas_phase(tp, jo, m, it)

 
Decorators:
  • @callback("lmp2")
  • @callback("scf", r"\(O\).*Gas phase energy\.+\s*(-?[\.\d]+)")

canorb(tp, jo, m, it)

 
Decorators:
  • @callback("onee", r"number of canonical orbitals\.\.\.\.\.\s+(\d+)")

s_min_eval(tp, jo, m, it)

 
Decorators:
  • @callback("onee", r"smallest eigenvalue of S:\s+(\S+)")

end_scan(tp, jo, m, it)

 
Decorators:
  • @callback("scanner", r"end of geometry scan step")

mae(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Maestro file \(output\):\s+(\S+)")

mae_in(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Maestro file \(input\):\s+(\S+)")

point_group(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Molecular Point Group:\s+(\w+)")

point_group_used(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Point Group used:\s+(\w+)")

qm_atoms(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Number of atoms treated by QM:\s+(\w+)")

calc_type(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"SCF calculation type: ([A-Z/_-]+)")

correlation_type(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Post-SCF correlation type: (\w+)")

functional(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"DFT=(\S+)\s*(\(.+\))?")

custom_functional(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"^ *User Defined Functional:")

qst_geometries(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Geometry from &zmat(2|3), &zvar(2|3)")

symmetrized_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Symmetrized geometry:")

qst_initial_geometry(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Initial geometry: \(interpolated\)")

scan_coordinates(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Geometry scan coordinates:(?:\s*\((angstroms|bohr) and "+ r"(degrees|radians)\))?")

geometry_scan_step(tp, jo, m, it)

 
Decorators:
  • @callback("scanner", r"Geometry scan step\s+\d+\s*:")

non_default_print_options(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Non-default print settings:")

pseudospectral(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Fully analytic SCF calculation: pseudospectral method not used")

esp_charges(tp, jo, m, it)

 
Decorators:
  • @callback("ch", r"Atomic charges from electrostatic potential")

mulliken_charges(tp, jo, m, it)

 
Decorators:
  • @callback("ch", r"Atomic charges from Mulliken population analysis")

multipole_qm(tp, jo, m, it)

 
Decorators:
  • @callback("ch", r"Moments from quantum mechanical wavefunction")

multipole_esp(tp, jo, m, it)

 
Decorators:
  • @callback("ch", r"Moments from electrostatic potential charges")

multipole_mulliken(tp, jo, m, it)

 
Decorators:
  • @callback("ch", r"Moments from Mulliken charges")

fukui_indices(tp, jo, m, it)

 
Decorators:
  • @callback("ch", r"Atomic Fukui indices")

electron_transfer(tp, jo, m, it)

 
Decorators:
  • @callback("etit", r"^ Reading ")

alpha_polar(tp, jo, m, it)

 
Decorators:
  • @callback("cpolar", r"^ polarizability \(in AU\):")

beta_polar(tp, jo, m, it)

 
Decorators:
  • @callback("cpolar", r"^ first hyperpolarizability \(in AU\):")

gamma_polar(tp, jo, m, it)

 
Decorators:
  • @callback("cpolar", r"^ second hyperpolarizability \(in AU\):")

epn(tp, jo, m, it)

 
Decorators:
  • @callback("elden", r"^ Electrostatic Potential at the Nuclei")

esp_analysis(tp, jo, m, it)

 
Decorators:
  • @callback("elden", r"^ Analysis of ESP on isodensity surface:")

alie_analysis(tp, jo, m, it)

 
Decorators:
  • @callback("elden", r"^ Analysis of ALIE on isodensity surface:")

get_nmr(tp, jo, m, it)

 
Decorators:
  • @callback("nmrcphf", r"solving first-order CPHF")

cis_excitation_energies(tp, jo, m, it)

 
Decorators:
  • @callback("cis", r"CI size =")

reset_tddft_excitation_energies(tp, jo, m, it)

 
Decorators:
  • @callback("tdener", r"Ground State Dipole Moments")

tddft_excitation_energies(tp, jo, m, it)

 
Decorators:
  • @callback("tdener", r"(.*)Excited State\s+\d+:\s+$")

tddft_excitation_energies_old(tp, jo, m, it)

 
Decorators:
  • @callback("tdener", r"(.*)Excited State\s+\d+:\s+(\S+) eV")

tddft_geopt_energy(tp, jo, m, it)

 
Decorators:
  • @callback("geopt", r"First excited state energy:\s+(\S+) hartrees")

zpe(tp, jo, m, it)

 
Decorators:
  • @callback("freq", r"The zero point energy \(ZPE\):\s+(\S+) kcal/mol")

get_vetted_vec_index(tp, jo, m, it)

 
Decorators:
  • @callback("freq", r"Valid transition vector #\s+(\b[0-9]+\b)")

frequencies(tp, jo, m, it)

 
Decorators:
  • @callback("freq", r"normal modes in cartesian coordinates:\s+(\d+)")

frequencies_old(tp, jo, m, it)

 
Decorators:
  • @callback("freq", r"normal modes in cartesian coordinates:\s+$")

start_of_program(tp, jo, m, it)

 
Decorators:
  • @callback(None, r"start of program (\w+)")

glibc(tp, jo, m, it)

 
Decorators:
  • @callback(None, r"glibc:\s+(\S+)")

end_time(tp, jo, m, it)

 
Decorators:
  • @callback(None, r"Job \S+ completed on \S+ at (\w.*)$")

fatal_error(tp, jo, m, it)

 
Decorators:
  • @callback(None, r"ERROR *(\d+)?: fatal error( -- debug information follows)?")

total_lo_correction(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Total LO correction:\s+(\S+)\s+kcal/mole")

spin_splitting_score(tp, jo, m, it)

 
Decorators:
  • @callback("pre", r"Target molecule has a ligand field spin-splitting score of\s+(\S+)")