“Menuliskan rasa dan menarasikan peristiwa”
Meskipun di judul tulisan ini ada angka 2-nya, namun ini bukan sekuel maupun lanjutan cerita dengan judul yang sama tanpa angka yang ditulis 5 tahun silam. Bukan waktu yang singkat untuk meninggalkan sebuah blog tidak ter-update. Tagline blog ini juga berganti dari “… so what?” menjadi “menuliskan rasa dan menarasikan peristiwa”. Semoga dengan posting-an dan penggantian tagline blog ini menandai kembalinya jemari DosGil menari untuk menuliskan rasa dan menarasikan peristiwa. Stay tune!
Bagi yang pertama kali terdampar di blog ini, perlu diketahui bahwa blog ini adalah sekuel ke-3 dari Blog DosenGila a.k.a. DosGil. Seri blog yang diawali dari http://dosengila.blogspot.com/ dilanjutkan ke https://dosengila.wordpress.com/ sebagai sekuel ke-2. Pemilihan nickname DosenGila alias DosGil diterangkan di sini.
Adapun momentum yang membuat DosGil bersemangat mengaktifkan kembali blog ini adalah telah resminya DosGil diangkat sebagai Profesor di bidang Analisis Farmasi dan Kimia Medisinal pada tanggal 22 Juli 2020. Berita resmi dari universitas dapat diakses di sini, dan dari fakultas dapat diakses di sini. Berita-berita terkait di koran lokal dapat diakses di sini, di sini, dan di sini.
### GT-C13, 28 Juli 2020
“You’re only here for a short visit. Don’t hurry, don’t worry. And be sure to smell the flowers along the way.”
Walter Hagen
…
Siang tadi DosGil mendapat berita duka.
Seorang sahabat sudah mendahului menghadap Sang Pencipta.
Rekan saat menjadi asisten praktikum di Fakultas Farmasi Universitas Sanata Dharma yang saat itu belum lama berdiri. Sekitar 25 tahun silam.
Dipertemukan lagi di agenda-agenda Perhimpunan Kimia Medisinal Indonesia dan kemudian menjadi kolega dan kolaborator riset di Fakultas Farmasi Universitas Sanata Dharma 2015-2021.
Beliau termasuk salah satu dosen yang membidani lahirnya Program Studi S2 Farmasi di Universitas Sanata Dharma.
Selamat jalan Pak Maywan! Beristirahatlah dalam damai.
Kemurahan hatimu akan selalu terkenang dan karya-karyamu akan abadi …
## PoKid-7, 11 Februari 2023 | 20:42 WIB.
DosGil melanjutkan mencoba PyPLIF HIPPOS pada luaran Vina di bagian 2. Diawali dengan instalasi PyPLIF HIPPOS pada environment vina:
cd ~
conda activate vina
conda install -c conda-forge pyplif-hippos
cd vina-1.2.3_1e66
Dilanjutkan dengan pembuatan berkas konfigurasi untuk PyPLIF HIPPOS hippos.config
di direktori kerja ~/vina-1.2.3_1e66
, dengan isi berkas seperti berikut:
docking_method vina
docking_conf vina.config
output_mode full full_nobb
full_outfile plif_full.txt
full_nobb_outfile plif_nobb.txt
logfile hippos.log
Berkas tersebut masih kurang dua variabel yang mendefinisikan nama dan nomor residu yang akan diidentifikasi interaksinya dengan ligan. Dengan memanfaatkan berkas PLANTSactiveSiteResidues.mol2
luaran dari PLANTS di bagian 2, DosGil tambahkan variabel-variabel tersebut dengan baris perintah berikut:
echo "residue_number `grep CA PLANTSactiveSiteResidues.mol2 | grep BACKBONE | awk '{print $7}' | paste -s -d" "`" >> hippos.config
echo "residue_name `grep CA PLANTSactiveSiteResidues.mol2 | grep BACKBONE | awk '{print $8}' | paste -s -d" "`" >> hippos.config
PyPLIF HIPPOS sudah siap dijalankan!
hippos hippos.config
Luaran esensial dari hippos
ini adalah berkas plif_full.txt
dan plif_nobb.txt
. Jika dibuka dengan perintah more plif_*.txt
maka hasilnya adalah:
::::::::::::::
plif_full.txt
::::::::::::::
ligand_1 -10.577 000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000100000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000110000010000000000000000000010000000000000101000010000001000000101000010000001010000000000000000000000000
::::::::::::::
plif_nobb.txt
::::::::::::::
ligand_1 -10.577 000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000110000010000000000000000000010000000000000101000010000001000000101000000000001010000000000000000000000000
Hurrayyy … sudah bisa jalan semuanya!!! Eh tapi, kenapa hanya satu pose ya … ? Ah sudahlah itu dioptimasi kali lain. Setidaknya sudah bisa jalan dan berfungsi baik.
## PoKid-7, 2 Januari 2023 | 14:51 WIB.
DosGil melanjutkan mencoba Vina dengan mengadopsi tutorial yang diberikan di sini. Setelah DosGil mempelajarinya, jelas bahwa SPORES dan PLANTS dari situs ini dibutuhkan jika DosGil bermaksud melakukan preparasi reseptor (dan konfigurasi untuk Vina maupun PyPLIF HIPPOS) secara otomatis dan sepenuhnya menggunakan antarmuka baris perintah (APB). Sampai saat ini ditulis DosGil belum menemukan teknik maupun perangkat lain yang bisa menggantikan kombinasi SPORES dan PLANTS dalam hal ini. Hal lain yang belum DosGil temukan adalah dimana letak Vina setelah instalasi melalui miniconda di postingan bagian 1. Baiklah kita unduh saja versi default-nya Ubuntu 22.04 dan kemudian ditindih dengan Vina versi 1.2.3.
conda deactivate
cd ~
mkdir programs
cd programs
sudo apt-get install autodock-vina
vina
Menariknya setelah Vina dicoba dijalankan dengan perintah di atas, hasilnya adalah:
AutoDock Vina v1.2.3
...
Bawaan Ubuntu 22.04 LTS sudah versi 1.2.3! Baiklah kita lanjutkan dengan instalasi SPORES dan PLANTS:
wget http://www.tcd.uni-konstanz.de/plants_download/download/PLANTS1.2_64bit
chmod u+x PLANTS1.2_64bit
wget http://www.tcd.uni-konstanz.de/plants_download/download/SPORES_64bit
chmod u+x SPORES_64bit
Software yang dibutuhkan untuk melakukan satu putaran penambatan molekul pada antarmuka baris perintah sudah siap. DosGil kemudian mencoba untuk penambatan ulang ligan kokristal Huprine X (HUX) pada asetilkolinesterase di PDB:1E66.
cd ~
mkdir vina-1.2.3_1e66
cd vina-1.2.3_1e66/
wget https://files.rcsb.org/download/1E66.pdb
~/programs/SPORES_64bit --mode splitpdb 1E66.pdb
conda activate vina
python2 ~/miniconda3/envs/vina/CCSBpckgs/AutoDockTools/Utilities24/prepare_receptor4.py -r protein.mol2 -r protein.mol #preparasi receptor dengan luaran protein.pdbqt
python2 ~/miniconda3/envs/vina/CCSBpckgs/AutoDockTools/Utilities
24/prepare_ligand4.py -l ligand.mol2 #preparasi ligan dengan luaran ligand.pdbqt
cp ligand_HUX803_0.mol2 ligand.mol2
~/programs/PLANTS1.2_64bit --mode bind ligand.mol2 5 protein.mol2
cat bindingsite.def
Perintah terakhir di atas membaca luaran bindingsite.def
hasil perintah di atasnya. Adapun isinya adalah sebagai berikut yang berguna untuk penyusunan konfigurasi penambatan molekul dengan Vina:
bindingsite_center 4.39738 68.6326 65.5042
bindingsite_radius 10.9525
Berikut isi berkas konfigurasi sederhana vina.config
untuk menjalankan Vina memanfaatkan itu di atas dengan mencoba scoring function baru vinardo
:
receptor = protein.pdbqt
ligand = ligand.pdbqt
scoring = vinardo
center_x = 4.39738
center_y = 68.6326
center_z = 65.5042
size_x = 21.905 # 2 x 10.9525
size_y = 21.905 # 2 x 10.9525
size_z = 21.905 # 2 x 10.9525
Simulasi penambatan molekul dengan Vina siap dijalankan. Dan karena Vina versi ini tidak ada fitur log
maka perlu diberi “> ligand_out.log” seperti berikut:
vina --config vina.config > ligand_out.log
Voila! Simulasi penambatan molekul berjalan dengan baik dengan isi ligand_out.log
sebagai berikut:
AutoDock Vina v1.2.3
...
Output will be ligand_out.pdbqt
Scoring function : vinardo
Rigid receptor: protein.pdbqt
Ligand: ligand.pdbqt
Grid center: X 4.39738 Y 68.6326 Z 65.5042
Grid size : X 21.905 Y 21.905 Z 21.905
Grid space : 0.375
Exhaustiveness: 8
CPU: 0
Verbosity: 1
Computing Vinardo grid ... done.
Performing docking (random seed: 731491570) ...
0% 10 20 30 40 50 60 70 80 90 100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
mode | affinity | dist from best mode
| (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
1 -10.58 0 0
2 -5.617 3.497 5.55
3 -5.185 9.843 11.77
4 -5.011 3.486 5.159
5 -4.968 3.782 5.637
6 -4.902 9.991 12.01
7 -4.653 8.89 10.77
8 -4.615 10.74 12.97
9 -4.441 8.699 10.2
Dan hari pertama di tahun 2023 ini sudah hampir berakhir. DosGil akan lanjutkan esok hari.
## PoKid-7, 1 Januari 2023 | 22:25 WIB.
“Most of the group use a Dell XPS 15 with WSL. Prototyping and student projects being done on servers (both cpu and gpu) , heavy lifting on the university cluster.”
Computational Drug Discovety Leiden (CDDLeiden)
Saat scrolling cuitan-cuitan di Twitter pagi ini, DosGil menemukan pernyataan yang menjadi quote di atas. Hal ini mengusik DosGil untuk bermain-main lagi dengan Windows Subsystem for Linux (WSL) sekaligus mempersiapkan peralatan-peralatan riset di tahun 2023 ini. AutoDock Vina 1.2.3 (untuk selanjutnya kita sebut Vina) dan PyPLIF HIPPOS menjadi perkakas-perkakas lunak untuk tes Ubuntu 22.04 yang dijalankan di WSL versi 2 (WSL2).
DosGil mengawali dengan membuka PowerShell dan mengetikkan perintah berikut:
wsl --update
wsl --shutdown
Kemudian menggunakan Microsoft Store, DosGil menginstal aplikasi Ubuntu 22.04. Tutorial untuk ini sudah banyak di internet, silakan diikuti saja. Kalau ragu silakan minta bantuan rekan atau kenalan terdekat yang paham tentang WSL ini. Setelah berhasil menginstal Ubuntu 22.04, DosGil membuka terminal Ubuntu ini dan melakukan instalasi Nautilus dan Google Chrome mengikuti tutorial di sini. Dua aplikasi GUI linux tersebut berfungsi dengan baik.
Berikutnya adalah menginstal Vina menggunakan miniconda mengikuti tutorial di sini. Kemudian dilanjutkan dengan mulai instalasi Vina dan software pendukungnya melalui miniconda mengikuti tutorial di sini. Diawali dengan instalasi Vina:
conda create -n vina python=3
conda activate vina
conda config --env --add channels conda-forge
conda install -c conda-forge numpy swig boost-cpp sphinx sphinx_rtd_theme
pip install vina
Di tahap ini muncul galat yang memerlukan untuk instalasi gcc dan g++ dengan perintah:
sudo apt-get install gcc
sudo apt-get install g++
Dan diulangi lagi dengan instalasi Vina dan dilanjutkan dengan instalasi ADFR software suite, OpenBabel dan Meeko:
pip install vina
conda install -c hcc adfr-suite
conda deactivate
sudo apt-get install openbabel
conda activate vina
conda install python=3.9.7
conda install -c conda-forge numpy openbabel scipy rdkit
pip install meeko
conda update -n base -c defaults conda
Sudah selesai untuk saat ini. Perintah baris terakhir menanggapi warning untuk update conda. Selanjutnya DosGil akan bercerita tentang usaha mengadopsi tutorial yang diberikan di sini.
## PoKid-7, 1 Januari 2023 | 17:00 WIB.
“AutoDock Vina is arguably one of the fastest and most widely used open-source programs for molecular docking.”
Eberhardt et al., 2021
Saat PyPLIF HIPPOS dirilis , Python 2.x belum obsolete dan AutoDock Vina 1.2.x belum dirilis. Saat ini, AutoDock Vina 1.2.3 sudah mulai menggeser AutoDock Vina 1.1.2 yang digunakan saat pengembangan PyPLIF HIPPOS. Dan, sempat DosGil dilapori salah satu murid bahwa shell script penapisan virtual berbasis struktur (PVBS) yang saya kembangkan tidak berfungsi lagi ketika AutoDock Vina 1.1.2 diganti dengan versi terbaru 1.2.3. Jujur dengan kesibukan sebagai dosen dan beberapa aktivitas membantu beberapa direktorat di Jakarta, belum sempat DosGil pelajari lagi dampak peralihan Python dan AutoDock Vina ini pada scripts rutin yang digunakan di riset-riset lab DosGil maupun dengan kolaborator.
Mendekati akhir tahun ini, di sela-sela review dokumen-dokumen dan koreksi-koreksi dengan tenggat yang berlarian mendekat, DosGil sempatkan untuk mempelajari AutoDock Vina 1.2.3 dengan dokumentasi yang bersumber di sini. Setelah DosGil cermati dan uji coba sekali dua kali dan mempelajari error message yang ditampilkan, ditemukan bahwa masalahnya sederhana dan dapat diatasi di luar AutoDock Vina 1.2.3, yaitu seperti tersurat di judul postingan ini. Solusinya, karena DosGil menggunakan shell script, maka cukup dihapus itu “log = nama_out.log” di berkas konfigurasi untuk AutoDock Vina dan ditambahkan “> nama_out.log” di baris perintah shell script yang merupakan perintah menjalankan AutoDock Vina 1.2.3. DosGil coba juga untuk running PyPLIF HIPPOS pada hasil penambatan molekul, dan voila It worked perfectly! Kemudian DosGil coba docking score baru besutan AutoDock Vina 1.2.3, yaitu vinardo, juga dilanjutkan dengan PyPLIF HIPPOS. Hasilnya, bekerja dengan sempurna!
Masih banyak fitur-fitur baru di AutoDock Vina 1.2.3 yang belum DosGil eksplorasi. Hmmm … sepertinya ini saatnya reinventing the wheel dengan tool baru ini, plus memanfaatkan GPU. Buku-buku perlu di-update sepertinya, juga script PVBS yang sudah divalidasi bisa ditingkatkan efisiensinya. Ah … sepertinya itu perlu menunggu, agenda terdekat yang ingin DosGil wujudkan di tahun 2023 adalah menerbitkan buku dengan topik “Baris Perintah Linux Esensial Dalam Penapisan Virtual Berbasis Struktur” untuk pembelajaran di S2 Farmasi. Kalau ada anak S1 Farmasi juga mau belajar akan jauh lebih baik.
Selamat Tahun Baru 2023! May the FORCE be with you, always!
Sabbe Sattā Bhavantu Sukhitattā
## PoKid-7, 31 Desember 2022 | 20:54 WIB.
“Keajaiban bukanlah bahwa saya selesai. Keajaibannya adalah saya memiliki keberanian untuk memulai.”
John Bingham
Kegiatan berlari, atau setidaknya sekedar jalan sedikit lebih cepat namun diatur sebagai lari pada jam pintar, sudah DosGil lakukan secara rutin sejak 2015. Ajang lelarian resmi pertama yang saya ikuti adalah Bromo Marathon 2015, mengambil kategori 10K. Kategori jarak terpendek pada ajang lelarian tersebut. Puji Tuhan, DosGil finish pada 2 jam lebih sedikit. Medali pertama DosGil pun diperoleh di ajang lelarian ini karena cut-off-time (COT)-nya adalah 2 jam 30 menit. Setelah itu, lelarian merupakan hal yang rutin dilakukan karena bisa buat “nggaya” di sosial media, yang mungkin bisa dikategorikan flexing … 😀
Kini, komunitas lelarian menjamur dan DosGil bergabung di KLUB. Komunitas dengan berbagai motivasi dan gaya lelarian. DosGil pada awalnya ingin mendapatkan berat badan ideal dengan rutin berlari ini. Atau setidaknya turun ke 80an, ketika berat badan sudah hampir 100 kg. Namun ternyata, sejak aktif berlari DosGil gagal turun berat badan. Sempat frustrasi dan berhenti lari. Alhasil, kenaikan berat badan tidak dapat dibendung. Saat itu DosGil sadar, bahwa berlari bagi DosGil adalah untuk fun dan membantu menahan laju kenaikan berat badan, bukan untuk menurunkan berat badan.
Solusi untuk turun berat badan bagi DosGil adalah mengatur pola makan dengan mengurangi asupan. Mungkin. Dan, itu berat. Apalagi dengan GERD dan di tengah kesibukan yang membutuhkan banyak berpikir dan ketahanan fisik di bulan Desember ini. Peran baru DosGil di dunia pendidikan Indonesia menambah kesibukan ekstra kampus yang menyebabkan DosGil lebih banyak di perjalanan daripada duduk manis di ruangan di kampus, nonton drakor mengerjakan tridharma perguruan tinggi. Lari menjadi sarana relaksasi yang sederhana.
Tahun 2022 ini, berat badan DosGil sempat tembus 3 digit dan susah payah DosGil kembalikan ke 2 digit. Meskipun belum bisa kembali seperti pada Januari 2022. Apakah DosGil bisa menurunkan berat badan di tahun 2023 nanti? Entahlah … Sepertinya DosGil sudah berhenti berharap. Namun, seperti Hamtaro, DosGil selalu tetap berusaha lari, terutama di pagi hari, untuk menjaga kewarasan.
### PoKid-7, 11 Desember 2022 | 21:34 WIB.
Setelah beberapa hari berkutat karena tertarik buat plugin untuk YASARA-Structure, akhirnya selesai juga dan setelah dites dapat berfungsi dengan baik. Tutorialnya kapan-kapan ya …
*Pogung Kidul 20 Oktober 2022, 05.54 WIB
Sejak awal pandemi, DosGil dan keluarga semaksimal mungkin mengaplikasikan protokol kesehatan untuk mencegah ketularan dan menularkan Covid19. Namun gelombang ke-3 ini bersinergi dengan berkurangnya keketatan aplikasi regulasi termasuk dimulainya pembelajaran tatap muka luring, akhirnya tembus juga pertahanan kami. Dan hari ini adalah hari ke-1 dari isolasi 10 hari. Gejala ringan yang dirasakan semoga tidak memburuk dan kami dapat melewati masa-masa ini.
Anyway, apakah DosGil di masa karantina ini bisa seproduktif saat me-lock down diri sendiri di awal tahun 2020? Let’s see …
### GT-C13, 27 Februari 2022 | 12:45 WIB.
Beberapa hari ini DosGil berusaha sync berkas-berkas di laptop dengan OneDrive cloud setelah lebih dari 5 purnama. Tapi selalu dibilang “all files are in sync” … tapi setelah dicek di cloud masih seperti yang dulu, menunggumu sampai akhir hidupku … #yousingyoulose
Setelah searching eh DosGil ketemu tautan ini https://answers.microsoft.com/en-us/windows/forum/all/onedrive-sync-problem-windows-10/fee33a77-dc52-4536-9739-369563346006 … dan sepertinya masalah terjawab.
### Ruang Dosen D3 USD Paingan, 5 November 2021 | 14:56 WIB.
Pada manual AutoDock Vina 1.1.2 yang bisa diakses di http://vina.scripps.edu/manual.html sepertinya tidak membahas secara detail preparasi protein (sebagai target virtual) maupun preparasi senyawa kecil yang akan ditambatkan. Padahal, AutoDock Vina membutuhkan berkas input dengan tipe pdbqt dan menghasilkan luaran dengan tipe pdbqt juga. Memang disediakan modul “vina_split” untuk memisahkan pose-pose luaran dari simulasi penambatan molekul, namun luaran dari modul “vina_split” juga merupakan berkas dengan tipe pdbqt. Untuk preparasi berkas input sudah ada dan salah satunya dapat dibaca di https://dosgil.wordpress.com/2021/07/23/tutorial-instalasi-tools-untuk-sbvs-di-ubuntu-18-04-wsl/. Namun untuk pdbqt luaran ke pdb sepertinya DosGil belum pernah mengulasnya.
Ada beberapa cara untuk konversi dari pdbqt ke pdb, tapi hampir semua menggunakan graphical-user interface (GUI), yang menjadi halangan jika yang dikonversi sangat banyak dan membutuhkan otomasi. Nah, tetiba kemarin sore saat scroll-scroll di Twitter terpikir untuk mencari cara atau setidaknya membuat shell script untuk konversi pdbqt ke pdb. Namun, ketika mulai searching dan ketuk hit yang ditampilkan malah tertumbuk di laman berikut: http://autodock.scripps.edu/faqs-help/faq/is-there-a-way-to-save-a-protein-ligand-complex-as-a-pdb-file-in-autodock.
Pada laman tersebut disampaikan bahwa pada dasarnya berkas pdbqt adalah berkas pdb dengan tambahan kolom muatan dan tipe atom. Untuk konversi pdbqt ke pdb cukup dengan menghilangkan dua kolom tersebut dengan perintah sebagai berikut:
cut -c-66 my_docking.pdbqt > my_docking.pdb
Perintah di atas menghilangkan dua kolom terakhir dari berkas my_docking.pdbqt dan hasilnya disimpan sebagai berkas my_docking.pdb.
### GT C13, 24 September 2021 | 18:30 WIB.