علم داده در علوم زیستی: نجات زندگی با استفاده نرم‌افزار

در حالیکه فناوری توسط سیستم‌های مبتنی بر MapReduce تحول را تجربه می‌کرد، علوم زیستی نیز در حال تجربه دگرگونی خاص خود توسط نسل دوم (یا نسل بعدی) فناوری توالی (sequencing technology) بود؛

ماشین‌های توالی در واقع ابزارهای علمی هستند که حروف شیمیایی (A, C, T و G) را که تشکیل دهنده ژنوم، یعنی مجموعه کامل ماده ژنتیکی، هستند می‌خوانند. دانستن توالی ژنوم در زمانی که مقاله MapReduce منتشر گردید (سال 2004)، 20 میلیون دلار هزینه در برداشت و چندین ماه طول می‌کشید تا به انجام برسد و امروزه (در سال 2015)، با چند هزار دلار و در طی چند روز قابل دستیابی است. در حالیکه ایجاد اولین ژنوم انسان چند دهه به طول انجامید، تنها در سال 2014، 228000 توالی ژنوم در دنیا تخمین زده شد که این تخمین حدود 20 پتابایت (PB) از توالی داده‌های تولید شده در سال 2014 را نشان می‌دهد.

این داده‌های عظیم DNA، دانشمندان داده در حوزه بیولوژیک را بر آن داشت که در جهت پردازش داده‌ها به صورت به‌هنگام و مقیاس‌پذیر از نرم‌افزار فعلی ژنومیک (genomics) استفاده نمایند. AMPLab یک آزمایشگاه پژوهشی در بخش علوم کامیپوتر در UC Berkeley است که بر روی ایجاد سیستم‌ها و اپلیکیشن‌های جدید عظیم‌داده (big data) متمرکز شده است. به طور مثال آپاچی اسپارک  یکی از سیستم‌هایی است که در AMPLab رشد و توسعه پیدا کرده است.

این امکان شگفت‌انگیز را در نظر بگیرید: ما امروز فناوری داریم که می‌تواند هر ژنومی را که در یک سال جمع‌آوری شده است در بازه زمانی از مرتبه روز با استفاده از چند صد ماشین تحلیل نماید. در حالیکه AMPLab به دلایل فنی ژنومیک را به عنوان یک کاربرد ایده‌آل برای عظیم‌داده شناسایی نمود، اما دلایل مهم‌تری وجود دارد: پردازش به‌هنگام داده‌های زیستی می‌تواند منجر به نجات زندگی انسان‌ها شود.

DNA به طور مستقیم برای سنتز اسیدهای آمینه استفاده نمی‌شود. درعوض، فرایندی به نام رونویسی (transcription) توالی DNA را که برای یک پروتئین در RNA پیام‌رسان (mRNA) رمزگذاری می‌شود، کپی می‌کند. این mRNAها اطلاعات را از هسته سلول‌های شما به سیتوپلاسم اطراف جهت ایجاد پروتئین در فرآیند به نام ترجمه (translation) منتقل می‌نمایند.

در سطح سلولی می‌توان گفت بدن یک سیستم کاملاً توزیع شده است و هیچ چیز متمرکز نیست. در واقع مانند یک خوشه از 37/2 تریلیون سلول است که کدی مشابه  یعنی DNA را اجرا می‌نمایند.

توالی و همراستاسازی DNA:

نسل دوم توالی‌سازی (sequencing) با توجه به فروشندگان متعدد سخت‌افزار به سرعت در حال تكامل بوده و روش‌های جديد توالی‌سازی هر شش ماه يكبار توسعه می‌یابند؛ با اين حال، ويژگی مشترك همه اين فناوری‌ها استفاده از روش‌های موازی به صورت گسترده است به طوريكه هزاران يا حتي ميليون‌ها واكنش به صورت همزمان رخ می‌دهند. DNA دو رشته‌ای از وسط به دو قسمت تقسيم می‌شود و هر رشته بارها كپی شده و كپی‌ها به صورت تصادفی به بخش‌های كوچكی با طول‌های مختلف تحت عنوان reads جهت ايجاد توالي شكسته می‌شوند. Sequencer حروف را در هریک از این readها به صورت موازی می‌خواند و به عنوان خروجی یک فایل خام ASCII شامل هریک از این readها ایجاد می‌شود (به طور مثال AGTTTCGGGATC…)، همچنین تخمینی از کیفیت خواندن حروف ارائه می‌گردد.

یک بخش از نرم‌افزار تحت عنوان aligner (همراستاساز) بر روی هریک از این readها جهت یافتن موقعیت آن در ژنوم مرجع کار می‌کند که در شکل زیر نشان داده شده است. یک ژنوم کامل انسان دارای طول حدود 3 میلیارد زوج پایه (A, C, T, G) می‌باشد. ژنوم مرجع مانند اطراف یک تصویر در پازل عمل کرده و مسیرها و رنگ‌های کلی ژنوم انسان را مشخص می‌نماید. هر read مانند یک قطعه از پازل است که نیازمند قرار گرفتن در محلی مناسب است. در اینجا از شاخصی تحت عنوان ویرایش فاصله استفاده می‌شود. از آنجا که انسان‌ها 99.9% مشابه یکدیگر می‌باشند، اکثریت readها به خوبی نسبت به مرجع قرار گرفته و ویرایش فاصله کمی دارند. چالش ایجاد یک همراستاسازی خوب، نحوه به کار بردن readهای ویژه است.

 

