آموزش ماژول PDB در برنامه نویسی بایوپایتون

3 سال پیش

آموزش ماژول PDB در برنامه نویسی بایوپایتون

در این درس از آموزش های برنامه نویسی سایت سورس باران، ما در مورد آموزش ماژول PDB در برنامه نویسی بایوپایتون بحث خواهیم کرد.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون و جنگو

بایوپایتون ماژول Bio.PDB را برای دستکاری ساختارهای پلی پپتیدی فراهم می کند. PDB (بانک اطلاعات پروتئین) بزرگترین منبع ساختار پروتئینی است که به صورت آنلاین در دسترس است. این میزبان بسیاری از ساختارهای مشخص پروتئین ، از جمله کمپلکس های پروتئین-پروتئین، پروتئین-DNA، پروتئین-RNA است.

برای بارگذاری PDB، دستور زیر را تایپ کنید:

from Bio.PDB import *

 

فرمت های ساختار پروتئین

PDB ساختارهای پروتئینی را در سه قالب مختلف توزیع می کند –

  • قالب فایل مبتنی بر XML که توسط بایوپایتون پشتیبانی نمی شود
  • قالب فایل pdb که یک فایل متنی با قالب بندی خاص است
  • قالب فایل های PDBx / mmCIF

 

فایل های PDB توزیع شده توسط Protein Data Bank ممکن است دارای خطاهای قالب بندی باشد که تجزیه آنها را مبهم یا دشوار کند. ماژول Bio.PDB سعی در مقابله خودکار با این خطاها دارد.

ماژول Bio.PDB دو تجزیه کننده مختلف را اجرا می کند، یکی با فرمت mmCIF و دیگری با فرمت pdb.

در ادامه در مورد اینکه که چگونه هر یک از قالب ها را با جزئیات تجزیه کنیم را یاد خواهیم گرفت.

 

تجزیه کننده mmCIF

اجازه دهید یک مثال از پایگاه داده را با فرمت mmCIF از سرور pdb با استفاده از دستور زیر بارگیری کنیم –

>>> pdbl = PDBList() 
>>> pdbl.retrieve_pdb_file('2FAT', pdir = '.', file_format = 'mmCif')

 

با این کار فایل مشخص شده (۲fat.cif) از سرور بارگیری می شود و در فهرست فعال فعلی ذخیره می شود.

در اینجا، PDBList گزینه هایی را برای لیست کردن و بارگیری فایل ها از سرور آنلاین PDB FTP فراهم می کند. متد retrieve_pdb_file برای بارگیری بدون پسوند به نام فایل نیاز دارد. همچنین retrieve_pdb_file می تواند فهرست بارگیری، pdir  و قالب فایلfile_format را تعیین کند. مقادیر احتمالی قالب فایل به شرح زیر است –

  • “mmCif” (پیش فرض، فایل PDBx / mmCif)
  • “pdb” (قالب PDB)
  • “xml” (قالب PMDML / XML)
  • “mmtf” (بسیار فشرده)
  • “bundle” (بایگانی قالب بندی شده PDB برای ساختارهای بزرگ)

 

برای بارگذاری cif فایل، از Bio.MMCIF.MMCIFParser همانطور که در زیر مشخص شده است استفاده کنید:

>>> parser = MMCIFParser(QUIET = True) 
>>> data = parser.get_structure("2FAT", "2FAT.cif")

 

در اینجا، QUIET هشدار هنگام تجزیه فایل را متوقف می کند. get_structure فایل را تجزیه می کند و ساختار را با شناسه ۲FAT (اولین آرگومان) برمی گرداند.

پس از اجرای دستور بالا، فایل را تجزیه می کند و در صورت وجود هشدار احتمالی را چاپ می کند.

اکنون، ساختار را با استفاده از دستور زیر بررسی کنید:

>>> data 
<Structure id = 2FAT>

To get the type, use type method as specified below,

>>> print(type(data)) 
<class 'Bio.PDB.Structure.Structure'>

 

ما فایل را با موفقیت تجزیه و ساختار پروتئین را بدست آوردیم. ما در بخش بعدی جزئیات ساختار پروتئین و نحوه بدست آوردن آن را یاد خواهیم گرفت.

تجزیه کننده PDB

اجازه دهید یک مثال از پایگاه داده را با فرمت PDB از سرور pdb با استفاده از دستور زیر بارگیری کنیم:

>>> pdbl = PDBList() 
>>> pdbl.retrieve_pdb_file('2FAT', pdir = '.', file_format = 'pdb')

 

با این کار فایل مشخص شده (pdb2fat.ent) از سرور بارگیری و در فهرست کار فعلی ذخیره می شود.

برای بارگذاری یک فایل pdb، از Bio.PDB.PDBParser به شرح زیر استفاده کنید –

