ژنها دارای اطلاعاتی هستند که این اطلاعات ویژگیهای انسان را می سازد.ژنها ازترکیب پایهای به نام نوکلئوتید تشکیل شده اند. ترکیب پایه از۴ساختار تشکیل شده است"ادنینA[3]/گوانینG[4]/سیتوزینC[5]/ تیمینT[6]“در حقیقت برای بیان هر ژن از۴حرفA,T,C,Gاستفاده میکنیم که اصطلاحا به آن توالی نوکلئوتیدی گفته می شود.
توالی ژنهای مربوط به بیماریها در بدن انسانهای نرمال به یک شکل است و بیماری زمانی اتفاق می افتد که در این توالی تغییری ایجاد شود.البته طول توالی نوکلئوتیدی بیماریهای مختلف با یکدیگر متفاوت هستند.به طور مثال طول توالی ژن انسولین۳۳۳کاراکتر است. تا کنون بیشترین طول توالی نوکلئوتیدی شناخته شده مربوط به بیماری دوشن میباشد. طول این توالی۲٫۳مگا میباشد.
به عنوان مثالهایی از بیماریهای ژنتیکی میتوان از زالی، سرطان های پوست، عقب افتادگیذهنی، کم خونی داسی شکل، فنیل کتونوری، تالاسمی و نظایر آن نام برد]۲[.
برخی از مواردی که بررسیهای ژنتیکی انجام میپذیرد به شرح ذیل است:
-
- زوجی که قصد تشکیل خانواده دارند و یکی از آنها یا یکی از خویشان نزدیک او دچار بیماری ارثی است.
-
- فردی که فرزندی با یک نقص مادرزادی حاد دارد.
-
- کودکی با یک مشکل جسمی که میتواند ژنتیکی باشد.
برای انجام این تستهای ژنتیکی در وهله اول نیاز به داشتن شجرهنامه زوجین در هنگام تشکیل خوانواده، والدین در هنگام تستهای بارداری و بیمار در هنگام بررسی یک بیمار ژنتیکی داریم. پس از دانستن شجرهنامه در هنگام برخورد با بیماریها نیاز به ذخیره اطلاعاتی درباره بیمار داریم.
برای ذخیره داده های مربوط به بیماریهای ژنتیکی نیاز به پایگاهدادهای داریم که بتواند به خوبی از ذخیره انواع داده ها پشتیبانی کند. برای این داده ها نیاز به مدلدادهای داریم که بتواند علاوه بر ذخیره این داده ها به بررسی و تجزیه تحلیل این داده ها بپردازد. یکی از مسایل مهم برای انتخاب مدل داده این است که در مورد داده های پزشکی برای هر بیمار ممکن است خصوصیاتی را ذخیره کنیم که برای دیگر بیماران نیازی به آن نداشته باشیم مثلا ممکن است برای یک بیمار نیاز به ذخیره جواب آزمایش خون داشته باشیم اما برای بیمار دیگر نیاز به انجام این تست و ذخیره این آزمایش نداشته باشیم و یا ممکن است در حین بررسی شرایط بیمار به مواردی برخورد کنیم که از ابتدا پیش بینی نشده بود، به این دلیل بهتر است از ابتدا یک طرح کلی برای پایگاهداده طراحی نشود تا بتوانیم هر خصوصیتی را که نیاز داشتیم یا در حین کار با آن مواجه شدیم برای بیمار اضافه کنیم.با توجه به این موضوع به این نتیجه می رسیم که از پایگاهداده های SQL نمیتوانیم استفاده کنیم و پایگاهداده های NOSQL برای این امر مناسبتر هستند.
مسئله مهم دیگر این است که با توجه به نیاز به ژنتیک اعضای خانواده و نسلهای قبل بیمار باید توانایی افزودن موجودیتها(نسل های قبل و بعد)ی جدید را در حین انجام تحقیقات به این پایگاهداده داشته باشیم. در مورد انتقال بیماریها تشخیص مسیر انتقال بیماری اهمیت ویژهای دارد زیرا باید مشخص شود که بیماری از پدر یا مادر، در مرحله بعد از کدام یک از اجداد به ارث رسیده و همینطور تشخیص داده شود که این بیماری ممکن است به کدام یک از فرزندان دختر یا پسر به ارث برسد. به این دلیل باید پایگاهدادهای طراحی کنیم که قابلیت استخراج روابط بین موجودیتها را دارا باشد. البته روابط بین موجودیتها در پایگاهداده های رابطهای نیز قابل استخراج است اما اولا به دلیل نیاز به نوشتن رویههای تودرتو امر بسیار پیچیده و زمان بر است ثانیا در مدلداده گراف میتوانیم بر روی یالها نیز خصوصیاتی را برای ارتباط موجودیتها تعریف کنیم. با توجه به این سه مسئله به این نتیجه میرسیم پایگاهداده گرافی بهترین انتخاب برای این نوع بیماری ها است.
در این پایان نامه با بهره گرفتن از مدلداده گراف پایگاهدادهای را طراحی خواهیم کرد که توانایی ذخیره انواع و حجمهای مختلف داده را دارا باشد. پایگاهدادهطراحی شده باید قابلیت انجام عملیات برروی این داده های ذخیره شده را داشته باشد و بتواند نتایج مورد نظر در بررسی انتقال بیماریهای ژنتیکی را ازآن استخراج کند. نتایجی مانند مسیر انتقال بیماری،امکان انتقال بیماری به نسل بعد یا امکان انتقال بیماری به جنسیت خاصی از نسل بعد، درصد انتقال بیماری و …
در این پایـگاهداده موجودیتها که همان افراد هستند درون گرهها ذخیره میشوند، در گرهها علاوه
بر مشخصات عمومی بیماران تمام اطلاعات مربوط به بیــماری افراد، شرایط و علائم بیماران نیز ذخیره
میشوند. در سطوح بعدی گراف، نسلهای بالاتر بیماران همراه با اطلاعات مربوط به بیماری مخصوصی
که در حال تحقیق در مورد آن هستند ذخیره خواهد شد. برای نمایش روابط بین افراد در این مدلداده از
یالها استفاده خواهیم کـــرد. به این صورت که اگر بیماری از شخصی به شخص دیگری انتقال یافت از
یال جهتدار برای نمایش این انتقال استفاده خواهیــم کرد. علاوه بر اینها میتـــوانیم بر روی یالهـــا
توضیحاتی را نیز اضافه نمائیم. توضیحاتی مانند درصد احتمال انتقال یک بیماری خاص از یک فرد بهفرد
دیگر.
۱-۳-اهمیت و ضرورت انجام تحقیق
تا کنون از چند مدلداده برای ذخیره اطلاعات پزشکی استفاده شده است اما هر یک از این مدلداده ها دارای معایبی هستند که باعث میشوند مدلدادهی ایدهآلی نباشند. یکی از این مدلداده ها مدلداده ی رابطهای میباشد.برخی از دادههایی که باید توسط پایگاهداده ذخیره و بررسی شود مانند نتایج رادیولوژی بیماران، نوار قلب و…به صورت تصویر هستند بنابراین پایگاهداده باید قادر به ذخیره دادههایی از قبیل تصویر باشد اما این مدلداده قادر به پشتیبانی از برخی از انواع داده نظیر صوت و تصویر نمی باشد. همچنین در این نوع پایگاهداده که برای تعریف داده ها باید شمای از پیش تعریف شده داشته باشیم، قادر به افزودن موجودیتهای جدید نمیباشیم و یافتن روابط بین افراد کار بسیار پیچیده و زمانبری می باشد.
مدلدادهی بعدی که مدلدادهی شی رابطهای میباشد با بهره گرفتن از طراحی EAVبه خوبی از عهده مشکل شمای از پیش تعیین شده و تعریف فرمت داده های مختلف بر می آید اما همچنان مشکل روابط بین افراد باقیست.
اما با بهره گرفتن از مدلداده گراف میتوانیم مدلدادهای را برای بیماری های ژنتیکی پیاده سازی کنیم که از فرمتهای مختلف داده و حجم داده ها در حوزه بیماری های ژنتیکی پشتیبانی کند. این مدلداده می تواند به راحتی موجودیتهای جدید را اضافه کند و در حین کار اگر نیاز به افزودن صفات جدید برای موجودیتها داشتیم این کار به راحتی امکان پذیر میباشد. با این مدلداده روابط بین افراد به دلیل استفاده از یالها به راحتی قابل ارزیابی و نتیجه گیری میباشد.
۱-۴-جنبه جدید بودن و نوآوری در تحقیق
در این تحقیق با توجه به فرمت و حجم داده های موجود در بررسی انتقال بیماریهای ژنتیکی و اهمیت بررسی روابط بین افراد در این نوع بیماری واین امر مهم که برای هر بیمار ممکن است نیاز به ذخیره داده های خاصی داشته باشیم، بنابراین قادر به تعریف شمای از پیش تعیین شده نیستیم، همین طور نیاز به افزودن موجودیتهای جدید در حین انجام کار، پایگاهداده مناسبی طراحی میکنیم تا قادر به پشتیبانی از این مسائل باشد.
۱-۵-اهداف مشخص تحقیق
طراحی مدل داده ای جهت پشتیبانی از ذخیره و بررسی فرمتهای مختلف داده های تولید شده در مسیر کشف انتقال بیماریهای ژنتیکی.
توانایی افزودن یک موجودیت جدید در هر زمان و هر مرحله مورد نیاز.
-توانایی افزودن یک صفت جدید برای هر موجودیت خاص در هر زمان و هر مرحله مورد نیاز.
۱-۶-مروری بر ساختار پایان نامه
در این پایان نامه مدل دادهای مناسب برای ذخیره داده های مربوط به بیماری های ژنتیکی طراحی خواهیم نمود. در فصل اول پایان نامه به طور کلی در مورد موضوع و اهداف و دلیل این کار صحبت خواهیم نمود. در فصل دوم مفاهیم مورد نیاز برای آشنایی با موضوع مورد بحث مانند انواع پایگاه داده و بیماری ها و ذخیره داده های پزشکی را بیان خواهیم نمود.
در فصل سوم با کارهایی که در گذشته در این خصوص انجام شده است آشنا خواهیم شد و مشکلات و ضعف های این راه ها را بیان خواهیم نمود.در فصل چهارم پرس و جوهای مورد نیاز در مورد بیماری های ژنتیکی را بیان خواهیم نمود و مدل داده ای را طراحی خواهیم نمود تا از این نیاز ها پشتیبانی نماید.
فصل دوم: مفاهیم
۲-۱-مقدمه
برای ذخیره داده ها می توان از پایگاهداده و مدلداده های مختلفی استفاده نمود.به طور کلیمدلداده ها به دو نوع مدلداده های ساخت یافته و غیر ساخت یافته تقسیم میشوندو هر یک از این دو نوع دسته بندیهای مختلفی دارند و از داده های مختلفی با ویژگیهای مختلف پشتیبانی می کنند که در خصوص انتخاب پایگاهداده باید به درستی تصمیم گرفته شود تا پایگاهداده به خوبی مدیریت داده ها را انجام دهد.
در این بخش با انواع مدلداده و مفهوم مدیریت داده ها آشنا میشویم. همچنین دادههای پزشکی را بررسی مینماییم و با توجه به خصوصیات داده های پزشکی به نتیجه مناسب در خصوص انتخاب پایگاهداده میرسیم.
۲-۲-مدل داده چیست؟
مدل کردن داده(data modeling)روشی است برای توصیف داده ها و عملیات روی آنها در پایگاه داده.به وسیله مدلداده ما میتوانیم نوع داده های ذخیره شده درون پایگاهداده را مشخص کنیم. یعنی اینکه این پایگاهداده از چه نوع دادههایی پشتیبانی می کند زیرا تمام پایگاهداده ها از تمام انواع داده ها پشتیبانی نمیکنند به عنوان مثال پایگاهداده رابطهای نمیتواند دادههایی مانند صوت و تصویر را درون خود ذخیره و بازیابی کند،علاوه بر این با توجه به مدلداده حجم داده هایی که میتوانند درون پایگاه ذخیره شوند نیز مشخص می شود]۹[.
مدلداده مشخص می کند که بر روی داده های ذخیره شده درون پایگاهداده چه عملیاتی را میتوانیم انجام دهیم.برای مثال در مدل رابطهای عملیاتی همچون گزینش (selection)،طرح ریزی(projection) و اتصال (join)تعریف میگردد.علاوه براینمدلداده تعیین می کند یک پایگاهداده چگونه داده های درون خود را به کاربران و برنامه های کاربردی نمایش دهد.
هر مدلداده باید از ۳ جنبه زیر پشتیبانی کند:
ساختمانهای داده
یکی از عناصر اصلی مدلداده ساختمان داده است. یعنی مدلداده باید نحوه نمایش موجودیتها را مشخص کند و همچنین عملیاتی که برروی این موجودیتها انجام می گردد. یعنی هر مدلداده باید دارای نمادهایی برای نمایش انواع موجودیت، انواع صفات خاصه و انواع ارتباط بین موجودیتها باشد.جامعیتهر مدلداده باید راه کارهایی برای تضمین اعتبار داده ها در پایگاهداده داشته باشد. به عبارتی باید بتوان داده های نامعتبر را تشخیص دهد و از ورود این داده ها به پایگاهداده جلوگیری کند. به این قوانین اصطلاحا جامعیت میگویند.
عملیاتیک مدلدادهباید بتواند مجموعه عملیاتی را تعریف کند که می تواند روی داده های ذخیره شده در پایگاهداده انجام شود. این عملیات امکان کار با داده را می دهند مانند اضافه،حذف، جستجو، ویرایش و بازیابی داده.
از نظر کلی مدلداده ها به دو نوع ساخت یافتهوغیرساختیافته تقسیم میشوند.
۲-۲-۱-مدل های داده ساخت یافته
مدلداده های ساخت یافته از دستورات SQLبرای نوشتن پایگاهداده استفاده می کنند و برای استفاده از آنها باید فرمت دادههایی را که قصد ذخیره آنها را داریم از قبل تعریف کنیم. مدلداده های ساخت یافته به ۳دسته تقسیم میشوند که در ادامه با هر یک از آنها آشنا میشویم.
۲-۲-۱-۱-مدل داده رابطهای
پایگاهداده رابطهای از دید کاربرانیک مجموعه از جدولهایی است که به درستی قابل درک می باشند.سه مفهوم اساسی در این مدل به شرح زیر وجود دارد:۱-جدول ۲-ستونها ۳-سطرها.این مدل براساس جدول دوبعدی(سطر و ستون)بنا شده است. همین امر امکان بازیابی سریع داده ها را فراهم میکند.هر جدول مربوط به یک موجودیت است و هرسطر نشان دهنده یک نمونه از آن موجودیت میباشد.هر جدول شامل رکوردها(ردیف)و صفات یا فیلدها(ستون)است]۳[.