Grobak, Putih Telor, dan rata-rata yang berlari

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

2 thoughts on “Grobak, Putih Telor, dan rata-rata yang berlari

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s