جنریٹیو ڈیٹا انٹیلی جنس

Amazon SageMaker پر ESMFold زبان کے ماڈل کے ساتھ پروٹین کی ساخت کی پیشن گوئی کو تیز کریں۔

تاریخ:

پروٹین بہت سے حیاتیاتی عمل کو چلاتے ہیں، جیسے انزائم کی سرگرمی، سالماتی نقل و حمل، اور سیلولر سپورٹ۔ پروٹین کی تین جہتی ساخت اس کے کام کے بارے میں بصیرت فراہم کرتی ہے اور یہ کہ یہ دوسرے بائیو مالیکیولز کے ساتھ کیسے تعامل کرتا ہے۔ پروٹین کی ساخت کا تعین کرنے کے تجرباتی طریقے، جیسے ایکس رے کرسٹالوگرافی اور NMR سپیکٹروسکوپی، مہنگے اور وقت طلب ہیں۔

اس کے برعکس، حال ہی میں تیار کردہ کمپیوٹیشنل طریقے تیزی سے اور درست طریقے سے پروٹین کی ساخت کی اس کے امینو ایسڈ کی ترتیب سے پیش گوئی کر سکتے ہیں۔ یہ طریقے ان پروٹینوں کے لیے اہم ہیں جن کا تجرباتی طور پر مطالعہ کرنا مشکل ہے، جیسے جھلی پروٹین، بہت سی دوائیوں کے اہداف۔ اس کی ایک معروف مثال یہ ہے۔ الفا فولڈ، ایک گہری سیکھنے پر مبنی الگورتھم اپنی درست پیشین گوئیوں کے لیے منایا جاتا ہے۔

ای ایس ایم فولڈ امینو ایسڈ کی ترتیب سے پروٹین کی ساخت کا اندازہ لگانے کے لیے تیار کیا گیا ایک اور انتہائی درست، گہری سیکھنے پر مبنی طریقہ ہے۔ ESMFold ایک بڑے پروٹین لینگویج ماڈل (pLM) کو ریڑھ کی ہڈی کے طور پر استعمال کرتا ہے اور آخر سے آخر تک کام کرتا ہے۔ AlphaFold2 کے برعکس، اسے تلاش کرنے کی ضرورت نہیں ہے۔ ایک سے زیادہ ترتیب کی سیدھ (MSA) قدم، اور نہ ہی یہ پیشین گوئیاں پیدا کرنے کے لیے بیرونی ڈیٹا بیس پر انحصار کرتا ہے۔ اس کے بجائے، ترقیاتی ٹیم نے UniRef سے لاکھوں پروٹین کی ترتیب پر ماڈل کو تربیت دی۔ تربیت کے دوران، ماڈل نے توجہ کے نمونے تیار کیے جو ترتیب میں امینو ایسڈ کے درمیان ارتقائی تعاملات کی خوبصورتی سے نمائندگی کرتے ہیں۔ MSA کے بجائے pLM کا یہ استعمال دیگر جدید ترین ماڈلز کے مقابلے میں 60 گنا تیز پیشین گوئی کے اوقات کو قابل بناتا ہے۔

اس پوسٹ میں، ہم Hugging Face with سے پہلے سے تربیت یافتہ ESMFold ماڈل استعمال کرتے ہیں۔ ایمیزون سیج میکر کی بھاری زنجیر کی ساخت کی پیشن گوئی کرنے کے لیے trastuzumab، ایک مونوکلونل اینٹی باڈی سب سے پہلے کی طرف سے تیار جنینچچ علاج کے لئے HER2- مثبت چھاتی کا کینسر. اس پروٹین کی ساخت کے بارے میں فوری طور پر پیشن گوئی کرنا مفید ہو سکتا ہے اگر محققین ترتیب میں ہونے والی تبدیلیوں کے اثر کو جانچنا چاہتے ہیں۔ یہ ممکنہ طور پر مریض کی بقا میں بہتری یا کم ضمنی اثرات کا باعث بن سکتا ہے۔

