Implementasi kertas Du, Z., Ding, X., Xu, Y., & Li, Y. (2023) .unidl4biopep: Arsitektur pembelajaran mendalam universal untuk klasifikasi biner dalam bioaktivitas peptida. Briefing dalam Bioinformatika, BBAD135. server web tersedia di server_link
Pembaruan: Xingjian Ding Rilis versi Pytorch dari UNIDL4BIOPEP-ASL untuk dataset yang tidak seimbang. Metode ini menggunakan fungsi kerugian lain (fungsi kerugian asimetris, versi yang dimodifikasi dari fungsi kehilangan fokus), yang memiliki kemampuan untuk melakukan tunning kedua sisi positif dan negatif pada saat yang sama.
2024-11-21 Pembaruan: Semua dataset yang digunakan dalam penelitian ini diunggah ke dalam folder yang sesuai dan Label 1 berarti positif dalam sifat ini (misalnya: 1 beracun, 0 tidak beracun; 1 alergenik dan 0 adalah orisinal; 1 DATASI PERTINGAN, dan 0 NON-BITTER; 1 adalah antimikrobal dan 0 non-antimic. Dari referensi kami, jika hanya ada satu dataset di dalam folder, itu berarti divisi dataset tidak disediakan oleh refernece asli. Di luar 20 set data asli, kami menambahkan dua dataset lagi (protein alergenik dan peptida, dan peptida penembus sel), kedua model juga dikembangkan dengan arsitektur model Unidl4Biopep dan tersedia di server web kami.
Pembaruan 2024-01-06: Kami menambahkan informasi keprotinan ke hasil prediksi, Anda akan mendapatkan keduanya aktif & non-aktif dan proteksi (0,98) untuk menunjukkan probabilitas model kami memprediksi. Memungkinkan Anda menjadi lebih mudah untuk mengakses hasil model. (Harap unggah file Anda dan kemudian buat prediksi, Anda akan mendapatkan fitur baru)!
2023-07-04 Pembaruan: Kami mendesain ulang file template (pretrained_model_usage_template.ipynb). Sekarang, dapat secara otomatis menggunakan sumber daya GPU Anda untuk penyematan peptida dan percepatan prediksi model. Terima kasih atas umpan balik dalam proyek ini.
2023-05-07 Pembaruan: Kami menambahkan template yang dirancang baru (GPU_Unidl4BIOPEP_TEMPLATE_FOR_OTHER_BIOACTIVITY.IPYNB). Secara otomatis dapat mengenali GPU Anda jika tersedia dan menggunakan GPU Anda untuk embeddings peptida dan akselerasi pemasangan model. Juga, tambahkan bagian untuk transformasi file fasta.format ke file CSV.
Pembaruan: Kami menambahkan versi canggih (UNIDL4BIOPEPP-FL) yang menggunakan fungsi kehilangan fokus untuk dataset yang tidak seimbang dan templat untuk penggunaan Anda (unidl4biopep_fl_template_for_other_bioactivity.ipynb).
Penggunaan UNIDL4BIOPEP-FL untuk dataset yang tidak seimbang : Pilih grup minoritas Anda sebagai grup positif (diberi label sebagai 1) dan grup mayoritas sebagai kelompok negatif (diberi label 0); Saran untuk tunning hiperparameter: gamma (0,1,2,3,4,5) dan pos_weight (, 0,1,0,2, ... 1.0) atau tidak perlu menentukan kelas POS_.
Perhatikan: Model ini juga dapat digunakan untuk klasifikasi multiclass (kami mengadopsi fungsi softmax pada lapisan output terakhir), sehingga Anda dapat dengan mudah mengubah nomor simpul lapisan output. (Jangan ragu untuk menghubungi saya atau mengirimkan pertanyaan Anda di bagian masalah.)
Pembaruan: Server web dengan 26 model canggih tersedia di https://nepc2pvmzy.us-east-1.awsapprunner.com/; Repositori Pengembangan WebServer tersedia di UNIDL4BIOPEP_WEBSERVER.
PEMBERITAHUAN: UNIDL4BIOPEP hanya tersedia secara bebas untuk penelitian akademik; Untuk penggunaan komersial, silakan hubungi kami , [email protected]; [email protected]; [email protected];
Jika isinya berguna bagi Anda, mohon bintilah dan mengutipnya . Harap kutip sebagai: Du, Z., Ding, X., Xu, Y., & Li, Y. (2023) .unidl4biopep: Arsitektur pembelajaran mendalam universal untuk klasifikasi biner dalam bioaktivitas peptida. Briefing dalam Bioinformatika, BBAD135.
Ketergantungan majoy yang digunakan dalam proyek ini adalah sebagai berikut:
Python 3.8.16
fair-esm 2.0.0
keras 2.9.0
pandas 1.3.5
numpy 1.21.6
scikit-learn 1.0.2
tensorflow 2.9.2
torch 1.13.0+cu116
focal-loss
Perpustakaan Python yang lebih rinci yang digunakan dalam proyek ini dirujuk ke requirements.txt . Semua implementasi dapat turun di Google Colab dan yang Anda butuhkan hanyalah browser dan akun Google. Instal semua paket di atas oleh !pip install package_name==2.0.0
Perhatikan: Semua dataset saya menggunakan 0 dan 1 untuk mewakili masing -masing positif dan negatif. Sekali lagi, 0 positif dan 1 negatif.
Cukup periksa file pretrained_model_usage_template.ipynb
Yang Anda butuhkan adalah menyiapkan data Anda untuk prediksi dalam file format XLSX dan buka pretrained_model_usage_template.ipynb di Google Colab. Kemudian unggah data Anda dan latih dataset (untuk pelatihan model). Maka Anda siap untuk pergi.
Yang perlu Anda lakukan adalah menyiapkan databaset Anda dalam format XLSX dan dua kolom (kolom pertama adalah urutan dan kolom kedua adalah label). Anda bisa mengunduh file Dataset Format XLSX dari folder apa pun di repositori ini. Sebelum memuat dataset Anda, silakan kocok kumpulan data Anda dan pisahkan sebagai dataset kereta api dan set data pengujian sebagai kebutuhan Anda.
Anda juga dapat menggunakan Dataset Split dalam kode Python dengan kode berikut, dan kemudian Anda dapat mengulangi bagian pemuatan data dan embeddings lagi. Cukup ganti bagian itu dengan kode berikut.
Pembaruan: Saya telah menambahkan bagian baru di unidl4biopep_template_for_other_bioactivity.ipynb agar sesuai dengan Anda satu pemuatan dataset format XLSX dan embeddings (cukup gunakan).
import numpy as np
import pandas as pd
# whole dataset loading and dataset splitting
dataset = pd.read_excel('whole_sample_dataset.xlsx',na_filter = False) # take care the NA sequence problem
# generate the peptide embeddings
sequence_list = dataset['sequence']
embeddings_results = pd.DataFrame()
for seq in sequence_list:
format_seq = [seq,seq] # the setting is just following the input format setting in ESM model, [name,sequence]
tuple_sequence = tuple(format_seq)
peptide_sequence_list = []
peptide_sequence_list.append(tuple_sequence) # build a summarize list variable including all the sequence information
# employ ESM model for converting and save the converted data in csv format
one_seq_embeddings = esm_embeddings(peptide_sequence_list)
embeddings_results= pd.concat([embeddings_results,one_seq_embeddings])
embeddings_results.to_csv('whole_sample_dataset_esm2_t6_8M_UR50D_unified_320_dimension.csv')
# loading the y dataset for model development
y = dataset['label']
y = np.array(y) # transformed as np.array for CNN model
# read the peptide embeddings
X_data_name = 'whole_sample_dataset_esm2_t6_8M_UR50D_unified_320_dimension.csv'
X_data = pd.read_csv(X_data_name,header=0, index_col = 0,delimiter=',')
X = np.array(X_data)
# split dataset as training and test dataset as ratio of 8:2
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=123)
# normalize the X data range
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(X_train)
X_train = scaler.transform(X_train) # normalize X to 0-1 range
X_test = scaler.transform(X_test)
Setelah transoformasi, Anda siap dan baik untuk pergi. Perhatikan: Silakan periksa dimensi dataset Anda sebelum berjalan jika terjadi kesalahan.
# check the dimension of the dataset before model development
print(X_train.shape)
print(X_test.shape)
print(y_train.shape)
print(y_test.shape)
Jangan ragu untuk membuat modifikasi yang dipersonalisasi. Cukup gulir ke bawah ke bagian arsitektur model dan buat revisi agar sesuai dengan harapan Anda.
Dalam percobaan saya, arsitektur ini tampaknya cukup bagus dan Anda mungkin perlu mengambil perubahan besar untuk membuat sesuatu yang berbeda jika Anda mau.