برنامه نویسی

نحوه شناسایی پروتئین های ضروری با استفاده از مرکزیت بین

شناسایی پروتئین های ضروری در سال های اخیر به یکی از زمینه های تحقیقاتی مهم تبدیل شده است. ارتباط بین پروتئین‌های ضروری و ژن‌های بیماری بسیار مهم شده است تشخیص و درمان بیماری. آزمایش‌های بیولوژیکی سنتی اغلب بسیار پرهزینه و زمان‌بر هستند، به این معنی که روش‌های محاسباتی حیاتی‌تر می‌شوند.

در این آموزش از آن استفاده خواهیم کرد مرکزیت بینابینی برای شناسایی پروتئین های ضروری برای این کار، ما از Memgraph، یک پلت فرم تجزیه و تحلیل گراف، استفاده می کنیم که می تواند تجزیه و تحلیل گراف پیچیده را در انواع شبکه ها انجام دهد. حتی اگر ما از مرکزیت میانی استفاده خواهیم کرد، الگوریتم‌های گراف دیگری نیز می‌توانند برای آن اعمال شوند شبکه تعامل پروتئین و پروتئینمانند سایر معیارهای مرکزیت یا الگوریتم PageRank.

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

پیش نیازها

برای این آموزش شما نیاز دارید:

  • یک دویدن ممگراف نمونه، مثال؛
  • را آزمایشگاه ممگراف رابط کاربری بصری

ساده ترین راه برای نصب هر دو، دانلود تصویر Memgraph Platform Docker است.
فقط Docker را نصب کنید و دستور زیر را اجرا کنید تا همه چیز راه اندازی و اجرا شود:

docker run -it -p 7687:7687 -p 3000:3000 memgraph/memgraph-platform
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این دستور تصویر Memgraph Platform را به صورت محلی جستجو می کند و اگر پیدا نشد، Docker آن را برای شما دانلود می کند.
پس از پایان دانلود و شروع Memgraph، می توانید Memgraph Lab را در مرورگر خود در آدرس باز کنید https://localhost:3000.

1. ساخت مدل داده های نمودار

داده هایی که در این آموزش استفاده خواهیم کرد بر اساس a ایجاد شده است شبکه تعامل پروتئین-پروتئین بافت خاص [1]. این مجموعه داده شامل موارد خاصی است شبکه های تعامل پروتئین-پروتئین برای مختلف بافت های انسانی.

را گره ها در نمودار همه برچسب گذاری شده اند PROTEIN و نشان دهنده پروتئین های موجود در بافت های انسانی است. Gene را وارد کنید پایگاه داده اختصاصی ژن در مرکز ملی اطلاعات بیوتکنولوژی (NCBI) است و شناسه ژن Entrez یک شناسه منحصر به فرد برای یک ژن است که دستورالعمل های خاص پروتئین را نشان می دهد.

برای این آموزش، مجموعه داده‌های موجود را با اطلاعات اضافی خراشیده شده از NCBI گسترش داده‌ایم تا بتوانید به راحتی شبکه‌های پروتئینی را کاوش کنید. هر یک گره دارای خواص:

  • EnterGeneID
  • نماد رسمی
  • OfficialFullName
  • خلاصه

لبه ها از نوع INTERACTION نشان دهنده برهمکنش های فیزیکی خاص بافت بین پروتئین ها است و هیچ خاصیتی را شامل نمی شود.

2. واردات شبکه پروتئین

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

پس از دانلود و استخراج فایل‌های CSV، باید آنها را در ظرف Docker کپی کنیم، جایی که Memgraph می‌تواند به آنها دسترسی داشته باشد.

1. ابتدا پلتفرم Memgraph را پیدا کنید CONTAINER_ID با دویدن:

docker ps
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. اکنون می‌توانید فایل‌ها را در ظرف کپی کنید docker cp دستور:

docker cp interactions_cochlea.csv CONTAINER_ID:/
docker cp interactions_cochlea_properties.csv.csv CONTAINER_ID:/
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تعویض را فراموش نکنید CONTAINER_ID با شناسه واقعی مرحله قبل.

