require(survJamda.data)
data(gse4335)
data(gse3143)
data(gse1992)
data(gse4335pheno)
data(gse3143pheno)
data(gse1992pheno)
geno.files = c("gse4335", "gse3143","gse1992")
surv.data = list(c(gse4335pheno[,6],gse3143pheno[,4],gse1992pheno[,19]),
c(gse4335pheno[,5],gse3143pheno[,3],gse1992pheno[,18]))
#The following script might take some time
#main.merge.indep.valid(geno.files,surv.data)
function(geno.files,surv.data,method = "none", normalization= "zscore1", perf.eval = "auc")
{
require(survival)
require(survivalROC)
if (length(geno.files) < 3)
stop ("\rThere should be minimum 3 data sets", call. = FALSE)
if(normalization == "combat")
batchID = det.batchID()
if (!is.element(normalization, c("zscore","combat")))
stop("\rnormalization = \"zscore\" or normalization = \"combat\"",
call.=FALSE)
common.gene = colnames(get(geno.files[1]))
for (i in 2:length(geno.files))
common.gene = intersect(common.gene, colnames(get(geno.files[i])))
curr_set = 1:length(geno.files)
for (y in curr_set){
x = setdiff(curr_set, y)
prep = get(paste("prep",normalization, sep = ""))
lst = prep(common.gene,geno.files,surv.data,x,y)
if (normalization == "zscore1" || normalization == "combat")
splitMerged.indep (geno.files,lst, x, y, method, perf.eval)
else
splitZscore2.merge.indep (common.gene,geno.files,surv.data,
lst, x, y, method, perf.eval)
}
}
Run the code above in your browser using DataLab