From 38ecae7adc571686b09a354be2443343f18a3cdc Mon Sep 17 00:00:00 2001 From: tlfobe Date: Fri, 1 Mar 2024 18:01:40 -0700 Subject: [PATCH] adding workflow functions to parameterize entire box --- terphenyl_simulations/analysis_workflows/remd.py | 8 +++++--- terphenyl_simulations/gromacs_wrapper.py | 10 +++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/terphenyl_simulations/analysis_workflows/remd.py b/terphenyl_simulations/analysis_workflows/remd.py index 6d617fb..2cc4581 100644 --- a/terphenyl_simulations/analysis_workflows/remd.py +++ b/terphenyl_simulations/analysis_workflows/remd.py @@ -88,6 +88,10 @@ def build_system(job): packmol_builder.solvate_system() os.chdir(top_dir) +@FlowProject.operation +def parameterize_solvated_system(job): + pass + @FlowProject.pre.after(build_foldamer) @FlowProject.post( @@ -113,14 +117,12 @@ def minimize_foldamer(job): os.chdir(job.fn("")) gmx_wrapper = terphenyl_simulations.gromacs_wrapper.GromacsWrapper(job.sp['gromacs_exe']) out_name = job.doc['foldamer_gro'].split('.gro')[0] + '_centered.gro' - gmx_wrapper.center(job.doc['foldamer_gro'], out_name) + gmx_wrapper.center_configuration(job.doc['foldamer_gro'], out_name) job.doc['foldamer_gro'] = out_name gmx_wrapper.minimize(job.doc['foldamer_gro'], job.doc['foldamer_topology']) - os.chdir(top_dir) - @FlowProject.pre.after(build_system) @FlowProject.operation def parameterize_system(job): diff --git a/terphenyl_simulations/gromacs_wrapper.py b/terphenyl_simulations/gromacs_wrapper.py index 60d2c0c..3bf4d13 100644 --- a/terphenyl_simulations/gromacs_wrapper.py +++ b/terphenyl_simulations/gromacs_wrapper.py @@ -30,13 +30,21 @@ def __init__(self, gromacs_exe = None, path = '.'): self.mpi = True self.gmx = 'mpirun -np 1 ' + self.gmx - def center(self, gro_file, out_file): + def center_configuration(self, gro_file, out_file): editconf_call = self.gmx + ' editconf -f ' + gro_file + \ ' -c yes' + \ ' -o ' + out_file process = subprocess.Popen(editconf_call.split(' ')) process.wait() + def add_box(self, gro_file, box_size, out_file): + editconf_call = self.gmx + ' editconf -f ' + gro_file + \ + ' -box ' + str(box_size) + \ + ' -o ' + out_file + process = subprocess.Popen(editconf_call.split(' ')) + process.wait() + + def minimize(self, gro_file, top_file, prefix = 'em', mdp = 'em.mdp'): # Check for mdp file if not mdp in os.listdir(self.path):