>>> parser = PDBParser(PERMISSIVE = True, QUIET = True) 
>>> data = parser.get_structure("2fat","pdb2fat.ent")

 

در اینجا، get_structure مشابه MMCIFParser است. گزینه PERMISSIVE سعی در تجزیه و تحلیل داده های پروتئین تا حد ممکن انعطاف پذیر است.

اکنون، ساختار و نوع آن را با قطعه کد آورده شده در زیر بررسی کنید:

>>> data 
<Structure id = 2fat> 
>>> print(type(data)) 
<class 'Bio.PDB.Structure.Structure'>

 

ساختار هدر اطلاعات دیکشنری را ذخیره می کند. برای انجام این کار، دستور زیر را تایپ کنید:

>>> print(data.header.keys()) dict_keys([
   'name', 'head', 'deposition_date', 'release_date', 'structure_method', 'resolution', 
   'structure_reference', 'journal_reference', 'author', 'compound', 'source', 
   'keywords', 'journal']) 
>>>

 

برای دریافت نام، از کد زیر استفاده کنید:

>>> print(data.header["name"]) 
an anti-urokinase plasminogen activator receptor (upar) antibody: crystal 
structure and binding epitope
>>>

 

همچنین می توانید تاریخ و وضوح را با کد زیر بررسی کنید –

>>> print(data.header["release_date"]) 2006-11-14 
>>> print(data.header["resolution"]) 1.77

 

ساختار PDB

ساختار PDB از یک مدل واحد تشکیل شده است که شامل دو زنجیره است.

زنجیره L، حاوی تعداد باقی مانده است
زنجیره H، حاوی تعداد باقی مانده است
هر باقیمانده از چندین اتم تشکیل شده است که هر یک دارای موقعیت سه بعدی با مختصات (x ،y ،z) هستند.

بیایید یاد بگیریم که چگونه در بخش زیر ساختار اتم را به تفصیل بدست آوریم:

مدل

متد Structure.get_models یک تکرار کننده را بر روی مدل ها برمی گرداند. در زیر تعریف شده است:

>>> model = data.get_models() 
>>> model 
<generator object get_models at 0x103fa1c80> 
>>> models = list(model) 
>>> models [<Model id = 0>] 
>>> type(models[0]) 
<class 'Bio.PDB.Model.Model'>

 

در اینجا، یک مدل دقیقاً یک شکل بندی سه بعدی را توصیف می کند. این شامل یک یا چند زنجیره است.

زنجیره

متد ()Model.get_chain یک تکرار کننده را روی زنجیره ها برمی گرداند. در زیر تعریف شده است:

>>> chains = list(models[0].get_chains()) 
>>> chains 
[<Chain id = L>, <Chain id = H>] 
>>> type(chains[0]) 
<class 'Bio.PDB.Chain.Chain'>

 

در اینجا، زنجیره یک ساختار پلی پپتیدی مناسب را توصیف می کند، به عنوان مثال، یک توالی متوالی از باقی مانده های محدود شده.

باقیمانده

متد ()Chain.get_residues  یک تکرار کننده را بر روی باقی مانده ها برمی گرداند. در زیر تعریف شده است:

>>> residue = list(chains[0].get_residues())
>>> len(residue) 
۲۹۳ 
>>> residue1 = list(chains[1].get_residues()) 
>>> len(residue1) 
۳۱۱

 

باقیمانده، اتم های متعلق به یک اسید آمینه را در خود نگه می دارد.

اتم ها

()Residue.get_atom یک تکرار کننده را بر روی اتم ها به شرح زیر برمی گرداند:

>>> atoms = list(residue[0].get_atoms()) 
>>> atoms 
[<Atom N>, <Atom CA>, <Atom C>, <Atom Ov, <Atom CB>, <Atom CG>, <Atom OD1>, <Atom OD2>]

 

یک اتم مختصات سه بعدی یک اتم را نگه می دارد و به آن بردار می گویند که در زیر تعریف شده است

>>> atoms[0].get_vector() 
<Vector 18.49, 73.26, 44.16>

 

این مقادیر مختصات x ،y و z را نشان می دهد.

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی بایوپایتون

  1. آموزش برنامه نویسی بایوپایتون (Biopython)
  2. معرفی برنامه نویسی بایوپایتون
  3. آموزش نصب بایوپایتون
  4. ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون
  5. آموزش دنباله در برنامه نویسی بایوپایتون
  6. عملیات توالی پیشرفته در برنامه نویسی بایوپایتون
  7. آموزش توالی ورودی/خروجی در برنامه نویسی بایوپایتون
  8.  آموزش هم‌ترازسازی توالی در برنامه نویسی بایوپایتون
  9. بررسی اجمالی BLAST در برنامه نویسی بایوپایتون
  10. بررسی پایگاه داده Entrez در برنامه نویسی بایوپایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه