def lammps_to_gromacs(name, gropath='', grosuff='', lmppath='', lmpbin='lmp_openmpi', energy=True, clean=True): """Test lammps to gromacs conversion """ lmp_in = os.path.join('Inputs/Lammps/', name, 'data.lmp') if not os.path.isfile(lmp_in): raise Exception("File not found: {0}!".format(lmp_in)) top_out = os.path.join('Outputs/LammpsToGromacs/', name, 'topol.top') gro_out = os.path.join('Outputs/LammpsToGromacs/', name, 'conf.gro') # calc input energies if energy: e_in = lammps_energies(name, 'in', lmppath, lmpbin) # where the magic happens Driver.initSystem(name) Driver.load(lmp_in) Driver.write(top_out, gro_out) # calc output energies if energy: e_out = gromacs_energies(name, top_out, gro_out, 'LtoG', gropath, grosuff) # delete gromacs backup files if clean: import glob filelist = glob.glob("Inputs/Gromacs/{name}/#*#".format(name=name)) filelist += glob.glob("Outputs/GromacsToGromacs/{name}/#*#".format(name=name)) for f in filelist: os.remove(f) if energy: return combine_energy_results(e_in, e_out)
def gromacs_to_gromacs(name="system2_GMX", top=None, gro=None, gropath="", grosuff="", energy=True, clean=True): """Test gromacs to gromacs conversion """ if top == None: top = os.path.join(name, "topol.top") if gro == None: gro = os.path.join(name, "conf.gro") gro_in = os.path.join("Inputs/Gromacs/", gro) if not os.path.isfile(gro_in): raise Exception("File not found: {0}!".format(gro_in)) top_in = os.path.join("Inputs/Gromacs/", top) if not os.path.isfile(top_in): raise Exception("File not found: {0}!".format(top_in)) top_out = os.path.join("Outputs/GromacsToGromacs/", name, "topol.top") gro_out = os.path.join("Outputs/GromacsToGromacs/", name, "conf.gro") # calc input energies if energy: e_in = gromacs_energies(name, top_in, gro_in, "in", gropath, grosuff) # where the magic happens Driver.initSystem(name) Driver.load(top_in, gro_in) Driver.write(top_out, gro_out) # calc output energies if energy: e_out = gromacs_energies(name, top_out, gro_out, "GtoG", gropath, grosuff) # delete gromacs backup files if clean: import glob filelist = glob.glob("Inputs/Gromacs/{name}/#*#".format(name=name)) filelist += glob.glob("Outputs/GromacsToGromacs/{name}/#*#".format(name=name)) for f in filelist: os.remove(f) if energy: return combine_energy_results(e_in, e_out)