Functions to help grab keywords from xml and jaguar input files

Copyright Schrodinger, LLC. All rights reserved. str

Find the jaguar_keywords.xml file in $SCHRODINGER/mmshare-v*/ List[str]

return a list of all keywords List[str]

return a partial list keywords excludes all iopt,opt,cut,ip Dict[str, List]

Return dictionary of DFT names, a short description, and DOI’s to literature references if available, grouped by type. All information is taken from the levels_of_theory.csv file. This is intended for use by the documentation team for auto-doc’ing. See JAGUAR-9563.

{'Local': [
     ('HFS', 'a short description', ['doi:1']),
     ('XALPHA', 'another functional', ['do1:2', 'doi:3']),
     ('SVWN', None, None),
'Aposteriori-corrected': [
     ('PBE-ulg', None, None),
     ('B3LYP-MM', None, None),
'Recommended': [
     ('B3LYP', None, None),
     ('B3LYP-MM', None, None),
} List[str]

Return a list of all dftnames. Also includes HF and MP2. List[str]

return a list of all basis set names each basis set name is itself a list containing ‘base’ name, backup name, nplus, nstar str) Dict[str, str]

return a dictionary of the keywords in fname that are non-default hf and mp2 are considered ‘dftname’ and dftname and basis are always included str) str

return a cleaned up basis name with stars following pluses i.e. NAME+++**** List[str], print_report: bool = True) Tuple[float, float, float, List[str], List[str], List[str]]

given a list of input files return in this order (as return 1, 2, 3, 4, 5, 6) 1 - percent of keywords covered 2 - percent of basis sets covered 3 - percent of functionals covered 4 - list of uncovered keywords 5 - list of uncovered basis sets 6 - list of uncovered functionals str) List[str]

returns the supported basis sets for a particular functional, only useful for B3LYP-MM/B3LYP-LOC str, basis: str) bool

is this functional/basis set combination supported really just checks B3LYP-MM and B3LYP-LOC str, lst: list, remove: bool = False) bool

Inspect list to see if basisname is in it. Compares only by ‘basename’, i.e. no ‘*’s or ‘+’s optionally removes any matches from the list