یہ پوسٹ مندرجہ ذیل میں Jupyter نوٹ بک اور متعلقہ اسکرپٹس کی مثال فراہم کرتی ہے۔ GitHub ذخیرہ.

شرائط

ہم اس مثال کو ایک میں چلانے کی تجویز کرتے ہیں۔ ایمیزون سیج میکر اسٹوڈیو نوٹ بک ایک ml.r1.13.xlarge مثال کی قسم پر PyTorch 3.9 Python 5 CPU-آپٹمائزڈ امیج چلا رہا ہے۔

ٹراسٹوزوماب کی تجرباتی ساخت کا تصور کریں۔

شروع کرنے کے لئے، ہم استعمال کرتے ہیں biopython سے trastuzumab ڈھانچہ ڈاؤن لوڈ کرنے کے لیے لائبریری اور ایک مددگار اسکرپٹ RCSB پروٹین ڈیٹا بینک:

from Bio.PDB import PDBList, MMCIFParser
from prothelpers.structure import atoms_to_pdb target_id = "1N8Z"
pdbl = PDBList()
filename = pdbl.retrieve_pdb_file(target_id, pdir="data")
parser = MMCIFParser()
structure = parser.get_structure(target_id, filename)
pdb_string = atoms_to_pdb(structure)

اگلا، ہم استعمال کرتے ہیں py3Dmol ایک انٹرایکٹو 3D ویژولائزیشن کے طور پر ڈھانچے کو دیکھنے کے لیے لائبریری:

view = py3Dmol.view()
view.addModel(pdb_string)
view.setStyle({'chain':'A'},{"cartoon": {'color': 'orange'}})
view.setStyle({'chain':'B'},{"cartoon": {'color': 'blue'}})
view.setStyle({'chain':'C'},{"cartoon": {'color': 'green'}})
view.show()

مندرجہ ذیل اعداد و شمار پروٹین ڈیٹا بینک (PDB) سے 3D پروٹین ڈھانچے 1N8Z کی نمائندگی کرتا ہے۔ اس تصویر میں، ٹراسٹوزوماب لائٹ چین نارنجی رنگ میں دکھایا گیا ہے، بھاری زنجیر نیلی ہے (ہلکے نیلے رنگ میں متغیر علاقے کے ساتھ)، اور HER2 اینٹیجن سبز ہے۔

ہم سب سے پہلے ESMFold کا استعمال اس کے امینو ایسڈ کی ترتیب سے بھاری زنجیر (چین بی) کی ساخت کی پیش گوئی کرنے کے لیے کریں گے۔ پھر، ہم پیشن گوئی کا موازنہ اوپر دکھائے گئے تجرباتی طور پر طے شدہ ڈھانچے سے کریں گے۔

ESMFold کا استعمال کرتے ہوئے اس کی ترتیب سے trastuzumab ہیوی چین کی ساخت کی پیش گوئی کریں۔

آئیے ہیوی چین کی ساخت کی پیشین گوئی کرنے کے لیے ESMFold ماڈل کا استعمال کریں اور اس کا تجرباتی نتیجہ سے موازنہ کریں۔ شروع کرنے کے لیے، ہم اسٹوڈیو میں پہلے سے تعمیر شدہ نوٹ بک ماحول استعمال کریں گے جو کئی اہم لائبریریوں کے ساتھ آتا ہے، جیسے پی ٹورچ، پہلے سے نصب۔ اگرچہ ہم اپنے نوٹ بک کے تجزیے کی کارکردگی کو بہتر بنانے کے لیے ایک تیز رفتار مثال کی قسم استعمال کر سکتے ہیں، لیکن ہم اس کے بجائے ایک غیر تیز رفتار مثال استعمال کریں گے اور ESMFold کی پیشن گوئی کو CPU پر چلائیں گے۔

سب سے پہلے، ہم پہلے سے تربیت یافتہ ESMFold ماڈل اور ٹوکنائزر لوڈ کرتے ہیں۔ گلے لگانا چہرہ حب:

from transformers import AutoTokenizer, EsmForProteinFolding tokenizer = AutoTokenizer.from_pretrained("facebook/esmfold_v1")
model = EsmForProteinFolding.from_pretrained("facebook/esmfold_v1", low_cpu_mem_usage=True)

اگلا، ہم ماڈل کو اپنے ڈیوائس میں کاپی کرتے ہیں (اس معاملے میں سی پی یو) اور ماڈل کے کچھ پیرامیٹرز سیٹ کرتے ہیں:

device = torch.device("cpu")
model.esm = model.esm.float()
model = model.to(device)
model.trunk.set_chunk_size(64)

تجزیہ کے لیے پروٹین کی ترتیب تیار کرنے کے لیے، ہمیں اسے ٹوکنائز کرنے کی ضرورت ہے۔ یہ امینو ایسڈ علامتوں (EVQLV…) کا ایک عددی شکل میں ترجمہ کرتا ہے جسے ESMFold ماڈل سمجھ سکتا ہے (6,19,5,10,19,…):

tokenized_input = tokenizer([experimental_sequence], return_tensors="pt", add_special_tokens=False)["input_ids"]
tokenized_input = tokenized_input.to(device)

اگلا، ہم ٹوکنائزڈ ان پٹ کو موڈ میں کاپی کرتے ہیں، پیشین گوئی کرتے ہیں، اور نتیجہ کو فائل میں محفوظ کرتے ہیں:

with torch.no_grad():
notebook_prediction = model.infer_pdb(experimental_sequence)
with open("data/prediction.pdb", "w") as f:
f.write(notebook_prediction)

اس میں تقریباً 3 منٹ لگتے ہیں غیر تیز رفتار مثال کی قسم، جیسے کہ r5۔

ہم تجرباتی ڈھانچے سے اس کا موازنہ کرکے ESMFold کی پیشن گوئی کی درستگی کو جانچ سکتے ہیں۔ ہم یہ استعمال کرتے ہوئے کرتے ہیں۔ US-Align مشی گن یونیورسٹی میں ژانگ لیب کے ذریعہ تیار کردہ ٹول:

from prothelpers.usalign import tmscore tmscore("data/prediction.pdb", "data/experimental.pdb", pymol="data/superimposed")

PDBchain1 PDBchain2 TM-اسکور
data/prediction.pdb:A data/experimental.pdb:B 0.802

۔ ٹیمپلیٹ ماڈلنگ سکور (TM-score) پروٹین کے ڈھانچے کی مماثلت کا اندازہ لگانے کے لیے ایک میٹرک ہے۔ 1.0 کا اسکور ایک بہترین میچ کی نشاندہی کرتا ہے۔ 0.7 سے اوپر کے اسکور بتاتے ہیں کہ پروٹین ایک ہی ریڑھ کی ہڈی کی ساخت کا اشتراک کرتے ہیں۔ 0.9 سے اوپر کے اسکور بتاتے ہیں کہ پروٹین ہیں۔ فعال طور پر قابل تبادلہ بہاو ​​استعمال کے لیے۔ ہمارے TM-Score 0.802 کو حاصل کرنے کے معاملے میں، ESMFold کی پیشن گوئی ممکنہ طور پر ایپلی کیشنز جیسے کہ ڈھانچہ سکورنگ یا ligand بائنڈنگ تجربات کے لیے موزوں ہو گی، لیکن ہو سکتا ہے کہ استعمال کے معاملات کے لیے موزوں نہ ہو سالماتی تبدیلی جس کے لیے انتہائی درستگی کی ضرورت ہوتی ہے۔

ہم منسلک ڈھانچے کو دیکھ کر اس نتیجے کی توثیق کر سکتے ہیں۔ دونوں ڈھانچے اوورلیپ کی ایک اعلی، لیکن کامل نہیں، ڈگری دکھاتے ہیں۔ پروٹین کے ڈھانچے کی پیشین گوئیاں ایک تیزی سے ترقی پذیر فیلڈ ہے اور بہت سی تحقیقی ٹیمیں پہلے سے زیادہ درست الگورتھم تیار کر رہی ہیں!

ESMFold کو SageMaker انفرنس اینڈ پوائنٹ کے بطور تعینات کریں۔

ایک نوٹ بک میں ماڈل کا اندازہ چلانا تجربہ کے لیے ٹھیک ہے، لیکن اگر آپ کو اپنے ماڈل کو کسی ایپلیکیشن کے ساتھ مربوط کرنے کی ضرورت ہو تو کیا ہوگا؟ یا MLOps پائپ لائن؟ اس صورت میں، ایک بہتر آپشن یہ ہے کہ آپ اپنے ماڈل کو ایک انفرنس اینڈ پوائنٹ کے طور پر تعینات کریں۔ مندرجہ ذیل مثال میں، ہم ESMFold کو SageMaker ریئل ٹائم انفرنس اینڈ پوائنٹ کے طور پر ایک تیز مثال پر تعینات کریں گے۔ SageMaker ریئل ٹائم اینڈ پوائنٹس مشین لرننگ (ML) ماڈلز کی تعیناتی اور میزبانی کے لیے ایک قابل توسیع، سرمایہ کاری مؤثر، اور محفوظ طریقہ فراہم کرتے ہیں۔ خودکار پیمانے کے ساتھ، آپ اپنی درخواست کے مطالبات کو پورا کرنے، لاگت کو بہتر بنانے اور اعلی دستیابی کو یقینی بنانے کے لیے اختتامی نقطہ پر چلنے والے واقعات کی تعداد کو ایڈجسٹ کر سکتے ہیں۔

پری بلٹ چہرے کو گلے لگانے کے لیے سیج میکر کنٹینر عام کاموں کے لیے گہرے سیکھنے کے ماڈلز کو تعینات کرنا آسان بناتا ہے۔ تاہم، پروٹین کے ڈھانچے کی پیشن گوئی جیسے ناول استعمال کے معاملات کے لیے، ہمیں اپنی مرضی کی وضاحت کرنے کی ضرورت ہے۔ inference.py ماڈل لوڈ کرنے کے لیے اسکرپٹ، پیشن گوئی کو چلائیں، اور آؤٹ پٹ کو فارمیٹ کریں۔ اس اسکرپٹ میں وہی کوڈ شامل ہے جو ہم نے اپنی نوٹ بک میں استعمال کیا ہے۔ ہم بھی تخلیق کرتے ہیں requirements.txt ہمارے اختتامی نقطہ کے استعمال کے لیے کچھ ازگر انحصار کی وضاحت کرنے کے لیے فائل۔ آپ ان فائلوں کو دیکھ سکتے ہیں جو ہم نے بنائی ہیں۔ GitHub ذخیرہ.

مندرجہ ذیل تصویر میں، ٹراسٹوزوماب ہیوی چین کے تجرباتی (نیلے) اور پیش گوئی شدہ (سرخ) ڈھانچے بہت ملتے جلتے ہیں، لیکن ایک جیسے نہیں ہیں۔

میں ضروری فائلیں بنانے کے بعد code ڈائریکٹری، ہم SageMaker کا استعمال کرتے ہوئے اپنے ماڈل کو تعینات کرتے ہیں۔ HuggingFaceModel کلاس یہ سیج میکر پر Hugging Face ماڈلز کی تعیناتی کے عمل کو آسان بنانے کے لیے پہلے سے بنایا ہوا کنٹینر استعمال کرتا ہے۔ نوٹ کریں کہ اختتامی نقطہ بنانے میں 10 منٹ یا اس سے زیادہ وقت لگ سکتا ہے، کی دستیابی پر منحصر ہے۔ ml.g4dn ہمارے علاقے میں مثال کی اقسام۔

