Scénario de test & Cas d'usage
Erstellung eines sehr dichten Graphen (Clique), der ohne Rekursion als ein einziger Block erscheinen würde.
| 1 | DATA 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; |
| 12 | RUN; |
| 1 | PROC 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; |
| 1 | fetch / TABLE={name="protein_overlap"} sortBy={"node", "intensity"} to=20; |
| 2 | |
| 3 | RUN; |
| 4 | QUIT; |
| 5 |
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.