file format in computational chemistry

Setelah beberapa hari mencari ide yang hilang, akhirnya ketemu juga setelah lihat-lihat blog salah satu alumni S2 AIC, Pak Urip. Meski aku sendiri belum pernah ketemu beliau, tapi blog tersebut lumayan aktif untuk seorang guru MA. Mungkin ketika aku masuk lab, beliau sudah lulus. Salah satu tulisan yang menginspirasi tulisan ini adalah tentang file format yang sering digunakan di kimia komputasi.

Apakah itu file format? File format (menurutku sih) adalah format file yang digunakan untuk mendefinsikan nama atom dan posisinya di suatu senyawa dalam bentuk koordinat baik kartesian atau z-matriks. Dalam bahasa yang lebih sederhana mungkin bisa dibayangkan jika kita menggambar metana, bagaimana sih agar posisi dan atom dari metana tadi ditulis agar bisa dibaca sebuah program. Lagi-lagi menurutku juga (karena aku memang belum mencari apakah ada referensinya :P), file format bisa dibagi menjadi dua macam, common file format dan spesific file format. Common file format adalah format file yang secara umum digunakan dan bisa dibaca oleh berbagai macam program. Common file format digunakan untuk mem-preparasi struktur yang akan digunakan sebagai input sebuah program. Contoh dari common file format antara lain file pdb (protein data bank), mol, mol2, xyz. Dengan common file format kita bisa membuat file antar program, misalnya menggambar di HyperChem kemudian disimpan sebagai .pdb dan dibuka kembali menggunakan GaussView atau Avogadro. Spesific file format adalah file format spesifik yang selain berisi atom beserta posisinya juga berisi perintah-perintah yang dijalan di program tertentu, contohnya adalah input masing-masing program kimia komputasi, .com untuk Gaussian, .nw untuk NWChem, .inp untuk GAMESS, .xsf untuk XCrysden dst. Bisa dikatakan bahwa spesific file format tidak bisa dibaca di program kimia komputasi lain karena setiap program kimia komputasi memiliki cara tersendiri dalam membaca perintah dari input file. Oia, selain input, spesific file format juga bisa berupa output hasil perhitungan.

Sebuah program yang ditujukan untuk visualisasi biasanya bisa membaca common file format dan kadang tidak bisa membaca spesific file format baik berupa input atau output. Oleh karena itu, beberapa program kimia komputasi juga menyediakan program khusus untuk visualisasi hasil perhitungan seperti GaussView, XCrysden dll.

Nah, kali ini kita akan mencoba membahas lebih dekat tentang bagaimana bentuk dari common file format dan spesific file format. Pertama-tama kita bahas yang paling populer yaitu .pdb. Apakah itu pdb? File pdb merupakan sebuah file untuk menuliskan secara 3D posisi atom dalam sebuah senyawa yang diperoleh dari hasil analisis kristalografi. Misalnya sebuah bahan seperti protein diisolasi kemudian dikristalkan, nah posisi dan atom dalam protein tersebut ditulis dalam file .pdb, jadi .pdb murni hasil eksperimen. Oleh karena itu, file .pdb merupakan format yang paling sering digunakan, terutama jika berkaitan dengan protein. Oia, hasil kristalografi tidak selalu harus ditulis dalam bentuk .pdb tapi bisa juga dalam bentuk .cif (Crystallographic Information File). Contoh dari file .pdb adalah seperti gambar 1.

                 gambar 1. contoh file .pdb
Contoh file .cif ditunjukkan di gambar 2. Gambar 2 hanya menunjukkan salah satu bagian saja dari sebuah file .cif
                      gambar 2. contoh file .cif

Kemudian .xyz, bisa dibilang ini merupakan format file yang paling sederhana karena hanya menampilkan nomor atom dan posisinya dalam bentuk koordinat kartesian. File .xyz juga bisa ditambah dengan informasi tentang ikatan antar atom. Contoh file .xyz ditunjukkan di gambar 3.

gambar 3. contoh file .xyz

Dimanakah kita harus mencari file .pdb, .mol dll? Bisa mencari di google, di supporting information dari jurnal, di sini atau di sini. Pandai-pandailah dalam googling😀. Jika kita mencari supporting information dalam sebuah jurnal, maka terkadang ada lampiran yang berisi tentang atom dan koordinatnya (jika kristal maka ada keterangan tentang panjang sel). Bisa jadi koordinat yang ada di sana bukan koordinat kartesian melainkan koordinat fraksional. Bila demikian, koordinat tersebut bisa diinputkan untuk membentuk kristal.

Lalu apakah kita bisa mengkonversi antar file format? Ya bisa, menggunakan program babel. Di Keluarga Debian atau Ubuntu babel bisa diinstall menggunakan perintah apt-get install openbabel. Babel sendri juga dimasukkan ke dalam program Gabedit.

Kemudian untuk spesific file format yang kita bahas antara lain input NWChem, untuk Gaussian bisa dibaca di sini dan GAMESS bisa dibaca di sini .


