annotate cpm_tpm_rpk.R @ 0:35d032c46a4e draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
author artbio
date Wed, 25 Jul 2018 13:05:17 -0400
parents
children b74bab5157c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
1 if (length(commandArgs(TRUE)) == 0) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
2 system("Rscript cpm_tpm_rpk.R -h", intern = F)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
3 q("no")
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
4 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
5
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
6 # Load necessary packages (install them if it's not the case)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
7 requiredPackages = c('optparse')
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
8 for (p in requiredPackages) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
9 if (!require(p, character.only = TRUE, quietly = T)) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
10 install.packages(p)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
11 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
12 suppressPackageStartupMessages(suppressMessages(library(p, character.only = TRUE)))
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
13 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
14
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
15
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
16 #Arguments
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
17 option_list = list(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
18 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
19 c("-d", "--data"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
20 default = NA,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
21 type = 'character',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
22 help = "Input file that contains count values to transform"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
23 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
24 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
25 c("-t", "--type"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
26 default = 'cpm',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
27 type = 'character',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
28 help = "Transformation type, either cpm, tpm or rpk [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
29 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
30 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
31 c("-s", "--sep"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
32 default = '\t',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
33 type = 'character',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
34 help = "File separator [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
35 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
36 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
37 c("-c", "--colnames"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
38 default = TRUE,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
39 type = 'logical',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
40 help = "Consider first line as header ? [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
41 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
42 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
43 c("-f", "--gene"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
44 default = NA,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
45 type = 'character',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
46 help = "Two column of gene length file"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
47 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
48 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
49 c("-a", "--gene_sep"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
50 default = '\t',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
51 type = 'character',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
52 help = "Gene length file separator [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
53 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
54 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
55 c("-b", "--gene_header"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
56 default = TRUE,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
57 type = 'logical',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
58 help = "Consider first line of gene length as header ? [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
59 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
60 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
61 c("-l", "--log"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
62 default = FALSE,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
63 type = 'logical',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
64 help = "Should be log transformed as well ? (log2(data +1)) [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
65 ),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
66 make_option(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
67 c("-o", "--out"),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
68 default = "res.tab",
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
69 type = 'character',
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
70 help = "Output name [default : '%default' ]"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
71 )
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
72 )
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
73
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
74
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
75 opt = parse_args(OptionParser(option_list = option_list),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
76 args = commandArgs(trailingOnly = TRUE))
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
77
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
78 if (opt$data == "" & !(opt$help)) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
79 stop("At least one argument must be supplied (count data).\n",
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
80 call. = FALSE)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
81 } else if ((opt$type == "tpm" | opt$type == "rpk") & opt$gene == "") {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
82 stop("At least two arguments must be supplied (count data and gene length file).\n",
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
83 call. = FALSE)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
84 } else if (opt$type != "tpm" & opt$type != "rpk" & opt$type != "cpm") {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
85 stop("Wrong transformation requested (--type option) must be : cpm, tpm or rpk.\n",
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
86 call. = FALSE)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
87 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
88
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
89 if (opt$sep == "tab") {opt$sep = "\t"}
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
90 if (opt$gene_sep == "tab") {opt$gene_sep = "\t"}
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
91
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
92 cpm <- function(count) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
93 t(t(count) / colSums(count)) * 1000000
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
94 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
95
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
96
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
97 rpk <- function(count, length) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
98 count / (length / 1000)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
99 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
100
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
101 tpm <- function(count, length) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
102 RPK = rpk(count, length)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
103 perMillion_factor = colSums(RPK) / 1000000
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
104 TPM = RPK / perMillion_factor
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
105 return(TPM)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
106 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
107
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
108 data = read.table(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
109 opt$data,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
110 h = opt$colnames,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
111 row.names = 1,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
112 sep = opt$sep
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
113 )
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
114
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
115 if (opt$type == "tpm" | opt$type == "rpk") {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
116 gene_length = as.data.frame(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
117 read.table(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
118 opt$gene,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
119 h = opt$gene_header,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
120 row.names = 1,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
121 sep = opt$gene_sep
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
122 )
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
123 )
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
124 gene_length = as.data.frame(gene_length[match(rownames(data), rownames(gene_length)), ], rownames(data))
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
125 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
126
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
127
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
128 if (opt$type == "cpm")
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
129 res = cpm(data)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
130 if (opt$type == "tpm")
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
131 res = as.data.frame(apply(data, 2, tpm, length = gene_length), row.names = rownames(data))
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
132 if (opt$type == "rpk")
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
133 res = as.data.frame(apply(data, 2, rpk, length = gene_length), row.names = rownames(data))
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
134 colnames(res) = colnames(data)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
135
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
136
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
137 if (opt$log == TRUE) {
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
138 res = log2(res + 1)
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
139 }
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
140
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
141 write.table(
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
142 cbind(Features = rownames(res), res),
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
143 opt$out,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
144 col.names = opt$colnames,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
145 row.names = F,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
146 quote = F,
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
147 sep = "\t"
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
148 )
35d032c46a4e planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cpm_tpm_rpk commit cc0fd23c039cc4a39c5e4e320b50666b7d9b6f65
artbio
parents:
diff changeset
149