Skip to content
Snippets Groups Projects
Commit 225505cf authored by Cats's avatar Cats
Browse files

add merge counts

parent 8155c98c
No related branches found
No related tags found
1 merge request!6add merge counts
task MergeCounts {
Array[File] inputFiles
String outputFile
String idVar
String measurementVar
File script
command {
Rscript ${script} \
${idVar} \
${measurementVar} \
${sep=" " inputFiles} \
> ${outputFile}
}
output {
File mergedCounts = outputFile
}
}
\ No newline at end of file
# Author: Ioannis Moustakas, i.moustakas@lumc.nl (Based on a script by Szymon Kielbasa)
# Modified by: Davy Cats, d.cats@lumc.nl
# Title: Merge count files from featureCouns output
# Use: Rscript merge_counts.R columnIDToMergeOn columnIDBeingMerged listOfFilesToBeMerged... > outputFile
### Load Packages
library(dplyr)
library(reshape2)
### load arguments from the command line
args <- commandArgs(trailingOnly=TRUE)
idVars <- args[1]
measureVars <- args[2]
listOfFiles <- args[3:length(args)]
### Iterate over the list of files that are being merged and
### change the column name to the sample name
d <- do.call(rbind, lapply(listOfFiles, function(file){
d <- read.table(file, header=TRUE, comment.char="#")
colI <- grep(measureVars, colnames(d))
colnames(d)[colI] <- strsplit(file, "/")[[1]][3]
d <- d %>% melt(id.vars=idVars, measure.vars=colI,
variable.name="sample", value.name="count")
}))
### Reformat the data frame and output (in STDOUT) the merged table.
d <- d %>% dcast(paste0(idVars, " ~ sample"), value.var="count")
write.table(d, sep="\t", quote=FALSE, row.names=FALSE)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment