Seminar GC MCODE

Werbung
Seminar GC
MCODE
Molecular Complex Detection
Vorstellung eines Graphclustering-Algorithmus
für biomolekulare Netzwerke
MCODE

Gliederung
−
−
−
Einführung, Grundlagen
Anwendungsgebiete, Zielstellung
MCODE im Detail



−
Der Algorithmus
Komlexitätsbetrachtung
Stärken und Schwächen
bunte Bilder


MCODE in Cytoscape
Evaluation und Parametereinfluss
MCODE
Einführung


fortschrittiche
Technologien führten zu
genaueren biologischen
Interaktions Netzwerken
wachsende Daten
benötigen Theorie zur
automatisierten
Analyse, also GraphClustering-Algorithmen
Quelle: mkbergman.com
MCODE
Einführung





Gary Bader (Toronto)
Christopher Hogue
(Ottawa)
MCODE findet dichte
Regionen in Graphen
diese könnten
biomolekulare
Komplexe darstellen
arbeitet lokal
Quelle: images.the-scientist.com
MCODE
Einführung




benötigt nur Informationen
über Dichte in direkter
Nachbarschaft
Vorteil: directed mode
getestet va. an
Modelorganismus
Saccaromyces cerevisiae
(Hefe)
BIND (www.bind.ca, heute
BOND)
Quelle: en.wikipedia.org
MCODE
Zielsetzung






biologische
Datenbanken
vorallem ProteinInteraktionsnetzwerke
Cytoscape-Plugin
(cytoscape.org)
(un-)gewichtet
(un-)gerichtet
scale-free NW
Quelle: cytoscape.org
MCODE
Der Algorithmus

arbeitet in (2 bis) 3 Einzelschritten
−
−
−

1 - Vertex weighting
2 - molecular complex prediction
3 - optional: post-processing
Ausgangspunkt:
Graph : G = V , E
∣ E∣
Dichte =
∣ Emax ∣
Nachbarschaft des Knotens si : Ni = V i , Ei
i ∣
2∗∣ E
clustering coefficient : C i =
∣ V i ∣∣ V i ∣ −1
Quelle: en.wikipedia.org
MCODE
Der Algorithmus






k-Core, G' = (V', E')
E '={e∈E,∣Ee∣≥k } --> rekursiv!
vorgeschlagen 1984 zur vereinfachten
Darstellung und Analyse großer Graphen
core-clustering coefficient von Knoten i=
 'i , E
i ∪i
Dichte des größten k-Cores in N 'i= V
wirkt stärker als Ci
effektiv auf scale-free networks
MCODE
Der Algorithmus (1)
vertex weighting

jeder Knoten bekommt Wert

Wert ist Produkt aus core-clustering-coef.
und höchsten k-core-level von N
for all v in G do
N = direkte Nachbarschaft von v
K = höchster k-Core Teilgraph aus N
k = k-Wert von K
d = maximale Dichte von K bei const k
setze Wert von v = k * d
end_for;
MCODE
Der Algorithmus (2)





molecular complex prediction
nimmt bewerteten Graph aus (1) als Input
beginnt bei höchst bewertetem , noch
ungeclustertem Knoten
nimmt alle Nachbarn in den Cluster deren
Wert>VWP*s (vertex weighting percentage)
rekursiv
hard partioning (überlappung erst in (3))
MCODE
Der Algorithmus (2)
for all v in G do
s = höchster, unbearbeiteter Knoten;
c = new complex (s);
if (s unbearbeitet) then
for all unmarked v aus N(s) do
if (Wert_v > (1-vwp)*Wert_s) then
add_complex (c, v);
call RECURSION(G,W,vwp, v);
end_if;
end_for;
end_if;
end_for;
MCODE
Der Algorithmus (3)






post-processing
entferne Cluster die nicht mindestens einen
2-Core enthalten (z.Bsp. Ketten)
fluff-option (real 0.0 – 1.0):
nimmt Nachbarn hinzu, deren Dichte größer
als ein Schwellwert ist
markiert Knoten nicht als „gesehen“ ->soft
partioning möglich
haircut-option:
2-kern auf dem Ergebnis, entfernt also alle
Knoten vom Grad 1 rekursiv
MCODE
Der Algorithmus (3)
for all Clusters c do
if (c kein 2-Core) then filter(c);
if (haircut) then 2-Core(c);
if (fluff) then
for all Knoten u von c do
for all v aus N(u)\c do
if (dichte_v > fluff_schwelle) then
füge v zu c hinzu; end_if;
end_for;
end_for;
end_if;
end_for;
MCODE
Komplexitätsbetrachtung



Zeitkomplexität (gesamt) : O(|E|*|V|*h³)
geht also polynomial mit dem Knotengewicht
der durschnittlichen Nachbarschaft
k-Core finden (festes k) --> O(n²)
−

höchsten k-Core identifizieren --> O(n³)
−


rekursives entfernen von Knoten mit grad <k
damit ist n=h=Gewicht der durchschnittlichen N.
innere Schleife: 2mal pro Kante --> O(2|E|h³)
äußere Schleife: 1mal pro Knoten
--> O(|V|*2|E|*h³) = O(|V||E|h³)

(1) ist der „teuerste“ Schritt, aber muss i.d.R.
nur einmal ausgeführt werden
MCODE
Komplexitätsbetrachtung


(2) läuft in O(|V|)
(3) liegt in O(|C|*|cmax|²)
−
−
−

|C| #Cluster
|cmax| #Knoten im größten Cluster
kommt von der Suche nach 2-Cores in allen
Clustern
also können viele Parameter nach
einmaligem vertex weighting in O(|V|)
getestet werden!
MCODE
Stärken








directed mode
Parameter Test nach einmaligem vertex
weighting günstig
lokale Arbeitsweise
spätere Graphmodifizierung erfordert nur
kleine Anpassungen in die Knotenwerte
threshold --> es müssen nicht alle Daten
zwingend in Clustern liegen
fluff --> einfaches soft-partitioning
haircut --> erhöht Relevanz der Daten
Rating
MCODE
Schwächen





vertex weighting auch noch relativ teuer
unheimlich teuer (Bsp. s.cerevisiae vollst. |V|
=79083, |E|=5817)
kein direktes Softpartitioning, dadurch
gewisse Anforderungen an Ausgangsgraph
Parameterwahl erfordert mehr Vorkenntnisse
als bei vergleichbaren Algos (Größe der kCores etc)
manuelle Parameter-Justierung an neue
Daten notwendig
wenig effizient auf nicht skalen-invarianten
Graphen
MCODE in Cytoscape
MCODE in Cytoscape
MCODE in Cytoscape
Clustering von Clustern
Clustering von Clustern
Clustering von Clustern
Clustering von Clustern
Clustering von Clustern
Clustering von Clustern
Clustering von Clustern
Wirkung Sizethreshold
Wirkung Sizethreshold
Wirkung Sizethreshold
Wirkung Sizethreshold
Wirkung Sizethreshold
MCODE
Evaluation/Parametereinfluss








findet MCODE auch tatsächlich biologisch
relevante Daten?
wie müssen Parameter justiert werden dafür?
wie genau kann das werden?
Findet MCODE eher zu viel oder zu wenig?
Oder gar völlig falsche Cluster?
Ursachen
mögliche Lösungsansätze
Arbeitshinweise
MCODE
Evaluation/Parametereinfluss







Annahme: GC findet viele falsche Cluster
MCODE: haircut, fluff und sizethreshold
Test an >800
Parameterkombinationen ∣P∩M∣²
OverlapScore  = ∣P∣∗∣M∣
Daten: Gavin e.a.
threshold 0 bedeutet
1 Protein für match
treshhold 1 -->
alle Proteine gleich
MCODE
Evaluation/Parametereinfluss




threshold w=0,2
Optimum:
−
−
nah an y=x
y groß
−
−
−
−
haircut = false
fluff = true
vwp = 0,05
fluuf d.t < 0,1
hier: (63,88) für
optimum bleibt
bis w = 0,5 stabil
MCODE
Evaluation/Parametereinfluss

Misses und Hits
MCODE
Evaluation/Parametereinfluss

stärkster Faktor: VWP
MCODE
Evaluation/Parametereinfluss

Hits (DNA Reperaturmechanismen)
MCODE
Evaluation/Parametereinfluss

Hits (Zellteilung, Cytokinese)
MCODE
Evaluation/Parametereinfluss

Einfluss der complex size Parameters
MCODE
Evaluation/Parametereinfluss

Beispiel für directed mode
MCODE
Evaluation/Parametereinfluss

Beispiel für directed mode
MCODE
Evaluation/Parametereinfluss

MCODE zum Finden von Cluster-Interaktion
MCODE
Beispiel
MCODE
Beispiel
MCODE
Beispiel
MCODE
Beispiel
MCODE
Beispiel
MCODE
Beispiel
Herunterladen