Die Implementierung des Papiers Du, Z., Ding, X., Xu, Y. & Li, Y. (2023) .Unidl4biopep: Eine universelle Architektur für Deep Learning für die binäre Klassifizierung in Peptid -Bioaktivität. Briefings in Bioinformatik, BBAD135. Webserver bei server_link verfügbar
Updates: Xingjian Ding veröffentlichen die Pytorch-Version von UNIDL4BIOPEP-ASL für einen unausgeglichenen Datensatz. Diese Methode verwendete eine andere Verlustfunktion (asymmetrische Verlustfunktion, modifizierte Version der Fokusverlustfunktion), die gleichzeitig sowohl positive als auch negative Seiten durchführen kann.
2024-11-21 Updates: Alle in dieser Studie verwendeten Datensätze werden in die entsprechenden Ordner hochgeladen und markiert 1 die positiven in diesen Eigenschaften (z. B. 1 ist toxisch, 0 ist ungiftig; 1 ist allergener und 0 ist nicht allergen. Wenn es nur einen Datensatz im Ordner gibt, bedeutet dies, dass die Datensatzabteilung nicht vom ursprünglichen Überweisungen bereitgestellt wurde. Über die ursprünglichen 20 Datensätze hinaus fügen wir zwei weitere Datensätze (allergene Protein- und Peptide und zelleindringende Peptide) hinzu. Beide Modelle werden auch mit UNIDL4BIOPEP -Modellarchitektur entwickelt und auf unserem Webserver verfügbar.
2024-01-06 Updates: Wir fügen die Prognoseinformationen zu den Vorhersageergebnissen hinzu. Sie erhalten sowohl aktive als auch nicht aktives und protaktiv (0,98), um die Wahrscheinlichkeit, die unser Modell vorhersagt, anzuzeigen. Ermöglichen Sie den Zugriff auf die Ergebnisse des Modells. (Bitte laden Sie Ihre Datei hoch und machen Sie Vorhersage, Sie erhalten die neuen Funktionen)!
2023-07-04 Updates: Wir haben die Vorlagendatei neu gestaltet (vorabstreiz_model_usage_template.ipynb). Jetzt kann Ihre GPU -Ressource automatisch für die Beschleunigung von Peptid -Einbetten und Modellvorhersage verwendet werden. Vielen Dank für ein Feedback in diesen Projekten.
2023-05-07 Updates: Wir fügen eine neu gestaltete Vorlage hinzu (gpu_unidl4biopep_template_for_other_bioactivity.ipynb). Es kann Ihre GPU automatisch erkennen, falls dies verfügbar ist, und Ihre GPU für Peptid -Einbettungen und Modellanpassungsbeschleunigung verwenden. Fügen Sie außerdem einen Abschnitt für die Fasta.Format -Dateitransformation zu CSV -Dateien hinzu.
Updates: Wir fügen eine erweiterte Version (UNIDL4BIOPEP-FL) hinzu, die die Funktion des Fokusverlusts für einen unausgeglichenen Datensatz und eine Vorlage für Ihre Verwendung verwendet (unidl4biopep_fl_template_for_bioactivity.ipynb).
Verwendung von UNIDL4BIOPEP-FL für den unausgeglichenen Datensatz : Wählen Sie Ihre Minderheit als positive Gruppe (als 1) und die Mehrheitsgruppe als negative Gruppe (als 0 bezeichnet) aus. Vorschläge für Hyperparameter Tunning: Gamma (0,1,2,3,4,5) und POS_Weight (0,1,0,2, ... 1.0) oder keine Notwendigkeit, POS_Weight anzugeben.
Hinweis: Das Modell kann auch für die Klassifizierung von Multiclas verwendet werden (wir übernehmen die Softmax -Funktion in der letzten Ausgangsschicht), sodass Sie einfach die Nodennummern der Ausgabeschicht ändern können. (Zögern Sie nicht, mich an mich zu wenden oder Ihre Frage im Ausgabenteil einzureichen.)
Updates: Der Webserver mit den erweiterten 26 Modellen ist unter https://nepc2pvmzy.us-east-1.awsapprunner.com/ verfügbar; Das Webserver Development Repository ist unter unidl4biopep_webserver verfügbar.
Hinweis: UNIDL4BIOPEP ist nur frei für die akademische Forschung zur Verfügung. Für die kommerzielle Verwendung kontaktieren Sie uns bitte , [email protected]; [email protected]; [email protected];
Wenn die Inhalte für Sie nützlich sind, spiele es bitte an und zitiere ihn. Bitte zitieren Sie als: Du, Z., Ding, X., Xu, Y. & Li, Y. (2023) .Unidl4biopep: Eine universelle, tiefe Lernarchitektur für die binäre Klassifizierung in Peptid -Bioaktivität. Briefings in Bioinformatik, BBAD135.
Die in diesem Projekt verwendeten Majoy -Abhängigkeiten sind wie folgt:
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
In diesem Projekt werden detailliertere Python -Bibliotheken requirements.txt . Die gesamte Implementierung kann in Google Colab gesunken sein und alles, was Sie benötigen, ist nur ein Browser und ein Google -Konto. Installieren Sie alle oben genannten Pakete nach !pip install package_name==2.0.0
Beachten Sie: Alle meine Datensätze verwenden 0 und 1, um positiv bzw. negativ darzustellen. Auch hier ist 0 positiv und 1 negativ.
Überprüfen Sie einfach die Datei vorab.
Alles, was Sie benötigen, ist, Ihre Daten für die Vorhersage in einer XLSX -Formatdatei vorzubereiten und in Google Colab vorbereitet_model_usage_template.ipynb zu öffnen. Laden Sie dann Ihre Daten hoch und trainieren Sie den Datensatz (für das Modelltraining). Dann bist du bereit zu gehen.
Alles, was Sie tun müssen, ist, Ihre Datenbanken in einem XLSX -Format und zwei Spalten vorzubereiten (erste Spalte ist Sequenz und die zweite Spalte ist beschriftet). Sie können einfach die Dataset -Datei XLSX Format aus einem beliebigen Ordner in diesem Repository herunterladen. Bevor Sie Ihren Datensatz laden, mischen Sie bitte Ihre Datensätze und teilen Sie sie als Zugdatensatz und Testdatensätze als Anforderung auf.
Sie können auch den Split -Datensatz im Python -Code mit den folgenden Codes verwenden und dann den Abschnitt Datenlade- und Einbettungsdings wieder wiederholen. Ersetzen Sie diesen Teil einfach durch die folgenden Codes.
Updates: Ich habe einen neuen Abschnitt in unidl4biopep_template_for_bioactivity.ipynb hinzufügen, um Sie mit einem XLSX -Format -Dataset -Laden und Einbettungsdings zu entsprechen (verwenden Sie es einfach).
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)
Nach der Transoformation sind Sie alle bereit und gut zu gehen. Hinweis: Bitte überprüfen Sie Ihre Datensatzdimension, bevor Sie im Fehlerunternehmen ausgeführt werden.
# 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)
Fühlen Sie sich frei, Ihre personalisierten Änderungen vorzunehmen. Scrollen Sie einfach in die Modellarchitekturabschnitte und überarbeiten, um Ihre Erwartungen zu entsprechen.
In meinen Experimenten scheint diese Architektur ziemlich gut zu sein und Sie müssen möglicherweise eine große Veränderung nehmen, um etwas anderes zu machen, wenn Sie möchten.