annotate pcaFactoMineR_galaxy.R @ 0:7acfb3bdad66 draft default tip

planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
author vmarcon
date Thu, 18 Jan 2018 07:57:36 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
1 #!/usr/local/bioinfo/bin/Rscript --vanilla --slave --no-site-file
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
2
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
3 ################################################################################################
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
4 # pcaFactoMineR_galaxy #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
5 # #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
6 # Author : Sandrine Laguerre / Marie Tremblay-Franco / Jean-Francois Martin #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
7 # User : Galaxy #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
8 # Original data : -- #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
9 # Starting date : 24-03-2015 #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
10 # Version 1 : 20-05-2015 #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
11 # Version 2 : 24-02-2016 #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
12 # #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
13 # #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
14 # Input files : dataMatrix.txt #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
15 # Output files : graph_output.pdf ; #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
16 # #
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
17 ################################################################################################
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
18
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
19 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
20 ## Options
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
21 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
22 strAsFacL <- options()$stringsAsFactors
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
23 options(stringsAsFactors = FALSE)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
24
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
25 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
26 ## Libraries laoding
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
27 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
28 # For parseCommandArgs function
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
29 library(batch)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
30 library(pcaMethods)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
31 library(FactoMineR)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
32
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
33 # R script call
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
34 source_local <- function(fname)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
35 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
36 argv <- commandArgs(trailingOnly = FALSE)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
37 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
38 source(paste(base_dir, fname, sep="/"))
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
39 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
40
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
41 #Import the different functions used for PCA
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
42 source_local("pcaFactoMineR_functions.R")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
43
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
44 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
45 ## Constants
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
46 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
47 topEnvC <- environment()
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
48 flagC <- "\n"
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
49
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
50
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
51 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
52 ## Lecture parametres
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
53 ##------------------------------
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
54 argLs <- parseCommandArgs(evaluate=FALSE)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
55
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
56 log_file <- argLs[["logOut"]]
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
57 # Inputs
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
58 # Matrice donnees
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
59 data <- read.table(argLs[["datafile"]],header=TRUE,sep="\t",dec=".",check.names = FALSE)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
60 rownames(data) <- data[,1]
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
61
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
62 # Facteur biologique
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
63 hb=0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
64 if(argLs[["factor"]] != "None")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
65 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
66 metadatasample <- read.table(argLs[["samplemetadata"]],header=TRUE,sep="\t",dec=".",check.names = FALSE)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
67 rownames(metadatasample) <- metadatasample[,1]
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
68 # Test si le facteur choisi est bien dans le samplemetadata
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
69 if (any(argLs[["factor"]] %in% colnames(metadatasample)) ==FALSE)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
70 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
71 #log_error(simpleCondition("Factor is not in samplemetadata."))
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
72 cat("<HTML><HEAD><TITLE>PCA FactoMineR report</TITLE></HEAD><BODY>\n",file=log_file,append=F,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
73 cat("&#9888 An error occurred while trying to read your factor table.\n<BR>",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
74 cat("Please check that:\n<BR>",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
75 cat("<UL>\n",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
76 cat(" <LI> you wrote the name of the column of the factor matrix corresponding to the qualitative variable </LI>\n",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
77 cat(" <LI> you wrote the column name correctly (it is case sensitive)</LI>\n",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
78 cat("</UL>\n",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
79 cat("</BODY></HTML>\n",file=log_file,append=T,sep="")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
80 q(save="no",status=1)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
81 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
82 # On cree une dataframe avec l’id des samples (1ere colonne de metadatasample+ le facteur choisi
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
83 # qui est en colonne “colfactor”
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
84 colfactor <- which(argLs[["factor"]] == colnames(metadatasample))
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
85 facteur <- data.frame(metadatasample[,1], metadatasample[[colfactor]])
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
86 facteur[[2]] <- as.factor(facteur[[2]])
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
87 hb=1
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
88 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
89
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
90 # Appel de la fonction
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
91 eigenplot=0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
92 contribplot=0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
93 scoreplot=0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
94 loadingplot=0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
95 variable_in_line=0
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
96
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
97 if (argLs[["plotev"]]=="yes")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
98 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
99 eigenplot=1
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
100 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
101
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
102 if (argLs[["plotcontrib"]]=="yes")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
103 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
104 contribplot=1
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
105 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
106
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
107
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
108 if (argLs[["plotindiv"]]=="yes")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
109 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
110 scoreplot=1
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
111 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
112
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
113
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
114 if (argLs[["plotvar"]]=="yes")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
115 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
116 loadingplot=1
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
117 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
118
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
119 if (argLs[["varinline"]]=="yes")
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
120 {
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
121 variable_in_line=1
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
122 }
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
123
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
124
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
125
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
126
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
127
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
128 # Outputs
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
129 nomGraphe <- argLs[["outgraphpdf"]]
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
130 res.pca <- pca.main(ids=data,bioFact=facteur,ncp=argLs[["npc"]],hb=hb,
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
131 minContribution=c(argLs[["contribh"]],argLs[["contribv"]]),mainTitle=argLs[["title"]],
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
132 textSize=argLs[["tc"]],principalPlane=c(argLs[["pch"]],argLs[["pcv"]]),eigenplot=eigenplot,
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
133 contribplot=contribplot,scoreplot=scoreplot,loadingplot=loadingplot,
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
134 nomGraphe=argLs[["outgraphpdf"]],variable_in_line=variable_in_line,log_file=log_file)
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
135
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
136
7acfb3bdad66 planemo upload commit a2411926bebc2ca3bb31215899a9f18a67e59556
vmarcon
parents:
diff changeset
137 ################################# fin ##############################################