annotate GalFilter/filter_script.R @ 0:2c9afaf849ad draft

Uploaded
author melpetera
date Thu, 23 Feb 2017 04:39:36 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
1 ################################################################################################
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
2 # GENERIC FILTERS #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
3 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
4 # User: Galaxy #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
5 # Starting date: 03-09-2014 #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
6 # V-1.0: Restriction of old filter script to Filter according to factors #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
7 # V-1.1: Choice of metadata table for filtering added ; data check added ; handling of NA ; #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
8 # check for minimum remaining data #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
9 # V-1.2: Minor modifications in script layout #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
10 # V-2.0: Addition of numerical filter #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
11 # V-2.1: Handling special characters #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
12 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
13 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
14 # Input files: dataMatrix ; sampleMetadata ; variableMetadata #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
15 # Output files: dataMatrix ; sampleMetadata ; variableMetadata #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
16 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
17 ################################################################################################
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
18
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
19 # Parameters (for dev)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
20 if(FALSE){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
21
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
22 ion.file.in <- "test/ressources/inputs/ex_data_IONS.txt" #tab file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
23 meta.samp.file.in <- "test/ressources/inputs/ex_data_PROTOCOLE1.txt" #tab file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
24 meta.ion.file.in <- "test/ressources/inputs/ex_data_METAION.txt" #tab file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
25
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
26 ion.file.out <- "test/ressources/outputs/ex_data_IONS_fl.txt" #tab file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
27 meta.samp.file.out <- "test/ressources/outputs/ex_data_PROTOCOLE1_fl.txt" #tab file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
28 meta.ion.file.out <- "test/ressources/outputs/ex_data_METAION_fl.txt" #tab file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
29
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
30 NUM <- TRUE ; if(NUM){ls.num<-list(c("sample","injectionOrder","upper","20"),c("variable","var1","extremity","0.12","500"))}else{ls.num<-NULL}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
31
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
32 FACT <- TRUE ; if(FACT){ls.fact<-list(c("centre","C","sample"),c("var2","A","variable"))}else{ls.fact<-NULL}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
33
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
34 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
35
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
36 filters <- function(ion.file.in, meta.samp.file.in, meta.ion.file.in,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
37 NUM, ls.num, FACT, ls.fact,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
38 ion.file.out, meta.samp.file.out, meta.ion.file.out){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
39 # This function allows to filter variables and samples according to factors or numerical values.
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
40 # It needs 3 datasets: the data matrix, the variables' metadata, the samples' metadata.
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
41 # It generates 3 new datasets corresponding to the 3 inputs filtered.
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
42 #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
43 # Parameters:
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
44 # - xxx.in: input files' access
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
45 # - xxx.out: output files' access
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
46 # - NUM: filter according to numerical variables yes/no
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
47 # | > ls.num: numerical variables' list for filter
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
48 # - FACT: filter according to factors yes/no
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
49 # | > ls.fact: factors' list for filter
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
50
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
51
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
52 # Input -----------------------------------------------------------------------------------
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
53
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
54 ion.data <- read.table(ion.file.in,sep="\t",header=TRUE,check.names=FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
55 meta.samp.data <- read.table(meta.samp.file.in,sep="\t",header=TRUE,check.names=FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
56 meta.ion.data <- read.table(meta.ion.file.in,sep="\t",header=TRUE,check.names=FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
57
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
58 # Error vector
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
59 err.stock <- "\n"
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
60
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
61
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
62 # Table match check
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
63 table.check <- match3(ion.data,meta.samp.data,meta.ion.data)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
64 check.err(table.check)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
65
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
66 # StockID
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
67 samp.id <- stockID(ion.data,meta.samp.data,"sample")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
68 ion.data <- samp.id$dataMatrix
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
69 meta.samp.data <- samp.id$Metadata
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
70 samp.id <- samp.id$id.match
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
71
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
72
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
73
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
74 # Function 1: Filter according to numerical variables -------------------------------------
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
75 # Allows to delete all elements corresponding to defined values of designated variables.
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
76 if(NUM){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
77
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
78 # For each numerical variable to filter
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
79 for(i in 1:length(ls.num)){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
80
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
81 # Which metadata table is concerned
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
82 if(ls.num[[i]][1]=="sample"){metadata <- meta.samp.data}else{metadata <- meta.ion.data}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
83
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
84 # Checking the columns and factors variables
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
85 numcol <- which(colnames(metadata)==ls.num[[i]][2])
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
86 if(length(numcol)==0) {
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
87 err.stock <- c(err.stock,"\n-------",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
88 "\nWarning: no '",ls.num[[i]][2],"' column detected in ",ls.num[[i]][1],
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
89 " metadata!","\nFiltering impossible for this variable.\n-------\n")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
90 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
91 if(!is.numeric(metadata[,numcol])){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
92 err.stock <- c(err.stock,"\n-------",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
93 "\nWarning: column '",ls.num[[i]][2],"' in ",ls.num[[i]][1],
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
94 " metadata is not a numerical variable!",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
95 "\nNumerical filtering impossible for this variable.\n-------\n")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
96 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
97
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
98 # Filtering
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
99 if(ls.num[[i]][3]=="lower"){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
100 toremove <- which(metadata[,numcol]<as.numeric(ls.num[[i]][4]))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
101 if(length(toremove)!=0){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
102 metadata <- metadata[-c(toremove),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
103 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
104 }else{if(ls.num[[i]][3]=="upper"){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
105 toremove <- which(metadata[,numcol]>as.numeric(ls.num[[i]][4]))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
106 if(length(toremove)!=0){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
107 metadata <- metadata[-c(toremove),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
108 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
109 }else{if(ls.num[[i]][3]=="between"){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
110 toremove <- (metadata[,numcol]>as.numeric(ls.num[[i]][4]))+(metadata[,numcol]<as.numeric(ls.num[[i]][5]))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
111 toremove <- which(toremove==2)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
112 if(length(toremove)!=0){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
113 metadata <- metadata[-c(toremove),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
114 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
115 }else{if(ls.num[[i]][3]=="extremity"){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
116 toremove <- c(which(metadata[,numcol]<as.numeric(ls.num[[i]][4])),
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
117 which(metadata[,numcol]>as.numeric(ls.num[[i]][5])))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
118 if(length(toremove)!=0){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
119 metadata <- metadata[-c(toremove),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
120 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
121 }}}}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
122
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
123 # Extension to the tables
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
124 if(ls.num[[i]][1]=="sample"){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
125 meta.samp.data <- metadata
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
126 ion.data <- ion.data[,c(1,which(colnames(ion.data)%in%meta.samp.data[,1]))]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
127 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
128 meta.ion.data <- metadata
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
129 ion.data <- ion.data[which(ion.data[,1]%in%meta.ion.data[,1]),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
130 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
131
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
132 }}}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
133
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
134 } # end if(NUM)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
135 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
136
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
137
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
138
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
139 # Function 2: Filter according to factors -------------------------------------------------
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
140 # Allows to delete all elements corresponding to selected value of designated factor.
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
141 if(FACT){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
142
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
143 # For each factor to filter
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
144 for(i in 1:length(ls.fact)){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
145
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
146 # Which metadata table is concerned
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
147 if(ls.fact[[i]][3]=="sample"){metadata <- meta.samp.data}else{metadata <- meta.ion.data}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
148
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
149 # Checking the columns and factors variables
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
150 numcol <- which(colnames(metadata)==ls.fact[[i]][1])
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
151 if(length(numcol)==0) {
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
152 err.stock <- c(err.stock,"\n-------",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
153 "\nWarning: no '",ls.fact[[i]][1],"' column detected in ",ls.fact[[i]][3],
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
154 " metadata!","\nFiltering impossible for this factor.\n-------\n")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
155 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
156 if((!(ls.fact[[i]][2]%in%levels(as.factor(metadata[,numcol]))))&((ls.fact[[i]][2]!="NA")|(length(which(is.na(metadata[,numcol])))==0))){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
157 err.stock <- c(err.stock,"\n-------",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
158 "\nWarning: no '",ls.fact[[i]][2],"' level detected in '",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
159 ls.fact[[i]][1],"' column (",ls.fact[[i]][3]," metadata)!\n",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
160 "Filtering impossible for this factor.\n-------\n")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
161 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
162
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
163 # Filtering
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
164 if(length(which(metadata[,numcol]==ls.fact[[i]][2]))!=0){ #if the level still exists in the data
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
165 metadata <- metadata[-c(which(metadata[,numcol]==ls.fact[[i]][2])),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
166 }else{ #to treat the special case of "NA" level
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
167 if(ls.fact[[i]][2]=="NA"){metadata <- metadata[-c(which(is.na(metadata[,numcol]))),]}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
168 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
169
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
170 # Extension to the tables
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
171 if(ls.fact[[i]][3]=="sample"){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
172 meta.samp.data <- metadata
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
173 ion.data <- ion.data[,c(1,which(colnames(ion.data)%in%meta.samp.data[,1]))]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
174 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
175 meta.ion.data <- metadata
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
176 ion.data <- ion.data[which(ion.data[,1]%in%meta.ion.data[,1]),]
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
177 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
178
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
179 }}}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
180
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
181 } # end if(FACT)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
182 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
183
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
184
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
185
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
186
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
187 # Check if at least one sample and one variable remain ------------------------------------
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
188
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
189 if(nrow(meta.samp.data)==0){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
190 stop("\n /!\\ Your filtering options lead to no more sample in your data matrix!\n",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
191 "Think about reducing your number of filter.")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
192 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
193
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
194 if(nrow(meta.ion.data)==0){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
195 stop("\n /!\\ Your filtering options lead to no more variable in your data matrix!\n",
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
196 "Think about reducing your number of filter.")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
197 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
198
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
199 # Output ----------------------------------------------------------------------------------
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
200
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
201 # Getting back original identifiers
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
202 id.ori <- reproduceID(ion.data,meta.samp.data,"sample",samp.id)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
203 ion.data <- id.ori$dataMatrix
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
204 meta.samp.data <- id.ori$Metadata
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
205
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
206
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
207 # Error checking
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
208 if(length(err.stock)>1){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
209 stop(err.stock)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
210 }else{
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
211
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
212 write.table(ion.data, ion.file.out, sep="\t", row.names=FALSE, quote=FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
213 write.table(meta.samp.data, meta.samp.file.out, sep="\t", row.names=FALSE, quote=FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
214 write.table(meta.ion.data, meta.ion.file.out, sep="\t", row.names=FALSE, quote=FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
215
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
216 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
217
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
218
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
219 } # end of filters function
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
220
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
221
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
222 # Typical function call
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
223 #filters(ion.file.in, meta.samp.file.in, meta.ion.file.in,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
224 # NUM, ls.num, FACT, ls.fact,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
225 # ion.file.out, meta.samp.file.out, meta.ion.file.out)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
226