# TODO: Add comment
# 
# Author: E.Korsching  2019
###############################################################################



splitdf <- function(x, sep="", prefix=""){
	# save columns as separate files for e.g. DAVID GSEA analysis
	# x: data.frame
	# sep: separator char
	# prefix: file prefix and/or relative path
	nc <- ncol(x)
	nr <- nrow(x)
	names.x <- names(x)
	erg <- data.frame(matrix("",nr,nc), stringsAsFactors=F)
	for(i in 1:nc){
		a <- data.frame(strsplit(x[,i], split=sep, fixed=T), stringsAsFactors=F)
		for(j in 1:nr){
			erg[j,i] <- a[[j]][1]		# keep only first element
		}
	}
	names(erg) <- names.x
	
	# save
	for(i in 1:nc){
		a <- erg[,i,drop=F]
		a <- a[!is.na(a)]		# remove NA entries
		write.table(a, file=paste(prefix,i,sep=""), quote=F, row.names=F, col.names=F)	 # write column
	}
	
	return()
}


#splitdf(B.genes, sep="_", prefix="David/B/abc")



