GenerateRCs <- function(data) { # print(dim(data)) # if (data==NULL) # { # message <- tktoplevel() # label.widget <- tklabel(message, text="Must Import Data First") # button.widget <- tkbutton(message, text="OK", command=function() tkdestroy(message)) # tkpack(label.widget, button.widget) # return() # } # library(tkWidgets) library(cluster) geneid = data[[2]] expts = data[[3]] data = data[[1]] datadim = dim(data) n=datadim[1] methods=c("SingleLink", "CompleteLink", "AverageLink", "PAM", "KMEANS") selection=pickItems(methods) nm = length(selection) params=GetRCParameter() nk=as.double(params[[1]]) print(selection) print(params) # print(n) # print(len) pearsonmat = cor(t(data), use="pairwise") # print(dim(pearsonmat)) pearsonmat = as.dist(1-abs(pearsonmat)) #AVLINK avgo=FALSE for (i in 1:nm) { if (selection[i]=="AverageLink") avgo=TRUE } if (avgo==TRUE) { avlink = hclust(pearsonmat, method="average") avlink = cutree(avlink, k=nk) } print(nk); #SINGLINK singgo=FALSE for (i in 1:nm) { if (selection[i]=="SingleLink") singgo=TRUE } if (singgo==TRUE) { singlink = hclust(pearsonmat, method="single") singlink = cutree(singlink, k=nk) } #COMPLINK compgo=FALSE for (i in 1:nm) { if (selection[i]=="CompleteLink") compgo=TRUE } if (compgo==TRUE) { complink = hclust(pearsonmat, method="complete") complink = cutree(complink, k=nk) } #PAM pamgo=FALSE for (i in 1:nm) { if (selection[i]=="PAM") pamgo=TRUE } if (pamgo==TRUE) { pamres = pam(pearsonmat, k=nk) pamres = pamres$cluster } #KMEANS kmgo=FALSE for (i in 1:nm) { if (selection[i]=="KMEANS") kmgo=TRUE } if (kmgo==TRUE) { #Get number of clusters kmeansres = kmeans(data, nk, 100) kmeansres = kmeansres$cluster } # print(singlink) # print(complink) # print(avlink) # print(pamres) # print(kmeansres) clusters = c() if (avgo==TRUE) { clusters = c(clusters, avlink) # print(avlink) } if (singgo==TRUE) { clusters = c(clusters, singlink) # print(singlink) } if (compgo==TRUE) { clusters = c(clusters, complink) # print(complink) } if (pamgo==TRUE) { clusters = c(clusters, pamres) # print(pamres) } if (kmgo==TRUE) { clusters = c(clusters, kmeansres) # print(kmeansres) } # print(c("test:",nm,avgo,singgo,compgo,pamgo,kmgo,length(clusters))) clusters = matrix(clusters, n, nm) amat = Agreemat(t(clusters)) print(dim(amat)) rc = Robust(geneid,amat,nm) # print(rc) #WRITE TO TEXTFILE # print(length(rc)) for (i in 1:length(rc)) { # print(rc[i]) write(toString(rc[[i]]), file="RobustClusters.out", append=TRUE) } GenerateRCs = rc }