Lanjut ke konten

… karena “Kata-kata yang hilang haruskah dicari?” (2)

“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

… karena “WSL2 + Ubuntu 22.04 berfungsi dengan baik untuk menjalankan AutoDock Vina 1.2.3 [bagian 3 – tamat] …”

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.

… karena “WSL2 + Ubuntu 22.04 berfungsi dengan baik untuk menjalankan AutoDock Vina 1.2.3 [bagian 2] …”

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.

… karena “WSL2 + Ubuntu 22.04 berfungsi dengan baik untuk menjalankan AutoDock Vina 1.2.3 [bagian 1] …”

“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.

… karena “AutoDock Vina 1.2.3 tidak ada fitur log-nya …”

“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.

… karena “Rasanya sibuk sangat mendekati akhir tahun 2022 ini …”

“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.

[YASARA] Plugin pertama buatan sendiri

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

… karena “Pada gelombang ke-3 ini, tembus juga pertahanan kami …”

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.

… karena “Mengapa OneDrive selalu sudah all files are in sync … ?”

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.

… karena “Ada pdb2plif.sh, mungkinkah diperlukan pdbqt2pdb.sh … ?”

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.

[YASARA] Tahapan setelah instalasi di Ubuntu 20.04

Welcome to YASARA.

This installer will not touch your system, only unpack files.
Consequently, no uninstaller is needed, simply delete the 'yasara' folder.
Please wait while the installation is completed...
Extracting files, 100% completed.
Finished, now running YASARA...
./yasara: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Jadi hari ini DosGil unduh dan instalasi YASARA-Structure versi terbaru untuk Linux di VPS ber-OS Ubuntu 20.04 (sewa versi Platinum dari RumahWeb). Nah, masalah muncul seperti di atas … dan mengikuti saran-saran di online gagal terus.

Lalu DosGil teringat bahwa pernah mengalami masalah serupa di masa lalu. DosGil kemudian bongkar-bongkar LogBook dan menemukan bahwa solusi yang pernah berhasil untuk DosGil adalah sebagai berikut:

sudo apt-get update
sudo apt-get install libglu1-mes
sudo apt-get install ocl-icd-opencl-dev

And … it worked like a charm!

Dan yang menarik lagi bagi DosGil adalah bahwa ketemunya di LogBook tertanggal 28 Januari 2020 pada proyek riset MMP9 yang tertunda pelaksanaannya karena Covid-19. Baiklah … Dosgil berpikir sepertinya hal ini perlu dituliskan di sini, sekaligus reminder bagi diri sendiri di masa yang akan datang.

Oh iya … posting-an ini sekaligus reminder bagi DosGil maupun murid-murid dan kolega tentang pentingnya disiplin menuliskan LogBook secara tertib dan “sistematis”.

— GT C13 210918 12.19 WIB —