from sagemaker.huggingface import HuggingFaceModel
from datetime import datetime huggingface_model = HuggingFaceModel(
model_data = model_artifact_s3_uri, # Previously staged in S3
name = f"emsfold-v1-model-" + datetime.now().strftime("%Y%m%d%s"),
transformers_version='4.17',
pytorch_version='1.10',
py_version='py38',
role=role,
source_dir = "code",
entry_point = "inference.py"
) rt_predictor = huggingface_model.deploy(
initial_instance_count = 1,
instance_type="ml.g4dn.2xlarge",
endpoint_name=f"my-esmfold-endpoint",
serializer = sagemaker.serializers.JSONSerializer(),
deserializer = sagemaker.deserializers.JSONDeserializer()
)

اختتامی نقطہ کی تعیناتی مکمل ہونے پر، ہم پروٹین کی ترتیب کو دوبارہ جمع کر سکتے ہیں اور پیشین گوئی کی پہلی چند قطاریں دکھا سکتے ہیں:

endpoint_prediction = rt_predictor.predict(experimental_sequence)[0]
print(endpoint_prediction[:900])

چونکہ ہم نے اپنا اختتامی نقطہ ایک تیز رفتار مثال پر لگایا ہے، اس لیے پیشین گوئی میں صرف چند سیکنڈ لگنا چاہیے۔ نتیجہ میں ہر قطار ایک ایٹم کے مساوی ہے اور اس میں امینو ایسڈ کی شناخت، تین مقامی نقاط، اور ایک pLDDT سکور اس مقام پر پیشین گوئی کے اعتماد کی نمائندگی کرنا۔

PDB_GROUP ID ATOM_LABEL RES_ID CHAIN_ID SEQ_ID CARTN_X CARTN_Y CARTN_Z قبضہ پی ایل ڈی ڈی ٹی ATOM_ID
ATOM 1 N جی ایل یو A 1 14.578 19.953- 1.47 1 0.83 N
ATOM 2 CA جی ایل یو A 1 13.166 19.595- 1.577 1 0.84 C
ATOM 3 CA جی ایل یو A 1 12.737 18.693- 0.423 1 0.86 C
ATOM 4 CB جی ایل یو A 1 12.886 18.906- 2.915 1 0.8 C
ATOM 5 O جی ایل یو A 1 13.417 17.715- 0.106 1 0.83 O
ATOM 6 cg جی ایل یو A 1 11.407 18.694- 3.2 1 0.71 C
ATOM 7 cd جی ایل یو A 1 11.141 18.042- 4.548 1 0.68 C
ATOM 8 OE1 جی ایل یو A 1 12.108 17.805- 5.307 1 0.68 O
ATOM 9 OE2 جی ایل یو A 1 9.958 17.767- 4.847 1 0.61 O
ATOM 10 N ویل A 2 11.678 19.063- 0.258- 1 0.87 N
ATOM 11 CA ویل A 2 11.207 18.309- 1.415- 1 0.87 C

پہلے جیسا طریقہ استعمال کرتے ہوئے، ہم دیکھتے ہیں کہ نوٹ بک اور اینڈ پوائنٹ کی پیشین گوئیاں ایک جیسی ہیں۔

PDBchain1 PDBchain2 TM-اسکور
data/endpoint_prediction.pdb:A data/prediction.pdb:A 1.0

جیسا کہ مندرجہ ذیل اعداد و شمار میں مشاہدہ کیا گیا ہے، نوٹ بک (سرخ) اور اختتامی نقطہ (نیلے) کے ذریعہ تیار کردہ ESMFold پیشین گوئیاں کامل سیدھ دکھاتی ہیں۔

صاف کرو

