بخشی از مقاله
چکیده
طراحی دارو به روشهای سنتی نیاز به آزمایشهای فراوان بر روی ترکیبات شیمیایی دارد و انجام آزمایشهای گسترده بر روی این ترکیبات فرآیندی زمانبر بوده که ممکن است سالها به طول انجامد و همچنین هزینههای بسیاری را میطلبد. استفاده از تکنیکهای طراحی دارو به کمک کامپیوترموجب تسریع در فرآیند طراحی دارو میشود. کامپیوترها در عمل میتوانند در مدتزمان معین ساختارهای شیمیایی بیشتری را نسبت به شیمیدانان دارویی ایجاد کرده و تست نمایند؛ این فرآیند باعث صرفهجویی در وقت و هزینهها میشود.
در دهههای اخیر روشهای محاسباتی از جمله الگوریتمهای تکاملی به طور فزایندهای در طراحی دارو به منظور یافتن مولکولهای بهینه مورد استفاده قرار میگیرند. در این مقاله با استفاده از ترکیب الگوریتم ژنتیک، تپه نوردی و اتوماتای یادگیری الگوریتمی ارائه شده است که میتواند مولکولهای شبیه به داروی بهینهای طراحی کند. برای این منظور با استفاده از قطعه-های مولکولی به عنوان ورودی و با تعیین مولکولهای منبع، مولکولهای شبیه داروی بهینه طراحی میشوند که شبیه به مولکولمنبع باشند.
-1 مقدمه
طراحی و کشف دارو و مطالعات بر روی آن ها یکی از زمینه های تحقیقاتی بسیار مهم میباشد. به دلیل تأثیر مستقیمی که بر روی سلامت انسان دارد پروژه های طراحی دارو از موضوعات مهم و چالشبرانگیز روز میباشند. طراحی دارو فرآیندی طولانی است که ممکن است بین 2 تا 10 سال بطول انجامد تا مولکولی به مرحله آزمایشهای حیوانی و بالینی برسد، همچینین هزینههای مور نیاز برای طراحی و توسعه داروی جدید بین 800 میلیون تا 1,8 میلیارد دلار متغیر است.[3-1] در روشهای سنتی مولکوهای دارویی، بعد از جستجویهای فراوان دریک فضای شیمیایی بزرگ برای یافتن مولکولهای فعال و پس از سنتزهای بسیاری بر روی مولکولها بدست میآیند.
در دنیای امروز با پیشرفتهای کامپیوتری چشمگیری که در زمینه سختافزار و نرمافزار صورت گرفته است استفاده از کامپیوتر در زمینه طراحی دارو امری اجتنابناپذیر است. تکنیکهای طراحی دارو به کمک کامپیوتر، یکی از موثرترین روشها برای ت سریع و ت سهیل در روند طراحی دارو میباشد. طراحی دارو به کمک کامپیوتر از روشهای محا سباتی برای شنا سایی، تحلیل و تو سعه داروها و مولکولهای فعال بیولوژیکی مشابه استفاده میکند.
در طراحی محاسباتی، شناسایی ترکیبات دارویی با کاهش تعداد تکرار سنتز و تست مولکولها در آزمایشگاه، قبل از بدست آوردن مولکول بهینه، سرعت یافته و همچنین تولید ساختارهای مولکولی جدید و منتوع افزایش مییابد که امکان تولید این ساختارها در روشهای سنتی بسیار ضعیف بوده و حتی غیر ممکن میباشد.[4] الگوریتمهای تکاملی با عملکرد موفقی که در حل مسائل بهینهسازی در اکثر زمینهها داشتهاند در زمینه طراحی دارو نیز به طور فعالی مورد استفاده قرار گرفتهاند.
برنامههای طراحی داروی De novo از تکنیکهای طراحی دارو به کمک کامپیوتر میبا شد که با استفاده از الگوریتمهای تکاملی مولکولهای دارویی را با بهینه کردن پارامترهای مختلف بهطور همزمان و به صورت م ستقل تولید میکنند. الگوریتمهای تکاملی با جستجو در فضای شیمیایی مولکولهای دارویی را شناسایی کرد و با اعمال عملگرهای تکاملی مولکولهای بهینه را تولید میکنند.[3]
روش های م حاس باتی متنوعی برای تول ید مولکول های دارویی وجود دار ند که برخی از آن ها مبتنی بر ساخ تار بوده و برخی دیگر روش های مبتنی بر لیگاند می باشند. برای مثال روش هایی مانند LEGEND[5]، LigBuilder>6@، LUDI[7] ,SPROUT[8] مبتنی بر ساخ تار می باش ند و روش هایی مان ندTOPAS[9] و Flux>10@ تکن یک های مبتنی بر لی گا ند می باش ند. و از بین این تکنیکها، تکنیک LEGEND به روش مبتنی بر اتم بوده و بقیه موارد به روش مبتنی بر قطعه کار میکنند.
داروهایی مانند Captopril ،Zanamivir ،Oseltamivi، Dorzolamide و Aliskiren از جم له دارو هایی هست ند که با تکنیکهای طراحی داروی کامپیوتری طراحی شدهاند و برای استفادههای درمانی مورد تایید قرار گرفتهاند.[11 ,3] در این مقاله با ترکیب الگوریتم ژنتیک با الگوریتم های تپهنوردی و اتوماتای یادگیری سعی شده ا ست تا مولکولهای بهینهای بد ست آید.
بدین منظور از دو تابع هدف برای شناسایی مولکولهای بهینه استفاده شده است، که عبارتند از شباهت به مولکول منبع - ضریب شباهت - Tanimoto و فراهمی زیستی - قانون پنج لیپینسکی - . بقیه مقاله به شرح زیر است: در بخش دوم توضیحاتی در مورد طراحی دارو با تکنیک De novo ارائه شده است. در بخش سوم الگوریتم پیشنهادی شرح داده میشود. در بخش چهارم نحوه پیاده سازی الگوریتم شرح داده شده است. بخش پنجم به ارزیابی و نتایج عملی پرداخته ا ست. و در نهایت بخش شش به نتیجهگیری و کارهای آینده اختصاص داده شده است.
-2 مفاهیم پایه
در این بخش توضیحاتی پیرامون مفاهیم مورد استفاده در این مقاله داده میشود.
تکنیکهای طراحی داروی
De novo در لغت به معنی شروع از ابتدا میباشد. در تکنیک De novo طراحی مولکولهای دارویی از روی قطعات مولکولی که از قبل موجود میباشند و یا از اتمها صورت میگیرد.[3] در طراحی De novo با توجه به فضای شیمیایی بزرگ مولکولهای جدید میتوانند بدون محدودیت ساختاری تولید شوند× .[12] برنامههای De novo بر اساس معیارهای مختلفی طبقه بندی می شوند. از جمله این معیارها واحدهای سازنده مولکولها میباشد که به دو روش مبتنی بر اتم و روش مبتنی بر قطعه تقسیم میشوند.
در روشهای مبتنی بر اتم، مولکولهای دارویی جدید از اتصال اتمها به وجود میآی ند. در این حا لت ن یازی به انت خاب نحوه اتصال اتم ها نمیباشد و مولکولهای جدید با اتصال اتم به اتم تولید میشوند. در این روش هرچند مولکولهای ایجاد شده تنوع بسیار زیادی دارند اما بیشتر این ترکیبات معتبر نبوده و همچنین مدت زمان زیادی طول میک شد تا مولکول بهینه را بد ست آوریم.
در روشهای مبتنی بر قطعه واحدهای سازنده مولکول از قطعهها - که×این قطعهها از داروهای موجود در بازار به دست آمدهاند - میباشند. در این روش نوع و تعداد قطعات مورد استفاده و همچنین روشهای اتصال قطعات باید تعیین شود. مولکولهای دارویی با اتصال این قطعات به یکدیگر تولید می شوند. در روش مبتنی بر قطعه باوجود اینکه فضای جستجو محدودتر میباشد ولی ترکیبات طراحی شده شباهت بی شتری به دارو دا شته و به راحتی میتوان ترکیبات بدست آمده را سنتزکرد[13 , 10] بنابه جایگاه اتصال مولکول به هدف روشهای متفاوتی برای طراحی مولکولهای دارویی مطرح میشود. طراحی دارو بر اساس ساختار و طراحی دارو بر اساس لیگاند.
در روش طراحی دارو بر اساس ساختار، ساختار پروتئین هدف مشخص بوده و دارو باید از طریق افزایش فعالیت و یا مهار کردن عملکرد پروتئین هدف عمل کند. ساختارهای هدف پروتئین از طریق روشهایی مانند کریستالوگرافی اشعه X و یا NMR بدست میآید,2] [14 ,12، این فرآیند، طراحی دارو براساس ساختار - SBDD - یا طراحی منطقی دارو خوانده میشود. در این نوع طراحی برنامههای کامپیوتری میتوانند یک مولکول قابل قبول را شنا سایی کرده و انرژی اتصال آن را محاسبه کنند بنابراین ترکیبات رهبر به سرعت شناسایی میشوند. این شیوه طراحی بالاترین میزان موفقیت را دارد زیرا دریافتی روشن از داروها و چگونگی بهبود فعالیت آنها را برای محققین فراهم میکند.
در مواردی که ساختار سه بعدی هدف، محلهای اتصال و یا حتی خود هدف دارو به صورت دقیق شناخته شده نبا شد از روش طراحی دارو برا ساس لیگاند ا ستفاده می شود.[2] طراحی دارو مبتنی بر لیگاند نیازمند اطلاعاتی از مولکولهایی که به هدف متصل میشوند، میباشد. مولکولهای متصل به هدف ممکن است برای پیدا کردن یک مدل فارماکوفور مورد استفاده قرار گیرند.
مدل فارماکوفور مشخص کننده حداقل ویژگیهای ساختاری است که یک مولکول باید دارا باشد تا بتواند به یک هدف بیولوژیکی وصل شود.[15 ,1] یکی از تکنیکهای متداول و پرکاربرد در طراحی دارو بر اساس لیگاند مدلسازی ارتباط کمی ساختار-فعالیت - QSAR - میباشد.[12] در واقع QSAR روشی است که مدلهای ریاضی را ایجاد میکند، تا بتواند رابطه معنیدار بین فعالیت بیولوژیکی مولکولها و ویژگیهای محاسبه شده نظری این مولکولها پیدا کند. در طراحی دارو براساس لیگاند ازآنجایی که امکان آزمودن نحوه اتصال ترکیب به جایگاه فعال وجود ندارد فرآیند طراحی بیشتر به صورت آزمون و خطا میباشد. شکل1 نحوه طبقه بندی طراحی داروی De novo را نشان میدهد.
الگوریتم ژنتیک
الگوریتمهای ژنتیک روشهای جستجوی تصادفی میباشند×که از نظریه تکاملی داروین تبعیت میکنند.×الگوریتم ژنتیک با جستجو در فضای داده بسیار بزرگ میتواند جوابهای نزدیک به بهینه و بهینه را پیدا کند.[16] در این الگوریتم برازندگی جمعیت با اعمال عملگرهای ترکیب و جهش و انتخاب مناسب افراد با گذشت زمان افزایش مییابد. این الگوریتم با مجموعهای از راهحلها که جمعت اولیه گفته میشود شروع میشود. ساختار کلی الگوریتم ژنتیک به صورت زیر میباشد:
1. شروع الگوریتم با تولید جمعیت اولیه با n شخص. ×
2. محاسبه برازندگی هر شخص در جمعیت اولیه. ×
3. انتخاب افرادی از جمعیت برای اعمال عملگرهای ژنتیکی بر روی آنها. ×
4. اعمال عملگر ترکیب بر روی جفتهای انتخاب شده. ×
5. اعمال عملگر جهش بر روی افراد انتخاب شده برای افزایش تنوع در جمعیت. ×
6. جایگزینی جمعیت اولیه با جمعیت جدید. ×
7. تکرار مراحل 2 تا 6 تا رسیدن به تعداد نسل تعیین شده×و یا رسیدن به شرط خاتمه.
الگوریتم تپهنوردی
الگوریتم تپهنوردی یک تکنیک تکرار شونده است که با یک راهحل تصادفی برای حل مسائل شروع میشود و سپس با تغییر تک تک عناصر سعی در یافتن بهترین راهحل به صورت افزایشی مینماید. اگر تغییر باعث بهبود راهحل شود، تغییر افزایشی برای راهحل جدید صورت می-گیرد و این روند تا زمانی تکرار میشود که دیگر بهبودی در وضعیت راهحلها صورت نگیرد.[16] الگوریتمهای NAHC و SAHC دو نوع از تکنیکهای تپهنوردی میباشند. در حالت SAHC تمامی همسایه ها بررسی شده، و بهترین پاسخ انتخاب میشود، ولی در حالت NAHC اولین بهترین همسایه، بعنوان پاسخ ذخیره میگردد. مراحل الگوریتم SAHC به صورت زیر میباشد:
1. یک رشته را به صورت تصادفی انتخاب میکند، و آن را به عنوان نوک قله فعلی درنظر میگیرد. ×
2. اگر الگو بهینه است، آن را برمیگرداند. اگر از مقدار بیشینه بیشتر یا مساوی با آن باشد، توقف میکند و بالاترین مقداری که پیدا شده است را برمیگرداند، در غیر اینصورت ادامه می-دهد.
3. به صورت سیستماتیک تمام همسایهها را برسی کرده، و نتایج ارزیابی را ذخیره میکند.
4. اگر هرکدام از نتایج ارزیابی را افزایش داد، مقدار فعلی را به عنوان بالاترین مقدار ارزیابی قرار داده و به مرحله 2 برمی-گردد.
5. اگر نتایج ارزیابی افزایش نیافت مقدار نوک قله فعلی یافته شده را ذخیره میکند و به مرحله 1 برمیگردد، در غیراینصورت به مرحله 2 با مقدار نوک قله جدید رفته و ادامه میدهد.
الگوریتم اتوماتای یادگیری
اتوماتای یادگیر فرآیندی است که طی آن موجودات زنده مطالب مختلف را یاد میگیرند.
1. شناخت اصولی که منجر به یادگیری موجودات زنده میگردد و مراحلی که طی آن، اقدام به یادگیری مینمایند.
2. یادگیری میتواند بوسیله اعمال یکسری تغییرات در کارآیی سیستم بر اساس تجارب گذشته آن صورت گیرد. مهمترین مشخصه این سیستم یادگیر، قابلیت آن در افزایش کارآیی سیستم در طول زمان است.