پلتفرم مقیاس‌پذیر تحلیل ژنوم: ADAM

هم‌ترازسازی readها با ژنوم مرجع تنها اولین گام از سری گام‌های ضروری برای ایجاد گزارش‌هایی است که برای تحقیقات بالینی مفید باشند. مراحل اولیه این فرآیند پردازشی مشابه هر ETL (استخراج - تبدیل - بارگذاری) دیگری به نظر می‌رسد که نیازمند حذف تکرار و نرمالیزاسیون پیش از انجام تحلیل است. فرآِیند توالی‌سازی DNA را تکرار می‌کند و ممکن است readهای مشابه چندین بار تولید شود که باید این موارد مشخص شوند. همچنین تخمینی از کیفیت خواندن هر حرف ارائه می‌گردد که نیازمند انجام تنظیماتی است. در حال حاضر این پیش‌پردازش با استفاده از ابزارهای تک منظوره چندین روز به طور می‌انجامد. ADAM پلتفرمی است که می‌تواند همین عملیات را در کمتر از دو ساعت به انجام برساند.  در واقع پلتفرمی برای تحلیل ژنوم است که بر روی پردازش چندین پتابایت داده کامل ژنوم با پوشش بالا و سریع متمرکز شده است. این پلتفرم مبتنی بر Apache Avro ،Parquet و Spark است.

دسترسی ستون‌ - محور با استفاده از Parquet

فرمت فایل‌های SAM و BAM (Sequence Alignment/Map) به صورت سطر- محور می‌باشد. به بیان دیگر، داده‌ها برای هر رکورد به صورت یک خط از متن یا یک رکورد باینری ذخیره می‌شود. به طور مثال یک read در فایل SAM به این شکل می‌باشد:

read1 99 chrom1 7 30 8M2I4M1D3M = 37 39 TTAGATAAAGGATACTG *

read1 147 chrom1 37 30 9M = 7 -39 CAGCGGCAT * NM:i:1

 

یک فایل نوعی SAM/BAM شامل میلیون‌ها سطر است که هر سطر مربوط به یک خواندن از DNA می‌باشد که در توالی آمده است.

در این مثال، read، که با کد شناسایی read1 مشخص شده است، به ژنوم مرجع در کروموزوم 1 در محل‌های 7 و 37 نگاشت شده است. امتیاز MapQ بیانگر احتمال این است که توالی به مرجع به طور صحیح نگاشت شده باشد.

با استفاده از Parquet می‌توان به سرعت readها را برای تحلیل فیلتر نمود به طور مثال یک ژن را پیدا نمود یا نگاشت‌های ضعیف را نادیده گرفت. همچنین تحقق دقیق ستون‌های مورد نظر امکان‌پذیر می‌شود.

در واقع می‌توان گفت ADAM به عنوان پلتفرمی باز و مقیاس‌پذیر که داده‌ها را در Avro و Parquet ذخیره نموده است، برای توسعه‌دهندگان امکان استفاده از سیستم‌هایی نظیر SparkSQL ،Impala ،Apache Pig و Apache Hive جهت تحلیل داده‌ها را فراهم می‌آورد. همچنین از jobهای نوشته شده در Scala ،Java و Python پشتیبانی می‌نماید.

از تبلیغات شخصی‌سازی شده تا داروهای شخصی‌سازی شده:

امروزه، داده‌هایی که برای تبلیغات شخصی‌سازی شده مورد تحلیل قرار می‌گیرند بیشتر از داده‌هایی است که برای داروهای شخصی‌سازی شده استفاده می‌شود اما در آینده اینطور نخواهد بود. با استفاده از شخصی‌سازی داروها، افراد خواهند توانست خدمات سلامت شخصی‌سازی شده را با توجه به پروفایل DNA منحصر به فرد خودشان دریافت نمایند. با توالی‌سازی هر چه بیشتر ژنوم افراد، افزایش قدرت آماری این اجازه را به پژوهشگران خواهد داد تا مکانیزم‌های ژنتیکی مربوط به بیماری‌ها را درک کرده و این کشف‌ها را به مدل درمانی شخصی‌سازی شده جهت بهبود درمان آن بیماران تبدیل نمایند. این در حالی است که تولید داده‌های ژنومیک هر سال در مقیاس پتابایت چندین برابر می‌شود.

جهت اطلاعات بیشتر در این زمینه کتاب Advanced Analytics with Spark: Patterns for Learning from Data at Scale، فصلی را به تحلیل داده‌های ژنتیکی با استفاده از ADAM و Spark اختصاص داده است.