예제 #1
0
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)
예제 #2
0
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)