การดำเนินการของ Paper Du, Z. , Ding, X. , Xu, Y. , & Li, Y. (2023) .unidl4biopep: สถาปัตยกรรมการเรียนรู้เชิงลึกที่เป็นสากลสำหรับการจำแนกประเภทไบนารีในกิจกรรมทางชีวภาพเปปไทด์ การบรรยายสรุปในชีวสารสนเทศศาสตร์, BBAD135 เว็บเซิร์ฟเวอร์สามารถใช้ได้ที่ server_link
การอัปเดต: Xingjian Ding เปิดตัวเวอร์ชัน pytorch ของ Unidl4biopep-asl สำหรับชุดข้อมูลที่ไม่สมดุล วิธีนี้ใช้ฟังก์ชั่นการสูญเสียอื่น (ฟังก์ชั่นการสูญเสียแบบอสมมาตร, ฟังก์ชั่นการสูญเสียโฟกัสเวอร์ชันที่แก้ไข) ซึ่งมีความสามารถในการปรับจูนทั้งด้านบวกและด้านลบในเวลาเดียวกัน
2024-11-21 การอัปเดต: ชุดข้อมูลทั้งหมดที่ใช้ในการศึกษานี้จะถูกอัปโหลดไปยังโฟลเดอร์ที่สอดคล้องกันและฉลาก 1 หมายถึงบวกในคุณสมบัตินี้ (ตัวอย่างเช่น: 1 เป็นพิษ 0 เป็นสารพิษ 1 คือการแพ้และ 0 ไม่ใช่การทดสอบ จากการอ้างอิงของเราหากมีชุดข้อมูลเพียงชุดเดียวภายในโฟลเดอร์นั่นหมายความว่าการแบ่งชุดข้อมูลไม่ได้รับการจัดเตรียมโดย regnece ดั้งเดิม นอกเหนือจากชุดข้อมูลต้นฉบับ 20 ชุดเรายังเพิ่มชุดข้อมูลอีกสองชุด (โปรตีนสารก่อภูมิแพ้และเปปไทด์และเปปไทด์เจาะเซลล์) ทั้งสองรุ่นได้รับการพัฒนาด้วยสถาปัตยกรรมโมเดล Unidl4biopep และมีอยู่ที่เว็บเซิร์ฟเวอร์ของเรา
2024-01-06 การอัปเดต: เราเพิ่มข้อมูลความสามารถในการทำนายลงในผลการทำนายคุณจะได้รับทั้งการใช้งานและไม่ใช้งานและความสามารถในการโปรตีน (0.98) เพื่อระบุความน่าจะเป็นแบบจำลองของเราที่คาดการณ์ไว้ ช่วยให้คุณเข้าถึงผลลัพธ์ของโมเดลได้ง่ายขึ้น (โปรดอัปโหลดไฟล์ของคุณจากนั้นทำการทำนายคุณจะได้รับคุณสมบัติใหม่)!
2023-07-04 การอัปเดต: เราออกแบบไฟล์เทมเพลตอีกครั้ง (pretrained_model_usage_template.ipynb) ตอนนี้มันสามารถใช้ทรัพยากร GPU ของคุณโดยอัตโนมัติสำหรับการฝังเปปไทด์และการเร่งความเร็วการทำนายแบบจำลอง ขอบคุณสำหรับข้อเสนอแนะใด ๆ ในโครงการนี้
2023-05-07 การอัปเดต: เราเพิ่มเทมเพลตที่ออกแบบใหม่ (GPU_UNIDL4BIOPEP_TEMPLATE_FOR_OTHER_BIOACTIVITY.IPYNB) สามารถจดจำ GPU ของคุณได้โดยอัตโนมัติหากมีและใช้ GPU ของคุณสำหรับการฝังเปปไทด์และการเร่งความเร็วแบบปรับแต่ง นอกจากนี้เพิ่มส่วนสำหรับการแปลงไฟล์ fasta.format เป็นไฟล์ CSV
การอัปเดต: เราเพิ่มเวอร์ชันขั้นสูง (UNIDL4BIOPEP-FL) ใช้ฟังก์ชั่นการสูญเสียโฟกัสสำหรับชุดข้อมูลที่ไม่สมดุลและเทมเพลตสำหรับการใช้งานของคุณ (UnidL4BIOPEP_FL_TEMPLATE_FOR_OTHER_BIOACTIVITY.IPYNB)
การใช้งานของ UnidL4BIOPEP-FL สำหรับ ชุดข้อมูลที่ไม่สมดุล : โปรดเลือกกลุ่มชนกลุ่มน้อยของคุณเป็นกลุ่มบวก (ระบุว่าเป็น 1) และกลุ่มส่วนใหญ่เป็นกลุ่มลบ (ระบุว่าเป็น 0); คำแนะนำสำหรับการปรับแต่งพารามิเตอร์ hyperparameter: แกมม่า (0,1,2,3,4,5) และ pos_weight (, 0.1,0.2, ... 1.0) หรือไม่จำเป็นต้องระบุ pos_weight
ข้อสังเกต: โมเดลยังสามารถใช้สำหรับการจำแนกประเภทหลายระดับ (เราใช้ฟังก์ชัน SoftMax ที่เลเยอร์เอาต์พุตสุดท้าย) ดังนั้นคุณสามารถเปลี่ยนหมายเลขโหนดเลเยอร์เอาต์พุตได้ (อย่าลังเลที่จะติดต่อฉันหรือส่งคำถามของคุณในส่วนปัญหา)
การอัปเดต: เว็บเซิร์ฟเวอร์ที่มีรุ่น 26 ขั้นสูงมีอยู่ที่ https://nepc2pvmzy.us-east-1.awsapprunner.com/; พื้นที่เก็บข้อมูลการพัฒนาเว็บเซิร์ฟเวอร์มีอยู่ที่ 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 . txt การใช้งานทั้งหมดสามารถลดลงได้ใน Google Colab และสิ่งที่คุณต้องการคือเพียงเบราว์เซอร์และบัญชี Google ติดตั้งแพ็คเกจด้านบนทั้งหมดโดย !pip install package_name==2.0.0
ข้อสังเกต: ชุดข้อมูลทั้งหมดของฉันใช้ 0 และ 1 เพื่อแสดงถึงบวกและลบตามลำดับ อีกครั้ง 0 เป็นบวกและ 1 เป็นลบ
เพียงตรวจสอบไฟล์ pretrained_model_usage_template.ipynb
สิ่งที่คุณต้องมีคือการเตรียมข้อมูลของคุณสำหรับการทำนายในไฟล์รูปแบบ XLSX และเปิด pretrained_model_usage_template.ipynb ใน Google Colab จากนั้นอัปโหลดชุดข้อมูลและฝึกอบรมชุดข้อมูล (สำหรับการฝึกอบรมแบบจำลอง) จากนั้นคุณก็พร้อมที่จะไป
สิ่งที่คุณต้องทำคือเตรียมฐานข้อมูลของคุณในรูปแบบ XLSX และคอลัมน์สองคอลัมน์ (คอลัมน์แรกคือลำดับและคอลัมน์ที่สองคือป้ายกำกับ) คุณสามารถดาวน์โหลดไฟล์ชุดข้อมูลรูปแบบ XLSX จากโฟลเดอร์ใด ๆ ในที่เก็บนี้ ก่อนที่จะโหลดชุดข้อมูลของคุณโปรดสลับชุดข้อมูลของคุณและแบ่งเป็นชุดข้อมูลรถไฟและชุดข้อมูลทดสอบตามความต้องการของคุณ
นอกจากนี้คุณยังสามารถใช้ชุดข้อมูลแยกในรหัส Python ด้วยรหัสต่อไปนี้จากนั้นคุณสามารถแทนที่ส่วน การโหลดข้อมูลและ Embeddings อีกต่อไป เพียงแทนที่ส่วนนั้นด้วยรหัสต่อไปนี้
การอัปเดต: ฉันได้เพิ่มส่วนใหม่ใน 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)
หลังจาก transoformation คุณพร้อมแล้วและไปได้ดี ประกาศ: โปรดตรวจสอบมิติชุดข้อมูลของคุณก่อนที่จะทำงานในกรณีที่มีข้อผิดพลาด occring
# 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)
อย่าลังเลที่จะทำการปรับเปลี่ยนส่วนบุคคลของคุณ เพียงเลื่อนลงไปที่ส่วนสถาปัตยกรรมแบบจำลองและทำการแก้ไขให้เหมาะกับความคาดหวังของคุณ
ในการทดลองของฉันสถาปัตยกรรมนี้ดูเหมือนจะค่อนข้างดีและคุณอาจต้องมีการเปลี่ยนแปลงครั้งใหญ่เพื่อสร้างสิ่งที่แตกต่างถ้าคุณต้องการ