در این پست در مورد Volcano Plot که یکی از گرافهای مهم در دنیای زیستشناسی مدرن، که با ابداع ماشینهای توالی یابی شروع شد، می پردازم. قبل از شروع، Volcano همانطور که حدس زدید به معنی آتشفشان است. حالا چرا این گراف را به این رسم، می نامند؟ خودتان قضاوت کنید:
و «ولکانو» در دنیای واقعی:
برای اولین بار محققان از این گراف برای نمایش دادههای Micro array که در واقع تکنیکی برای اندازه گیری میزان بیان ژنها است استفاده کردند. برای توضیح این گراف سه ژن A, B ، و C در نظر بگیرید(در تکنولوژی Micro array و یا تکنولوژیهای جدید تر مانند RNA-sequencing میزان بیان هزاران ژن، بطور همزمان اندازه گیری می شوند.). آنچه در مورد بیان ژنها مورد نظر است میزان تغییر آنها در شرایط مختلف است. در مثال کوچک ما فرض می کنیم موجود زندهای داریم که فقط سهژن از سه ژن تشکیل شده است! و باز فرض میکنیم دمای رشد طبیعیاش ۱۰ درجه است. سوال ما این است که میزان بیان ژنهای این موجود ما در صورتی که در دمای ۵۰ درجه قرار بگیرد چه تغییری می کند؟
چرا میزان بیان ژنها مهم است؟
شاید اگر شما زیست شناس نیستید ولی علاقمند به زیست شناسی و داده پردازی زیستی، سوال برایتان پیش بیاید که چرا میزان بیان ژنها مهم است. ابتدا که این سوال مهمی است و پاسخش نیاز به پستی مفصلتر دارد. با این حال به طور خلاصه این طور می شود گفت که سلولهای بدن ما در برابر تغییرات محیطی بیان ژنها یشان تغییر می کند تا بتوانند پاسخ مناسب در برابر تغییر داشته باشند. در واقع پروتیین ها که واحدهای عملکردی سلول های ما هستند توسط ژنها کد می شوند و طبیعی است که در شرایط مختلف به تعداد بیشتر یا کمتری از پروتیینها نیاز هست. این میزان کم یا زیاد پروتیینها توسط میزان بیان ژنها کنترل می شود. مثال سادهاش این است وقتی شما گوشت می خورید آنزیمهایی (که در واقع نوعی پروتیین هستند) بیشتر نیاز هستند که بتوانند پروتیین ها موجود در گوشت با به واحدهای تشکیل دهنده آنها تجزیه کنند. در حالی که وقتی کیک تولدتان را می خورید آنزیماهای بیشتر نیاز هستند که بتوانند کربوهیدراتهای موجود در کیک رو به قندهای ساده قابل جذب تبدیل کنند. این تغییر مورد نیاز بر اساس آنچه شما میل می کنید (تغییرات محیطی) در سطح سلولهای معده و روده شما توسط تغییر در میزان بیان ژنهای تولید کنندهی آنزیم های مورد نیاز برای تجزیه مواد غذایی صورت میگیرد.
برای پاسخ به سوال، آزمایش سادهای طراحی می کنیم. شش عدد از موجود زنده فرضیمان را به دو گروه سه تایی تقسیم می کنیم و به مدت یک ساعت همزمان دو گروه را به طور جداگانه در دو دمای ۱۰ درجه (دمای طبیعی) و ۵۰ درجه (دمای مورد آزمایش) قرار می دهیم و در انتها آزمایش نمونهها به آزمایشگاه میفرستیم تا با تکنیک Micro array میزان سه ژن مورد نظر ما را در آن نمونهها اندازهگیری کنند.
اینکه ما برای هر شرایط آزمایشگاهی سه عدد از موجود (n=3)، انتخاب کردیم دلیل آماری دارد. در واقع ۳ کمترین جمعیت آماری است که ما وقتی می خواهیم هر فرضیه را بین دو گروه مورد آزمایش مقایسه کنیم نیاز داریم تا بتوانیم از تستهای آماری برای در یا قبول هر تفاوت معنی داری استفاده کنیم.
فرض کنید آزمایشگاه نتایج را برای ما در فایل اکسلی فرستاده است که به صورت زیر است:
همانطور که مشخص است هر ردیف اندازهگیریها و محاسبات مربوط به هر ژن را در خود دارند. شش ستون اول مربوط به اندازه گیری بیان هر ژن در هر نمونه است. دو گروه آزمایش با دو رنگ قرمز و سیاه نمایش داده شده و هر ستون بر اساس شرایط آزمایش (T10,T50) و نمونه مورد نظر (Sample1-6) نام گذاری شده است.
با همین اطلاعات شش ستون اول می توان گفت که تغییرات بیان ژنها در پاسخ به دمای ۵۰ درجه به چه صورتی است. با اینحال دقت کنید، وقتی تعداد ژنها بیست هزار و تعداد نمونهها بالای صد باشد استفاده از چشم برای قبول یا رد فرضیه علمی ما غیرممکن می شود. اینجاست که ما نیاز با علم آمار و ریاضی برای خلاصه گیری سیستماتیک کمی و در نهایت مقایسه گروههای مورد آزمایشمان نیاز پیدا می کنیم.
اولین کمیت آماری که می تواند خلاصه کمی باشد استفاده از میانگین است. ما می توانیم میانگین بیان ژنها را برای هر ژن در هر گروه آزمایش محاسبه کنیم و در واقع برای بیان هر ژن دو کمیت به جای شش کمیت داشته باشیم که تا حدود زیادی همان اطلاعات را در خود جای داده است. به دو ستون خاکستری میانگین بیان ژنها در هر گروه آزمایشی دقت کنید. کارمان ساده تر شد. برای مقایسه دو گروه می توانیم براحتی فقط از میانگین بیان ژنها را استفاده کنیم. آیا می شود باز هم کارمان را راحت تر کنیم و به یک عدد برسیم که تمام اطلاعات مقایسه بیان ژنهای دو گروه را داشته باشد؟ جواب مثبت است. می توانیم با تقسیم میانگین بیان ژن در گروه مورد سوال (دمای ۵۰) به میانگین بیان ژن ها در گروه کنترل (دمای ۱۰) به نسبت تغییر میانگین بیان در هر ژن برسیم که به اصطلاح Fold Change نامیده می شود. خب، حالا ما با فقط با بررسی یک کمیت داریم بجای ششی کمیت برای هر ژن می توانیم بگوییم چه اتفاقی برای آن ژن در شرایط مورد نظر ما می افتد. به عنوان برای مثال ژن A نسبت به دست آمده ۱ است، و این به این مفهوم است میزان بیان ژن A تغییری در دمای ۵۰ درجه نداشته است. تا همین جا هم متوجه هستیم که علم آمار چرا در کار با دادههای بزرگ به طور کل و در موضوع مورد نظر ما که زیست داده است، مهم و ضروری است. منتهی هنوز کار تمام نشده. اگر دقت کنید متوجه می شوید که نسبتهای محاسبه شده دامنه تغییر زیادی دارند، و از طرفی زمانی که بیان یک ژن پایین بیاید نسبت تغییرات عدد اعشاری میشود. این دو عامل کمی کار تفسیر را وقتی تعداد ژنها زیاد است دچار مشکل می کند. به همین منظور محققان از تابع لگاریتم در پایهی ۲ (Log2) استفاده می کنند که در واقع کسرهای اعشاری به به عدد های منفی تبدیل می کند و تغییرات بزرگ را به عددهای کوچک تر. در واقع همانطور که در جدول نشان داده شده، بالا و پایین شدن ژن ها با استفاده از تابع لگاریتمی در مبنای ۲ به عددهای مثبت و منفی تبدیل می شود که کار ما را برای تفسیر بسیار راحت تر می کنند. تا اینجا ما با استفاده از ستون (Log2(Fold change براحتی تشخیص می دهیم بیان کدام ژن بالا، پایین، یا ثابت مانده است و میزان شدت تغییرات چقدر است. بنابراین با کمک علم آمار و ریاضی از شش عدد خام اندازهگیری شده توسط دستگاه به یک عدد رسیدیم که مقدار،شدت و جهت تغییرات را در خودش دارد!
به Volcano Plot نزدیک شده ایم و باید یک کمیت دیگر را بفهمیم تا بتوانیم این گراف مهم را تولید و تفسیر کینم و آن کمیت P-value است. اگر با مفهوم p-value و دلیل وجود و نحوهی محاسبهی آن در علم آمار آشنایی ندارید توصیه می کنم قبل از ادامه پست بروید و آشنایی نسبی پیدا کنید و برگردید. اگر هم آشنایی دارید برای یادآوری:
مقدار p-value اندازه گیری احتمال این است که یک تفاوت مشاهده شده (تفاوت میانگین بیان ژن A در دمای ۵۰ و ۱۰ درجه) فقط به طور تصادفی اتفاق افتاده است. هرچه مقدار p-value کمتر باشد ، اهمیت آماری اختلاف مشاهده شده بیشتر است. مقدار p-value را می توان به عنوان جایگزین یا علاوه بر سطح اطمینان از پیش انتخاب شده برای آزمون فرضیه استفاده کرد.
بنابراین ستون p-value به ما میگوید این نسبتهای مشاهده شده که در واقع بیانگر تفاوت در بیان ژن ها در دو گروه آزمایش شده است چقدر به دور از تصادفی بودن است. و درست به همین دلیل ما بجای یک نمونه در هر گروه آزمایش نیاز به حداقل ۳ تکرار داریم تا بتوانیم p-value را محاسبه کنیم، بهعبارتی با یک گل بهار نمی شود!
خب، حالا اگر به جدول فرستاده شده برای ما نگاه کنید تنها یک ستون مانده است که هنوز تکلیفش را نمی دانیم و آن (Log10(P-value- است. چرا باید از p-value ، لگاریتم بر مبنای ۱۰ بگیریم و در منفی ضرب کنیم. باز هم جوابش بر میگردد به اینکه همانطور که بزودی متوجه می شود. تفسیر اعداد بسیار کوچک و تشخیص تفاوت آنها در نمودار از لحاظ بصری برای چشمان ما بسیار سخت است. با منفی لگاریتم در مبنای ۱۰ ما می توانیم اعداد بسیار کوچک اعشاری را به اعداد طبیعی مثبتی تبدیل کنیم که هر چه عدد بالاتر برود به مفهموم این است که در واقع p-value خیلی کوچک و نزدیک صفر دارد و اهمیت آماری آن بیشتر است.
بسیار خب، حالا آماده هستیم بگوییم Volcano plot چیست؟
چیزی نیست جز رسم نسبت تغییر بیان میانگین ژنها در لگاریتم بر مبنای ۲ -(Log2(Fold Change در محور ایکسها به میزان اهمیت آماری آن ها (Log10(p-value در محور ایگرگ ها.
خب حالا ما براحتی می توانیم برای آزمایش سادهی خودمان Volcano plot را رسم کنیم و نتایج را تفسیر کنیم.
همان طور که ملاحظه می کنید Volcano plot در واقع خلاصهی است از میزان تغییر بیان ژنهای موجود سه ژنی ما در دمای ۵۰ درجه در مقایسه با دمای ۱۰ درجه.
حالا ما می دانیم باید آزمایشان بیشتری را طراحی کنیم تا بتوانیم نقش افزایش و کاهش به ترتیب ژنهای B و A را در پاسخ به دمای ۵۰ درجه کشف کنیم!
بسیار خب با این مثال ساده متوجه شدیم که چرا و چگونه Volcano plot رسم و تفسیر می شود. حالا فرض کنید موجود ما بجای سه ژن، بیست هزار ژن مانند انسان داشته باشد. اگر بخواهید دادههای بیان ژنهای انسان را با Volcano plot در آزمایشی که طراحی کردهاید، نشان تفسیر کنید شبیه به نموداری می شود که در اول این پست آمده است. حالا می توانید برگردید به آن نمودار و براحتی تفسیرش کنید.
در بخش دوم، دربارهی نحوهی رسم Volcano plot همراه با کد آن در زبان برنامه نویسی R توضیح خواهم داد.