როგორ მოვახდინოთ ცილების სტრუქტურის ვიზუალიზაცია Hugging Face Spaces-ში 3Dmol.js-ის გამოყენებით
ამ სტატიაში აღწერილია, თუ როგორ შეიძლება ცილის სტრუქტურების ინტერაქტიული ვიზუალიზაცია Hugging Face Spaces-ში 3Dmol.js ბიბლიოთეკისა და Gradio-ს გამოყენებით. ცილები სასიცოცხლოდ მნიშვნელოვანია, ხოლო მანქანური სწავლა გვეხმარება ახალი ცილების შექმნაში. სტრუქტურის გაგება გადამწყვეტია მათი ფუნქციისთვის. სტატია დეტალურად განიხილავს დემო აპლიკაციის შექმნას PDB კოდის ან ფაილის გამოყენებით, ტექნიკურ ასპექტებს iframe-ებით და ბრაუზერის უსაფრთხოების წესებს. მოცემულია ინტეგრაციის მეთოდები ML მოდელებთან და მოწი
განახლება: 2024 წლის მაისი. მიუხედავად იმისა, რომ ქვემოთ აღწერილი მეთოდი კვლავ მუშაობს, დროის დაზოგვის მიზნით, სავარაუდოდ, მოგინდებათ გამოიყენოთ Molecule3D Gradio-ს მორგებული კომპონენტი. ეს კომპონენტი მომხმარებლებს საშუალებას მისცემს, შეცვალონ ცილის ვიზუალიზაცია მიმდინარე რეჟიმში და უფრო მარტივად დააყენოთ ნაგულისხმევი ვიზუალიზაცია. დააინსტალირეთ ის შემდეგნაირად:
ცილებს უდიდესი გავლენა აქვთ ჩვენს ცხოვრებაზე - მედიკამენტებიდან დაწყებული, სარეცხი ფხვნილებით დამთავრებული. ცილებზე მანქანური სწავლება სწრაფად მზარდი სფეროა, რომელიც გვეხმარება ახალი და საინტერესო ცილების შექმნაში. ცილები რთული 3D ობიექტებია, რომლებიც, როგორც წესი, შედგება სამშენებლო ბლოკების სერიისგან, რომლებსაც ამინომჟავები ეწოდებათ. ისინი 3D სივრცეში არიან განლაგებული, რათა ცილას მისი ფუნქცია მიანიჭონ. მანქანური სწავლების მიზნებისთვის, ცილა შეიძლება წარმოდგენილი იყოს, მაგალითად, როგორც კოორდინატები, როგორც გრაფიკი ან როგორც 1D ასოების თანმიმდევრობა ცილის ენის მოდელში გამოსაყენებლად. ცილების ცნობილი მანქანური სწავლების მოდელია AlphaFold2, რომელიც პროგნოზირებს ცილის თანმიმდევრობის სტრუქტურას მსგავსი ცილების მრავალჯერადი თანმიმდევრობის განლაგებისა და სტრუქტურული მოდულის გამოყენებით. AlphaFold2-ის დებიუტის შემდეგ, მრავალი სხვა მსგავსი მოდელი გამოჩნდა, როგორიცაა OmegaFold, OpenFold და ა.შ. (მეტი ინფორმაციისთვის იხილეთ ეს სია ან ეს სია). ცილის სტრუქტურა განუყოფელი ნაწილია იმის გასაგებად, თუ რას აკეთებს ცილა.
დღესდღეობით, არსებობს რამდენიმე ინსტრუმენტი ცილების უშუალოდ ბრაუზერში ვიზუალიზაციისთვის, როგორიცაა mol* ან 3dmol.js. ამ პოსტში თქვენ შეისწავლით, თუ როგორ უნდა მოახდინოთ სტრუქტურის ვიზუალიზაციის ინტეგრაცია თქვენს Hugging Face Space-ში 3Dmol.js-ისა და HTML ბლოკის გამოყენებით. დარწმუნდით, რომ უკვე დაინსტალირებული გაქვთ gradio Python პაკეტი და გაქვთ Javascript/JQuery-ის საბაზისო ცოდნა. მოდით, გადავხედოთ, თუ როგორ შევქმნათ ჩვენი ინტერფეისის მინიმალური სამუშაო დემო, სანამ ჩავუღრმავდებით 3Dmol.js-ის დაყენებას.
ჩვენ შევქმნით მარტივ დემო აპლიკაციას, რომელსაც შეუძლია მიიღოს 4-ნიშნა PDB კოდი ან PDB ფაილი. ჩვენი აპლიკაცია შემდეგ მიიღებს PDB ფაილს RCSB Protein Databank-დან და გამოაჩენს მას, ან გამოიყენებს ატვირთულ ფაილს საჩვენებლად.
განახლება: ეს არის ფუნქცია, რომელიც ახორციელებს ჩვენი ცილების დამუშავებას და აბრუნებს iframe-ს მნახველთან ერთად. ჩვენი get_pdb ფუნქციაც მარტივია: ახლა, როგორ მოვახდინოთ ცილის ვიზუალიზაცია, რადგან Gradio-ს არ აქვს 3Dmol პირდაპირ ხელმისაწვდომი ბლოკის სახით? ამისთვის ვიყენებთ iframe-ს. ჩვენი molecule ფუნქცია, რომელიც აბრუნებს iframe-ს, კონცეპტუალურად ასე გამოიყურება: ეს ცოტა რთული დასაყენებელია, მაგრამ აუცილებელია თანამედროვე ბრაუზერებში უსაფრთხოების წესების გამო. 3Dmol.js-ის დაყენება საკმაოდ მარტივია და დოკუმენტაცია რამდენიმე მაგალითს გვაწვდის. ჩვენი დაბრუნებული დოკუმენტის სათაურმა (head) უნდა ჩატვირთოს 3Dmol.js (რომელიც თავის მხრივ ასევე ტვირთავს JQuery-ს). .mol-container სტილები შეიძლება გამოყენებულ იქნას მოლეკულის მნახველის ზომის შესაცვლელად. სხეული (body) ასე გამოიყურება: ჩვენ ვიყენებთ შაბლონურ ლიტერალს (აღნიშნული უკუკავშირებით) ჩვენი pdb ფაილის უშუალოდ html დოკუმენტში შესანახად და შემდეგ მის გამოსატანად 3dmol.js-ის გამოყენებით.
და ეს არის ეს, ახლა თქვენ შეგიძლიათ დააკავშიროთ თქვენი საყვარელი ცილის ML მოდელი სახალისო და მარტივად გამოსაყენებელ gradio აპლიკაციასთან და პირდაპირ მოახდინოთ პროგნოზირებული ან გადაკეთებული სტრუქტურების ვიზუალიზაცია. თუ თქვენ პროგნოზირებთ სტრუქტურის თვისებებს (მაგ. რამდენად სავარაუდოა თითოეული ამინომჟავის ლიგანდთან დაკავშირება), 3Dmol.js ასევე იძლევა საშუალებას გამოიყენოთ მორგებული ფერის ფუნქცია, რომელიც დაფუძნებულია თითოეული ატომის თვისებაზე. სრული კოდისთვის შეგიძლიათ შეამოწმოთ 3Dmol.js space-ის საწყისი კოდი. საწარმოო მაგალითისთვის, შეგიძლიათ შეამოწმოთ ProteinMPNN space, სადაც მომხმარებელს შეუძლია ატვირთოს ხერხემალი (backbone), ინვერსიული დასაკეცი მოდელი ProteinMPNN იწინასწარმეტყველებს ახალ ოპტიმალურ თანმიმდევრობებს და შემდეგ შესაძლებელია AlphaFold2-ის გაშვება ყველა პროგნოზირებულ თანმიმდევრობაზე, რათა დადგინდეს, მიიღებენ თუ არა ისინი საწყის შეყვანის ხერხემალს. წარმატებული გადაკეთებები, რომლებიც ხარისხობრივად იღებენ იმავე სტრუქტურას, როგორც AlphaFold2-ის მიერ არის ნაწინასწარმეტყველები მაღალი pLDDT ქულით, უნდა შემოწმდეს ლაბორატორიაში.
თუ თქვენ წააწყდებით რაიმე პრობლემას 3Dmol.js-ის ინტეგრაციასთან დაკავშირებით Gradio/HF spaces-ში, გთხოვთ, გახსენით დისკუსია hf.space/simonduerr/3dmol.js-ზე. თუ თქვენ გაქვთ პრობლემები 3Dmol.js-ის კონფიგურაციასთან დაკავშირებით - უნდა მიმართოთ დეველოპერებს, გთხოვთ, გახსენით 3Dmol.js-ის საკითხი (Issue) ამის ნაცვლად და აღწერეთ თქვენი პრობლემა. მეტი სტატია ჩვენი ბლოგიდან · დარეგისტრირდით ან შეხვიდეთ კომენტარის დასატოვებლად.
თეგები:
#მანქანური სწავლება
#hugging face
#პითონი
#gradio
#ცილები
#3dmol.js
#alphafold2
#ვიზუალიზაცია
#ბიოინფორმატიკა
#javascript
წყარო: huggingface.co
AI-ით გადამუშავებული