def merge_files():

    path = argv[2]
    fmt = argv[3]
    wins = [int(argv[4]), int(argv[5])]
    lipids = int(argv[6])
    num_resamples = int(argv[7])

    hs_files = []
    for i in range(0, wins[0]):
        hs_files.append([])
        for j in range(0, wins[1]):
            filename = fmt % ((i + j * wins[0]), lipids)
            filename = os.path.join(path, filename)
            if os.path.exists(filename):
                hs_files[i].append(filename)

    result = None
    for r in range(0, num_resamples):
        h = HistogramND(2)
        fs = resample(hs_files)
        h.read(fs[0])
        for i in range(1, len(fs)):
            th = HistogramND(2)
            th.read(fs[i])
            h.merge(th)
        h = h.norm_dos()
        if result == None:
            result = np.copy(
                np.append(np.reshape(h[:, 0], (h.shape[0], 1)), np.reshape(h[:, 2], (h.shape[0], 1)), axis=1)
            )
        else:
            result = np.append(result, np.reshape(h[:, 2], (result.shape[0], 1)), axis=1)

    opath = "."
    final = np.reshape(result[:, 0], (result.shape[0], 1))
    final = np.append(final, np.reshape(np.mean(result[:, 1:], axis=1), (result.shape[0], 1)), axis=1)
    final = np.append(final, np.reshape(np.std(result[:, 1:], axis=1), (result.shape[0], 1)), axis=1)
    np.savetxt(os.path.join(opath, "Lipid%d.dos_deriv.dat" % lipids), MyMath.derivatives(final[:, 0:2]))

    array_lipid = np.ones((final.shape[0], 1)) * lipids
    final = np.append(final, np.reshape(array_lipid, ((final.shape[0], 1))), axis=1)
    np.savetxt(os.path.join(opath, "Lipid%d.ave_dos.dat" % lipids), final, fmt="%.2f   %.2f   %.2f  %d")

    dT = 0.01
    kb = 1
    num_files = 1
    num_points = 1000
    num_atoms = 1000

    result = result[67:,]

    thermo_result = DOS.thermo(result, dT, num_points, 1000)

    np.savetxt(os.path.join(opath, "Lipid%d.thermo_dos.dat" % lipids), thermo_result)
def split_files():

    path = argv[2]
    fmt = argv[3]
    index = [int(argv[4]), int(argv[5])]

    num = index[1] - index[0] + 1
    print "# Number of file    %d" % num

    for i in range(index[0], index[1] + 1):
        h = HistogramND(2)
        filename = os.path.join(path, fmt % i)
        print "    -> %s" % filename
        h.read(filename)
        h = h.split()
        for one in h:
            fn = "P%07d_%d.dat" % (i, one.min_each_dim[1])
            fn = os.path.join(path, fn)
            one.write(fn)
def split_files():

    path = argv[2]
    fmt = argv[3]
    index = [int(argv[4]), int(argv[5])]

    num = index[1] - index[0] + 1
    print "# Number of file    %d" % num

    for i in range(index[0], index[1] + 1):
        h = HistogramND(2)
        filename = os.path.join(path, fmt % i)
        print "    -> %s" % filename
        h.read(filename)
        h = h.split()
        for one in h:
            fn = "P%07d_%d.dat" % (i, one.min_each_dim[1])
            fn = os.path.join(path, fn)
            one.write(fn)
def merge_files():

    path = argv[2]
    fmt = argv[3]
    wins = [int(argv[4]), int(argv[5])]
    lipids = int(argv[6])
    num_resamples = int(argv[7])

    hs_files = []
    for i in range(0, wins[0]):
        hs_files.append([])
        for j in range(0, wins[1]):
            filename = fmt % ((i + j * wins[0]), lipids)
            filename = os.path.join(path, filename)
            if os.path.exists(filename):
                hs_files[i].append(filename)

    result = None
    for r in range(0, num_resamples):
        h = HistogramND(2)
        fs = resample(hs_files)
        h.read(fs[0])
        for i in range(1, len(fs)):
            th = HistogramND(2)
            th.read(fs[i])
            h.merge(th)
        h = h.norm_dos()
        if result == None:
            result = np.copy(
                np.append(np.reshape(h[:, 0], (h.shape[0], 1)),
                          np.reshape(h[:, 2], (h.shape[0], 1)),
                          axis=1))
        else:
            result = np.append(result,
                               np.reshape(h[:, 2], (result.shape[0], 1)),
                               axis=1)

    opath = "."
    final = np.reshape(result[:, 0], (result.shape[0], 1))
    final = np.append(final,
                      np.reshape(np.mean(result[:, 1:], axis=1),
                                 (result.shape[0], 1)),
                      axis=1)
    final = np.append(final,
                      np.reshape(np.std(result[:, 1:], axis=1),
                                 (result.shape[0], 1)),
                      axis=1)
    np.savetxt(os.path.join(opath, "Lipid%d.dos_deriv.dat" % lipids),
               MyMath.derivatives(final[:, 0:2]))

    array_lipid = np.ones((final.shape[0], 1)) * lipids
    final = np.append(final,
                      np.reshape(array_lipid, ((final.shape[0], 1))),
                      axis=1)
    np.savetxt(os.path.join(opath, "Lipid%d.ave_dos.dat" % lipids),
               final,
               fmt="%.2f   %.2f   %.2f  %d")

    dT = 0.01
    kb = 1
    num_files = 1
    num_points = 1000
    num_atoms = 1000

    thermo_result = DOS.thermo(result, dT, num_points, 1000)

    np.savetxt(os.path.join(opath, "Lipid%d.thermo_dos.dat" % lipids),
               thermo_result)