network community

Analyse biologischer Netzwerke (Cas Limite / Rekursion)

Scénario de test & Cas d'usage

Geschäftskontext

In der Proteomik sind Protein-Interaktionsnetzwerke oft sehr dicht ('Hairball'-Struktur). Ein einziger Durchlauf des Algorithmus liefert oft eine riesige 'Super-Community', die biologisch nicht aussagekräftig ist. Wir müssen diese riesigen Cluster rekursiv aufbrechen, bis sie eine handhabbare Größe haben, und gleichzeitig Proteine identifizieren, die zu mehreren Funktionen (Overlap) gehören.
Datenaufbereitung

Erstellung eines sehr dichten Graphen (Clique), der ohne Rekursion als ein einziger Block erscheinen würde.

Kopiert!
1DATA mycas.protein_interaktionen;
2 DO i = 1 to 20;
3 DO j = i+1 to 20;
4 protein_a = catx("_", "P", put(i, z2.));
5 protein_b = catx("_", "P", put(j, z2.));
6 OUTPUT;
7 END;
8 END;
9 /* Hinzufügen einiger externer Verbindungen */
10 protein_a="P_01"; protein_b="P_99"; OUTPUT;
11 protein_a="P_20"; protein_b="P_98"; OUTPUT;
12RUN;

Étapes de réalisation

1
Ausführung mit erzwungener rekursiver Zerlegung (maxCommSize=5) und Overlap-Berechnung.
Kopiert!
1PROC CAS;
2 ACTION network.community RESULT=r /
3 links={name="protein_interaktionen", from="protein_a", to="protein_b"}
4 recursive={maxCommSize=5}
5 outOverlap={name="protein_overlap", replace=true}
6 outNodes={name="protein_cluster", replace=true};
7 RUN;
2
Analyse der Überlappungen.
Kopiert!
1fetch / TABLE={name="protein_overlap"} sortBy={"node", "intensity"} to=20;
2 
3RUN;
4QUIT;
5 

Erwartetes Ergebnis


Trotz der hohen Dichte der Daten (jeder mit jedem verbunden) erzwingt der Parameter `recursive={maxCommSize=5}` eine Unterteilung der großen Gruppe in kleinere Sub-Cluster. Die Tabelle `protein_overlap` zeigt die Zugehörigkeitsintensität der Proteine zu diesen erzwungenen Clustern.