diff --git a/workflow/scripts/calcuateTPM.R b/workflow/scripts/calcuateTPM.R new file mode 100644 index 0000000000000000000000000000000000000000..945116510462a1b8777750abb829d537bbccdc47 --- /dev/null +++ b/workflow/scripts/calcuateTPM.R @@ -0,0 +1,32 @@ +gc() +library(optparse) +library(edgeR) + +option_list=list( + make_option("--count",action="store",type='character',help="Count File") +) +opt=parse_args(OptionParser(option_list=option_list)) +rm(option_list) + +if (!("count" %in% names(opt))){ + print("No count file passed, exiting.") + exit() +} else if (!file.exists(opt$count)) { + print("No count file passed, exiting.") + exit() +} + +repRID <- basename(gsub(".featureCounts","",opt$count)) + +count <- read.delim(opt$count, comment.char="#") + +rpk <- count$Q.Y5JA.sorted.deduped.bam/count$Length/1000 + +scale <- sum(rpk)/1000000 + +tpm <- rpk/scale + +output <- cbind(count,tpm) +colnames(output)[7] <- "count" + +write.table(output,file=paste0(repRID,".countTable.csv"),sep=",",row.names=FALSE,quote=FALSE) \ No newline at end of file