השוואת רצפים.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

ממיבחניםC שאלות ++.
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
מכונת מצבים תרגול מס' 4 Moshe Malka.
מתמטיקה בדידה תרגול 3.
תמחיר תהליך. מערכת תמחיר תהליך מערכת זו נועדה לספק מידע, כמו מערכת תמחיר הזמנה, על עלות המוצרים שיוצרו בתקופה ועל עלות המוצרים שבתהליך הייצור בסוף התקופה.
BLAST Tutorial 3 What is BLAST? Basic Local Alignment Search Tool Is a set of similarity search programs designed to explore sequence databases. What are.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
Multiple Sequence Alignment
Na+ P-. הפוטנציאל האלקטרוכימי אנרגיה חופשית ל - 1 mole חומר. מרכיב חשמלי מרכיב כימי מרכיבי הפוטנציאל האלקטרוכימי של חומר X: המרכיב הכימי : RTlnC x R –
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
רקורסיות נושאי השיעור מהן רקורסיות פתרון רקורסיות : שיטת ההצבה שיטת איטרציות שיטת המסטר 14 יוני יוני יוני 1514 יוני יוני יוני 1514.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
נתחיל בחזרה על קבוע הזמן של הממברנה. Membrane (2 : מבודד (גרוע ביחס לכבל). 1) Cytoplasm : מוליך (גרוע ביחס לכבל). Extracellular medium (3 : אנו מניחים.
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
Questions are the Answer Penick&all H ISTORY R ELATIOINSHIPS A PPLICATION S PECULATION E XPLANATION.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Motion planning via potential fields תומר באום Based on ch. 4 in “Principles of robot motion” By Choset et al. ב"הב"ה.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
1 תרגול : קודי קו בינאריים בסיסיים. 2 יצירת קוד קו יצירת הלמים לפי קוד קו מסנן בעל תגובה להלם h(t) ביטי כניסה X(t)Y(t) a1 a2 a3 a4 t Ts.
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
1 חקירת טרנזיסטור קוונטי הנשלט על ידי שינויי תדר Frequency Controlled Quantum Transistor מבצע : חן טרדונסקי מנחה : ד " ר אראל גרנות.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
Advanced Topics in Search Theory 3: Concurrent Search.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
Costs and Filters Dr. Avi Rosenfeld Department of Industrial Engineering Jerusalem College of Technology
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
1 ניתוח שונות: Post-hoc analysis ניתוח שונות חד-כיווני עם אפקטים קבועים: Post-hoc analysis ד"ר מרינה בוגומולוב מבוסס חלקית על ההרצאות של פרופ' יואב בנימיני.
Human Wayfinding in Information Networks
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
ניתוח זמן ריצה (על קצה המזלג)
עבודה עם נתונים באמצעות ADO.NET
השוואת נתונים למודל הסתברותי - כללית
ממשקים - interfaces איך לאפשר "הורשה מרובה".
משימת חקר מכוון ללמידה משמעותית
Marina Kogan Sadetsky –
בחירת חומר גלם כתב: עמרי שרון.
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
Presentation transcript:

השוואת רצפים

השוואה בין שני רצפים ביולוגיים: מדוע משווים? 1. התאמה של רצף אחד שלגביו לא ידוע לנו דבר (למשל רצף חלבון שבודדנו במעבדה), לרצף שני שידוע שהוא "שייך" שלגביו ידועים פרטים נוספים. ההנחה היא שמאופן הדמיון בין הרצפים נוכל להשליך מהידע לגבי תיפקודו של החלבון המוכר לגבי תיפקודו של החלבון הלא-מוכר. 2. שני רצפים מוכרים כאשר מפרטי ההשוואה נרצה ללמוד על מה דומה ומה שונה בינהם. שימו לב: כאשר יש רצף נתון ורוצים לבדוק האם קיים לו בכלל רצף דומה במאגר המידע, משתמשים בכלים אחרים שנועדו לחיפושים במאגרי מידע, למשל ב BLAST

השוואה בין שני רצפים ביולוגיים: מי משווים? גנום או רצף של יחידה בודדת (גן או חלבון) דנ"א או חלבון איך משווים? השוואה ישירה: (לספור אותיות דומות) T H E R E W A S A S M A L L G A P | | | | | H E R E I S A S M A L L E R G A P 5/17

שיטה כמותית להשוואה בין רצפים: התאמת רצפים Sequence Alignment הצגת הרצפים זה מעל זה באופן שיבליט את האותיות והאיזורים הדומים ברצפים. בדר"כ יש צורך לפתוח רווחים בשני הרצפים ע"מ להגיע למצב שבו מקסימום האותיות הזהות או הדומות יופיעו זו מעל זו. למשל עבור הרצפים AACGTAGATA ו ATACGGAGAA התאמה אפשרית היא: A-ACGTAGATA ATACGGAGA-A

שיטה כמותית להשוואה בין רצפים: התאמת רצפים Sequence Alignment כאשר עוסקים בהתאמת רצפים יש להתייחס לשלוש שאלות: א. כימות המדד לאיכות ההתאמה. כלומר אם נתונות שתי התאמות שונות בין זוג רצפים איך נדע מי טובה יותר? אינטואיטיבית ניתן ציון טוב יותר להתאמה שבה על ידי הוספה של מינימום רווחים נקבל מקסימום של אותיות זהות הנמצאות זו מעל זו. צריך להפוך אינטואיציה זו למדד כמותי. ב. השיטה (האלגוריתם) לחישוב ההתאמה האופטימלית: נניח שהחלטנו בסעיף א' על מדד כמותי לאיכות ההתאמה, כלומר אם ההתאמה כבר נתונה אנו יודעים איך לחשב את ערכה המספרי. עדיין קיימת השאלה המרכזית, כאשר נתונים זוג רצפים מהי השיטה שבה נבנה את ההתאמה הטובה ביותר? ברור שיש מספר עצום של אפשרויות שונות לפתוח רווחים בתוך כל רצף ועל ידי כך ליצור התאמות שונות. אנו מחפשים אלגוריתם יעיל שיאפשר למצוא את ההתאמה האופטימלית בזמן חישוב סביר. ג. לאחר חישוב ההתאמה האופטימלית, מהי הדרך המקובלת להציג את ההתאמה?

מה המספר המינימלי של פעולות עריכה הנדרש ע"מ להגיע מרצף אחד לשני? פעולות עריכה: הוספת אות, הורדת אות, החלפת אות. המרחק נקרא מרחק עריכה (EDIT-DISTANCE) T H E R E W A S A S M A L L G A P H E R E W A S A S M A L L G A P H E R E A S A S M A L L*G A P H E R E A S A S M A L L E*G A P H E R E A S A S M A L L E R G A P H E R E I S A S M A L L E R G A P

אם בונים התאמה שמשקפת את רצף הפעולות שבצענו, רואים שהדמיון עולה

את הבעיה פותרים בתהליך חישובי המכונה תיכנות דינמי (תיכנון דינמי) (DP-Dynamic Programming) (למעשה השם הנכון הוא תיכנון דינמי אבל המינוח תיכנות דינמי השתרש). בתיכנות דינמי, פותרים בעיות מסובכות שלא ניתן לפתור אותן ישירות, על ידי פיצול הבעיה לבעיות חלקיות ההולכות וגדלות. אלגוריתם התיכנות הדינמי פותר את הבעיות החלקיות ושומר את התשובות בטבלה, והפתרון לבעיות החלקיות הגדולות מסתמך על הפתרונות לבעיות החלקיות הקטנות יותר שכבר נפתרו. בסיום התהליך מגיעים לפתרון הבעיה הראשית. את העבודה בשיטת התכנון הדינמי להתאמת רצפים נחלק טכנית לשלושה שלבים: שלב א - איתחול: מילוי שורת ועמודת האפס שלב ב - מילוי המטריצה: מילוי כל תא ע"ס הערך של שלושה תאים שכבר חושבו שלב ג - סיום: שיחזור לאחור של המסלול לפי השלבים שיצרו את הפתרון האופטימלי ובניית ההתאמה לפי המסלול

אנו בודקים את כל האפשרויות ובוחרים בזולה ביותר למילוי כל משבצת יש שלוש אפשרויות: להגיע מלמעלה (שקול למחיקת אות) יש להוסיף מחיר מחיקה להגיע מצד שמאל (שקול להוספת אות) יש להוסיף מחיר הוספה להגיע מהאלכסון : אם האותיות המותאמות שונות (שקול להחלפת אות) להוסיף מחיר החלפה אם האותיות זהות – אין צורך בתשלום נוסף (נניח בשלב ראשון שמחיר כל הפעולות (מחיקה, הוספה, החלפה) זהה ושווה ל 1 ) אנו בודקים את כל האפשרויות ובוחרים בזולה ביותר

תת הטבלה המסומנת נותנת את מרחק העריכה בין תתי המחרוזות הרלונטיות: למשל המרחק WAS S _ I שווה ל 2 ולכן עם נמשיך את התהליך עד למילוי הטבלה כולה נקבל את מרחק העריכה הגלובלי

מונחים: רצפים הומולגיים, פראלוגיים, אורטולוגיים, רצפים דומים. Homologous, Paralogous, orthologous ,similar , רצפים הומולוגיים הם רצפים שהתפתחו מרצף אב קדמון משותף. רצפים אורטלוגיים – רצפים ביצורים שונים שהתפתחו מרצף אב משותף, רצפים פרלוגיים – רצפים בתוך אותו גנום שהתפתחו כתוצאה מהעתקת גנים (gene duplication) יש להקפיד על ההבחנה בין רצפים דומים ורצפים הומולוגיים. לשני רצפים יש אב משותף או שאין להם, ולכן הם הומולוגים או שהם אינם הומולוגים, בשום מקרה הם אינם יכולים להיות "הומולוגים ב-70%". לעומת זאת, רצפים יכולים להיות דומים בדרגות דמיון שונות, למשל "דומים ב-70%". בדר"כ ניתן להסיק ששני רצפים הינם הומולוגים אם קיימת דרגת דימיון גבוהה ביניהם.

עד עכשיו עסקנו במרחק בין שני רצפים וחיפשנו את המרחק המינימלי למעשה מקובל יותר בתוכנות הביו-אינפורמטיות לדבר על דמיון בין רצפים ולחפש את המקסימום. שיטת העבודה של התיכנות הדינמי דומה מאד: אבל יש לשנות את פרטי האתחול ערכי מילוי המטריצה לעבוד על מקסימום ולא מינימום

איתחול: - מילוי: שורה ועמודה של אפסים מקסימום על ערכים משלושת התאים הקודמים כאשר W הוא הקנס על הוספה/הורדה: במקרה שלנו 0 ן si,j הוא הניקוד של התאמת האות במקום ה I במחרוזת האחת לאות במקום ה J במחרוזת השניה. במקרה שלנו קנס של 0 אם האותיות שונות ופרס של 1 אם הן זהות.

בכל תא יש לשמור את המצביע(ים) שהביאו לחישוב הערך באותו תא. כך ניתן בסיום החישוב לשחזר את המסלול ולבנות את ההתאמה. G A A T T C A G T T A | | | | | | G G A _ T C _ G _ _ A

ניתן לשנות את פונקצית המחיר: W = -2 הוספה/הורדה si,j= +2 כאשר האותיות דומות si,j= -1 כאשר האותיות שונות

הערך המספרי יצא כמובן שונה אבל ההתאמה שנוצרה זהה. כאשר ההתאמה זהה בפונקציות התאמה שונות, מתחזקת ההנחה שמדובר בהתאמה אמיתית. G A A T T C A G T T A | | | | | | G G A _ T C _ G _ _ A

זמני ריצה וגודל זכרון נדרש צריך למלא מטריצה בגודל n*m ( כאשר n,mאורך הרצפים) נניח שהרצפים באותו אורך ונקבל גודל ריבועי ( של n2 ) זמן: השוואה של שלושה ערכים לכל תא כלומר 3* n2 שימו לב: אם האורך גדל פי שנים הזמן גדל פי ארבע ! עבור השוואה בודדת אין כאן מגבלה, עבור השוואה של גן מול כל מאגר הנתונים בהחלט יש. שיפורים: זכרון: אין צורך לזכור את כל המטריצה, מספיקות שתי שורות מתחלפות, צריך לדאוג לחישוב מחדש של המצביעים אחורה. זמן: אם מוכנים להסתפק בתשובה מספרית כאשר המחרוזות דומות, ותשובה שלילית כללית כאשר הם אינן, ניתן לחשב רק ערכים ב "צינור " יחסית צר מסביב לאלכסון ולחסוך בזמן.

מציאת האזור המתאים ביותר בין שני רצפים. התאמה לוקלית: מציאת האזור המתאים ביותר בין שני רצפים. שוב אותה פונקצית התאמה W = -2 הוספה/הורדה si,j= +2 כאשר האותיות דומות si,j= -1 כאשר האותיות שונות השינויים: בשלב איתחול המטריצה הקנס בשורת ועמודת ה אפס לא מצטבר והערך המוכנס שווה ל 0. בשלב המילוי נדרוש שהציון המצטבר על ההתאמה, בכל שלב, לא ירד מתחת לאפס. אם הציון בתא מסויים יורד מתחת לאפס מאפסים אותו. את השיחזור לאחור מתחילים בתא בעל הערך הגבוה ביותר בכל המטריצה ומשחזרים לאחור עד שמגיעים לתא שערכו 0. את המסלול מציגים כהתאמה לפי החוקים שפרטנו. GAATTCAGTTA | || | GGATCGA

ניקוד משתנה בהתאם לסוג ההתאמה קנס משתנה בהתאם לאורך ההוספה / הכנסה הרחבות למודל הבסיסי ניקוד משתנה בהתאם לסוג ההתאמה קנס משתנה בהתאם לאורך ההוספה / הכנסה affine gap penalty ההרחבות תקפות הן להתאמה גלובלית והן להתאמה לוקלית ניתן באותו זמן ריצה (פחות או יותר) לחשב את ההתאמה גם תחת ההרחבות האלו. אבל האלגוריתמים הופכים ליותר מסובכים ולא ניכנס אליהם בקורס זה.

Transversions - סוג של מוטציות שבהן פורין מוחלף לפירימידין ולהיפך. שיטת הניקוד שהשתמשנו בה עד כה אינה מתחשבת בסוגים השונים של אי-התאמות שיכולים לנבוע מסוגים שונים של מוטציות. ב-DNA למשל נמצא ש-Transitions מתרחשים בתדירות גבוהה בהרבה מ-Transversions. (Transitions - סוג של מוטציות שבהן בסיס מסוג מסויים מוחלף בבסיס אחר מאותו סוג למשל פורין המוחלף בפורין אחר, או פירימידין בפירימידין אחר. כלומר קיים שימור של המבנה הטבעתי של הבסיס. Transversions - סוג של מוטציות שבהן פורין מוחלף לפירימידין ולהיפך. (פורין: Adenine, Guanine פירימידין Cytosine, Thymine ) בחלבונים, המצב מורכב יותר מאחר ויש תת קבוצות רבות יותר של חומצות אמיניות: ארומטיות, אליפטיות, בעלות מטען חיובי, בעלות מטען שלילי, הידרופוביות, הידרופיליות וכו' והסיכוי והמשמעות של המוטציות שונות יכולה להיות שונה מאד. נחפש ניקוד שישקף את רמת "הדימיון" בין האלמנטים המוחלפים.

מחיר משתנה להכנסת רווחים (AFFINE GAP PANALTY) GATCAACTAG GATCAACTAG ||| | | || ||||| || GA-G-A-TAG GA---ACTAG עד כה שתי ההתאמות קיבלו קנס זהה על פתיחת רווחים. ביולוגית לא נכון לעשות כך מאחר שאיבוד חלק מרצף הוא ארוע נדיר אבל כאשר הוא קורה יתכן שתורד יותר מאשר אות אחת. ולכן ההתאמה בצד שמאל סבירה יותר מאשר ההתאמה בצד ימין. כדי שהפונקציה תשקף מציאות ביולוגית זו ניתן לחלק את הקנס הניתן על החסרה לשני חלקים. ניקוד מסויים ניתן על עצם פתיחת הרווח וערך אחר ניתן לכל רווח נוסף. נוכל להגדיר את הקנס באופן הבא: w=p+nk כאשר p הוא הקנס על עצם פתיחת הרווח k הוא הקנס על כל החסרה n הוא מספר הרווחים אם נקבע p=3 ו k=1 נקבל בצד שמאל 3 +3 = 6 ואילו בימין 3+1+3+1+3+1=12