Assignment_2_HTBDA.pdf

‫درس تحلیل دادههای گسترده زیستی‬
‫دانشکده مهندسی کامپیوتر و فناوری اطالعات‬
‫استاد درس‪ :‬دکتر مطهری‬
‫طراحان‪ :‬افشینفرد‬
‫رشیدی‬
‫تمرین سری دوم‬
‫پکیجهای مقدماتی ‪R‬‬
‫‪MUMmer‬‬
‫‪Blast‬‬
‫‪Ranges & Annotation‬‬
‫مهلت ارسال‪:‬‬
‫بیست و هشتم فروردین‪ ،‬شنبه‪،‬‬
‫تا ساعت ‪295:3‬‬
‫برای حل تمرین به نکات زیر توجه کنید‪.‬‬
‫‪ .۱‬تمرینات خود را پس از اتمام به آدرس ایمیل ‪[email protected]‬ارسال نمایید‪.‬‬
‫‪ .۲‬نام فایل نهایی و موضوع ایمیل خود را مطابق الگوی زیر نامگذاری کنید‪:‬‬
‫‪∙ HW2_StudentNumber_FirstName_LastName.zip‬‬
‫‪∙ HW2_93210791_Abolfazl_Motahari.zip‬‬
‫‪ .۳‬برای هر سوال یک فایل جداگانه ‪.R‬تهیه کنید و کدهای مربوطهی هر سوال را با جداسازی زیر بخشها در آن بنویسید‪.‬‬
‫‪ .۴‬شما باید گزارشی از انجام سواالت تهیه کنید‪ .‬این گزارش شامل پاسخ سواالت پرسیده شده و نمودارهای خواسته شده‬
‫برای سواالت میباشد‪.‬‬
‫‪ .۵‬گزارش خود با فرمت ‪PDF‬را در کنار فایلهای دیگر برنامهنویسی‪ ZIP ،‬کنید و در نهایت فایل ‪ ZIP‬شده را ایمیل کنید‪.‬‬
‫‪ .۶‬توجه کنید تمام تمرینات به صورت انفرادی انجام خواهند گرفت؛ در صورت مشاهده هر گونه تقلب نمره کل این تمرین‬
‫صفر در نظر گرفته میشود‪.‬‬
‫‪ .۷‬به زمان مهلت ارسال توجه کنید‪ .‬هر دو ساعت تاخیر معادل کسر یک درصد تمرین شما میباشد‪.‬‬
‫اهداف تمرین‪:‬‬
‫هدف از این تمرین ارزیابی دانشجو در توانایی استفاده از پکیجهای اولیه مانند ‪BSgenome‬و ‪BioString‬و … میباشد‪.‬‬
‫همچنین دانشجو باید توانایی کار با پکیجهای ‪MUMmer‬و ‪ Blast‬را داشته باشد‪ .‬دانشجو باید بتواند با پکیجهای‬
‫‪GRanges‬و ‪TxDb‬و ‪org‬و … نیز کار کند‪.‬‬
‫قسمت اول‬
‫طرح‪ :‬فرید رشیدی‬
‫سوال اول‬
‫‪ .۱‬از طریق سایت ‪NCBI‬ژنوم ویروس ‪ Enterobacteria Phage Lambda‬با شماره ‪NC_001416.1‬به فرمت ‪FASTA‬‬
‫دانلود کنید‪.‬‬
‫‪ .۲‬محتوای ‪GC‬کل ژنوم را بدست آورید‪ .‬همچنین محتوای ‪GC‬را برای پنجرههایی به طول ‪ ۲۲۲‬به دست آورده و نتیجه آن را با‬
‫محتوای ‪AT‬آن مقایسه نمایید‪ .‬این دو را در یک شکل ترسیم نمایید‪.‬‬
‫‪ .۳‬میزان ‪GC_Skew‬را برای پنجرههای قسمت قبل به دست آورده و ترسیم نمایید‪.‬‬
‫‪ .۴‬یک رشته تصادفی ایجاد نمایید که دارای طولی به اندازه ژنوم ویروس باشد و آزمایش را با آن تکرار نمایید‪.‬‬
‫‪ .۵‬اختالف بین این دو رشته در چیست؟ چه سیگنالهایی را مشاهده مینمایید؟‬
‫‪ 1‬از ‪ 4‬صفحه‬
‫سوال دوم‬
‫‪ .۱‬یک رشته ‪DNA‬تصادفی با طول ‪ ۵۲۲۲۲‬تولید کنید‪.‬‬
‫‪ .۲‬تعداد بار تکرار هر کدام از الفبای ‪DNA‬را بیابید‪.‬‬
‫‪ .۳‬یک رشته تصادفی به طول ‪ ۸‬تولید کرده و به دنبال پیدا کردن آن بر روی رشته باشید‪.‬‬
‫‪ .۴‬همان رشته را با حداکثر اختالف ‪ ۱‬و ‪ ۲‬در رشته جستجو کنید‪.‬‬
‫‪ .۵‬چندین الگوی دیگر انتخاب کرده و آزمایش باال را تکرار نمایید‪ .‬سپس آزمایشی طراحی کنید و یک نتیجه آماری از آن بگیرید‪.‬‬
‫‪ .۶‬آیا نتیجه آماری خود را میتوانید تحلیل نمایید؟‬
‫سوال سوم‬
‫‪seqlevel .۱‬رو به کروموزوم ‪ ۱۱‬انسان محدود کنید‪.‬‬
‫‪ .۲‬کلیه اگزانهای کروموزوم ‪ ۱۱‬انسان را استخراج کنید‪.‬‬
‫‪ .۳‬درصد فراوانی دو باز ابتدایی کلیه اگزانها را در نموداری میلهای بیان کنید‪.‬‬
‫‪ .۴‬بخش سوم را برای دو باز انتهایی کلیه اگزانها نیز انجام دهید‪.‬‬
‫‪ .۵‬درصد فراوانی دو باز ابتدایی کلیه اینترانها را در نموداری میلهای بیان کنید‪.‬‬
‫‪ .۶‬بخش پنجم را برای دو باز انتهایی کلیه اینترانها نیز انجام دهید‪.‬‬
‫‪ .۷‬از مشاهدات بخشهای سوم تا ششم چه نتیجهای میگیرید؟ آیا میتوان مرز بین اینتران و اگزان را تا حد خوبی با نگاه به دو باز‬
‫انتهایی و ابتدایی تشخیص داد؟ این کار را میتوانید با محاسبه کورولیشن بین دو باز انتهایی یک اگزان و دو باز ابتدایی اینتران بعدی‬
‫و همچنین دو باز انتهایی یک اینتران و دو باز ابتدایی اگزان بعدی پاسخ دهید‪.‬‬
‫قسمت دوم‬
‫طرح‪ :‬امیرحسین افشین فرد‬
‫برخی توابع مورد نیاز برای سوال چهارم و پنجم‪:‬‬
‫) (‪findOverlaps( ) , read_dna_seg_from_fasta( ) , read_comparison_from_blast( ) , plot_gene_map‬‬
‫و‬
‫) (‪getSeq‬‬
‫استفاده از توابعی خارج از پکیجهای ذکر شده بر روی سایت‪ ،‬تنها درصورت فراهم نبودن آن امکان و با هماهنگی مجاز است‪.‬‬
‫ایمیل جهت رفع اشکال‪[email protected] :‬‬
‫سوال چهارم ‪ :‬ژنوم انسان و موش‬
‫‪ . 1‬ژنوم انسان و موش را بخوانید‪ .‬طول کل ژنوم هرکدام چقدر است؟ گزارشی از طول هریک از کروموزوم های موجود در آنها و‬
‫فرکانس هر باز و فرکانس ‪ GC‬در هر کروموزوم در یک جدول یا دیتافریم بیاورید‪ .‬توالی مربوط به کروموزوم ‪ ۴‬از انسان و کروموزوم‬
‫های ‪ ۳‬و ‪ ۵‬و ‪ ۸‬از موش را استخراج نمایید‪ .‬فرکانس ‪ GC‬را برای آنها گزارش کنید‪ .‬برداشت شما از مقایسه این مقادیر چیست؟‬
‫توالیهای بدست آمده را با نام مناسب در فایل ذخیره کنید‪.‬‬
‫‪ .۲‬پایگاه داده تفسیرهای مربوط به انسان و موش را لود کنید‪ .‬کروموزومهای موجود در این پایگاه دادهها را لیست کنید‪ .‬تعدادی‬
‫کروموزوم غیرمعمول در لیست کروموزوم ها وجود دارد که برای پردازش های بعدی ما مشکل ساز خواهند بود‪ .‬دستوری بیابید که‬
‫‪ TxDb‬انسان و موش را محدود کند به کروموزوم های معمول انسان و موش‪ .‬پس از محدود کردن نیز دوباره کروموزوم ها را‬
‫از ‪TxDb‬‬
‫مربوطه لیست کنید‪.‬‬
‫(محدود کنید به‪:‬کروموزوم ‪ ۱‬تا ‪ ۲۲‬و ‪ X‬و ‪ Y‬و ‪ M‬برای انسان و کروموزوم ‪ ۱‬تا ‪۱۱‬و ‪ X‬و ‪ Y‬و ‪ M‬برای موش‪) .‬‬
‫‪ .۳‬بازه های مربوط به نواحی کدینگ (‪ )CDS‬مربوط به کل ژنوم های انسان و موش را از پایگاه داده های مربوطه استخراج کنید‪ .‬تعداد‬
‫‪ 2‬از ‪ 4‬صفحه‬
‫نواحی کدینگ انسان و موش را گزارش کنید‪ .‬در مراحل بعدی هدف ما این است که توالی مربوط به نواحی کدینگ را استخراج کرده و‬
‫پشت سرهم بچسبانیم‪ .‬بازه های استخراج شده ممکن است دارای همپوشانی باشند‪ .‬مطمئن شوید که بازه های همپوشان ترکیب شده‬
‫باشد و نهایتا هرنقطه یکبار گزارش شده باشد‪ .‬سرآمد (هدر) هرکدام و همچنین تعداد بازههای به دست آمده جدید را گزارش کنید‪ .‬به‬
‫نظر شما دلیل گزارش شدن نواحی همپوشان چیست ؟ آیا می توانید با یک دستور در همان ابتدا نواحی کدینگ را بدون همپوشانی‬
‫دریافت کنید؟ (دراین قسمت ‪ strand‬مثبت و منفی را جدا درنظر بگیرید و حذف همپوشانی های این دو رشته خواسته نشده است‪،‬‬
‫هرچند انجام این کار نمره اضافی خواهد داشت‪ .‬درصورتی که مایل به انجام این کار هستید تعداد نواحی همپوشان از دو رشته مثبت و‬
‫منفی را هم گزارش کنید‪).‬‬
‫‪ .۴‬بازههای بدست آمده در نواحی کدینگ در قسمت قبل را استفاده کرده و بازههای نواحی کدینگ مربوط به کروموزوم ‪ ۴‬انسان و‬
‫کروموزوم های ‪ ۳‬و ‪ ۵‬و ‪ ۸‬از موش را مشخص کنید‪ .‬توالی مربوط به نواحی کدینگ را به کمک بازههای بدست آمده استخراج کنید‪.‬‬
‫طول کل نواحی کدینگ در این کروموزوم ها را با طول کل کروموزوم مقایسه کنید‪ .‬فرکانس ‪ GC‬را برای نواحی کدینگ گزارش کرده و‬
‫ال به دست آورده اید) مقایسه کنید‪ .‬از نتیجه به دست آمده تفسیر خاصی‬
‫با فرکانس جیسی مربوط به توالی کامل آن کروموزوم (که قب ً‬
‫می کنید؟ نهایتا توالی نواحی کدینگ را با نام مناسب در فایل ذخیره کنید‪.‬‬
‫سوال پنجم‪ :‬همردیفی و یافتن نواحی ‪Syntenic‬‬
‫‪ .۱‬توالی مربوط به کل کروموزوم و همچنین توالی مربوط به نواحی کدینگ به دست آمده در قسمت قبل را برای کروموزوم ‪ ۴‬از انسان‬
‫و کروموزوم های ‪ ۳‬و ‪ ۵‬و‪ ۸‬از موش در فایل ذخیره نمایید‪ .‬دقت کنید که با دریافت نواحی کدینگ توسط بازه های بدست آمده شما‬
‫یک مجموعه از توالی ها دارید و قبل از ذخیره سازی باید آن را به یک توالی واحد که حاصل چسباندن تمامی اعضا مجموعه به‬
‫ترتیبدرست پشت سر هم است تبدیل کنید‪.‬‬
‫‪ .۲‬کل کروموزوم ‪ ۴‬از انسان را با کروموزومهای مشخص شده از موش توسط ‪ blast‬همردیف کنید‪ .‬دستورات مربوط به ترمینال باید‬
‫همگی از درون ‪ Rsudio‬فراخوانی شود‪ .‬سپس نتیجه همردیفی را خوانده و یکبار همردیفیهای با طول کمتر از ‪ ۱۲۲‬و یکبار همردیفی‬
‫با طول کمتر از ‪۱۲۲۲‬را از این گزارشها حذف کرده نتایج را برای پردازشهای بعدی نگه دارید‪ .‬تابعی بنویسید که یک گزارش همردیفی‬
‫دریافت کرده و فیلتر زیر را روی آن اعمال کند‪:‬‬
‫فیلتر ‪ :‬برخی از نواحی از یکی ژنوم ها به بیش از یک محل از ژنوم دیگر همردیف شده اند‪ .‬تابع شما باید این موارد را از گزارش‬
‫همردیفی حذف کند‪ .‬حاصل این فیلتر تقریب ًا معادل همردیفی های یکتا بین دو ژنوم خواهد بود‪.‬‬
‫‪ . ۳‬نقشه همردیفی را به کمک تابع مناسب قبل و بعد از اعمال فیلتر باال بر روی همردیفیهای با طول بیشتر از ‪ 011‬و بیشتر از‬
‫‪0111‬رسم کنید‪ .‬به طور مختصر نتایج قبل و بعد از فیلتر را مقایسه کنید‪.‬‬
‫‪ .۴‬مراحل قبل را برای توالیهای نواحی کدینگ نیز تکرار کنید و نتایج را بررسی کنید‪ .‬نقشه همردیفی را قبل از حذف مردیفیهای با‬
‫طول کم نیز رسم کنید‪ .‬نتایج را مختصر مقایسه کنید‪.‬‬
‫‪ .۵‬نهایتاً یک نمودار نقطهای برای همردیفیهای (هم کل کروموزوم هم نواحی کدینگ‪ ،‬در بهترین حالت از اعمال فیلترهای باال به نظر‬
‫خودتان) بدست آمده رسم کنید‪ .‬یک محور این نمودار کروموزوم ‪ ۴‬و یک محور دیگر کروموزومهای ‪ ۳‬و ‪ ۵‬و ‪ ۸‬از موش در کنار‬
‫یکدیگر باشد‪ .‬برداشتهای خود را از مشاهده همردیفیها مختصرا بنویسید‪.‬‬
‫* یک مثال از نمایش مطلوب در ادامه آمده است‪.‬‬
‫* توضیحی از هر آنچه از انجام این مراحل یاد گرفتهاید بنویسید‪.‬‬
‫* نمره اضافی‪ :‬اصطالح ‪ Homologous Syntenic Blocks‬برای مناطقی از ژنوم ها استفاده میشود که با همدیگر به ارث میرسند‪.‬‬
‫هدف از انجام این تمرین پیدا کردن این نواحی با یک روش ساده و غیر دقیق بود‪ .‬همانطور که مشاهده کردید هنوز در گزارشهای ما‬
‫همردیفیهای غیر ‪ HSB‬نیز مشاهده میشود و همچنین نواحی ‪ HSB‬میتوانند پیوستهتر گزارش شوند‪ .‬آیا پیشنهادهایی برای بهتر یافتن‬
‫این نواحی دارید؟‬
‫* نمره اضافی ‪ :۲‬سعی کنید از ‪ MUMmer‬برای یافتن نواحی ‪ Syntenic‬استفاده کنید‪ .‬الزم نیست حتما مراحل پیچیدهای طی کنید‪.‬‬
‫‪ 3‬از ‪ 4‬صفحه‬
‫سوال ششم‪ :‬نمایش نواحی مختلف یک ژن‬
‫‪ .۱‬تابعی بنویسید که سمبل یک ژن را دریافت کرده و طی یک نمودار اکزانها و نواحی کدینگ را به ازای همه تفاسیر آن ژن رسم نماید‪.‬‬
‫(مشابه آنچه در کالس نمایش داده شد‪ ).‬نمایش زیباتر و همراه داشتن اطالعات بیشتر (مثال در یک سطر همه اگزانها و همه نواحی‬
‫کدینگ را فارغ از تفسیر نمایش دهد) در نمایش نمره اضافی خواهد داشت‪ .‬برای بررسی درستی تابع خود میتوانید از سمبلهای زیر‬
‫و نمایش آنها استفاده کنید‪.‬‬
‫نمایش مربوط به ژن ‪:GAPDH‬‬
‫نمایش مربوط به ژن ‪:HFE‬‬
‫‪ 4‬از ‪ 4‬صفحه‬