Cyto Spanning tree Progression of Density normalized Events (SPADE)

MikuHatsune2013-09-22

SPADEという細胞分化の分岐図を描く手法を教えてもらったのでやってみる。
FCMから得られたデータを使う。
デフォルトだと出力が pdf にしかならなくてイラッ☆としたのでノードのサイズを取得して igraph でゴリ押しした。

library(spade)
library(flowViz)
data_file_path = system.file(file.path("extdata","SimulatedRawData.fcs"), package = "spade")
output_dir <- tempdir()
transforms <- c(`marker1`=flowCore::arcsinhTransform(a=0, b=0.2), `marker2`=flowCore::arcsinhTransform(a=0, b=0.2))
SPADE.driver(data_file_path, out_dir=output_dir, transforms=transforms, cluster_cols=c("marker1","marker2"))
grep("^libloc",dir(output_dir),invert=TRUE,value=TRUE)

mst_graph <- igraph0:::read.graph(paste(output_dir,"mst.gml",sep=.Platform$file.sep),format="gml")


clust <- read.table(paste(output_dir, "/clusters.table", sep=""), sep=" ", header=TRUE)
lay0 <- read.table(paste(output_dir,"layout.table",sep=.Platform$file.sep))

library(gplots)
par(mfrow=c(1, 2), mar=c(0, 0, 3, 0))
for(m in seq(ncol(clust))){
	cut0 <- seq(min(clust[,m]), max(clust[,m]), length=99) # ノードの色付け
	g0 <- mst_graph
	V(g0)$label <- NA
	V(g0)$size <- clust[,m]
	V(g0)$frame.color <- "black"
	V(g0)$color <- bluered(100)[cut(clust[,m], cut0, include.lowest=TRUE)]
	plot(g0, layout=as.matrix(lay0), main=colnames(clust)[m])
}