akhirnya beres juga ngerjain tugas ini (2 hari sambil nontn dorama).. wkwkwk, semoga masih lulus mata kuliah itu.. he. Tugasnya sederhana, nyobain tutorial penggunaan software molecular dynamic bernama Gromacs.. wkwk, lalu setelah mencari, akhirnya terpilih yang paling gampang, simulasi putih telor dimasukkan dalam air.. huahaha -__-” … kalo mau lebih seru sebenarnya dipanasin dikit sistemnya biar kliatan terjadi protein folding yang menjadikan putih telor berwarna putih beneran.. alias mateng maknyus.. (kayaknya sie gitu.. wkwk)

Plot .pdb file dengan PyMOL:
1AKI

Hasil laporan seadanya:

density

Program sangat sederhana untuk running average menggunakan python (di tutorial python bahkan mungkin ada keknya):

#!/usr/bin/python -tt
# Copyleft (c) 2013. Ridlo W. Wibowo
import numpy as np
import matplotlib.pyplot as plt

# fungsi baca file (data dua kolom saja dulu hahaha..)
def read_file(filename, headernum):
    ifile = open(filename, 'r')
    for i in xrange(headernum):
        ifile.readline() # read header line

    t = []; x = []
    for line in ifile:
        line = line.strip()
        line = line.split()
        t.append(float(line[0]))
        x.append(float(line[1]))

    return [t,x]

# fungsi running average dengan data dua kolom sebagai input dan
# lebar celah (window) berupa jumlah data yang digunakan setiap kali 
# melakukan rata-rata ( yi = average(y_{i-r}, y_{i+r} )
def run_mean(data, r):
    if (r < 1):
        print "Error: lebar celah harus integer lebih dari 0"
        exit(1)
    
    r = int(r) # langsung dibuat pasti saja, integer, ngahaha
    n = len(data[1])
    t = []
    x = []
    average = np.average(data[1])
    start = r; end = n-r-1
    for i in xrange(start, end, 1):
       t.append(data[0][i])
       x.append(np.average(data[1][i-r:i+r+1]))
   
    return [t, x, average]

    
if __name__ == '__main__':
    # pressure
    filename = 'pressure.xvg'
    data = read_file(filename, 19)
    r_average = run_mean(data, 10)
    print r_average[2]
    plt.plot(data[0], data[1], 'r-')
    plt.plot(r_average[0], r_average[1], 'b-')
    plt.xlabel("Time (ps)")
    plt.ylabel("Pressure (bar)")
    plt.title("Pressure")
    plt.grid(True)
    plt.show()

    # density
    filename = 'density.xvg'
    data = read_file(filename, 19)
    r_average = run_mean(data, 10)
    print r_average[2]
    plt.plot(data[0], data[1], 'r-')
    plt.plot(r_average[0], r_average[1], 'b-')
    plt.xlabel("Time (ps)")
    plt.ylabel("Density (kg/m^3)")
    plt.title("Density")
    plt.grid(True)
    plt.show()
About these ads