Assalamu’alaikum warahmatullahi wabarakatuh..
Bahasan mengenai bagaimana melakukan perlakuan pada sistem besar seperti biopolimer dalam kimia komputasi selalu menarik. Setiap orang tentu ingin mempelajari secara detail bagaimana interaksi dan faktor yang berpengaruh dalam sebuah sistem yang besar tetapi tidak membutuhkan waktu lama dan sumber daya komputasi yang sangat ekstrim. Salah satu cara yang biasanya dilakukan adalah dengan membagi daerah perhitungan ke beberapa level teori, misalnya QM/MM.
Dulu kita sempat membahas sedikit tentang salah satu metode QM/MM, yaitu ONIOM dan SIMOMM. Nah, kali ini kita akan membahas metode lain yang hampir mirip yaitu FMO (Fragment Molecular Orbital). Penjelasan lengkap tentang FMO bisa dicari di web resmi GAMESS, di sini kita hanya akan meng-overview saja apa sih FMO. FMO merupakan cara untuk melakukan partisi pada struktur molekul yang kita kaji berdasarkan kerapatan elektron (dua elektron masuk ke dalam salah satu fragmen dan fragmen lain kosong), jadi bisa per gugus metil, per satu molekul air, per gugus etil dst.
Dalam FMO yang terpenting adalah chemical intuition kita 🙂 untuk membagi struktur molekul ke dalam beberapa fragmen dan fragmen tidak harus selalu bagian terkecil, bisa jadi sebuah fragmen merupakan satu gugus metil, gugus etil, satu residu asam amino bahkan molekul itu sendiri bisa menjadi satu fragmen utuh. Seperti biasa, metode semacam ini sering dikembangkan untuk mempelajari sistem biopolimer seperti protein, sakarida, DNA dll. Karena itulah FMO sangat baik diterapkan dalam sistem biomolekular, kluster molekul dan tidak baik bila diterapkan dalam permukaan logam dan struktur dengan elektron yang terdelokalisasi? Why?? Jawaban sederhananya sih karena fragmentasi tadi berdasarkan kerapatan elektron maka akan susah dilakukan ketika kerapatan elektron itu tersebar seperti pada permukaan logam (ingat kan ikatan logam dan teori lautan elektron) dan tidak terlokalisasi sehingga akan diperoleh hasil dengan akurasi yang rendah. Solusi yang mungkin diterapkan adalah membuat sistem tersebut menjadi satu fragmen utuh.
Penjelasan mendalam tentang FMO dapat dijumpai di web FMO dan web resmi GAMESS tetapi kali ini kita akan berfokus pada implementasi FMO dalam GAMESS. Tool untuk membuat fragmentasi secara otomatis ada beberapa antara lain fmoutil, facio, fragit dan beberapa script yang sudah dikembangkan antara lain di Monash (yah, mungkin karena salah satu fokus riset di sana menggunakan FMO). Walaupun demikian, kita harus tetap memahami bagaimana membuat input by hand. Penjelasan berikut ini aku ambil dari file gamess/tools/fmo/tutorials.
Input basic ini tidak standar hanya untuk menggambarkan bagaimana membuat input untuk FMO by hand karena ukuran fragmen dalam FMO biasanya 10-30 atom (the larger the size, the higher the accuracy, but slower the method). Penjelasan lebih mendetail bisa dilihat di manual GAMESS.
1. Basic input FMO GAMESS
Kita akan mempelajari etanol-air di mana akan dibagi menjadi 3 buah fragmen :
1. CH3
2. CH2OH
3. H2O
yaitu, CH3 | -CH2OH | H2O
input GAMESS yang digunakan ->
$CONTRL SCFTYP=RHF RUNTYP=ENERGY $END
$SYSTEM MEMORY=500000 $END
$BASIS GBASIS=STO NGAUSS=3 $END
$DATA
C2H5OH+H2O
C1
C 6.0 2.3410689175 -0.2869692888 -0.0074194092
H 1.0 3.0745859649 0.3772736987 0.4397744143
H 1.0 2.5665310430 -0.3924000324 -1.0640918137
H 1.0 2.4261794556 -1.2632979826 0.4595623356
C 6.0 0.9166901279 0.2761650904 0.1831975319
H 1.0 0.7235442032 0.4041423414 1.2567611875
H 1.0 0.8641656999 1.2758468598 -0.2685095421
O 8.0 -0.0215616632 -0.6201531625 -0.4156796115
H 1.0 -0.9026816335 -0.1944297425 -0.2534321184
O 8.0 -2.4493614824 0.5180105259 0.0102319306
H 1.0 -2.9309841137 0.6564728575 -0.8399969145
H 1.0 -3.0583517680 -0.1059613981 0.4726454459
$end
-> tetap gunakan card yang biasanya
-> tambahkan card untuk FMO
hal yang harus diingat adalah $DATA dalam FMO tidak digunakan untuk menunjukkan koordinat, melainkan basis set. Jika basis set telah didefinisikan di $BASIS maka $DATA menjadi tidak berguna. Namun demikian, letakkan saja masing-masing jenis atom dalam $DATA (keuntungan -> kita dapat menggunakan basis set yang tidak standar, tentu saja setelah menghapus $BASIS).
! $data
!C2H5OH+H2O
!c1
!h 1
!c 6
!o 8
! $end
sekarang tulis koordinat dalam $FMOXYZ
! $FMOXYZ
! C 6 2.3410689175 -0.2869692888 -0.0074194092
! H 1 3.0745859649 0.3772736987 0.4397744143
! H 1 2.5665310430 -0.3924000324 -1.0640918137
! H 1 2.4261794556 -1.2632979826 0.4595623356
! C 6 0.9166901279 0.2761650904 0.1831975319
! H 1 0.7235442032 0.4041423414 1.2567611875
! H 1 0.8641656999 1.2758468598 -0.2685095421
! O 8 -0.0215616632 -0.6201531625 -0.4156796115
! H 1 -0.9026816335 -0.1944297425 -0.2534321184
! O 8 -2.4493614824 0.5180105259 0.0102319306
! H 1 -2.9309841137 0.6564728575 -0.8399969145
! H 1 -3.0583517680 -0.1059613981 0.4726454459
! $end
kemudian buat $FMO untuk 3 fragmen (nfrag=3) dan masing-masing atom ditandai dengan nomor fragmen
! indat(1)=1,1,1,1, 2,2,2,2,2, 3,3,3
! CH3 CH2OH H2O
sehingga $FMO menjadi
! $fmo
!nfrag=3 indat(1)=1,1,1,1, 2,2,2,2,2, 3,3,3 $end
!
nama $FMO seharusnya diikuti dengan 3 spasi atau di baris baru.
Lalu bagaimana mendefinisikan fragmentasi ikatan? Ikatan antara atom 1 dan 5 akan diputus. (C-C) menjadi CH3|-CH2OH. Pilihan lain adalah dengan CH3-|CH2OH, yang mana ikatan akan diputus di antara atom, bukan pada atom itu sendiri. Aturan umumnya adalah hindaripemutusan pada atom yang terlibat dalam delokalisasi.
! $FMOBND
! -1 5 sto-3g
! $END
Jika ingin membandingkan opsi lain sih, ganti saja -1 5 dengan -5 1. Jika masih ada ikatan lain yang ingin diputus bisa ditambahkan di baris berikutnya. sto-3g Setelah dua angka (-1 5) merujuk pada HMO (hybrid MO) dalam $FMOHYB. sto-3g sendiri tidak merujuk pada basis set, melainkan hanya set orbital pada $FMOHYB, Beberapa HMO telah dipersiapkan di gamess/tools/fmo/HMO/HMOs.txt. Dari sana kita dapat memperoleh HMO untuk sto-3g
$FMOHYB
! sto-3g
! 5 5
! 1 0 -0.117784 0.542251 0.000000 0.000000 0.850774
! 0 1 -0.117787 0.542269 0.802107 0.000000 -0.283586
! 0 1 -0.117787 0.542269 -0.401054 -0.694646 -0.283586
! 0 1 -0.117787 0.542269 -0.401054 0.694646 -0.283586
! 0 1 1.003621 -0.015003 0.000000 0.000000 0.000000
! $END
summary dari input sederhana ini adalah sebagai berikut :
$CONTRL SCFTYP=RHF RUNTYP=ENERGY $END
$SYSTEM MEMORY=500000 $END
$BASIS GBASIS=STO NGAUSS=3 $END
$data
C2H5OH+H2O
c1
h 1
c 6
o 8
$end
$FMOXYZ
C 6 2.3410689175 -0.2869692888 -0.0074194092
H 1 3.0745859649 0.3772736987 0.4397744143
H 1 2.5665310430 -0.3924000324 -1.0640918137
H 1 2.4261794556 -1.2632979826 0.4595623356
C 6 0.9166901279 0.2761650904 0.1831975319
H 1 0.7235442032 0.4041423414 1.2567611875
H 1 0.8641656999 1.2758468598 -0.2685095421
O 8 -0.0215616632 -0.6201531625 -0.4156796115
H 1 -0.9026816335 -0.1944297425 -0.2534321184
O 8 -2.4493614824 0.5180105259 0.0102319306
H 1 -2.9309841137 0.6564728575 -0.8399969145
H 1 -3.0583517680 -0.1059613981 0.4726454459
$end
$fmo
nfrag=3 indat(1)=1,1,1,1, 2,2,2,2,2, 3,3,3 $end
$FMOBND
-1 5 sto-3g
$END
$FMOHYB
sto-3g 5 5
1 0 -0.117784 0.542251 0.000000 0.000000 0.850774
0 1 -0.117787 0.542269 0.802107 0.000000 -0.283586
0 1 -0.117787 0.542269 -0.401054 -0.694646 -0.283586
0 1 -0.117787 0.542269 -0.401054 0.694646 -0.283586
0 1 1.003621 -0.015003 0.000000 0.000000 0.000000
$END
Yak, sampai di sini kita telah berhasil membuat input untuk FMO, di kesempatan lain kita akan mencoba membuat input untuk multilayer FMO (bersambung)
Pingback: build FMO input using fmoutil, simple example « neax502 simple blog