Using the RINRUS driver

The driver runs the entire RINRUS model building procedure from initial PDB structure to input file with one command (and potentially a few interactive inputs along the way). The structure pre-processing needs to be done before using the driver (except for protonation with reduce, although we strongly recommend doing that beforehand as well so the results can be checked).

Calling the driver:

# Usage of the RINRUS driver
python $HOME/git/RINRUS/bin/RINRUS_driver.py 

# Optional arguments:
-i FILE    rinrus driver input file (default: rinrus.inp)

Input file

The input file is a simple text file containing “keyword: value” lines that tell the driver which model building steps to run and what arguments to pass to the relevant scripts. All arguments for the individual scripts can be defined in the driver input file. A template rinrus.inp file containing all recognized keywords is provided in the template_files directory.

Syntax

The input file syntax is simply a set of “keyword: value” lines, for example:

pdb: 2cht_h_corrected_new.clean.pdb
seed: A:203
rin_program: probe
model: max
model_prot_ignore_ids: A:203
qm_input_format: orca
seed_charge: -2

Recognized keywords

The rinrus.inp file must contain the following options (only one of model and approx_model_size_limit required, approx_model_size_limit used if both are given):

keyword value function argument defined
PDB starting PDB filename -pdb for most functions
seed ch:ID identifiers -s for most functions
RIN_program probe/arpeggio/distance/manual  
model all/max/maximal/[integer] -model for rinrus_trim2_pdb.py
approx_model_size_limit [integer] -approx_model_size_limit for rinrus_trim2_pdb.py
qm_input_format gaussian/gau-xtb/orca/qchem/psi4-fsapt/none -format for write_input.py

The following optional keywords can also be read from rinrus.inp:

keyword value function argument defined
path_to_scripts path to RINRUS bin directory  
protonate_initial true/t/y or false/f/n  
res_atoms_file res_atoms file to use with “RIN_program: manual” -ra for rinrus_trim2_pdb.py
arpeggio_proximal true/t/y or false/f/n -prox for arpeggio2rins.py
arpeggio_rank counts/types -ra for rinrus_trim2_pdb.py
dist_type closest/mass/avg -type for dist_rank.py
dist_satom seed atoms for distance calculations -satom for dist_rank.py
dist_max distance cutoff in Angstroms -max for dist_rank.py
dist_noH true/t/y or false/f/n -noH for dist_rank.py
dist_byres true/t/y or false/f/n -byres for dist_rank.py
must_add ch:ID[:S/C/N] of non-seed fragments that need to be in model -mustadd for rinrus_trim2_pdb.py
unfrozen ch:ID[:CA/CB] of atoms to avoid constraining -unfrozen for rinrus_trim2_pdb.py
nc_res_info non-canonical residue info file -ncres for rinrus_trim2_pdb.py
model_prot_ignore_ids ch:ID identifiers -ignore_ids for pymol_protonate.py
model_prot_ignore_atoms ch:ID:atom identifiers -ignore_atoms for pymol_protonate.py
model_prot_ignore_atnames atom names -ignore_atnames for pymol_protonate.py
QM_input_template path to input template -intmp for write_input.py
Gaussian_basis_intmp true/t/y or false/f/n -basisinfo for write_input.py
QM_input_hopt true/t/y or false/f/n -type hopt for write_input.py
seed_charge charge of seed fragment(s) -c for write_input.py
multiplicity total spin multiplicity -m for write_input.py
fsapt_fA ch:ID identifiers -seed for write_input.py

Log file

The driver writes a log file called rinrus_log_[date].out which contains the details of the run:

  • Header containing the github version tag so that building procedure can be reproduced even if code is later changed
  • Python executable being used (for troubleshooting errors with python packages)
  • The raw contents of the driver input file
  • The options selected from parsing the driver input file
  • The commands run by the driver in each step of the model building procedure