if (FALSE) {
# Load test data and build networks by donor and region
# Note: T = Tumor, N = Normal, B = Border regions
data(scorpionTest)
nets <- runSCORPION(
gexMatrix = scorpionTest$gex,
tfMotifs = scorpionTest$tf,
ppiNet = scorpionTest$ppi,
cellsMetadata = scorpionTest$metadata,
groupBy = c("donor", "region")
)
# Single-sample test: Test if edges in Tumor region differ from zero
tumor_nets <- grep("--T$", colnames(nets), value = TRUE) # T = Tumor
results_single <- testEdges(
networksDF = nets,
testType = "single",
group1 = tumor_nets
)
# Two-sample test: Compare Tumor vs Border regions
tumor_nets <- grep("--T$", colnames(nets), value = TRUE) # T = Tumor
border_nets <- grep("--B$", colnames(nets), value = TRUE) # B = Border
results_tumor_vs_border <- testEdges(
networksDF = nets,
testType = "two.sample",
group1 = tumor_nets,
group2 = border_nets
)
# View top differential edges (Tumor vs Border)
head(results_tumor_vs_border[order(results_tumor_vs_border$pAdj), ])
# Compare Tumor vs Normal regions
normal_nets <- grep("--N$", colnames(nets), value = TRUE) # N = Normal
results_tumor_vs_normal <- testEdges(
networksDF = nets,
testType = "two.sample",
group1 = tumor_nets,
group2 = normal_nets
)
# Filter by minimum edge weight for focused analysis
results_filtered <- testEdges(
networksDF = nets,
testType = "two.sample",
group1 = tumor_nets,
group2 = normal_nets,
minMeanEdge = 0.1 # Only test edges with |mean| >= 0.1
)
# Paired t-test: Compare matched Tumor vs Normal samples (same patient)
# Ensure columns are ordered by patient: P31--T with P31--N, P32--T with P32--N, etc.
tumor_nets_ordered <- c("P31--T", "P32--T", "P33--T")
normal_nets_ordered <- c("P31--N", "P32--N", "P33--N")
results_paired <- testEdges(
networksDF = nets,
testType = "two.sample",
group1 = tumor_nets_ordered,
group2 = normal_nets_ordered,
paired = TRUE
)
}
Run the code above in your browser using DataLab