Mercurial > repos > gaelcge > r_signac_galaxy
annotate signac-geneactivity.R @ 0:6e0b320d8b6a draft default tip
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
author | gaelcge |
---|---|
date | Tue, 02 Aug 2022 19:11:27 +0000 |
parents | |
children |
rev | line source |
---|---|
0
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
1 #!/usr/bin/env Rscript |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
2 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
3 # Load optparse we need to check inputs |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
4 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
5 suppressPackageStartupMessages(require(optparse)) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
6 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
7 # Load common functions |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
8 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
9 suppressPackageStartupMessages(require(workflowscriptscommon)) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
10 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
11 # parse options |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
12 option_list = list( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
13 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
14 c("--signac-object"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
15 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
16 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
17 type = 'character', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
18 help = "A Seurat object." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
19 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
20 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
21 c("--fragment-file"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
22 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
23 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
24 type = 'character', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
25 help = "Fragments file." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
26 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
27 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
28 c("--assay"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
29 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
30 default = NULL, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
31 type = 'character', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
32 help = "Assay." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
33 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
34 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
35 c("--features"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
36 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
37 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
38 type = 'character', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
39 help = "Features." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
40 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
41 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
42 c("--extend-upstream"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
43 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
44 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
45 type = 'numeric', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
46 help = "Number of bases to extend upstream of the TSS." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
47 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
48 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
49 c("--extend-downstream"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
50 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
51 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
52 type = 'numeric', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
53 help = "Number of bases to extend downstream of the TSS." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
54 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
55 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
56 c("--biotypes"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
57 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
58 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
59 type = 'character', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
60 help = "Gene biotypes to include. If NULL, use all biotypes in the gene annotation." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
61 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
62 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
63 c("--max-width"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
64 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
65 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
66 type = 'numeric', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
67 help = "Maximum allowed gene width for a gene to be quantified." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
68 ), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
69 make_option( |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
70 c("--output-object-file"), |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
71 action = "store", |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
72 default = NA, |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
73 type = 'character', |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
74 help = "File name in which to store serialized R matrix object." |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
75 ) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
76 ) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
77 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
78 opt <- wsc_parse_args(option_list) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
79 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
80 suppressPackageStartupMessages(require(Seurat)) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
81 suppressPackageStartupMessages(require(Signac)) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
82 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
83 set.seed(1234) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
84 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
85 if (! file.exists(opt$signac_object)){ |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
86 stop((paste('File', opt$signac_object, 'does not exist'))) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
87 } |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
88 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
89 signac_object <- readRDS(file = opt$signac_object) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
90 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
91 signac_object@assays$peaks@fragments[[1]]@path <- opt$fragment_file |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
92 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
93 # Check features |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
94 features <- NULL |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
95 if (! is.null(opt$features) && opt$features != 'NULL'){ |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
96 if (file.exists(opt$features)){ |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
97 features <- readLines(opt$features) |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
98 } |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
99 } |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
100 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
101 # Check assay |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
102 assay <- NULL |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
103 if (! is.null(opt$assay) && opt$assay != 'NULL'){ |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
104 assay <- opt$assay |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
105 } |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
106 |
6e0b320d8b6a
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
gaelcge
parents:
diff
changeset
|
107 saveRDS(GeneActivity(object = signac_object, assay = assay, features = features, extend.upstream = opt$extend_upstream, extend.downstream = opt$extend_downstream, biotypes = opt$biotypes, max.width = opt$max_width), file = opt$output_object_file) |