مزید چارجز سے بچنے کے لیے، ہم اپنے تخمینے کا اختتامی نقطہ اور ٹیسٹ ڈیٹا حذف کر دیتے ہیں:

rt_predictor.delete_endpoint()
bucket = boto_session.resource("s3").Bucket(bucket)
bucket.objects.filter(Prefix=prefix).delete()
os.system("rm -rf data obsolete code")

خلاصہ

کمپیوٹیشنل پروٹین کی ساخت کی پیشن گوئی پروٹین کے کام کو سمجھنے کے لیے ایک اہم ٹول ہے۔ بنیادی تحقیق کے علاوہ، الگورتھم جیسے AlphaFold اور ESMFold میں طب اور بائیو ٹیکنالوجی میں بہت سے اطلاقات ہیں۔ ان ماڈلز کے ذریعے پیدا ہونے والی ساختی بصیرت ہمیں بہتر طور پر یہ سمجھنے میں مدد کرتی ہے کہ بایو مالیکیولز کیسے تعامل کرتے ہیں۔ اس کے بعد یہ مریضوں کے لیے بہتر تشخیصی آلات اور علاج کا باعث بن سکتا ہے۔

اس پوسٹ میں، ہم دکھاتے ہیں کہ SageMaker کا استعمال کرتے ہوئے Huging Face Hub سے ESMFold پروٹین لینگویج ماڈل کو کس طرح توسیع پذیر انفرنس اینڈ پوائنٹ کے طور پر تعینات کیا جائے۔ SageMaker پر Hugging Face ماڈلز کی تعیناتی کے بارے میں مزید معلومات کے لیے، رجوع کریں۔ ایمیزون سیج میکر کے ساتھ گلے لگانے والا چہرہ استعمال کریں۔. آپ کو پروٹین سائنس کی مزید مثالیں بھی مل سکتی ہیں۔ AWS پر شاندار پروٹین تجزیہ گٹ ہب ریپو۔ براہ کرم ہمیں ایک تبصرہ چھوڑیں اگر کوئی اور مثالیں ہیں جو آپ دیکھنا چاہتے ہیں!


مصنفین کے بارے میں

برائن وفادار Amazon Web Services میں گلوبل ہیلتھ کیئر اور لائف سائنسز ٹیم میں ایک سینئر AI/ML سلوشنز آرکیٹیکٹ ہیں۔ اس کے پاس بائیوٹیکنالوجی اور مشین لرننگ میں 17 سال سے زیادہ کا تجربہ ہے، اور وہ جینومک اور پروٹومک چیلنجز کو حل کرنے میں صارفین کی مدد کرنے کے لیے پرجوش ہیں۔ اپنے فارغ وقت میں، وہ اپنے دوستوں اور خاندان کے ساتھ کھانا پکانے اور کھانے سے لطف اندوز ہوتا ہے۔

شمیکا آریاونسا Amazon Web Services میں گلوبل ہیلتھ کیئر اور لائف سائنسز ٹیم میں AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ تکنیکی رہنمائی فراہم کرکے اور AWS پر محفوظ کلاؤڈ سلوشنز کو اختراع کرنے اور بنانے میں ان کی مدد کرکے اپنے AI اور ML کو اپنانے میں تیزی لانے کے لیے گاہکوں کے ساتھ جوش سے کام کرتا ہے۔ کام سے باہر، وہ اسکیئنگ اور آف روڈنگ سے محبت کرتا ہے۔

یانجون کیویانجون کیو AWS مشین لرننگ سلوشن لیب میں ایک سینئر اپلائیڈ سائنس مینیجر ہے۔ وہ AWS صارفین کو اپنے AI اور کلاؤڈ کو اپنانے میں تیزی لانے میں مدد کرنے کے لیے مشین لرننگ کو اختراعات اور لاگو کرتی ہے۔

اسپاٹ_مگ

تازہ ترین انٹیلی جنس

اسپاٹ_مگ