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.