Oke, sekian dulu tentang file format semoga bermanfaat!😀

# salah satu link downlioad pdb diambil dari http://urip.wordpress.com/2012/10/31/download-beberapa-molekul-dengan-file-pdb-dan-xyz/

2 thoughts on “file format in computational chemistry

    • siapkan dulu kompiler yng akan digunakan, misalnya gfortran (apt-get install gfortran) atau intel fortran compiler yang free (harus diubah dulu dari .rpm ke .deb menggunakan alien baru kemudian diinstall). Selain itu, siapkan juga math library misalnya atlas (apt-get install atlas atau sesuaikan saja dengan paket atlas yang ada di ubuntu).Selain itu bisa juga menggunakan MKL milik Intel (satu paket download dengan intel fortran)

      download NWChem, misalnya 6.1. untuk jaga2 make yang digunakan versi 3.81 saja karena aku belum pernah mencoba dengan make yang versinya lebih baru.

      setelah download ekstrak file tadi. Kemudian ubah atribut folder nwchem-6.1

      -> chmod -R 777 nwchem-6.1 pindah ke direktori nwchem-6.1 -> cd nwchem-6.1 mulai dari sekarang kita tinggal mengeset2 saja -> export NWCHEM_TOP /home/user/nwchem-6.1 pindah ke direktori src -> cd src/ -> export NWCHEM_TARGET LINUX (Misalnya, untuk 64 bit tinggal LINUX64) -> export BLASOPT “-L/usr/lib/atlas-base -lf77blas -latlas” -> folder tempat atlas . untuk MKL setelah terinstall -> export BLASOPT=”-L/-L/opt/intel/composer_xe_2011_sp1.9.293/mkl/lib/intel64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -llapack -lblas”

      lalu pilih modul yang ingin digunakan, misalnya -> make nwchem_config NWCHEM_MODULES all (python tidak ikut dikompile)

      kemudian make -> make FC=gfortran >& make.log & kita bisa memonitor dengan perintah tail -> tail -f make.log

      kalo untuk intel fortran sebelum make kita setting dulu ifortnya ->export ifort=”ifort -i8 -I$MKLROOT/include”

      Jika kompilasi berjalan dengan lancar, maka akan ada dua file binary, nwchem dan depend.x di $NWCHEM_TOP/bin/NWCHEM_TARGET, misalnya di folder /home/user/nwchem-6-1/bin/LINUX64

      agar bisa dibaca oleh semua user pindahkan buat saja direktori di /usr/local -> sudo mkdir /usr/local/NWChem -> sudo mkdir /usr/local/NWChem/bin -> sudo cp $NWCHEM_TOP/bin/${NWCHEM_TARGET}/* /usr/local/NWChem/bin -> sudo cd /usr/local/NWChem/bin

      kemudian kopikan folder data di direktori $NWCHEM_TOP/src ke /usr/local/NWChem -> sudo cp -r $NWCHEM_TOP/src/data /usr/local/NWChem kopikan folder library basis set ke /usr/local/NWChem/data -> sudo cp -r $NWCHEM_TOP/src/basis/libraries /usr/local/NWChem/data kopikan juga folder berisi plane wave basis set -> sudo cp -r $NWCHEM_TOP/src/nwpw/libraryps /usr/local/NWChem/data -> kemudian buat file default.nwchemrc di direktori /usr/local/NWChem/data -> sudo vim default.nwchemrc, isi file tersebut adalah sebagai berikut : nwchem_basis_library /usr/local/NWChem/data/libraries/ nwchem_nwpw_library /usr/local/NWChem/data/libraryps/ ffield amber amber_1 /usr/local/NWChem/data/amber_s/ amber_2 /usr/local/NWChem/data/amber_q/ amber_3 /usr/local/NWChem/data/amber_x/ amber_4 /usr/local/NWChem/data/amber_u/ spce /usr/local/NWChem/data/solvents/spce.rst charmm_s /usr/local/NWChem/data/charmm_s/ charmm_x /usr/local/NWChem/data/charmm_x/ setelah itu buat link ke direktori /home/$USER -> ln -s /usr/local/NwChem/data/default.nwchemrc ~/.nwchemrc

      sampai di sini semua sudah siap, tinggal coba NWChem-nya saja. Untuk mencobanya agar folder NWChem bisa dibaca oleh semua user saya menggunakan chmod -R 777 dan mengganti owner dari folder tersebut menjadi nama user menggunakan chown [OWNER]:[GROUP]. Terakhir agar NWChem bisa langsung dipanggil dari terminal saya mengedit sedikit .bashrc dan menambahkan alias nwchem=’/usr/local/NWChem/bin/nwchem’, terus source .bashrc.

      Untuk Python, masih butuh file dev dari python, misalnya python2.6-dev. Untuk lebih jelasnya bisa dilihat di file INSTALL di folder nwchem-6.1.

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