Workflow for FFPSimul ===================== .. parsed-literal:: ####################################################### # Author: Anmol Kumar # # Date: 06/23/2023 # # FFPsimul is part of FFParam v2.0 # # Copyright: University of Maryland Baltimore 2023 # ####################################################### Free energy of solvation in FFPSimul ************************************************************************** After I realised that it is less hassle to run heat of vaporization/sublimation and free energy of solvation simulation using shell script, I made easy to use scripts for running these simulations. (For both additive and drude). Structure of simulation scripts for free energy of solvation """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. parsed-literal:: ffparam |-- ffparam |-- ffpsimul # This is the new directory holding all scripts |-- fep_0_setup.sh |-- fep_1_run_eqpdlrc.sh |-- fep_2_run_bulk.sh |-- fep_3_run_gas.sh |-- fep_4_run_wham.sh |-- fep_5_getresult.sh Highlights """"""""""" * Uses packmol for generating simulation box. * If solvent is water, it can also use preequilibrated water box, although number of solvent molecules will vary for different systems. * For Drude systems, the packmol generated simulation box may result in shake error during dynamics. Thus it is advised to either use preequilibrated water box option. * If packmol is used to obtain simulation box for Drude systems with water as solvent, the structure of the script allows a very easy preequilibration using additive force field. Usage """"""""""" :: $ export PYTHONPATH=/home/anmol/ffparam $ $PYTHONPATH/ffparam/ffpsimul/fep_0_setup.sh additive= resi= resipdbfile= resistrfile= Optional Parameters: workdir= nsolv= solv= solvpdbfile= solvstrfile= autogenangdihresi= autogenangdihsolv= Note: autogenangdih true means angles and dihedrals will be autogenerated internally based on bond description. autogenangdih false means angles and dihedrals will not be autogenerated and angle and dihedral descriptions provided in topology file will be used. For water topology in CHARMM, autogenangdih should be false. If additive=false and solvent is water then residue name is changed to SWM4 inside the script. **For following scripts optional parameters are not mentioned here. User can check all options by running script without argument.** :: $ $PYTHONPATH/ffparam/ffpsimul/fep_1_run_bulk_eqpdlrc.sh additive= resi= resiboxcorfile= resistrfile= * This script first performs equilibration and writes the equilibrated coordinates. * User should wait before running fep_2_run_bulk.sh script till equilibrated coordinate file are written in bulk directory. * The script further runs production run and obtains long range energy correction and puts in lrc_energy.csv * For Drude systems with water as solvent, user can create and equilibrate another simulation box using additive force field. * Once equilibration is done for additive system, the TIP3 resname in equilibrated coordinates can be converted to SMW4 using simple file editing. * This updated coordinate file can then be supplied for going ahead with Drude equilibration and following steps. :: $ $PYTHONPATH/ffparam/ffpsimul/fep_2_run_bulk.sh additive= resi= resistrfile= resiboxcorfile= * This script creates simulation inputs for bulk system against each lambda value and runs the simulations. * All output is placed in bulk directory. :: $ $PYTHONPATH/ffparam/ffpsimul/fep_3_run_gas.sh additive= resi= resistrfile= resicorfile= * This script creates simulation inputs for gas phase molecule against each lambda value and runs the simulations. * All output is placed in gas directory. :: $ $PYTHONPATH/ffparam/ffpsimul/fep_4_run_wham.sh phase= * This script combines all the free energies corresponding the different lambda value, * and performs wham postprocessing available in charmm. * This script should be run for both bulk and gas phase. * The output is placed in bulk_freenergy.csv and gas_freenergy.csv .. Note:: RIGIDITY ALERT: The script assumes that bulk and gas directory contains wham files as generated by fep_2_run_bulk.sh and fep_3_run_gas.sh script. :: $ $PYTHONPATH/ffparam/ffpsimul/fep_5_getresult.sh bulkGfile= gasGfile= resicharge= lrcEfile= * Uses the output csv files to get the free energy of solvation.