Source code for icolos.utils.enums.program_parameters

[docs]class TurbomoleEnum: # general # --------- COORD = "coord" # hard-coded file name of input coordinates CONTROL = "control" # hard-coded file name for control script TM_CONFIG_DIR = "tm_config_dir" # directory path where the *.tm configurations lie # the basename of the parameter set chosen, e.g. "b97-3c-ri-d3-def2-mtzvp-int-nosym-charge" TM_CONFIG_BASENAME = "tm_config_basename" # this does not contain the charge or the ending # full name e.g. "b97-3c-ri-d3-def2-mtzvp-int-nosym-charge-1.tm" TM_CONFIG_ENDING = ".tm" # ending of turbomole configuration files TM_CONFIG_COSMO = "tm_config_cosmo" # path to the COSMO configuration file # this needs to be set for each turbomole calculation (current folder) TM_TURBOTMPDIR = "TURBOTMPDIR" TM_OUTPUT_COSMOFILE = "mol.cosmo" # hard-coded file name of the turbomole output TM_OUTPUT_COORDFILE = "coord" TM_OUTPUT_FINAL_XYZ = "final.xyz" # hard-coded file name for turbomole output TM_OUTPUT_FINAL_SDF = "final.sdf" # the "ridft" binary (+ configuration elements) # --------- TM_RIDFT = "ridft" # do DFT calculation with RI-J approximation for # inter-electronic Coulomb term TM_RIDFT_FAIL_IDENTIFICATION_STRING = "ridft ended abnormally" TM_RIDFT_SUCCESS_STRING = ( "ridft ended normally" # if this string is in stderr, execution was successful ) # the "jobex" binary (+ configuration elements) # --------- TM_JOBEX = "jobex" # used for DFT optimization TM_JOBEX_C = "-c" TM_JOBEX_GCART = "-gcart" TM_JOBEX_FAIL_IDENTIFICATION_STRING = "jobex ended abnormally" TM_JOBEX_SUCCESS_STRING = "jobex ended normally" # the "cosmoprep" binary (+ configuration elements) # --------- TM_COSMOPREP = "cosmoprep" TM_COSMOPREP_SUCCESS_STRING = "cosmoprep ended normally" # the "define" binary (+ configuration elements) # --------- TM_DEFINE = "define" TM_DEFINE_SUCCESS_STRING = ( "define ended normally" # if this string is in stderr, execution was successful ) # the "x2t" binary (+ configuration elements) # --------- TM_X2T = ( "x2t" # program to translate an XYZ file to TM input: x2t input.xyz > coord ) TM_X2T_SUCCESS_STRING = ( "$coord" # if this string is in stdout, execution was successful ) # the "t2x" binary (+ configuration elements) # --------- # program to translate an TM input to an XYZ file (last snapshot): t2x -c > final.xyz TM_T2X = "t2x" TM_T2X_C = "-c" # the "cosmotherm" binary (+ configuration elements) # --------- CT_COSMOTHERM = "cosmotherm" # the cosmotherm binary CT_COSMOTHERM_FAIL_STRING = ( "COSMOtherm ERROR Termination" # if this string is in stderr, the job failed ) CT_COSMOTHERM_CONFIG_FILE = ( "cosmotherm.inp" # hard-coded name of the input file generated before execution ) CT_COSMOTHERM_OUTPUT_FILE = ( "cosmotherm.out" # hard-coded name of the output file generated by cosmotherm ) CT_COSMOTHERM_TAB_ENDING = "cosmother.tab" CT_CONFIG = "cosmotherm_config" CT_CONFIG_DEFAULTPATH = "src/icolos/config/cosmo/default_cosmo.config" # control script fields # --------- CONTROL_COSMO_OUT = ( # line, after which insertion is to be put (separate line) "$cosmo_out file=n" ) CONTROL_COSMO_INSERTION = "$cosmo_isorad" CONTROL_COSMO_REPLACE = ( "$cosmo_out file=mol.cosmo" # after insertion, replace "$cosmo_out" with this ) # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class CosmoOutputEnum: PATTERN = "pattern" ELEMENT = "element" # general block # --------- # this works, because we always set the name of the compound to "mol" GENERAL_BLOCK_PATTERN_STRING = "--- Compound 1 (mol) ---" # alternatively, one could search for "Compound 1 ", as we also feed it in in order # the key (e.g. "E_cosmo") is the tag name for the SDF write-out, "pattern" identifies the line and # "element" is the number (on the right side, after the ':') of the element (starting with 0) from a # split using ' ', respectively GENERAL_BLOCK_ANNOTATIONS = { "E_cosmo": {"pattern": "E_COSMO+dE", "element": 0}, "volume": {"pattern": "Volume", "element": 0}, "area": {"pattern": "Area", "element": 0}, "dipole": {"pattern": "Dipole moment", "element": 0}, "HB_acc": {"pattern": "H-bond moment (accept)", "element": 0}, "HB_don": {"pattern": "H-bond moment (donor)", "element": 0}, "sigma1": {"pattern": "Sigma moments", "element": 0}, "sigma2": {"pattern": "Sigma moments", "element": 1}, "sigma3": {"pattern": "Sigma moments", "element": 2}, "sigma4": {"pattern": "Sigma moments", "element": 3}, "sigma5": {"pattern": "Sigma moments", "element": 4}, "sigma6": {"pattern": "Sigma moments", "element": 5}, } # solvent blocks # --------- SOLVENT_BLOCK_PATTERN_STRING = "Gibbs Free Energy of Solvation" SOLVENT_BLOCK_START_PATTERN = "----------------------" SOLVENT_BLOCK_BODY_START_PATTERN = "Compound: 1 (mol)" SOLVENT_TRANSLATE_SOLVENT = { "h2o": "h2o", "methanol": "meoh", "1-octanol": "octanol", "dimethyls": "dmso", "cyclohexa": "cychex", "chcl3": "chcl3", "acetonitr": "acn", "thf": "thf", } SOLVENT_REPLACEHOLDER = "{solvent}" SOLVENT_BLOCK_BODY_ANNOTATIONS = { "Gsolv_{solvent}": {"pattern": "Gibbs Free Energy of Solvation", "element": 0}, "G_{solvent}": {"pattern": "Free energy of molecule in mix", "element": 0}, } SOLVENT_BLOCK_HEADER_COMPOUNDS_PATTERN = "Compound " SOLVENT_BLOCK_HEADER_MOLFRACTION_PATTERN = "Mole Fraction" SOLVENT_BLOCK_CURRENT_FRACTION_VALUE = "1.0000" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class FeatureCounterEnum: PROPERTY_NUM_RINGS = "num_rings" PROPERTY_NUM_AROMATIC_RINGS = "num_aromatic_rings" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class CrestEnum: # Note: The first argument is usually a coordinate file in TM (coord, Bohr), # Xmol (*.xyz, Ang.) or SDF format. # Call: "crest <input_file> <parameters>" # This collection is based on Version 2.10.2, compatible with XTB version 6.1 and later # General options (all) # --------- CREST = "crest" # binary name CREST_H = "-h" # print the help message CREST_HELP_IDENTIFICATION_STRING = "Conformer-Rotamer Ensemble Sampling Tool" CREST_V3 = "-v3" # version 3 (the default iMTD-GC workflows) CREST_G = "-g" # 1 string parameter; use GBSA implicit solvent for solvent <string> CREST_CHRG = "-chrg" # 1 int parameter; the molecule's charge CREST_UHF = "-uhf" # 1 int parameter; set <int>=Nα-Nβ electrons CREST_NOZS = ( "-nozs" # do not perform z-mat sorting, default: z-matrix will be sorted ) CREST_ZS = "-zs" # perform z-matrix sorting [default] # 1 level parameter (vloose, loose, normal, tight, vtight); default: vtight CREST_OPT = "-opt" CREST_GFN1 = "-gfn1" # use GFN1-xTB CREST_GFN2 = "-gfn2" # use GFN2-xTB [default] CREST_GFF = "-gff" # use GFN-FF (requires xtb 6.3 or newer) # 1 string parameter; specify name of the xtb binary that should be used CREST_XNAM = "-xnam" # 1 float parameter; set energy window in kcl/mol, default: 6.0 kcal/mol CREST_EWIN = "-ewin" CREST_RTHR = ( "-rthr" # 1 float parameter; set RMSD threshold in Ang, default: 0.125 Ang ) CREST_ETHR = ( "-ethr" # 1 float parameter; set E threshold in kcal/mol, default: 0.1 kcal/mol ) CREST_BTHR = ( "-bthr" # 1 float parameter; set Rot. const. threshold, default: 15.0 MHz ) # 1 float parameter; Boltzmann population threshold, default: 0.05 (= 5%) CREST_PTHR = "-pthr" CREST_EQV = "-eqv" # activate NMR-equivalence printout CERST_NMR = "-nmr" # activate NMR-mode (= [-eqv] + opt. level: vtight) CREST_PRSC = "-prsc" # create a scoord.* file for each conformer CREST_NICEPRINT = "-niceprint" # progress bar printout for optimizations CREST_DRY = "-dry" # performs a "dry run"; only prints the settings # iMTD-GC workflows (selected) # --------- CREST_CROSS = "-cross" # do the GC part [default] CREST_NOCROSS = "-nocross" # don't do the GC part # 1 int parameter; set SHAKE mode for MD (0=off, 1=H-only, 2=all bonds), default: 2 CREST_SHAKE = "-shake" CREST_TSTEP = "-tstep" # 1 int parameter; set MD time step in fs, default: 5 # other (selected) # --------- CREST_T = ( # 1 int parameter; set total compound_number of CPUs (threads) to be used "-T" ) # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class AutoDockVinaEnum: # executable "vina" + parameters # --------- VINA = "vina" VINA_CALL = "vina" # the binary call VINA_HELP = "--help" # display usage summary VINA_HELP_ADVANCED = "--help_advanced" # display usage summary (with all options) VINA_VERSION = "--version" # diplay program version VINA_VERSION_IDENTIFICATION_STRING = ( "AutoDock Vina 1.1.2" # string, which needs to be present in help output in ) # order to assume "AutoDock Vina" can be properly used VINA_CONFIGURATION = ( "--config" # path to configuration file, where options below can be put ) # input VINA_RECEPTOR = "--receptor" # rigid part of the receptor (PDBQT) VINA_LIGAND = "--ligand" # ligand (PDBQT); only one at a time VINA_FLEX = "--flex" # flexible side chains, if any (PDBQT) # search space VINA_CENTER_X = "--center_x" # X coordinate of the center VINA_CENTER_Y = "--center_y" # Y coordinate of the center VINA_CENTER_Z = "--center_z" # Z coordinate of the center VINA_SIZE_X = "--size_x" # size in the X dimension (Angstroms) VINA_SIZE_Y = "--size_y" # size in the X dimension (Angstroms) VINA_SIZE_Z = "--size_z" # size in the X dimension (Angstroms) # output VINA_OUT = "--out" # output models (PDBQT), the default is chosen based on the # ligand file name # advanced options VINA_SCORE_ONLY = "--score_only" # score only - search space can be omitted VINA_LOCAL_ONLY = "--local_only" # do local search only VINA_RANDOMIZE_ONLY = ( "--randomize_only" # randomize input, attempting to avoid clashes ) VINA_WEIGHT_GAUSS1 = "--weight_gauss1" # gauss_1 weight (default: -0.035579) VINA_WEIGHT_GAUSS2 = "--weight_gauss2" # gauss_2 weight (default: -0.005156) VINA_WEIGHT_REPULSION = ( "--weight_repulsion" # repulsion weight (default: 0.84024500000000002) ) VINA_WEIGHT_HYDROPHOBIC = ( "--weight_hydrophobic" # hydrophobic weight (-0.035069000000000003) ) VINA_WEIGHT_HYDROGEN = ( "--weight_hydrogen" # hydrogen bond weight (-0.58743900000000004) ) VINA_WEIGHT_ROT = "--weight_rot" # N_rot weight (default: 0.058459999999999998) # miscellaneous (optional) VINA_CPU = "--cpu" # the number of CPUs to use (the default is to try to detect # the number of CPUs or, failing that, use 1) VINA_SEED = "--seed" # explicit random seed VINA_EXHAUSTIVENESS = ( "--exhaustiveness" # exhaustiveness of the global search (roughly proportional ) # to time): 1+ (default: 8) VINA_NUM_MODES = ( "--num_modes" # maximum number of binding modes to generate (default: 9) ) VINA_ENERGY_RANGE = "--energy_range" # maximum energy difference between the best binding mode and the # worst one displayed [kcal/mol] (default: 3) # --------- # Vina output specifications # --------- ADV_PDBQT = ".pdbqt" # the score is part of a tag in the PDBQT -> SDF translated output (tag "REMARK"), which looks like that: # < REMARK > # VINA RESULT: -9.1 0.000 0.000 # Name = /tmp/tmpjssiy8z4.pdb # ... # Note, that the three values are: affinity [kcal/mol] | dist from best mode (rmsd l.b.) | rmsd (u. b.) REMARK_TAG = "REMARK" RESULT_LINE_IDENTIFIER = "VINA RESULT" RESULT_LINE_POS_SCORE = 2 RESULT_LINE_POS_RMSDTOBEST_LB = 3 RESULT_LINE_POS_RMSDTOBEST_UB = 4 # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class GoldEnum: GOLD_CALL = "gold_auto" GOLD_HELP = "-h" GOLD_HELP_IDENTIFICATION_STRING = "Usage: gold_auto" GOLD_QUIET = "-q" REMARK_TAG = "REMARK" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class GoldOutputEnum: # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class CrestOutputEnum: COORD = "coord" COORD_ORIGINAL = "coord.original" CRE_MEMBERS = "cre_members" CREST_ENERGIES = "crest.energies" CREST_BEST_XYZ = "crest_best.xyz" CREST_CONFORMERS_SDF = "crest_conformers.sdf" CREST_CONFORMERS_XYZ = "crest_conformers.xyz" CREST_ROTAMERS_XYZ = "crest_rotamers.xyz" XTBTOPO_MOL2 = "xtbtopo.mol" # format properties PREFIX_ENERGIES_XYZ = " " # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class OpenBabelEnum: # executable "obabel" + parameters # --------- OBABEL = "obabel" OBABEL_IDENTIFICATION_STRING = "-O<outfilename>" OBABEL_INPUTFORMAT_PDBQT = ( # sets the input format to "PDBQT" (output of "AutoDock Vina") "-ipdbqt" ) OBABEL_INPUTFORMAT_XYZ = ( "-ixyz" # sets the input format to "XYZ" (format in XTB/TM) ) OBABEL_INPUTFORMAT_PDB = "-ipdb" OBABEL_INPUTFORMAT_SDF = "-isdf" # sets the input format to "SDF" OBABEL_P = "-p" # sets the <pH> value (e.g. "-p 7.4") for protonation # note, that this overwrites "--addpolarh", which is thus not used # specifies the output path (directly pasted afterwards, e.g. "-Omypath.pdb") OBABEL_O = "-O" # sets the output format to "PDBQT" (input for "AutoDock Vina") OBABEL_OUTPUT_FORMAT_PDBQT = "-opdbqt" OBABEL_OUTPUT_FORMAT_SDF = "-osdf" # sets the output format to "SDF" # sets the output format to "XYZ" (format in XTB/TM) OBABEL_OUTPUT_FORMAT_XYZ = "-oxyz" OBABEL_OUTPUT_FORMAT_PDB = "-opdb" OBABEL_X = "-x" # specifies generation options OBABEL_M = "-m" # produce multiple output files # one of the 'X' options ("-x"), which disables the tree construction of the receptor # (makes it static), directly pasted together: e.g. "-xr" OBABEL_X_R = "r" # sets the partial charge generation method (execute "obabel -L charges" to see list of available methods) OBABEL_PARTIALCHARGE = "--partialcharge" # one method to compute the partial charges, used as: "--partialcharge gasteiger" OBABEL_PARTIALCHARGE_GASTEIGER = "gasteiger" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class OpenBabelOutputEnum: # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class OMEGAEnum: # executable "oeomega" + parameters; the first parameter is a string indicating the mode # --------- OMEGA = "oeomega" OMEGA_HELP = "--help" # print the help message OMEGA_HELP_IDENTIFICATION_STRING = "To cite OMEGA please" OMEGA_MODE_CLASSIC = "classic" # The original customizable omega2 interface OMEGA_MODE_MACROCYCLE = "macrocycle" # Conformer generation for macrocycles OMEGA_MODE_ROCS = "rocs" # Optimal conformer generation for ROCS OMEGA_MODE_POSE = "pose" # Optimal conformer generation for molecular # alignment and pose prediction by docking OMEGA_MODE_DENSE = "dense" # Optimal conformer generation for FREEDOM # mode "classic" parameters # --------- CLASSIC_INPUT = "-in" # Input filename (required, if "-param" not set) CLASSIC_OUTPUT = "-out" # Output filename (required, if "-param" not set) CLASSIC_PARAM = "-param" # A parameter file CLASSIC_PREFIX = "-prefix" # Prefix to use to name output files CLASSIC_PROGRESS = "-progress" # Method of showing job progress. Either "none", # "dots", "log" or "percent". CLASSIC_SDENERGY = "-sdEnergy" # Writes conformer energies to the SD tag field CLASSIC_VERBOSE = "-verbose" # Triggers copious logging output # Generate structures from connection-table only. CLASSIC_FROMCT = "-fromCT" CLASSIC_EWINDOW = "-ewindow" # Energy window used for conformer selection. CLASSIC_MAXCONFS = ( "-maxconfs" # Maximum compound_number of conformations to be saved ) CLASSIC_RMS = "-rms" # RMS threshold used to determine duplicate # conformations # if set to false ("-canonOrder false"), OMEGA will not update the atom orders CLASSIC_CANON_ORDER = "-canonOrder" CLASSIC_STRICTSTEREO = ( "-strictstereo" # Requires that all chiral atoms and bonds have ) # specified stereo CLASSIC_STRICT = "-strict" # A convenience flag to set "-strictstereo", # "-strictatomtyping" and "-strictfrags" to true # or false and override [sic] previous settings. # mode "rocs" parameters # --------- ROCS_INPUT = "-in" # Input filename (required, if "-param" not set) ROCS_OUTPUT = "-out" # Output filename (required, if "-param" not set) ROCS_PARAM = "-param" # A parameter file ROCS_PREFIX = "-prefix" # Prefix to use to name output files ROCS_PROGRESS = "-progress" # Method of showing job progress. Either "none", # "dots", "log" or "percent". ROCS_VERBOSE = "-verbose" # Triggers copious logging output # mode "dense" parameters # --------- DENSE_INPUT = "-in" # Input filename (required, if "-param" not set) DENSE_OUTPUT = "-out" # Output filename (required, if "-param" not set) DENSE_PARAM = "-param" # A parameter file DENSE_PREFIX = "-prefix" # Prefix to use to name output files DENSE_PROGRESS = "-progress" # Method of showing job progress. Either "none", # "dots", "log" or "percent". DENSE_VERBOSE = "-verbose" # Triggers copious logging output # mode "macrocycle" parameters # --------- MACROCYCLE_INPUT = "-in" # Input filename (required, if "-param" not set) # Output filename (required, if "-param" not set) MACROCYCLE_OUTPUT = "-out" MACROCYCLE_PARAM = "-param" # A parameter file MACROCYCLE_PREFIX = "-prefix" # Prefix to use to name output files MACROCYCLE_EWINDOW = "-ewindow" # Energy window for the output conformers MACROCYCLE_ITERATION_CYCLE_SIZE = ( "-iteration_cycle_size" # Number of iterations to run before checking if a ) # new minimum was found (run will finish if no new # minimum is found). MACROCYCLE_MAXCONFS = ( "-maxconfs" # Maximum compound_number of conformations to be saved ) MACROCYCLE_MAX_ITERATIONS = ( # Maximum compound_number of iterations (calculation may "-max_iterations" ) # converge before reaching this compound_number). MACROCYCLE_REF_TOLERANCE = ( "-ref_tolerance" # RMS gradient tolerance for force field refinement ) MACROCYCLE_RMS = "-rms" # RMS clustering threshold (if 0.0 clustering is # skipped). MACROCYCLE_RMSD_DEDUPLICATE = ( "-rmsd_deduplicate" # Deduplicate using a RMSD calculation (slow) ) # rather than energy and torsion comparison # mode "pose" parameters # --------- POSE_INPUT = "-in" # Input filename (required, if "-param" not set) POSE_OUTPUT = "-out" # Output filename (required, if "-param" not set) POSE_PREFIX = "-prefix" # Prefix to use to name output files POSE_PROGRESS = "-progress" # Method of showing job progress. Either "none", # "dots", "log" or "percent". POSE_VERBOSE = "-verbose" # Triggers copious logging output # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class OMEGAOutputEnum: # tags CLASSIC_ENERGY_OUTPUT_TAG = "mmff94smod_NoEstat" # other # This hard-coded output name will be parsed. OUTPUT_SDF_NAME = "omega_out.sdf" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class XTBEnum: # Usage: xtb[options] <geometry> [options] # < geometry > may be provided as valid TM coordinate file(*coord in Bohr) or in xmol format(*xyz in Ångström). # Output Conventions: total energies are given in atomic units (Eh), gaps/HL energies are given in eV XTB = "xtb" XTB_HELP = "--help" XTB_HELP_IDENTIFICATION_STRING = "normal termination of xtb" # written to stderr XTB_CHRG = "--chrg" # 1 int parameter; specify molecular charge XTB_UHF = "--uhf" # 1 int parameter; specify Nalph-Nbeta # 1 float parameter; accuracy for SCC calculation, lower is better (default = 1.0) XTB_ACC = "--acc" # 1 int parameter; compound_number of iterations in SCC (default = 250) XTB_ITERATION = "--iteration" # 1 level parameter; compound_number of cycles in ANCopt (default = automatic) XTB_CYCLES = "--cycles" XTB_GFN = ( # 1 int parameter; specify parametrisation of GFN-xTB (default = 2) "--gfn" ) XTB_QMDFF = "--qmdff" # use QMDFF for single point (needs solvent-file) XTB_TM = "--tm" # use TURBOMOLE for single point (needs control-file) XTB_ORCA = "--orca" # use ORCA for single point (writes ORCA input) XTB_MOPAC = "--mopac" # use MOPAC for single point (writes MOPAC input) # uses periodic boundary conditions (in developement) XTB_PERIODIC = "--periodic" # 1 float parameter; electronic temperature (default = 300K) XTB_ETEMP = "--etemp" # 1 level parameter; generalized born (GB) model with solvent accessable surface area (SASA) model XTB_GBSA = "--gbsa" XTB_OPT = "--opt" # 1 level parameter; either "crude", "sloppy", # "loose", "normal" (default), "tight", "verytight" XTB_P = "-P" # 1 int parameter; compound_number of cores # --vparam FILE Parameter file for vTB calculation # --xparam FILE Parameter file for xTB calculation (not used) # --pop requests printout of Mulliken population analysis # --molden requests printout of molden file # --dipole requests dipole printout # --wbo requests Wiberg bond order printout # --lmo requests localization of orbitals # --fod requests FOD calculation, adjusts electronic temperature to 12500 K if possible # --scc, --sp performs a single point calculation # --vip performs calculation of ionisation potential # --vea performs calculation of electron affinity # --vipea performs calculation of IP and EA # --vomega performs calculation of electrophilicity index # --vfukui calculate Fukui indicies using GFN-xTB # --esp calculate electrostatic potential on VdW-grid # --stm calculate STM image # --grad performs a gradient calculation # --optts [LEVEL] [ROOT] call ancopt(3) to perform a transition state optimization, may # need to perform a hessian calculation first # --hess perform a numerical hessian calculation on input geometry # --ohess [LEVEL] perform a numerical hessian calculation on an ancopt(3) optimized geometry # --md molecular dynamics simulation on start geometry # --omd molecular dynamics simulation on ancopt(3) optimized geometry, a loose # optimization level will be chosen. # --metadyn [INT] meta dynamics simulation on start geometry saving INT snapshots to bias the simulation # --siman conformational search by simulated annealing based on molecular dynamics. # Conformers are optimized with ancopt. # --modef INT modefollowing algorithm. INT specifies the mode that should be used for the modefollowing. # -I,--input FILE use FILE as input source for xcontrol(7) instructions # --namespace STRING give this xtb(1) run a namespace. All files, even temporary ones, will # be named accordingly (might not work everywhere). # --[no]copy copies the xcontrol file at startup (default = true) # --[no]restart restarts calculation from xtbrestart (default = true) # -P,--parallel INT compound_number of parallel processes # --define performs automatic check of input and terminate # --version print version and terminate # --citation print citation and terminate # --license print license and terminate # -v,--verbose be more verbose (not supported in every unit) # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class XTBOutputEnum: XTBOPT_SDF = "xtbopt.sdf" XTBTOPO_SDF = "xtbtopo.sdf" XTBOPT_LOG = "xtbopt.log" XTBRESTART = "xtbrestart" WBO = "wbo" CHARGES = "charges" SUCCESS = "success" FAILURE = "failure" # tags TOTAL_ENERGY_TAG = "total energy / Eh" GRADIENT_TAG = "gradient norm / Eh/a0" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class MacromodelEnum: MACROMODEL = "macromodel" MACROMODEL_HELP = "-h" MACROMODEL_HELP_IDENTIFICATION_STRING = "MacroModel Startup Script" MACROMODEL_NJOBS = "-NJOBS" MACROMODEL_WAIT = "-WAIT" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class ModelBuilderEnum: # OPTBUILD parameters OPTBUILD_ENTRY_POINT = "optbuild.py" CONFIG = "--config" BEST_BUILDCONFIG_OUTPATH = ( "--best-buildconfig-outpath" # path to the output JSON for the best trial ) BEST_MODEL_OUTPATH = ( # path to the output model (PKL) for the best trial "--best-model-outpath" ) MERGED_MODEL_OUTPATH = ( "--merged-model-outpath" # path to the production output model (PKL) ) PERSISTENCE_MODE = "--model-persistence-mode" PERSISTENCE_MODE_PLAINSKLEARN = "plain_sklearn" PERSISTENCE_MODE_SKLEARNWITHOPTUNAAZ = "sklearn_with_optunaz" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class LigprepEnum: LIGPREP = "ligprep" LIGPREP_HELP = "-h" LIGPREP_HELP_IDENTIFICATION_STRING = "usage: ligprep [options]" # SMI input followed by <path> (alternatives: "-icsv", "-imae" and "-isd") LIGPREP_INPUT_ISMI = "-ismi" LIGPREP_OUTPUT_OSD = ( "-osd" # SD(F) output followed by <path> (alternative: "-omae") ) # not used in AZdock, but would be an option to feed parameters from configuration file LIGPREP_INP_CONFIG = "-inp" LIGPREP_EPIK = ( "-epik" # Use "Epik" for ionization and tautomerization (Recommended) ) LIGPREP_PH = ( # Effective / target pH; followed by <number> (use 7.0 as default) "-ph" ) # pH tolerance for generated structures; followed by <number> (use 2.0 as default) LIGPREP_PHT = "-pht" LIGPREP_AC = ( "-ac" # Do not respect existing chirality properties and do not respect ) # chiralities from the input geometry. Generate stereoisomers for all chiral centers up to # the number permitted (specified using the -s option). This is equivalent to "Generate # all combinations" in the Ligand Preparation user interface. Default # behavior is to respect only explicitly indicated chiralities. # Filter structures via LigFilter using specifications from the file provided. Default: do not filter. LIGPREP_F = "-f" LIGPREP_G = ( # Respect chiralities from input geometry when generating stereoisomers. "-g" ) # Generate up to this <number> stereoisomers per input structure. (Default: 32). LIGPREP_S = "-s" # Force-field to be used for the final geometry optimization (either 14 or 16, which refers to OPLS_2005 and LIGPREP_BFF = "-bff" # OPLS3e respectively. Default: 14 LIGPREP_FF_OPLS_2005 = "14" # Default force-field LIGPREP_FF_OPLS3e = "16" # Alternative force-field LIGPREP_NJOBS = ( # Divide the overall job into NJOBS subjobs. Set to 1 by default. "-NJOBS" ) # Divide the overall job into subjobs with no more than NSTRUCTS structures. Set to 1 by default. LIGPREP_NSTRUCTS = "-NSTRUCTS" LIGPREP_HOST = ( # Run the job on <hostname> remotely on the indicated host entry. "-HOST" ) LIGPREP_HOST_LOCALHOST = "localhost" # Default value for the run. LIGPREP_WAIT = "-WAIT" # Do not return a prompt until the job completes. LIGPREP_LOG_ENDING = ".log" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class GlideEnum: # executable "glide" + parameters # note, that you can get the full list of parameters with "$SCHRODINGER/glide -k" # --------- GLIDE = "glide" GLIDE_CALL = "$SCHRODINGER/glide" GLIDE_HELP = "-h" GLIDE_HELP_IDENTIFICATION_STRING = "positional arguments:" GLIDE_WAIT = "-WAIT" GLIDE_OVERWRITE = "-OVERWRITE" # Remove previous job files before running. GLIDE_NJOBS = "-NJOBS" # Divide the overall job into NJOBS subjobs. GLIDE_HOST = "-HOST" # Run job remotely on the indicated host entry. # WARNING: does not seem to be supported (any longer?) - probably "-NOLOCAL" now? GLIDE_TMPLAUNCHDIR = "-TMPLAUNCHDIR" # WARNING: does not seem to be supported (any longer?) GLIDE_ATTACHED = "-ATTACHED" # amide bond rotation behavior: "fixed", "free", "penal", "trans", "gen[eralized]" GLIDE_AMIDE_MODE = "AMIDE_MODE" # bypass elimination of poses in rough scoring stage (useful for fragment docking) GLIDE_EXPANDED_SAMPLING = "EXPANDED_SAMPLING" GLIDE_GRIDFILE = "GRIDFILE" # path to grid (.grd or .zip) file GLIDE_LIGANDFILE = "LIGANDFILE" # Glide docking ligands file name # expand size of the Glide funnel by N times to process poses from N confgen runs with minor # perturbations to the input ligand coordinates GLIDE_NENHANCED_SAMPLING = "NENHANCED_SAMPLING" # format for file containing docked poses: "poseviewer" for _pv.mae output; "ligandlib" for # _lib.mae; similarly "poseviewer_sd" and "ligandlib_sd" for sdf output; "phase_subset" for bypassing # _lib or _pv in favor of a Phase subset file. GLIDE_POSE_OUTTYPE = "POSE_OUTTYPE" GLIDE_POSE_OUTTYPE_LIGANDLIB = ( "ligandlib_sd" # sets the write-out to SDF (easily parsed) ) # uses the poseviewer (MAE format) write-out; contains the receptor GLIDE_POSE_OUTTYPE_POSEVIEWER = "poseviewer" GLIDE_POSES_PER_LIG = ( "POSES_PER_LIG" # maximum number of poses to report per each input ligand ) # maximum number of best-by-Emodel poses to submit to post-docking minimization GLIDE_POSTDOCK_NPOSE = "POSTDOCK_NPOSE" GLIDE_POSTDOCKSTRAIN = ( "POSTDOCKSTRAIN" # include strain correction in post-docking score ) # glide docking precision ("SP", "XP" or "HTVS") GLIDE_PRECISION = "PRECISION" # reward formation of intramolecular hydrogen bonds in the ligand GLIDE_REWARD_INTRA_HBONDS = "REWARD_INTRA_HBONDS" GLIDE_USE_CONS = "USE_CONS" GLIDE_NREQUIRED_CONS = "NREQUIRED_CONS" # if any of these string is present in the logfile associated with a subjob, all went well GLIDE_LOG_SUCCESS_STRING = "glide_sort command succeeded" GLIDE_LOG_FINISHED_STRINGS = {"Exiting Glide"} GLIDE_LOG_FAIL_STRINGS = { "*** Error in", # if any of these strings is present in the logfile associated with a subjob, there was an # issue resulting in the complete failure of the execution "Glide cannot recover from this signal and will now abort.", "======= Backtrace: =========", } # "Glide: FATAL mmlewis error"} # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class SchrodingerExecutablesEnum: # executable "licadmin" + parameters # --------- LICADMIN = "licadmin" LICADMIN_STAT = "STAT" # returns the list of tokens used / available # executable "sdconvert" + parameters # --------- SCHRODINGER_MODULE = "module load schrodinger/2021-2-js-aws" SDCONVERT = "sdconvert" SDCONVERT_CALL = "$SCHRODINGER/utilities/sdconvert" SDCONVERT_HELP = "" SDCONVERT_HELP_IDENTIFICATION_STRING = "mae : Maestro format" SDCONVERT_A = "-a" # append structures to the output file # input; note that the format is directly appended (e.g. "-isd") SDCONVERT_I = "-i" SDCONVERT_O = ( # output; note that the format is directly appended (e.g. "-omae") "-o" ) SDCONVERT_FORMAT_SD = "sd" # MDL SDfile format SDCONVERT_FORMAT_PDB = "pdb" # PDB file format SDCONVERT_FORMAT_MM = "mm" # MacroModel (.dat) format SDCONVERT_FORMAT_MAE = "mae" # Maestro format SDCONVERT_TITLE = ( "-title" # define SD property <prop> as the source of the Maestro title ) SDCONVERT_NOSTEREO = ( "-nostereo" # do not record the atom parity info from the input file ) # do not convert aromatic type 4 bonds to single and double bonds (which is the Maestro convention) SDCONVERT_NOAROM = "-noarom" # executable "structcat" + parameters STRUCTCAT = "structcat" STRUCT_SPLIT_CALL = "$SCHRODINGER/run split_structure.py" STRUCT_SPLIT = "structsplit" STRUCTCONVERT = "structconvert" STRUCTCAT_CALL = "$SCHRODINGER/utilities/structcat" STRUCTCONVERT_CALL = "$SCHRODINGER/utilities/structconvert" FMP_STATS = "fmp_stats" FMP_STATS_CALL = "$SCHRODINGER/run -FROM scisol fmp_stats.py" STRUCTCAT_HELP = "-h" PROTEIN_INTERACTION_CALL = "$SCHRODINGER/run protein_interaction_analysis.py" PROTEIN_INTERACTION = "protein_interaction" STRUCTCAT_HELP_IDENTIFICATION_STRING = "<format> must be one of" # input; note that the format is directly appended (e.g. "-isd") STRUCTCAT_I = "-i" STRUCTCAT_O = ( # output; note that the format is directly appended (e.g. "-omae") "-o" ) STRUCTCAT_FORMAT_MAE = "mae" # Maestro format STRUCTCAT_FORMAT_SD = "sd" # MDL SDfile format STRUCTCAT_FORMAT_SDF = "sdf" STRUCTCAT_FORMAT_PDB = "pdb" # PDB format STRUCTCAT_FORMAT_MOL2 = "mol2" # sybyl (.mol2) format POSEVIEWER_FILE_KEY = "pv.maegz" PREPWIZARD = "prepwizard" PREPWIZARD_CALL = "$SCHRODINGER/utilities/prepwizard" MULTISIM_EXEC = "$SCHRODINGER/utilities/multisim" AWS_BINARY_LOC = "ssh <location> /opt/schrodinger/suite/installations/default/" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class PrimeEnum: PRIME_MMGBSA = "prime_mmgbsa" PRIME_HELP = "-h" PRIME_HELP_IDENTIFICATION_STRING = ( "run $SCHRODINGER/prime_mmgbsa -h for a complete listing of all options." ) PRIME_NJOBS = "-NJOBS" PRIME_WAIT = "-WAIT" # settings PRIME_OUTTYPE = "-out_type" PRIME_OUTTYPE_LIGAND = "LIGAND" # tags in output PRIME_MMGBSA_TOTAL_ENERGY = ( "r_psp_MMGBSA_dG_Bind" # total energy of binding: complex - receptor - ligand ) PRIME_MMGBSA_TOTAL_ENERGY_NS = ( # as above but without strain energy correction "r_psp_MMGBSA_dG_Bind(NS)" ) # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class PantherEnum: PANTHER_PTYHON2 = "python2" PANTHER_ENTRYPOINT = "panther.py" PANTHER_CONFIG = "panther_config.in" PANTHER_OUTPUT_FILE = "neg_image.mol2" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class KallistoEnum: KALLISTO = "kallisto" # Binary name. # OPTIONS SILENT = "--silent" SHIFT = "--shift" # INTEGER argument HELP = "--help" # Show this message and exit HELP_IDENTIFICATION_STRING = "Show this message" # COMMANDS ALP = "alp" # Static atomic polarizabilities in Bohr^3. BONDS = "bonds" # Get information about covalent bonding partner. CNS = "cns" # Atomic coordination numbers. EEQ = "eeq" # Electronegativity equilibration atomic partial charges. EXS = ( "exs" # Exchange a substrate within a transition metal complex with another... ) LIG = "lig" # Get all substructures (or ligands) that are bound to the center... PROX = "prox" # Atomic proximity shells. RMS = "rms" # Calculate the root mean squared deviation between two structures... SORT = "sort" # Sort input geoemtry according to connectivity. STM = "stm" # Calculate sterimol descriptors using kallisto van der Waals radii. VDW = "vdw" # Charge-dependent atomic van der Waals radii in Bohr. # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class JazzyEnum: JAZZY = "jazzy" HELP = "--help" HELP_IDENTIFICATION_STRING = "Show this message" # "vec" command VEC = "vec" # "generating properties" mode VEC_OPT = "--opt" # optimization VEC_OPT_MMF94 = "MMF94" VEC_OPT_MMF94S = "MMF94s" VEC_OPT_UFF = "UFF" VEC_STRENGHT_ONLY = "--strength_only" # "vis" command VIS = "vis" # "generating graphics" mode VIS_OPT = "--opt" VIS_OPT_MMF94 = "MMF94" VIS_OPT_MMF94S = "MMF94s" VIS_OPT_UFF = "UFF" VIS_FIG_SIZE = "--fig_size" # Size of SVG image in pixels. [default: 500, 500] VIS_SDC_THRESHOLD = ( "--sdc_threshold" # Treshold strength to depic Carbon donors. [default: 0.0] ) VIS_SA_THRESHOLD = ( "--sa_threshold" # Treshold strength to depic acceptors. [default: 0.0] ) VIS_BASE64 = "--base64" VIS_FLATTEN_MOLECULE = "--flatten_molecule" VIS_HIGHLIGHT_ATOMS = "--highlight_atoms" VIS_IGNORE_SDC = "--ignore_sdc" VIS_IGNORE_SDX = "--ignore_sdx" VIS_IGNORE_SA = "--ignore_sa" VIS_HELP = "--help" # result dictionary keys for "vec" command RESULT_SDC = "sdc" RESULT_SDX = "sdx" RESULT_SA = "sa" RESULT_DGA = "dga" RESULT_DGP = "dgp" RESULT_DGTOT = "dgtot" RESULT_STATUS = "__status" RESULT_STATUS_SUCCESS = "success" RESULT_SMILES = "smiles" # try to find the internal value and return def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class ShaepEnum: SHAEP_EXECUTABLE = "shaep" OUTPUT_SIMILARITY = "similarity.txt" NEGATIVE_IMAGE_OUTPUT_FILE = "neg_image.mol2" CONFORMER_PATH = "conformer.sdf" TAG_SHAPE_SIMILARITY = "shape_similarity" TAG_ESP_SIMILARITY = "esp_similarity" def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class GromacsEnum: # gmx programs PDB2GMX = "gmx pdb2gmx" EDITCONF = "gmx editconf" SOLVATE = "gmx solvate" GROMPP = "gmx grompp" GENION = "gmx genion" MDRUN = "gmx mdrun" MPI_MDRUN = "gmx_mpi mdrun" MAKE_NDX = "gmx make_ndx" GENRESTR = "gmx genrestr" TRJCAT = "gmx trjcat" TRJCONV = "gmx trjconv" CLUSTER = "gmx cluster" RMS = "gmx rms" ANTECHAMBER = "antechamber" PDB2GMX_FAIL_ID_STRING = "Required option was not provided" ACPYPE_BINARY = "acpype" MMPBSA = "gmx_MMPBSA" DO_DSSP = "gmx do_dssp" SELECT = "gmx select" CLUSTER_TS = "Rscript $MDPLOT/MDplot/inst/bash/MDplot_bash.R clusters_ts" PRIMARY_COMPONENTS = ["Protein", "DNA", "RNA"] # from residuetypes.dat AMBER_PARAMETRISED_COMPONENTS = [ "ABU", "ACE", "AIB", "ALA", "ARG", "ARGN", "ASN", "ASN1", "ASP", "ASP1", "ASPH", "ASPP", "ASH", "CT3", "CYS", "CYS1", "CYS2", "CYSH", "DALA", "GLN", "GLU", "GLUH", "GLUP", "GLH", "GLY", "HIS", "HIS1", "HISA", "HISB", "HISH", "HISD", "HISE", "HISP", "HSD", "HSE", "HSP", "HYP", "ILE", "LEU", "LSN", "LYS", "LYSH", "MELEU", "MET", "MEVAL", "NAC", "NME", "NHE", "NH2", "PHE", "PHEH", "PHEU", "PHL", "PRO", "SER", "THR", "TRP", "TRPH", "TRPU", "TYR", "TYRH", "TYRU", "VAL", "PGLU", "HID", "HIE", "HIP", "LYP", "LYN", "CYN", "CYM", "CYX", "DAB", "ORN", "HYP", "NALA", "NGLY", "NSER", "NTHR", "NLEU", "NILE", "NVAL", "NASN", "NGLN", "NARG", "NHID", "NHIE", "NHIP", "NHISD", "NHISE", "NHISH", "NTRP", "NPHE", "NTYR", "NGLU", "NASP", "NLYS", "NORN", "NDAB", "NLYSN", "NPRO", "NHYP", "NCYS", "NCYS2", "NMET", "NASPH", "NGLUH", "CALA", "CGLY", "CSER", "CTHR", "CLEU", "CILE", "CVAL", "CASN", "CGLN", "CARG", "CHID", "CHIE", "CHIP", "CHISD", "CHISE", "CHISH", "CTRP", "CPHE", "CTYR", "CGLU", "CASP", "CLYS", "CORN", "CDAB", "CLYSN", "CPRO", "CHYP", "CCYS", "CCYS2", "CMET", "CASPH", "CGLUH", "DA", "DG", "DC", "DT", "DA5", "DG5", "DC5", "DT5", "DA3", "DG3", "DC3", "DT3", "DAN", "DGN", "DCN", "DTN", "A", "U", "C", "G", "RA", "RU", "RC", "RG", "RA5", "RT5", "RU5", "RC5", "RG5", "RA3", "RT3", "RU3", "RC3", "RG3", "RAN", "RTN", "RUN", "RCN", "RGN", "SOL", "WAT", "HOH", "OHH", "TIP", "T3P", "T4P", "T5P", "T3H", "K", "NA", "CA", "MG", "CL", "ZN", "CU1", "CU", "LI", "NA+", "RB", "CS", "F", "CL-", "BR", "I", "OH", "Cal", "IB+", ] IONS = ["ZN", "MG", "CU", "CA", "NA", "CL", "RB", "CS", "F", "BR", "I", "OH", "K"] LIG_ID = "lig_id.lig" LIG_EXT = "lig" ATOMS = ["HETATM", "ATOM"] ATOMS_DIRECTIVE = "[ atoms ]" BONDS = "[ bonds ]" ATOMTYPES = "[ atomtypes ]" MOLECULETYPES = "[ moleculetype ]" MOLECULES = "[ molecules ]" SOLVENTS = ["HOH ", "SOL", "WAT"] TERMINATIONS = ["ENDMDL", "END"] SYSTEM = "[ system ]" DEFAULTS = "[ defaults ]" def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class PMXEnum: # $PMX programs (see respective steps for the help strings) ABFE = "$PMX abfe" ANALYSE = "$PMX analyse" ATOMMAPPING = "$PMX atomMapping" DOUBLEBOX = "$PMX doublebox" GENLIB = "$PMX genlib" GENTOP = "$PMX gentop" LIGANDHYBRID = "$PMX ligandHybrid" MUTATE = "$PMX mutate" # custom scripts BOX_WATER_IONS = "box_water_ions.py" PREPARE_SIMULATIONS = "prepare_simulations.py" PREPARE_TRANSITIONS = "prepare_transitions.py" RUN_ANALYSIS = "run_analysis.py" RUN_SIMULATIONS = "run_simulations.py" ASSEMBLE_SYSTEMS = "assemble_systems.py" ANALYSE_HELP = "-h" ANALYSE_HELP_SUCCESS_STRING = "Calculates free energies from fast" # standard file extensions PDB = "pdb" # file system standards HYBRID_STR_TOP = "hybridStrTop" def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class StepPMXEnum: SIM_TYPE = "sim_type" BOXSHAPE = "boxshape" BOXD = "boxd" WATER = "water" CONC = "conc" PNAME = "pname" NNAME = "nname" RUN_TYPE = "run_type" SIM_TYPES = "sim_types" EXEC_MODE = "exec_mode" MDRUN_EXECUTABLE = "mdrun_executable" ABFE = "abfe" RBFE = "rbfe" PREV_STEP = "previous_step" STRICT = "strict"
[docs]class PMXAtomMappingEnum: HELP = "--help" # show this help message and exit. <> I1 = "-i1" # Input ligand structure 1. Default is "lig1.pdb" <1 pdb file> I2 = "-i2" # Input ligand structure 2. Default is "lig2.pdb" <1 pdb file> O1 = "-o1" # Output pairs: column1:mol1, column2:mol2. Default is "pairs1.dat" <1 dat file> O2 = "-o2" # Output pairs: column1:mol2, column2:mol1. Default is "pairs2.dat" <1 dat file> OPDB1 = "-opdb1" # Optional output: superimposed structure 1. <1 pdb file> OPDB2 = "-opdb2" # Optional output: superimposed structure 2. <1 pdb file> OPDBM1 = "-opdbm1" # Optional output: morphable atoms in structure 1 <2 pdb files> OPDBM2 = "-opdbm2" # Optional output: morphable atoms in structure 2. <2 pdb files> # Optional output: score of the morph. Default is "out_score.dat" <1 dat file> SCORE = "-score" N1 = "-n1" # Optional input: index of atoms to consider for mol1 <1 ndx file> N2 = "-n2" # Optional input: index of atoms to consider for mol2 <1 ndx file> LOG = "-log" # Output: log file. Default is "mapping.log" <1 log file> NO_ALIGNMENT = ( # Should the alignment method be disabled (default enabled) <> "--no-alignment" ) # Should the MCS method be disabled (default enabled) <> NO_MCS = "--no-mcs" # Should non-polar hydrogens be discarded from morphing into any other hydrogen (default True) <> NO_H2H = "--no-H2H" # Should polar hydrogens be morphed into polar hydrogens (default False) <> H2HPOLAR = "--H2Hpolar" H2HEAVY = ( # Should hydrogen be morphed into a heavy atom (default False) <> "--H2Heavy" ) # Should rings only be used in the MCS search and alignemnt (default False) <> RINGSONLY = "--RingsOnly" # Should the distance criterium be also applied in the MCS based search (default False) <> DMCS = "--dMCS" # Try swapping the molecule order which would be a cross-check and require double execution time (default False) <> SWAP = "--swap" NO_CHIRALITY = ( # Perform chirality check for MCS mapping (default True) <> "--no-chirality" ) # Distance (nm) between atoms to consider them morphable for alignment approach (default 0.05 nm). <1 numeric value> D = "--d" # Maximum time (s) for an MCS search (default 10 s). <1 numeric value> TIMEOUT = "--timeout" LIGAND_DIR = "input/ligands" def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class PMXLigandHybridEnum: HELP = "--help" # Show this help message and exit. <> I1 = "-i1" # Input ligand structure 1. Default is "lig1.pdb" <1 pdb file> I2 = "-i2" # Input ligand structure 2. Default is "lig2.pdb" <1 pdb file> ITP1 = "-itp1" # Input ligand topology 1. Default is "lig1.itp" <1 itp file> ITP2 = "-itp2" # Input ligand topology 2. Default is "lig2.itp" <1 itp file> PAIRS = "-pairs" # Optional input: atom pair mapping. <1 dat file> N1 = "-n1" # Optional input: index of atoms to consider for mol1. <1 ndx file> N2 = "-n2" # Optional input: index of atoms to consider for mol2. <1 ndx file> OA = "-oA" # Output: hybrid structure based on the ligand 1. Default is "mergedA.pdb" <1 pdb file> OB = "-oB" # Output: hybrid structure based on the ligand 2. Default is "mergedB.pdb" <1 pdb file> OITP = "-oitp" # Output: hybrid topology. Default is "merged.itp". <1 itp file> # Output: atomtypes for hybrid topology. Default is "ffmerged.itp" <1 itp file> OFFITP = "-offitp" LOG = "-log" # Output: log file. Default is "hybrid.log" <1 log file> # Optional: if -pairs not provided, distance (nm) between atoms to consider them morphable # for alignment approach (default 0.05 nm). <1 numerical value> D = "--d" FIT = "--fit" # Fit mol2 onto mol1, only works if pairs.dat is provided. <> SPLIT = "--split" # Split the topology into separate transitions. SCDUMM = ( "--scDUMm" # Scale dummy masses using the counterpart atoms. <1 numeric value> ) SCDUMA = "--scDUMa" # Scale bonded dummy angle parameters. <1 numeric value> SCDUMD = "--scDUMd" # Scale bonded dummy dihedral parameters. <1 numeric value> DEANG = "--deAng" # Decouple angles composed of 1 dummy and 2 non-dummies. def __getattr__(self, name): if name in self: return name raise AttributeError # prohibit any attempt to set any values def __setattr__(self, key, value): raise ValueError("No changes allowed.")
[docs]class FepPlusEnum: FEP_MAPPER = "$SCHRODINGER/run -FROM scisol fep_mapper.py" FEP_EXECUTOR = "$SCHRODINGER/fep_plus" FEP_ABSOLUTE_EXECUTOR = "$SCHRODINGER/fep_absolute_binding" FEP_HELP = "-h" JSC_LIST = 'ssh $SCHRODINGER_JOBSERVER "export SCHRODINGER=/opt/schrodinger/suite/installations/default && /opt/schrodinger/suite/installations/default/jsc list"' JSC_TAIL_FILE = 'ssh $SCHRODINGER_JOBSERVER "export SCHRODINGER=/opt/schrodinger/suite/installations/default && /opt/schrodinger/suite/installations/default/jsc tail-file' DICT = "dict" PATH = "path" FEP_MAPPER_HELP_SUCCESS_STRING = "If given, the match will be allowed"
[docs]class PdbFixerEnum: FIXER = "pdbfixer"
[docs]class DSSPEnum: MKDSSP = "mkdssp"
[docs]class SlurmEnum: SBATCH = "sbatch" STATE = "State" COMPLETED = "COMPLETED" RUNNING = "RUNNING" PENDING = "PENDING" CANCELLED = "CANCELLED" NODE_FAIL = "NODE_FAIL" FAILED = "FAILED"