3. بند LOAD CSV شما را قادر می سازد تا داده ها را از یک فایل CSV انتخابی خود در یک پرس و جو بارگیری و استفاده کنید. ابتدا می‌خواهیم گره‌ها را وارد کنیم. کوئری زیر را در آن اجرا کنید آزمایشگاه ممگراف یا mgconsole:

LOAD CSV FROM "/interactions_cochlea_properties.csv"
WITH HEADER DELIMITER "|" AS row
CREATE (n:PROTEIN 
    {EntrezGeneID: ToInteger(row.EntrezGeneID),
    OfficialSymbol: row.OfficialSymbol,
    OfficialFullName: row.OfficialFullName,
    Summary: row.Summary}
    );
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

4. اکنون، می‌خواهیم یک فهرست پایگاه داده ایجاد کنیم تا لبه‌ها را با کارایی بیشتری وارد کنیم:

CREATE INDEX ON :PROTEIN(EntrezGeneID);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

5. در نهایت، می توانیم لبه ها را ایجاد کنیم:

LOAD CSV FROM "/interactions_cochlea.csv"
WITH HEADER DELIMITER "|" AS row
MATCH (a:PROTEIN {EntrezGeneID: toInteger(row.EntrezGeneID1)}), 
(b:PROTEIN {EntrezGeneID: toInteger(row.EntrezGeneID2)})
CREATE (a)-[e:INTERACTION]->(b);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. شناسایی پروتئین های ضروری با مرکزیت بین

کتابخانه نمودار MAGE

پسوندهای گراف پیشرفته Memgraphیا به طور خلاصه، MAGE، یک کتابخانه گراف منبع باز است که شامل پیاده سازی الگوریتم های گراف استاندارد و افزایشی است. شما می توانید از هر یک از الگوریتم ها و همچنین پیاده سازی الگوریتم های خود استفاده کنید.

مرکزیت بین گنجانده شده است MAGE، و اجرای الگوریتم از الهام گرفته شده است الگوریتم برندز.

محاسبه مرکزیت بین هر پروتئین

1. ما یک پرس و جوی Cypher ایجاد می کنیم که الگوریتم مرکزیت بین بودن را برای هر گره فراخوانی می کند و نتایج را در ویژگی ذخیره می کند. BetweennessCentrality:

CALL betweenness_centrality.get(FALSE, TRUE)
YIELD node, betweenness_centrality
SET node.BetweennessCentrality = toFloat(betweenness_centrality);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2. پس از محاسبه مرکزیت بین هر گره، می‌توانیم آنها را بر اساس این مقدار مرتب کنیم. مهم‌ترین پروتئین‌های بافت دارای بالاترین میزان مرکزیت هستند:

MATCH (node:PROTEIN)
RETURN node
ORDER BY node.BetweennessCentrality DESC;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر پرس و جو را در Memgraph Lab اجرا می کنید، نتایج باید مشابه موارد زیر باشد:

ممگراف-آموزش-پروتئین-بین-مرکزیت

نتایج کاملاً واضح است، پروتئین ضروری با بالاترین مرکزیت میانی در آن حلزون گوش بافت است برنامه. بین پروتئین APP و بیماری آلزایمر، که می تواند به عنوان ارتباط بین پروتئین های ضروری و بیماری ها به طور کلی تعبیر شود. در حالی که این یک ساده سازی بسیار بزرگ است، اما هنوز یک آزمایش تحلیل شبکه جالب است.

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

ما همچنین یک ساده ایجاد کرده ایم برنامه وب که می تواند این شبکه های تعامل پروتئین-پروتئین را تجسم کند. فقط دستورالعمل‌های نصب ساده را دنبال کنید، و در نهایت باید ابزاری ساده و در عین حال قدرتمند برای تجزیه و تحلیل تعاملات پروتئین در بافت‌های انسانی داشته باشید.

ممگراف-آموزش-پروتئین-شبکه-تجسم

منابع:
[1]: Marinka Zitnik و Jure Leskovec. (2018). مجموعه داده های BioSNAP: مجموعه داده های شبکه زیست پزشکی استانفورد. http://snap.stanford.edu/biodata.

اطلاعات بیشتر در مورد الگوریتم های گراف و پایگاه های داده گراف را در memgraph.com بخوانید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا