440 likes | 560 Views
Vortrag zum Seminar. Identifying Conserved Gene Clusters in the Presence of Homology Families. „Aktuelle Themen der Bioinformatik“. Von Florian Rörsch. Inhalt. Einleitung Vom Wolf zum Gen-Cluster Wissenschaftlicher Nutzen Modellbildung Der Algorithmus Laufzeit und Speicherplatzbedarf
E N D
Vortrag zum Seminar Identifying Conserved Gene Clusters in the Presence of Homology Families „Aktuelle Themen der Bioinformatik“ Von Florian Rörsch
Inhalt • Einleitung • Vom Wolf zum Gen-Cluster • Wissenschaftlicher Nutzen • Modellbildung • Der Algorithmus • Laufzeit und Speicherplatzbedarf • Ergebnisse mit realen Daten • Interpretation der Ergebnisse • Eine Implementierung • Statistische Signifikanz der Ergebnisse • Themenverwandte Arbeiten
Einleitung • „Identifying Conserved Gene Clusters in the Presence of Homology Families“ • „Conserve“ = Konservieren, erhalten, bewahren • „Gen Cluster“ = Haufen, Gruppierung • „Homology Familie“ = Gruppe von Genen mit gleicher Abstammung / ähnlicher Funktion / ähnlicher Struktur
Vom Wolf zum Gen-Cluster • Was bringt Gen-Clustering im Gegensatz zur randomisierten Verteilung aus biologischer Sicht?
Vom Wolf zum Gen-Cluster • Was bringt Gen-Clustering im Gegensatz zur randomisierten Verteilung? 1. -> Steigerung der Transkriptionsgeschwindigkeit -> Effizienzgewinn -> Evolutionärer Vorteil 2. -> Qualitätssicherung
Wissenschaftlicher Nutzen • Rekonstruktion der evolutionären Geschichte • Erforschung der Frage, ob aus der Genposition die Genfunktion abgeleitet werden kann • Wichtige Zielgruppen: Medizin, Pharmazie und Chemie
Modellbildung • Wahl der Gene eingeschränkt auf Homologe -> unrelevante Genomabschnitte blasen die Algorithmenlaufzeit nicht unnötig auf -> Cluster werden auf Basis von Homologen Beziehungen gefunden
Modellbildung (1) • Definition eines „Chromosoms“: C = (Σ, X) Σ = Set (Menge) von homologen Familien X = Geordnete Menge von Genen • Definition eines „Gens“: g = (p, f) p = Physikalische Position des Gens auf dem Chromosom f (∈Σ) = Homologie-Familie, zu der das Gen gehört
Modellbildung (2) • Definition einer „Subsequenz“: Gegeben C= (Σ, X), nennt man ein Paar (Σ(X‘), X‘), wobei X‘ ≤ X, eine Subsequenz • Definition eines „Subchromosoms“: C‘ = (Σ‘, X‘), falls X‘ eine fortlaufende Teilmenge von X ist Σ‘ = Teilmenge der homologen Familien X‘ = Teilmenge der Gene
Modellbildung (3) • Definition von „Benachbarten Genen“: Gegeben: 2 Gene gi, gj und Parameter δ gi, gj heißen benachbart, wenn Δ(gi, gj) <δ, für einen Parameter δ > 0 δ = Anzahl „unwichtiger“ Gene zwischen 2 „Interessanten“ = Gaps
Modellbildung (3) • Definition von „Benachbarten Genen“: Gegeben: 2 Gene gi, gj und Parameter δ gi, gj heißen benachbart, wenn Δ(gi, gj) ≤δ, für einen Parameter δ > 0 δ = Anzahl „unwichtiger“ Gene zwischen 2 „Interessanten“ • Definition eines „δ-runs“: C‘ ist ein δ-run, wenn es in Bezug auf alle relevanten Gene eine maximale δ-Subsequenz ist
Modellbildung (4) Definition einer „δ-chain“: Gruppen von homologen Familien, bei denen die darunter liegenden Gene die Delta-Regel erfüllen. Durch die Definition einer δ-chain wird versucht Abstand von der Definition eines Chromosoms durch Gene zu gewinnen und zu einer Definition des Chromosoms durch Homologe Familien zu gelangen.
Modellbildung (4) Definition eines „δ-sets“: Wenn Σ ein Set (Menge) von Homologen Familien für 2 (!!) Chromosome C und D ist, dann ist Σ‘ ⊆ Σ ein δ-set von C und D, wenn Σ‘ eine δ-chain von sowohl C, als auch D ist.
Modellbildung (4) Definition eines „δ-sets“: Wenn Σ ein Set (Menge) von Homologen Familien für 2 (!!) Chromosome C und D ist, dann ist Σ‘ ⊆ Σ ein δ-set von C und D, wenn Σ‘ eine δ-chain von sowohl C, als auch D ist. Definition eines „δ-teams“: Ein δ-team ist ein maximales δ-set.
Der Algorithmus (1) • Eingabe: 2 Chromosomen C und D
Der Algorithmus (1) • Eingabe: 2 Chromosomen C und D • Daraus resultierend: • Das Alphabet Σ (Die Menge der Homologie-Familien) • Die Anzahl der Gene beider Chromosomen - m (für C) und n (für D) genannt. Nur relevante Gene werden gelistet.
Der Algorithmus (2) FINDTEAMS(C,D) //Globale Daten initialisieren globaltime = 0 For each f in Σ stamp[f] = 0 tempmarkf] = 0 //Chromosom C in seine δ-runs zerlegen localtime = MARKCOMMONALPHABET(C,D) Crest = C repeat Cfirst = FINDFIRSTRUN(Crest,localtime) Crest = Crest – Cfirst FINDTEAMSRECURSE(B, Cfirst) until (Crest = Ø)
Der Algorithmus (3) MARKCOMMONALPHABET(A,B) globaltime = globaltime + 1 for each g in A sei f die Homologie-Familie von g tempmark[f] = globaltime For each g in B sei f die Homologie-Familie von g if tempmark[f] = globaltime then stamp[f] = globaltime Return globaltime
Der Algorithmus (4) FINDFIRSTRUN(A,timestamp) endrun = das 1. Gen in A mit stamp[f] >= timestamp nextgene = das Gen in A nach endrun while(nextgene wohldefiniert und Δ(endrun,nextgene) ≤ δ) do Sei f die Homologie-Familie von nextgene //Wenn nextgene in common family ist, erweitere den run endrun = nextgene nextgene =das Gen in A nach nextgen Return das Unterchromosom bis endrun (inklusive)
Der Algorithmus (5) FINDTEAMSRECURSE(A,B) localtime = MARKCOMMONALPHABET(A,B) Afirst = FINDFIRSTRUN(A,localtime) Arest = A - Afirst if Arest = Ø then REPORTTEAM(A,B) else repeat FINDTEAMSRECURSE(B,Afirst) Afirst = FINDFIRSTRUN(Arest,localtime) Arest = Arest - Afirst until (Arest = Ø) FINDTEAMSRECURSE(B,Afirst)
Laufzeit und Speicherplatzbedarf • Laufzeit: = O(n+m) • Speicherplatzbedarf O(n+m) • Damit der Speicherplatz linear bleibt muss explizit darauf geachtet werden, dass die Subprobleme während den Rekursionen nicht mehrmals abgearbeitet werden • Keine großen versteckten Faktoren • Leider nicht sehr effizient bei Multigenomvergleichen
Ergebnisse mit realen Daten (1)- Datenwahl • Versuch mit 2 prokaryotischen Genomen: E. Coli K12 und B. subtilis • In Schritt 1 wurden die orthologen Beziehungen gesucht -> Datenbank (NCBI) • Die Proteine in den heruntergeladenen Dateien enthalten schon eine so genannten COG-Nummer • COG = Cluster of orthologues Groups = Homologie-Familie • Die Datenbank enthält zur Zeit über 4800 COGs (identifiziert aus 43 kompletten Genomen) • In Schritt 2 wurde der Algorithmus angewandt um alle δ-teams zu identifizieren
Ergebnisse mit realen Daten (2)- Datenwahl • Zeigt das prozentuale Verhältnis zwischen Genen, die zu einem COG gehören, allen Genen und solchen die zu einem COG gehören, welcher in beiden Genomen vorkommt
Ergebnisse mit realen Daten (4)- Datenwahl • Wahl des δ-Parameters nicht so einfach • Bei zu großer Wahl zu viele Falsch-Positive • Bei zu kleiner Wahl werden nicht alle Cluster gefunden
Ergebnisse mit realen Daten (5)- Datenwahl • δ-Parameter wurde „gebenchmarkt“ • Bestimmung über 4 bekannte Cluster: • Ribosomalen Protein Cluster • ATP Synthase Operon • Tryptophan Biosynthese Operon • ABC Ribose-Transport Operon • Die meisten Cluster konnten bei δ = 1900 bp rekonstruiert werden (150 Stück)
Ergebnisse mit realen Daten (5) • Diese 150 identifizierten Teams (Cluster) wurden mit real bekannten Operonen (Cluster) verglichen • Ribosomale Teams und Teams der Kardinalität 2 wurde nicht weiter betrachtet (biologisch uninteressant) • Einteilung in 4 Gruppen: • Exakte Übereinstimmung mit einem bekannten Operon • Teilweise Übereinstimmung • Solche, die vorhergesagte Operone treffen • Keine Übereinstimmung mit Operonen
Interpretation der Ergebnisse • Die 10 exakten Übereinstimmungen enthalten sehr zentrale Cluster (z.B. ATP Synthase) • Ergebnisse der 2. Gruppe interessant: • 1. Möglichkeit: Fehlende oder falsche Zuordnungen von Genen zu COGs • 2. Möglichkeit: δ-Wert zu klein gewählt • 3. Möglichkeit: Einige Operone sind nicht in beiden Organismen konserviert • 4. Möglichkeit: Zugeordnete Gene könnten noch nicht als zugehörig (zum Operon) entdeckt worden sein
Eine Implementierung • Vorstellung einer Implementierung des Algorithmus, umgesetzt durch Michael Goldwasser • Verwendet C++ • Kann frei über die Internetseite http://euler.slu.edu/~goldwasser/homologyteams/ heruntergeladen werden
Statistische Signifikanz der Ergebnisse • Ziel: Ausschließen der Null-Hypothese • n = Anzahl der Gene im Genom / Chromosom • k = Anzahl der „relevanten“ Gene, die einen Cluster bilden • d = Anzahl der „irrelevanten“ Gene, die zwischen zwei „relevanten“ Genen stehen dürfen
Statistische Signifikanz der Ergebnisse (2) n! Permutationen um n Gene anzuordnen 1. Schritt: k-Cluster generieren => k! Permutationen k Gene anzuordnen
Statistische Signifikanz der Ergebnisse (2) n! Permutationen um n Gene anzuordnen 1. Schritt: k-Cluster generieren => k! Permutationen k Gene anzuordnen 2. Anzahl „Lücken“ im Cluster = i 0 ≤ i ≤ (k-1)*d
Statistische Signifikanz der Ergebnisse (2) n! Permutationen um n Gene anzuordnen 1. Schritt: k-Cluster generieren => k! Permutationen k Gene anzuordnen Anzahl „Lücken“ im Cluster = i 0 ≤ i ≤ (k-1)*d Bsp: d = 2, k = 5 i = 0 ergibt sich, wenn keine Lücken auftreten <xxxxx> i = 8 ergibt sich, wenn zwischen 2 relevanten Genen immer genau d irrelevante Gene liegen <xx--xx--xx--xx--xx>
Statistische Signifikanz der Ergebnisse (3) - Anzahl Möglichkeiten einen k-Cluster mit i Lücken zu generieren sei s(k,d,i) - Für s(k,d,i) gibt es keine einfache geschlossene Formel
Statistische Signifikanz der Ergebnisse (3) - Anzahl Möglichkeiten einen k-Cluster mit i Lücken zu generieren sei s(k,d,i) - Für s(k,d,i) gibt es keine einfache geschlossene Formel 3. Der komplette Cluster wird im Genom plaziert - Größe des Clusters: k+i => n-(k+i)+1 Möglichkeiten
Statistische Signifikanz der Ergebnisse (3) - Anzahl Möglichkeiten einen k-Cluster mit i Lücken zu generieren sei s(k,d,i) - Für s(k,d,i) gibt es keine einfache geschlossene Formel 3. Der komplette Cluster wird im Genom plaziert - Größe des Clusters: k+i => n-(k+i)+1 Möglichkeiten 4. Restlichen Gene platzieren: (n-k)!
Statistische Signifikanz der Ergebnisse (4) Gesamtwahrscheinlichkeit: P(n,k,d) =
Statistische Signifikanz der Ergebnisse (4) Gesamtwahrscheinlichkeit: P(n,k,d) = =
Statistische Signifikanz der Ergebnisse (5) • Jetzt: Generelles Modell • m = Anzahl Familien im Genom • M = {f1,f2,…,fm} • Jedes Gen gehört zu einer Familie • = Anzahl Gene, die zu Familie fj gehören • ij = Index der Familie zu der das Gene j gehört • Unterschied zum vorherigen Modell: Mehr Varianten einen Cluster zu bilden
Statistische Signifikanz der Ergebnisse (6) = Anzahl Möglichkeiten k Gene zu wählen Neue Gesamtwahrscheinlichkeit: Q(M,n,k,d) =
Approximation der statistischen Signifikanz • Clustergröße normalerweise < 10 • δ sehr klein: 1-3 • n = mehrere Tausend >> k, d, i 0 ≤ i ≤ (k-1)*d => i kann vernachlässigt werden Absolute Anzahl Möglichkeiten Lücken in k Genen zu verteilen: (d+1)k-1, da es d+1 Möglichkeiten gibt Lücken zwischen 2 „relevanten“ Genen zu verteilen (0-Lücke,1-Lücke,…,d-Lücke) => P(n,k,d) ≈
Approximation der statistischen Signifikanz (2) • Beispielparameter (aus E. Coli): • n = 2000 (nur orthologe Gene!) • δ = 1900 bp ~ 1 Gen • Produktterm aus Formel Q(M,n,k,d) ist ungefähr 2k • k=2 => Q(2) = 8*10-3 • k=3 => Q(3) = 4,8*10-5 • k=4 => Q(4) = 3,8*10-7
Themenverwandte Arbeiten • Beal et al. • Gleiche Zielsetzung leicht anderes Modell (nur 1-zu-1 Beziehungen) • Sankoff und Trinh • Chromosomal Breakpoint Reuse in Genome Sequence Rearrangement