| 1 | 1 args <- commandArgs(trailingOnly = TRUE) | 
|  | 2 | 
|  | 3 files <- read.table(args[1], stringsAsFactors=F) | 
|  | 4 | 
|  | 5 my.read.table <- function(file) { | 
|  | 6     read.table( | 
|  | 7         file, | 
|  | 8         sep="\t", | 
|  | 9         stringsAsFactors=T, | 
|  | 10         header=as.logical(args[4]) | 
|  | 11         ) | 
|  | 12     } | 
|  | 13 | 
|  | 14 data <- NA; | 
|  | 15 if (length(files) == 1) { | 
|  | 16     data <- my.read.table(files[1]) | 
|  | 17     } | 
|  | 18 else { | 
|  | 19     data_list <- apply(files, 1, my.read.table) | 
|  | 20     data <- Reduce(function(x,y) { rbind(x,y) }, data_list) | 
|  | 21     } | 
|  | 22 | 
|  | 23 contig_order <- read.table(args[2], stringsAsFactors=F)[,1] | 
|  | 24 data[,1] <- factor(data[,1], levels=contig_order) | 
|  | 25 data <- data[order(data[,1]),] | 
|  | 26 data[,1] <- as.character(data[,1]) | 
|  | 27 | 
|  | 28 write.table( | 
|  | 29     x=data, | 
|  | 30     file=args[3], | 
|  | 31     sep ="\t", | 
|  | 32     quote=F, | 
|  | 33     row.names=F, | 
|  | 34     col.names=as.logical(args[4]) | 
|  | 35     ) |