Running janus

To run janus, simply type the following in the command line: .. code-block:: python

janus input.json

Structure of an input file

Janus uses a JSON style input file, with separate dictionary definitions for six sections.

These are:

Section title Description
system parameters for specifying what type of computation is desired
qmmm QM/MM related parameters
aqmmm adaptive QM/MM related parameters
md parameters related to molecular dynamics simulations
hl parameters for the high-level computation
ll parameters for the low-level computation

The following section details the possible keywords for each section.

System

Required keywords


system_info
Description:Files for describing the positions and topology of the initial system
DataType:List of strings
Values:inpcrd and prmtop files needed for Amber files, gro and top files needed for Gromacs files

Optional keywords


system_info_format
Description:Specifies the format of the files given in system_info
DataType:String
Default:pdb
Values:pdb, Amber, Gromacs
run_md
Description:Whether to run a MD simulation
DataType:Bool
Default:False
run_qmmm
Description:Specifies whether to run QM/MM
DataType:Bool
Default:False
run_aqmmm
Description:Specifies whether to run adaptive QM/MM
DataType:Bool
Default:False
aqmmm_scheme
Description:Specifies what adaptive QM/MM approach to use
DataType:String
Values:ONIOM-XS, Hot-Spot, PAP, SAP, DAS
Default:None
ll_program
Description:Specifies what program to use for the lower level computation
DataType:String
Values:OpenMM
Default:OpenMM
hl_program
Description:Specifies what program to use for the high level computations
DataType:String
Values:OpenMM, Psi4
Default:Psi4
md_simulation_program
Description:Specifies what program to use for MD simulation
DataType:String
Values:OpenMM
Default:OpenMM
md_restart
Description:Whether to restart a simulation from saved checkpoints
DataType:Bool
Default:False
md_restart_checkpoint_filename
Description:Name of checkpoint file to read for restart
DataType:String
Default:checkpoint.chk
md_restart_forces_filename
Description:Name of force file to read for restart
DataType:String
Default:forces.pkl

QMMM

Required keywords


qm_atoms
Description:Specifies what atoms to treat with QM (or other high level treatment)
DataType:List
Notes:If run_aqmmm is true, the qm_atoms is the same as the qm_center

Optional keywords


embedding_method
Description:Specifies what QM/MM embedding method to use
DataType:String
Values:Electrostatic, Mechanical
Default:Mechanical
qmmm_scheme
Description:Specifies what energy scheme to use for computing the QM/MM energy
DataType:String
Values:subtractive
Default:subtractive
boundary_treatment
Description:Specifies the scheme to use for the treatment of dangling bonds
DataType:String
Values:link_atom, RC, RCD
Default:link_atom
link_atom_element
Description:Specifies what atom to use for the link atom
DataType:String
Values:H
Default:H

AQMMM

Required keywords


qm_center
Description:Specifies what atoms to designate as the center for the high level treatment
DataType:List

Optional keywords


partition_scheme
Description:Specifies how to define the buffer zone atoms
DataType:String
Values:distance
Default:distance
Rmin
Description:Specifies the radius from the qm center to the inner boundary of the buffer zone in distance partitioning in angstroms
DataType:Float
Default:3.8
Rmin
Description:Specifies the radius from the qm center to the outer boundary of the buffer zone in distance partitioning in angstroms
DataType:Float
Default:4.5
modified_variant
Description:Specifies whether to use the modified variant of either the PAP or SAP schemes
DataType:Bool
Default:False

Molecular Dynamics

Required keywords


start_qmmm
Description:Specifies at which step to start the QM/MM or adaptive QM/MM approach
DataType:Int
Notes:QM/MM can be started after taking some MD steps so the system can equilibrate
end_qmmm
Description:Specifies how many
DataType:Int
Notes:end_qmmm - start_qmmm = total number of MD steps that will use QM/MM forces

Optional keywords


step_size
Description:The step size of the MD simulation in femtoseconds
DataType:Int
Default:1
md_ensemble
Description:Ensemble of MD simulation
DataType:String or List of Strings
Values:NVT, NVE
Default:NVE
Notes:If more than one ensemble is desired (i.e., NVT run before NVE) a list can be created in the order of what is run
md_steps
Description:Specifies how many total steps to take for the MD simulation
DataType:Int or List of Ints
Default:end_qmmm
Notes:If more than one md_ensemble is desired, the steps for each can be specified in a list where each element will correspond to the steps run in each ensemble specified in md_ensemble. The step number specified with start_qmmm will be taken as the step number of the last ensemble specified at which to start QM/MM
return_trajectory_interval
Description:Whether to return the trajectory of the MD simulation. Keyword value lists the frame interval to save.
DataType:Int
Default:0 (trajectory not returned)
return_trajectory_filename
Description:name of trajectory file to return
Datatype:String
Default:output
trajectory_format
Description:The format of the trajectory file to return
DataType:String
Values:NetCDF,
Default:NetCDF
return_system
Description:Whether to return the final position and topology of the system in a pdb file
DataType:Bool
Default:False
return_system_filename
Description:name of system file to return
Datatype:String
Default:final.pdb
return_info
Description:Whether to return system information such as energy and temperature
DataType:List of strings with values to return, will be returned in file “info.dat”
Values:potentialEnergy, kineticEnergy, totalEnergy, temperature, density
Default:[]
return_info_interval
Description:The frame interval for saving energy, etc. information.
DataType:Int
Default:0 (info not returned)
return_info_filename
Description:name of info file to return
Datatype:String
Default:info.dat
return_checkpoint_interval
Description:Interval for forces
DataType:Int
Default:0
return_checkpoint_filename
Description:Name of checkpoint file to return
DataType:String
Default:checkpoint.chk
return_forces_interval
Description:Interval to return forces at
DataType:Int
Default:same as return_checkpoint_interval
return_forces_filename
Description:Name of force file to return
DataType:String
Default:forces.pkl

High Level

Low Level

Examples

A input file might look like the following:

{
"system" : {
            "system_info" : "water.pdb",
            "run_aqmmm" : true,
            "run_md" : true,
            "aqmmm_scheme" : "ONIOM-XS",
            "ll_program" : "OpenMM",
            "hl_program" : "Psi4",
            "md_simulation_program" : "OpenMM"
        },

"aqmmm"  : {
            "qm_center" : [0,1,2]
        },

"md"     : {
            "start_qmmm" : 10000,
            "end_qmmm" : 12000,
            "md_ensemble" : "NVE"
        }

}

Supported codes

Janus only supports Psi4 for quantum mechanics computations and OpenMM for molecular mechanics and molecular dynamics.