annotate getDensityPlots_text.R @ 1:754d511df1a3 draft default tip

"planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
author azomics
date Tue, 14 Jul 2020 09:40:13 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
1 #!/usr/bin/env Rscript
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
2 # Density Plot Module for Galaxy
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
3 # ggplot2
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
4 ######################################################################
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
5 # Copyright (c) 2016 Northrop Grumman.
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
6 # All rights reserved.
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
7 ######################################################################
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
8 #
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
9 # Version 1
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
10 # Cristel Thomas
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
11 #
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
12 #
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
13
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
14 library(ggplot2)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
15 library(grid)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
16 library(KernSmooth)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
17 # Multiple plot function
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
18 # from http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_%28ggplot2%29/
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
19 # ggplot objects can be passed in ..., or to plotlist (as a list of ggplot objects)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
20 # - cols: Number of columns in layout
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
21 # - layout: A matrix specifying the layout. If present, 'cols' is ignored.
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
22 #
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
23 # If the layout is something like matrix(c(1,2,3,3), nrow=2, byrow=TRUE),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
24 # then plot 1 will go in the upper left, 2 will go in the upper right, and
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
25 # 3 will go all the way across the bottom.
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
26 #
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
27 multiplot <- function(..., plotlist=NULL, file, cols=1, layout=NULL) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
28 # Make a list from the ... arguments and plotlist
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
29 plots <- c(list(...), plotlist)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
30 numPlots = length(plots)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
31
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
32 # If layout is NULL, then use 'cols' to determine layout
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
33 if (is.null(layout)) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
34 # Make the panel
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
35 # ncol: Number of columns of plots
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
36 # nrow: Number of rows needed, calculated from # of cols
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
37 layout <- matrix(seq(1, cols * ceiling(numPlots/cols)),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
38 ncol = cols, nrow = ceiling(numPlots/cols))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
39 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
40
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
41 if (numPlots==1) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
42 print(plots[[1]])
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
43 } else {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
44 # Set up the page
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
45 grid.newpage()
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
46 pushViewport(viewport(layout = grid.layout(nrow(layout), ncol(layout))))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
47
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
48 # Make each plot, in the correct location
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
49 for (i in 1:numPlots) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
50 # Get the i,j matrix positions of the regions that contain this subplot
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
51 matchidx <- as.data.frame(which(layout == i, arr.ind = TRUE))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
52 print(plots[[i]], vp = viewport(layout.pos.row = matchidx$row,
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
53 layout.pos.col = matchidx$col))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
54 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
55 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
56 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
57
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
58 generateGraphFromText <- function(input, channels, output, plot_default=TRUE,
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
59 flag_pdf=FALSE) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
60 fcs <- read.table(input, header = TRUE, sep = "\t", check.names = FALSE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
61 ## marker names
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
62 markers <- colnames(fcs)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
63
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
64 if (plot_default) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
65 channels <- c(grep(colnames(fcs), pattern="Forward scatter", ignore.case=TRUE),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
66 grep(colnames(fcs), pattern="Side scatter", ignore.case=TRUE))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
67 if (length(channels) == 0){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
68 channels <- c(grep(colnames(fcs), pattern="FSC"),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
69 grep(colnames(fcs), pattern="SSC"))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
70 if (length(channels) > 2) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
71 #get first FSC and corresponding SSC
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
72 channels <- c(grep(colnames(fcs), pattern="FSC-A"),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
73 grep(colnames(fcs), pattern="SSC-A"))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
74 if (length(channels) == 0) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
75 channels <- c(grep(colnames(fcs), pattern="FSC-H"),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
76 grep(colnames(fcs), pattern="SSC-H"))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
77 if (length(channels) == 0) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
78 channels <- c(grep(colnames(fcs), pattern="FSC-W"),
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
79 grep(colnames(fcs), pattern="SSC-W"))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
80 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
81 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
82 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
83 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
84 if (length(channels) == 0) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
85 warning('No forward/side scatter channels found, no plots will be generated.')
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
86 quit(save = "no", status = 10, runLast = FALSE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
87 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
88 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
89
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
90 nb_markers <- length(channels)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
91 if (nb_markers == 1) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
92 warning('There is only one marker selected to plot.')
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
93 quit(save = "no", status = 12, runLast = FALSE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
94 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
95 for (j in nb_markers) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
96 if (channels[j] > length(markers)){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
97 warning('Please indicate markers between 1 and ', length(markers))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
98 quit(save = "no", status = 10, runLast = FALSE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
99 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
100 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
101
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
102 plots <- list()
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
103 i <- 0
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
104 for (m in 1:(nb_markers - 1)) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
105 for (n in (m+1):nb_markers) {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
106 x <- fcs[,channels[m]]
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
107 y <- fcs[,channels[n]]
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
108 df <- data.frame(x = x, y = y,
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
109 d = densCols(x, y, colramp = colorRampPalette(rev(rainbow(10, end = 4/6)))))
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
110 p <- ggplot(df) +
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
111 geom_point(aes(x, y, col = d), size = 0.2) +
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
112 scale_color_identity() +
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
113 theme_bw() +
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
114 labs(x = markers[channels[m]]) +
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
115 labs(y = markers[channels[n]])
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
116 i <- i + 1
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
117 plots[[i]] <- p
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
118 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
119 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
120 nb_rows <- ceiling(((nb_markers-1)*nb_markers)/4)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
121 h <- 400 * nb_rows
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
122 hp <- 10 * (nb_rows/2)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
123
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
124 if (flag_pdf){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
125 pdf(output, height=hp, width=10, useDingbats=FALSE, onefile=TRUE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
126 multiplot(plotlist = plots, cols = 2)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
127 dev.off()
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
128 } else {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
129 png(output, type="cairo", width=800, height=h)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
130 multiplot(plotlist = plots, cols = 2)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
131 dev.off()
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
132 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
133 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
134
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
135 args <- commandArgs(trailingOnly = TRUE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
136 channels <- list()
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
137 flag_default <- FALSE
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
138 flag_pdf <- FALSE
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
139
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
140 if (args[2]=="None" || args[2]== "" || args[2] == "i.e.:1,3,4") {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
141 flag_default <- TRUE
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
142 } else {
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
143 channels <- as.numeric(strsplit(args[2], ",")[[1]])
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
144 for (channel in channels){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
145 if (is.na(channel)){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
146 quit(save = "no", status = 11, runLast = FALSE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
147 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
148 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
149 if (length(channels) == 1){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
150 warning('Please indicate more than one marker to plot.')
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
151 quit(save = "no", status = 10, runLast = FALSE)
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
152 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
153 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
154
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
155 if (args[4] == "PDF"){
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
156 flag_pdf <- TRUE
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
157 }
754d511df1a3 "planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowtext_scatterplot commit 2944aa6b74efcdb8d5cbf31abf27b352dcad9ac9"
azomics
parents:
diff changeset
158 generateGraphFromText(args[1], channels, args[3], flag_default, flag_pdf)