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 )
|