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

4 سال پیش
امتیاز دهید post

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

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

پیشنهاد ویژه : پکیج آموزش پایتون

BioSQL یک طرح کلی پایگاه اطلاعاتی است که عمدتا برای ذخیره توالی ها و داده های مربوط به آن برای تمام موتورهای RDBMS طراحی شده است. به گونه ای طراحی شده است که داده های همه پایگاه های اطلاعاتی بیوانفورماتیک معروف مانند GenBank ،Swissport و غیره را در خود نگه می دارد. همچنین می تواند برای ذخیره داده های داخلی نیز مورد استفاده قرار گیرد.

BioSQL در حال حاضر طرحواره خاصی را برای پایگاه داده های زیر فراهم می کند:

  • MySQL (biosqldb-mysql.sql)
  • PostgreSQL (biosqldb-pg.sql)
  • Oracle (biosqldb-ora/*.sql)
  • SQLite (biosqldb-sqlite.sql)

همچنین از پایگاه داده های HSQLDB و Derby مبتنی بر جاوا کمترین پشتیبانی را می کند.

بایوپایتون قابلیت های ORM بسیار ساده، آسان و پیشرفته را برای کار با پایگاه داده مبتنی بر BioSQL فراهم می کند. ماژول BioSQL در برنامه نویسی بایوپایتون برای انجام عملکردهای زیر فراهم می کند –

  • یک پایگاه داده BioSQL ایجاد / حذف کنید
  • به یک پایگاه داده BioSQL متصل شوید
  • یک پایگاه داده توالی مانند GenBank ،Swisport ، نتیجه BLAST، نتیجه Entrez و غیره را تجزیه کرده و مستقیماً در پایگاه داده BioSQL بارگذاری کنید
  • داده های توالی را از پایگاه داده BioSQL واکشی کنید
  • داده های طبقه بندی را از NCBI BLAST واکشی کرده و در پایگاه داده BioSQL ذخیره کنید
  • هرگونه جستجوی SQL را در برابر پایگاه داده BioSQL اجرا کنید

بررسی اجمالی برنامه پایگاه داده BioSQL

قبل از اینکه  BioSQL را کاملا بررسی کنیم، اجازه دهید اصول برنامه BioSQL را درک کنیم. طرح BioSQL  بیست و پنج جدول برای نگهداری داده های توالی، ویژگی توالی، دسته توالی / هستی شناسی و اطلاعات طبقه بندی فراهم می کند. برخی از جداول مهم به شرح زیر است:

  • biodatabase
  • bioentry
  • biosequence
  • seqfeature
  • taxon
  • taxon_name
  • antology
  • term
  • dxref

ایجاد پایگاه داده BioSQL

در این بخش، بیایید با استفاده از طرحواره ارائه شده توسط تیم BioSQL، یک پایگاه داده BioSQL ایجاد کنیم. ما باید با پایگاه داده SQLite کار کنیم زیرا شروع کار بسیار آسان است و تنظیمات پیچیده ای ندارد.

در اینجا، ما با استفاده از مراحل زیر یک پایگاه داده BioSQL مبتنی بر SQLite ایجاد خواهیم کرد.

 

مرحله 1 – موتور پایگاه داده SQLite را دانلود کرده و آن را نصب کنید.

مرحله 2 – پروژه BioSQL را از URL GitHub دانلود کنید. https://github.com/biosql/biosql

مرحله 3 – یک کنسول را باز کنید و با استفاده از mkdir یک دایرکتوری ایجاد کنید و وارد آن شوید.

 

مرحله 4 – دستور زیر را برای ایجاد یک پایگاه داده جدید SQLite اجرا کنید.

 

مرحله 5 – فایل biosqldb-sqlite.sql را از پروژه BioSQL کپی کنید (/ sql / biosqldb-sqlite.sql`) و آن را در فهرست فعلی ذخیره کنید.

مرحله 6 – دستور زیر را برای ایجاد همه جداول اجرا کنید.

 

اکنون، تمام جداول در پایگاه داده جدید ما ایجاد شده اند.

مرحله 7 – دستور زیر را برای دیدن تمام جداول جدید در پایگاه داده خود اجرا کنید.

 

سه دستور اول، دستورات پیکربندی برای پیکربندی SQLite است تا نتیجه را به صورت قالب بندی شده نشان دهد.

مرحله 8 – نمونه فایل GenBank ، ls_orchid.gbk ارائه شده توسط تیم بایوپایتون https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/ls_orchid.gbk را در فهرست فعلی کپی کرده و به عنوان orchid.gbk ذخیره کنید .

 

مرحله 9 – با استفاده از کد زیر یک اسکریپت پایتون، load_orchid.py ایجاد کنید و آن را اجرا کنید

 

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

سرانجام، ما یک پایگاه داده جدید BioSQL ایجاد کردیم و برخی از داده های نمونه را در آن بارگذاری کردیم.

 

نمودار ER ساده

جدول biodatabase در بالای سلسله مراتب قرار دارد و هدف اصلی آن سازماندهی مجموعه ای از داده های توالی در یک گروه / پایگاه داده مجازی است. هر ورودی در پایگاه داده زیستی به یک پایگاه داده جداگانه اشاره دارد و با پایگاه داده دیگری مخلوط نمی شود. تمام جداول مربوط به پایگاه داده BioSQL به ورودی پایگاه داده زیستی اشاره دارند.

جدول bioentry تمام جزئیات مربوط به یک دنباله را به جز داده های توالی در خود دارد. داده های توالی یک biosequence خاص در جدول توالی زیست ذخیره می شود.

taxon و taxon_name جزئیات طبقه بندی هستند و هر ورودی برای مشخص کردن اطلاعات طبقه بندی خود، این جدول را ارجاع می دهد.

Simple ER Diagram

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

کوئری های BioSQL

اجازه دهید برای درک بهتر نحوه سازماندهی داده ها و ارتباط جداول با یکدیگر ، به برخی کوئری های BioSQL بپردازیم. قبل از ادامه، اجازه دهید پایگاه داده را با استفاده از دستور زیر باز کنیم و برخی از دستورات قالب بندی را تنظیم کنیم –

 

header. و mode. گزینه های قالب بندی برای تجسم بهتر داده ها هستند. برای اجرای درخواست می توانید از هر ادیتور SQLite نیز استفاده کنید.

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

 

در اینجا، ما فقط یک پایگاه داده داریم، orchid.

با کد ارائه شده در زیر، ورودی های موجود در  پایگاه داده orchid را لیست کنید

 

جزئیات توالی مربوط به یک ورودی (accession − Z78530, name − C. fasciculatum 5.8S rRNA gene and ITS1 and ITS2 DNA) را با کد داده شده فهرست کنید:

 

توالی کامل مرتبط با یک ورودی (accession − Z78530, name − C. fasciculatum 5.8S rRNA gene and ITS1 and ITS2 DNA) را با استفاده از کد زیر دریافت کنید

 

طبقه بندی های مرتبط با پایگاه داده زیستی orchid را لیست کنید

 

بارگیری داده در پایگاه داده BioSQL 

بیایید بفهمیم که چگونه داده های توالی را در این بخش در پایگاه داده BioSQL بارگذاری کنیم. ما قبلاً کدی برای بارگذاری داده ها در پایگاه داده در بخش قبلی داریم و کد به شرح زیر است –

 

ما نگاه عمیق تری به هر خط از کد و هدف آن خواهیم داشت –

خط 1 – ماژول SeqIO را بارگیری می کند.

خط 2 – ماژول BioSeqDatabase را بارگیری می کند. این ماژول تمام قابلیت های تعامل با پایگاه داده BioSQL را فراهم می کند.

خط 3 – ماژول سیستم عامل را بارگیری می کند.

خط 5 – open_database با درایور پیکربندی شده (driver) پایگاه داده مشخص شده (db) را باز کرده و یک دسته را به پایگاه داده  server) BioSQL) باز می گرداند. بایوپایتون از پایگاه داده sqlite ،mysql ،postgresql و oracle پشتیبانی می کند.

خط 6-10 – متد load_database_sql sql را از فایل خارجی بارگیری کرده و آن را اجرا می کند. ما می توانیم از این مرحله صرف نظر کنیم زیرا ما قبلاً پایگاه داده را با برنامه ایجاد کرده ایم.

خط 12 – متد های new_database پایگاه داده مجازی جدیدی را ایجاد می کند، orchid و یک دسته db را برمی گرداند تا دستور را در برابر پایگاه داده orchid اجرا کند.

خط 13 – متد load ورودی های توالی (قابل تکرار SeqRecord) را در پایگاه داده orchid بارگیری می کند. SqlIO.parse پایگاه داده GenBank را تجزیه می کند و تمام توالی های موجود در آن را به عنوان قابل تکرار SeqRecord برمی گرداند. پارامتر دوم (True) متد load به آن دستور می دهد تا جزئیات طبقه بندی داده های توالی را از وب سایت NCBI blast دریافت کند، در صورتی که از قبل در سیستم موجود نیست.

خط 14 –  commit معامله را انجام می دهد.

خط 15 –closeاتصال پایگاه داده را می بندد و دسته سرور را از بین می برد.

 واکشی داده های توالی 

اجازه دهید دنباله ای با شناسه  2765658 را از پایگاه داده orchid به شرح زیر بیاوریم:

 

در اینجا، سرور [“orchid”] دسته را برای واکشی داده ها از پایگاه داده مجازی orchid برمی گرداند. روش جستجوی گزینه ای برای انتخاب توالی ها بر اساس معیارها فراهم می کند و ما توالی را با شناسه 2765658 انتخاب کرده ایم. lookup اطلاعات توالی را به عنوان SeqRecordobject برمی گرداند. از آنجا که، ما قبلاً می دانیم که چگونه با SeqRecord کار کنیم ، دریافت داده ها از آن آسان است.

حذف یک پایگاه داده

حذف پایگاه داده به سادگی فراخوانی متد remove_database با نام پایگاه داده مناسب و سپس انجام آن به شرح زیر است

 

منبع.

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

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

دیدگاه شما

بدون دیدگاه