Mercurial > repos > artbio > cpm_tpm_rpk
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 |
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 |