Реализация Paper Du, Z., Ding, X., Xu, Y. & Li, Y. (2023) .Unidl4biopep: универсальная архитектура глубокого обучения для бинарной классификации в биоактивности пептидов. Брифинги в биоинформатике, BBAD135. WebServer доступен на Server_link
Обновления: Синджян Ding выпустит версию Unidl4biopep-ASL Pytorch для дисбалансированного набора данных. В этом методе использовалась другая функция потерь (функция асимметричной потери, модифицированная версия функции Focal Loss), которая способна проводить настройку как положительных, так и отрицательных сторон одновременно.
2024-11-21 Обновления: все наборы данных, используемые в этом исследовании, загружаются в соответствующие папки, а метка 1 означает положительный в эти свойства (например: 1 токсична, 0 нетоксично; 1 является аллергенным, а 0 не является аллергенным; 1 горький, а 0-небиттер; 1-это антимиктробные, а также дата, а также,-это не является т. Д.-дата, а также тестирование, и т.е. Из наших ссылок, если в папке есть только один набор данных, это означает, что разделение набора данных не было предоставлено исходной ссылкой. Помимо исходных 20 наборов данных, мы добавляем еще два набора данных (аллергенный белок и пептиды, а также пептиды клеток), обе модели также разработаны с архитектурой модели unidl4biopep и доступны в нашем веб -сервере.
2024-01-06 Обновления: мы добавляем информацию о защите от результатов прогнозирования, вы получите как активную, так и неактивную, и защищаемость (0,98), чтобы указать вероятность прогнозирования нашей модели. Позвольте вам быть более легче добраться к результатам модели. (Пожалуйста, загрузите свой файл, а затем сделайте прогноз, вы получите новые функции)!
2023-07-04 Обновления: мы переосмысливаем файл шаблона (Pretried_model_usage_template.ipynb). Теперь он может автоматически использовать ваш ресурс GPU для ускорения встраивания пептидов и ускорения прогнозирования модели. Спасибо за любые отзывы в этих проектах.
2023-05-07 Обновления: мы добавляем новый шаблон (GPU_UNIDL4BIOPEP_TEMPLATE_FOR_OTHER_BIOACTIONG.IPYNB). Он может автоматически распознавать ваш графический процессор, если доступен, и использовать ваш графический процессор для пептидных встроений и ускорения моделей. Кроме того, добавьте раздел для преобразования файла fasta.format в файлы CSV.
Обновления: мы добавляем расширенную версию (UNIDL4BIOPEP-FL), используя функцию фокусных потерь для дисбалансированного набора данных и шаблон для вашего использования (UNIDL4BIOPEP_FL_TEMPLATE_FOR_OTHER_BIOACTICTIONS.IPYNB).
Использование UNIDL4BIOPEP-FL для несбалансированного набора данных : Пожалуйста, выберите свою группу меньшинств в качестве положительной группы (помеченная как 1) и большинство большинства в качестве отрицательной группы (помеченная как 0); Предложения по настройке гиперпараметров: гамма (0,1,2,3,4,5) и Pos_weight (0,1,0,2, ... 1,0) или не нужно указать pos_weight.
Примечание: модель также может использоваться для классификации Multiclass (мы принимаем функцию SoftMax на последнем выходном уровне), так что вы можете просто изменить номера узлов выходного уровня. (Не стесняйтесь обратиться ко мне или отправить свой вопрос в часть выпуска.)
Обновления: веб-сервер с Advanced 26 моделей доступен по адресу https://nepc2pvmzy.us-east-1.awsapprunner.com/; Репозиторий разработки WebServer доступен по адресу unidl4biopep_webserver.
УВЕДОМЛЕНИЕ: UNIDL4BIOPEP доступен только для академических исследований; Для коммерческого использования, пожалуйста, свяжитесь с нами , [email protected]; [email protected]; [email protected];
Если содержимое полезно для вас, пожалуйста, обратитесь к нему и процитируйте его. Пожалуйста, цитируйте как: Du, Z., Ding, X., Xu, Y. & Li, Y. (2023) .unidl4biopep: универсальная архитектура глубокого обучения для бинарной классификации в биоактивности пептидов. Брифинги в биоинформатике, BBAD135.
Зависимости Majoy, используемые в этом проекте, следующие:
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
Более подробные библиотеки Python, используемые в этом проекте, относятся к requirements.txt . Вся реализация может быть снижена в Google Colab, и все, что вам нужно, это просто браузер и учетная запись Google. Установите все вышеперечисленные пакеты !pip install package_name==2.0.0
Примечание: весь мой набор данных использует 0 и 1 для представления положительного и отрицательного, соответственно. Опять же, 0 положительный и 1 отрицательный.
Просто проверьте файл Pretried_model_usage_template.ipynb
Все, что вам нужно, это подготовить ваши данные к прогнозированию в файле формата XLSX и открыть предварительно обращенный_model_usage_template.ipynb в Google Colab. Затем загрузите свои данные и набор данных поезда (для обучения модели). Тогда вы готовы к работе.
Все, что вам нужно сделать, это подготовить ваши базы данных в формате XLSX и два столбца (первый столбец - это последовательность, а второй столбец - метка). Вы можете просто загрузить файл набора данных формата XLSX из любой папки в этом репозитории. Перед загрузкой вашего набора данных, пожалуйста, перетащите свои наборы данных и разделите их в качестве набора данных поезда и тестовых наборов данных в качестве требования.
Вы также можете использовать разделенную набор данных в коде Python со следующими кодами, а затем вы можете больше повторить раздел загрузки данных и встроения данных . Просто замените эту часть следующими кодами.
Обновления: Я добавляю новый раздел в Unidl4biopep_template_for_other_bioActivity.ipynb , чтобы соответствовать вам одному набору данных формата формата XLSX (просто используйте его).
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)
После транформирования вы все готовы и хорошо идти. УВЕДОМЛЕНИЕ: Пожалуйста, проверьте размер набора данных перед запуском в случае ошибки.
# 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)
Не стесняйтесь вносить свои индивидуальные модификации. Просто прокрутите вниз к разделам архитектуры модели и сделайте изменения, чтобы соответствовать вашим ожиданиям.
В моих экспериментах эта архитектура кажется довольно хорошей, и вам, возможно, придется предпринять большие изменения, чтобы сделать что -то другое, если хотите.