Mercurial > repos > galaxyp > maldi_quant_peak_detection
comparison maldi_quant_peakdetection.xml @ 7:4bd085117204 draft default tip
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/MALDIquant commit f1e1cd260ef2884d0ba12e2b614df3c72d0934dc
| author | galaxyp |
|---|---|
| date | Sat, 04 Mar 2023 19:13:03 +0000 |
| parents | 8431b33e6989 |
| children |
comparison
equal
deleted
inserted
replaced
| 6:8431b33e6989 | 7:4bd085117204 |
|---|---|
| 1 <tool id="maldi_quant_peak_detection" name="MALDIquant peak detection" version="@VERSION@.6"> | 1 <tool id="maldi_quant_peak_detection" name="MALDIquant peak detection" version="@VERSION@.0"> |
| 2 <description> | 2 <description> |
| 3 Peak detection, binning and filtering for mass-spectrometry imaging data | 3 Peak detection, binning and filtering for mass-spectrometry imaging data |
| 4 </description> | 4 </description> |
| 5 <macros> | 5 <macros> |
| 6 <import>maldi_macros.xml</import> | 6 <import>maldi_macros.xml</import> |
| 13 cp '${infile.extra_files_path}/ibd' infile.ibd && | 13 cp '${infile.extra_files_path}/ibd' infile.ibd && |
| 14 #elif $infile.ext == 'analyze75' | 14 #elif $infile.ext == 'analyze75' |
| 15 cp '${infile.extra_files_path}/hdr' infile.hdr && | 15 cp '${infile.extra_files_path}/hdr' infile.hdr && |
| 16 cp '${infile.extra_files_path}/img' infile.img && | 16 cp '${infile.extra_files_path}/img' infile.img && |
| 17 cp '${infile.extra_files_path}/t2m' infile.t2m && | 17 cp '${infile.extra_files_path}/t2m' infile.t2m && |
| 18 #else | |
| 19 ln -s '$infile' infile.RData && | |
| 20 #end if | 18 #end if |
| 21 cat '${maldi_quant_peak_detection}' && | 19 cat '${maldi_quant_peak_detection}' && |
| 22 Rscript '${maldi_quant_peak_detection}' && | 20 Rscript '${maldi_quant_peak_detection}' && |
| 23 mkdir $outfile_imzml.files_path && | 21 mkdir $outfile_imzml.files_path && |
| 24 mv ./out.imzMl "${os.path.join($outfile_imzml.files_path, 'imzml')}" | true && | 22 mv ./out.imzMl "${os.path.join($outfile_imzml.files_path, 'imzml')}" | true && |
| 34 | 32 |
| 35 #if $restriction_conditional.restriction == 'restrict': | 33 #if $restriction_conditional.restriction == 'restrict': |
| 36 | 34 |
| 37 print('Reading mask region') | 35 print('Reading mask region') |
| 38 | 36 |
| 39 ## Import imzML file | 37 ## Import imzML file |
| 40 coordinate_matrix = as.matrix(read.delim("$restriction_conditional.coordinates_file", header = $restriction_conditional.coordinates_header, stringsAsFactors = FALSE))[,1:2] | 38 coordinate_matrix = read.delim("$restriction_conditional.coordinates_file", header = $restriction_conditional.coordinates_header, stringsAsFactors = FALSE) |
| 41 coordinate_matrix = coordinate_matrix[,c($restriction_conditional.column_x, $restriction_conditional.column_y)] | 39 coordinate_matrix = coordinate_matrix[,c($restriction_conditional.column_x, $restriction_conditional.column_y)] |
| 42 | 40 #if str($centroids) == "TRUE" |
| 43 maldi_data <- importImzMl('infile.imzML', | 41 peaks <- importImzMl('infile.imzML', |
| 44 coordinates = coordinate_matrix, centroided = $centroids) | 42 coordinates = as.matrix(coordinate_matrix), centroided = $centroids) |
| 45 pixelnames = paste("xy", coordinates(maldi_data)[,1],coordinates(maldi_data)[,2], sep="_") | 43 pixelnames = paste("xy", coordinates(peaks)[,1],coordinates(peaks)[,2], sep="_") |
| 46 | 44 #else |
| 45 maldi_data <- importImzMl('infile.imzML', | |
| 46 coordinates = as.matrix(coordinate_matrix), centroided = $centroids) | |
| 47 pixelnames = paste("xy", coordinates(maldi_data)[,1],coordinates(maldi_data)[,2], sep="_") | |
| 48 #end if | |
| 47 | 49 |
| 48 #else: | 50 #else: |
| 49 | 51 |
| 50 print('Reading entire file') | 52 print('Reading entire file') |
| 51 ## Import imzML file | 53 ## Import imzML file |
| 75 { | 77 { |
| 76 single_peaks = createMassPeaks(peak_list[[spectra]]\$mass, peak_list[[spectra]]\$intensity, snr=peak_list[[spectra]]\$snr) | 78 single_peaks = createMassPeaks(peak_list[[spectra]]\$mass, peak_list[[spectra]]\$intensity, snr=peak_list[[spectra]]\$snr) |
| 77 peaks[[spectra]] = single_peaks | 79 peaks[[spectra]] = single_peaks |
| 78 } | 80 } |
| 79 | 81 |
| 80 #else | |
| 81 print('rdata file') | |
| 82 loadRData <- function(fileName){ | |
| 83 #loads an RData file, and returns it | |
| 84 load(fileName) | |
| 85 get(ls()[ls() != "fileName"]) | |
| 86 } | |
| 87 msidata = loadRData('infile.RData') | |
| 88 centroided(msidata) = $centroids | |
| 89 ## change to correct pixelnames | |
| 90 | |
| 91 x_coords = unlist(lapply(strsplit(names(Cardinal::pixels(msidata)), ","), `[[`, 1)) | |
| 92 y_coords = unlist(lapply(strsplit(names(Cardinal::pixels(msidata)), ","), `[[`, 2)) | |
| 93 x_coordinates = gsub("x = ","",x_coords) | |
| 94 y_coordinates = gsub(" y = ","",y_coords) | |
| 95 pixelnames = paste0("xy_", x_coordinates, "_", y_coordinates) | |
| 96 | |
| 97 cardinal_coordinates = as.matrix(Cardinal::coord(msidata)[,1:2]) | |
| 98 | |
| 99 if (centroided(msidata) == FALSE){ | |
| 100 ## create mass spectrum object | |
| 101 cardinal_mzs = Cardinal::mz(msidata) | |
| 102 maldi_data = list() | |
| 103 for(number_spectra in 1:ncol(msidata)){ | |
| 104 maldi_data[[number_spectra]] = createMassSpectrum(mass = cardinal_mzs, intensity = iData(msidata)[,number_spectra])} | |
| 105 coordinates_info = cbind(cardinal_coordinates, c(1:length(maldi_data))) | |
| 106 }else{ | |
| 107 peaks = list() | |
| 108 for (spectra in 1:ncol(msidata)) | |
| 109 { | |
| 110 single_peaks = createMassPeaks(Cardinal::mz(msidata), Cardinal::spectra(msidata)[,spectra], snr=as.numeric(rep("NA", nrow(msidata)))) | |
| 111 peaks[[spectra]] = single_peaks | |
| 112 } | |
| 113 coordinates_info = cbind(cardinal_coordinates, c(1:length(peaks)))} | |
| 114 #end if | 82 #end if |
| 115 #end if | 83 #end if |
| 116 | 84 |
| 117 ## default summarized = FALSE | 85 ## default summarized = FALSE |
| 118 summarized_spectra = FALSE | 86 summarized_spectra = FALSE |
| 127 title(main=paste("$filename")) | 95 title(main=paste("$filename")) |
| 128 | 96 |
| 129 ## plot input file spectrum: | 97 ## plot input file spectrum: |
| 130 #if $centroids: | 98 #if $centroids: |
| 131 ## Choose random spectra for QC plots | 99 ## Choose random spectra for QC plots |
| 132 print(length(peaks)) | 100 random_spectra = sample(1:length(peaks), size=4, replace=length(peaks)<4)## in case dataset has less than 4 spectra, same spetra are allowed to be sampled |
| 133 random_spectra = sample(1:length(peaks), 4, replace=FALSE) | |
| 134 random_spectra_name = pixelnames[random_spectra] | 101 random_spectra_name = pixelnames[random_spectra] |
| 135 par(mfrow = c(2, 2), oma=c(0,0,2,0)) | 102 par(mfrow = c(2, 2), oma=c(0,0,2,0)) |
| 136 for (random_sample in random_spectra){ | 103 for (random_sample in random_spectra){ |
| 137 plot(peaks[[random_sample]],sub="", main=paste0("spectrum ", pixelnames[random_sample]))} | 104 plot(peaks[[random_sample]],sub="", main=paste0("spectrum ", pixelnames[random_sample]))} |
| 138 title("Input spectra", outer=TRUE, line=0) | 105 title("Input spectra", outer=TRUE, line=0) |
| 139 | 106 |
| 140 #else | 107 #else |
| 141 ## Choose random spectra for QC plots | 108 ## Choose random spectra for QC plots |
| 142 random_spectra = sample(1:length(maldi_data), 4, replace=FALSE) | 109 random_spectra = sample(1:length(maldi_data), size=4, replace=length(maldi_data)<4)## in case dataset has less than 4 spectra, same spetra are allowed to be sampled |
| 143 par(mfrow = c(2, 2), oma=c(0,0,2,0)) | 110 par(mfrow = c(2, 2), oma=c(0,0,2,0)) |
| 144 for (random_sample in random_spectra){ | 111 for (random_sample in random_spectra){ |
| 145 plot(maldi_data[[random_sample]],sub="", main=paste0("spectrum ", pixelnames[random_sample])) | 112 plot(maldi_data[[random_sample]],sub="", main=paste0("spectrum ", pixelnames[random_sample])) |
| 146 } | 113 } |
| 147 title("Input spectra", outer=TRUE, line=0) | 114 title("Input spectra", outer=TRUE, line=0) |
| 148 #end if | 115 #end if |
| 149 | |
| 150 | 116 |
| 151 ## QC numbers for input file | 117 ## QC numbers for input file |
| 152 #if str($centroids) == "TRUE" | 118 #if str($centroids) == "TRUE" |
| 153 pixel_number = length(peaks) | 119 pixel_number = length(peaks) |
| 154 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) | 120 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) |
| 155 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) | 121 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) |
| 156 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) | 122 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) |
| 157 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) | 123 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) |
| 158 number_features = length(unique(unlist(lapply(peaks,mass)))) | 124 number_features = length(unique(unlist(lapply(peaks,mass)))) |
| 159 inputdata = c(minmz, maxmz,number_features,mean_features, medint) | 125 number_spectra = length(peaks) |
| 160 QC_numbers= data.frame(inputdata = c(minmz, maxmz,number_features, mean_features, medint)) | 126 inputdata = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) |
| 127 QC_numbers= data.frame(inputdata = c(minmz, maxmz,number_features, mean_features, medint, number_spectra)) | |
| 161 vectorofactions = "inputdata" | 128 vectorofactions = "inputdata" |
| 162 #else | 129 #else |
| 163 pixel_number = length(maldi_data) | 130 pixel_number = length(maldi_data) |
| 164 minmz = round(min(unlist(lapply(maldi_data,mass))), digits=4) | 131 minmz = round(min(unlist(lapply(maldi_data,mass))), digits=4) |
| 165 maxmz = round(max(unlist(lapply(maldi_data,mass))), digits=4) | 132 maxmz = round(max(unlist(lapply(maldi_data,mass))), digits=4) |
| 166 mean_features = round(length(unlist(lapply(maldi_data,mass)))/length(maldi_data), digits=2) | 133 mean_features = round(length(unlist(lapply(maldi_data,mass)))/length(maldi_data), digits=2) |
| 167 medint = round(median(unlist(lapply(maldi_data,intensity))), digits=2) | 134 medint = round(median(unlist(lapply(maldi_data,intensity))), digits=2) |
| 168 number_features = length(unique(unlist(lapply(maldi_data,mass)))) | 135 number_features = length(unique(unlist(lapply(maldi_data,mass)))) |
| 169 inputdata = c(minmz, maxmz,number_features,mean_features, medint) | 136 number_spectra = length(maldi_data) |
| 170 QC_numbers= data.frame(inputdata = c(minmz, maxmz,number_features, mean_features, medint)) | 137 inputdata = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) |
| 138 QC_numbers= data.frame(inputdata = c(minmz, maxmz,number_features, mean_features, medint, number_spectra)) | |
| 171 vectorofactions = "inputdata" | 139 vectorofactions = "inputdata" |
| 172 #end if | 140 #end if |
| 173 | 141 |
| 174 #if str($tabular_annotation.load_annotation) == 'yes_annotation': | 142 #if str($tabular_annotation.load_annotation) == 'yes_annotation': |
| 175 | 143 |
| 176 ## read and extract x,y,annotation information | 144 ## read and extract x,y,annotation information |
| 177 input_tabular = read.delim("$tabular_annotation.annotation_file", header = $tabular_annotation.tabular_header, stringsAsFactors = FALSE) | 145 input_tabular = read.delim("$tabular_annotation.annotation_file", header = $tabular_annotation.tabular_header, stringsAsFactors = FALSE) |
| 178 annotation_input = input_tabular[,c($tabular_annotation.column_x, $tabular_annotation.column_y, $tabular_annotation.column_names)] | 146 annotation_input = input_tabular[,c($tabular_annotation.column_x, $tabular_annotation.column_y, $tabular_annotation.column_names)] |
| 147 annotation_input[,3] <- as.character(annotation_input[,3]) ## make sure annotations are character | |
| 179 colnames(annotation_input) = c("x", "y", "annotation") ## rename annotations header to default name "annotation" | 148 colnames(annotation_input) = c("x", "y", "annotation") ## rename annotations header to default name "annotation" |
| 180 | 149 |
| 181 ## merge provided annotation with coordinate information of MSI data | 150 ## merge provided annotation with coordinate information of MSI data |
| 182 colnames(coordinates_info)[3] = "pixel_index" | 151 colnames(coordinates_info)[3] = "pixel_index" |
| 183 merged_annotation = merge(coordinates_info, annotation_input, by=c("x", "y"), all.x=TRUE) | 152 merged_annotation = merge(coordinates_info, annotation_input, by=c("x", "y"), all.x=TRUE) |
| 184 merged_annotation[is.na(merged_annotation)] = "NA" | 153 merged_annotation[is.na(merged_annotation)] = "NA" |
| 185 ## order coordinate information according to pixel index to make sure that the order stays the same | 154 ## order coordinate information according to pixel index to make sure that the order stays the same |
| 186 merged_annotation = merged_annotation[order(merged_annotation\$pixel_index),] | 155 merged_annotation = merged_annotation[order(merged_annotation\$pixel_index),] |
| 187 samples = as.factor(merged_annotation\$annotation) | 156 samples = as.factor(merged_annotation\$annotation) |
| 188 | 157 |
| 189 ## print annotation overview into PDF output | 158 ## print annotation overview into PDF output |
| 190 | 159 |
| 191 combine_plot = ggplot(merged_annotation, aes(x=x, y=y, fill=annotation))+ | 160 combine_plot = ggplot(merged_annotation, aes(x=x, y=y, fill=annotation))+ |
| 192 geom_tile() + | 161 geom_tile() + |
| 193 coord_fixed()+ | 162 coord_fixed()+ |
| 194 ggtitle("Spatial orientation of annotated data")+ | 163 ggtitle("Spatial orientation of annotated data")+ |
| 242 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) | 211 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) |
| 243 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) | 212 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) |
| 244 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) | 213 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) |
| 245 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) | 214 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) |
| 246 number_features = length(unique(unlist(lapply(peaks,mass)))) | 215 number_features = length(unique(unlist(lapply(peaks,mass)))) |
| 247 peaks_picked = c(minmz, maxmz,number_features,mean_features, medint) | 216 number_spectra = length(peaks) |
| 217 peaks_picked = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) | |
| 248 QC_numbers= cbind(QC_numbers, peaks_picked) | 218 QC_numbers= cbind(QC_numbers, peaks_picked) |
| 249 vectorofactions = append(vectorofactions, "peaks_picked") | 219 vectorofactions = append(vectorofactions, "peaks_picked") |
| 250 | 220 |
| 251 if (length(peaks[!sapply(peaks, isEmpty)])>0){ | 221 if (length(peaks[!sapply(peaks, isEmpty)])>0){ |
| 252 featureMatrix <- intensityMatrix(peaks) | 222 featureMatrix <- intensityMatrix(peaks) |
| 291 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) | 261 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) |
| 292 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) | 262 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) |
| 293 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) | 263 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) |
| 294 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) | 264 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) |
| 295 number_features = length(unique(unlist(lapply(peaks,mass)))) | 265 number_features = length(unique(unlist(lapply(peaks,mass)))) |
| 296 monoisotopes = c(minmz, maxmz,number_features,mean_features, medint) | 266 number_spectra = length(peaks) |
| 267 monoisotopes = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) | |
| 297 QC_numbers= cbind(QC_numbers, monoisotopes) | 268 QC_numbers= cbind(QC_numbers, monoisotopes) |
| 298 vectorofactions = append(vectorofactions, "monoisotopes") | 269 vectorofactions = append(vectorofactions, "monoisotopes") |
| 299 | 270 |
| 300 if (length(peaks[!sapply(peaks, isEmpty)])>0){ | 271 if (length(peaks[!sapply(peaks, isEmpty)])>0){ |
| 301 featureMatrix <- intensityMatrix(peaks) | 272 featureMatrix <- intensityMatrix(peaks) |
| 372 ## only if there are empty spectra to remove | 343 ## only if there are empty spectra to remove |
| 373 | 344 |
| 374 if (length(findEmptyMassObjects(peaks))>0) | 345 if (length(findEmptyMassObjects(peaks))>0) |
| 375 | 346 |
| 376 { | 347 { |
| 377 #if $infile.ext == 'rdata' | |
| 378 cardinal_coordinates = cardinal_coordinates[-findEmptyMassObjects(peaks),,drop=FALSE] ## remove coordinates of empty spectra for Cardinal RData input | |
| 379 #end if | |
| 380 | 348 |
| 381 peaks = removeEmptyMassObjects(peaks) | 349 peaks = removeEmptyMassObjects(peaks) |
| 382 pixelnames = paste("xy", coordinates(peaks)[,1],coordinates(peaks)[,2], sep="_") | 350 pixelnames = paste("xy", coordinates(peaks)[,1],coordinates(peaks)[,2], sep="_") |
| 383 } | 351 } |
| 384 #end if | 352 #end if |
| 402 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) | 370 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) |
| 403 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) | 371 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) |
| 404 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) | 372 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) |
| 405 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) | 373 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) |
| 406 number_features = length(unique(unlist(lapply(peaks,mass)))) | 374 number_features = length(unique(unlist(lapply(peaks,mass)))) |
| 407 aligned = c(minmz, maxmz,number_features,mean_features, medint) | 375 number_spectra = length(peaks) |
| 376 aligned = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) | |
| 408 QC_numbers= cbind(QC_numbers, aligned) | 377 QC_numbers= cbind(QC_numbers, aligned) |
| 409 vectorofactions = append(vectorofactions, "aligned") | 378 vectorofactions = append(vectorofactions, "aligned") |
| 410 | 379 |
| 411 if (length(peaks[!sapply(peaks, isEmpty)])>0){ | 380 if (length(peaks[!sapply(peaks, isEmpty)])>0){ |
| 412 featureMatrix <- intensityMatrix(peaks) | 381 featureMatrix <- intensityMatrix(peaks) |
| 423 write.table(featureMatrix2, file="$intensity_matrix", quote = FALSE, row.names = TRUE, col.names=FALSE, sep = "\t") | 392 write.table(featureMatrix2, file="$intensity_matrix", quote = FALSE, row.names = TRUE, col.names=FALSE, sep = "\t") |
| 424 }else{print("There are no spectra with peaks left")} | 393 }else{print("There are no spectra with peaks left")} |
| 425 | 394 |
| 426 | 395 |
| 427 #elif str( $method.methods_conditional.method ) == 'Binning': | 396 #elif str( $method.methods_conditional.method ) == 'Binning': |
| 397 | |
| 428 | 398 |
| 429 print('binning') | 399 print('binning') |
| 430 ##m/z binning | 400 ##m/z binning |
| 431 | 401 |
| 432 peaks <- binPeaks(peaks, tolerance=$method.methods_conditional.bin_tolerance, method="$method.methods_conditional.bin_method") | 402 peaks <- binPeaks(peaks, tolerance=$method.methods_conditional.bin_tolerance, method="$method.methods_conditional.bin_method") |
| 450 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) | 420 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) |
| 451 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) | 421 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) |
| 452 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) | 422 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) |
| 453 medint =round( median(unlist(lapply(peaks,intensity))), digits=2) | 423 medint =round( median(unlist(lapply(peaks,intensity))), digits=2) |
| 454 number_features = length(unique(unlist(lapply(peaks,mass)))) | 424 number_features = length(unique(unlist(lapply(peaks,mass)))) |
| 455 binned = c(minmz, maxmz,number_features,mean_features, medint) | 425 number_spectra = length(peaks) |
| 426 binned = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) | |
| 456 QC_numbers= cbind(QC_numbers, binned) | 427 QC_numbers= cbind(QC_numbers, binned) |
| 457 vectorofactions = append(vectorofactions, "binned") | 428 vectorofactions = append(vectorofactions, "binned") |
| 458 | 429 |
| 459 if (length(peaks[!sapply(peaks, isEmpty)])>0){ | 430 if (length(peaks[!sapply(peaks, isEmpty)])>0){ |
| 460 featureMatrix <- intensityMatrix(peaks) | 431 featureMatrix <- intensityMatrix(peaks) |
| 475 #elif str( $method.methods_conditional.method ) == 'Filtering': | 446 #elif str( $method.methods_conditional.method ) == 'Filtering': |
| 476 | 447 |
| 477 print('filtering') | 448 print('filtering') |
| 478 ##m/z filtering | 449 ##m/z filtering |
| 479 | 450 |
| 480 ## filtering on all pixels or on pixel groups: | 451 |
| 481 #if str($method.methods_conditional.filter_annot_groups ) == 'FALSE': | 452 peaks <- filterPeaks(peaks |
| 482 | 453 #if str( $method.methods_conditional.filter_type.filter_params ) != 'min_Number': |
| 483 peaks <- filterPeaks(peaks, | 454 ,minFrequency=$method.methods_conditional.filter_type.minFrequency |
| 484 minFrequency=$method.methods_conditional.minFrequency, | |
| 485 minNumber=$method.methods_conditional.minNumber, | |
| 486 mergeWhitelists=$method.methods_conditional.mergeWhitelists) | |
| 487 | |
| 488 #elif str( $method.methods_conditional.filter_annot_groups ) == 'TRUE': | |
| 489 | |
| 490 peaks <- filterPeaks(peaks, | |
| 491 minFrequency=$method.methods_conditional.minFrequency, | |
| 492 minNumber=$method.methods_conditional.minNumber, | |
| 493 mergeWhitelists=$method.methods_conditional.mergeWhitelists, label = samples) | |
| 494 #end if | 455 #end if |
| 456 #if str( $method.methods_conditional.filter_type.filter_params ) != 'min_Frequency': | |
| 457 ,minNumber=$method.methods_conditional.filter_type.minNumber | |
| 458 #end if | |
| 459 ## in case of group wise filtering set grouping conditions | |
| 460 #if str( $method.methods_conditional.filter_groups.filter_annot_groups ) == 'yes_grouping': | |
| 461 ,mergeWhitelists=$method.methods_conditional.filter_groups.mergeWhitelists, label = samples | |
| 462 #end if | |
| 463 ) ## finishes filterPeaks function | |
| 464 | |
| 495 | 465 |
| 496 ##QC plot and numbers | 466 ##QC plot and numbers |
| 497 par(mfrow = c(2, 2), oma=c(0,0,2,0)) | 467 par(mfrow = c(2, 2), oma=c(0,0,2,0)) |
| 498 | 468 |
| 499 for (random_sample in random_spectra){ | 469 for (random_sample in random_spectra){ |
| 506 plot(NULL, xlim=c(0,0), ylim=c(0,0), ylab="intensity", xlab="m/z") | 476 plot(NULL, xlim=c(0,0), ylim=c(0,0), ylab="intensity", xlab="m/z") |
| 507 } | 477 } |
| 508 ) | 478 ) |
| 509 } | 479 } |
| 510 | 480 |
| 481 ## QC numbers for filtered file | |
| 511 title("Filtered spectra", outer=TRUE, line=0) | 482 title("Filtered spectra", outer=TRUE, line=0) |
| 512 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) | 483 minmz = round(min(unlist(lapply(peaks,mass))), digits=4) |
| 513 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) | 484 maxmz = round(max(unlist(lapply(peaks,mass))), digits=4) |
| 514 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) | 485 mean_features = round(length(unlist(lapply(peaks,mass)))/length(peaks), digits=2) |
| 515 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) | 486 medint = round(median(unlist(lapply(peaks,intensity))), digits=2) |
| 516 number_features = length(unique(unlist(lapply(peaks,mass)))) | 487 number_features = length(unique(unlist(lapply(peaks,mass)))) |
| 517 filtered = c(minmz, maxmz,number_features,mean_features, medint) | 488 number_spectra = length(peaks) |
| 489 filtered = c(minmz, maxmz,number_features,mean_features, medint, number_spectra) | |
| 518 QC_numbers= cbind(QC_numbers, filtered) | 490 QC_numbers= cbind(QC_numbers, filtered) |
| 519 vectorofactions = append(vectorofactions, "filtered") | 491 vectorofactions = append(vectorofactions, "filtered") |
| 520 | 492 |
| 521 if (length(peaks[!sapply(peaks, isEmpty)])>0){ | 493 if (length(peaks[!sapply(peaks, isEmpty)])>0){ |
| 522 featureMatrix <- intensityMatrix(peaks) | 494 featureMatrix <- intensityMatrix(peaks) |
| 529 colnames(featureMatrix2)[1] = c("mz") | 501 colnames(featureMatrix2)[1] = c("mz") |
| 530 featureMatrix2 = t(featureMatrix2) | 502 featureMatrix2 = t(featureMatrix2) |
| 531 }else{print("There are no spectra with peaks left") | 503 }else{print("There are no spectra with peaks left") |
| 532 featureMatrix2 = matrix(0, ncol=1, nrow=1)} | 504 featureMatrix2 = matrix(0, ncol=1, nrow=1)} |
| 533 write.table(featureMatrix2, file="$intensity_matrix", quote = FALSE, row.names = TRUE, col.names=FALSE, sep = "\t") | 505 write.table(featureMatrix2, file="$intensity_matrix", quote = FALSE, row.names = TRUE, col.names=FALSE, sep = "\t") |
| 506 | |
| 507 #elif str( $method.methods_conditional.method ) == 'skip_preprocessing': | |
| 508 ##for now as option to filter large files | |
| 509 | |
| 534 #end if | 510 #end if |
| 511 | |
| 535 #end for | 512 #end for |
| 536 | 513 |
| 537 if (length(peaks[!sapply(peaks, isEmpty)])>0){ | 514 if (length(peaks[!sapply(peaks, isEmpty)])>0){ |
| 538 ## mass peaks output | 515 ## mass peaks output |
| 539 mass_peaks = data.frame(matrix(,ncol=3, nrow=0)) | 516 mass_peaks = data.frame(matrix(,ncol=3, nrow=0)) |
| 545 colnames(mass_peaks) = c("snr", "mass", "intensity", "spectrum") | 522 colnames(mass_peaks) = c("snr", "mass", "intensity", "spectrum") |
| 546 write.table(mass_peaks, file="$masspeaks", quote = FALSE, row.names = FALSE, col.names=TRUE, sep = "\t") | 523 write.table(mass_peaks, file="$masspeaks", quote = FALSE, row.names = FALSE, col.names=TRUE, sep = "\t") |
| 547 }else{print("There are no spectra with peaks left")} | 524 }else{print("There are no spectra with peaks left")} |
| 548 | 525 |
| 549 ## print table with QC values | 526 ## print table with QC values |
| 550 rownames(QC_numbers) = c("min m/z", "max mz", "# features", "median \n# peaks (int.>0)", "median\nintensity") | 527 rownames(QC_numbers) = c("min m/z", "max mz", "# features", "median \n# peaks (int.>0)", "median\nintensity", "# spectra") |
| 551 plot(0,type='n',axes=FALSE,ann=FALSE) | 528 plot(0,type='n',axes=FALSE,ann=FALSE) |
| 552 grid.table(t(QC_numbers)) | 529 grid.table(t(QC_numbers)) |
| 553 | 530 |
| 554 dev.off() | 531 dev.off() |
| 532 | |
| 555 | 533 |
| 556 if (summarized_spectra == FALSE){ | 534 if (summarized_spectra == FALSE){ |
| 557 #if $infile.ext == 'imzml' | 535 #if $infile.ext == 'imzml' |
| 558 MALDIquantForeign::exportImzMl(peaks, file="out.imzMl", processed=TRUE) | 536 MALDIquantForeign::exportImzMl(peaks, file="out.imzMl", processed=TRUE) |
| 559 #elif $infile.ext == 'tabular' | 537 #elif $infile.ext == 'tabular' |
| 560 masspeaks_coordinates = matrix(unlist(strsplit(as.character(pixelnames), "\\_")), ncol=3, byrow=TRUE) | 538 masspeaks_coordinates = matrix(unlist(strsplit(as.character(pixelnames), "\\_")), ncol=3, byrow=TRUE) |
| 561 ## extract x and y values and create the coordinate matrix in case tabular was input | 539 ## extract x and y values and create the coordinate matrix in case tabular was input |
| 562 peaklist_coordinates = unique(cbind(as.numeric(masspeaks_coordinates[,2]), as.numeric(masspeaks_coordinates[,3]))) | 540 peaklist_coordinates = unique(cbind(as.numeric(masspeaks_coordinates[,2]), as.numeric(masspeaks_coordinates[,3]))) |
| 563 exportImzMl(peaks, file="out.imzMl", processed=TRUE, coordinates=peaklist_coordinates) | 541 exportImzMl(peaks, file="out.imzMl", processed=TRUE, coordinates=peaklist_coordinates) |
| 564 #elif $infile.ext == 'rdata' | |
| 565 MALDIquantForeign::exportImzMl(peaks, file="out.imzMl", processed=TRUE, coordinates=cardinal_coordinates) | |
| 566 #end if | 542 #end if |
| 567 | 543 |
| 568 } | 544 } |
| 569 | 545 |
| 570 ]]> | 546 ]]> |
| 571 </configfile> | 547 </configfile> |
| 572 </configfiles> | 548 </configfiles> |
| 573 <inputs> | 549 <inputs> |
| 574 <param name="infile" type="data" format="imzml,tabular,rdata" label="MSI data" help="Input file as imzML (composite upload), tabular peaklist or Cardinal MSImageSet saved as RData (regular upload)"/> | 550 <param name="infile" type="data" format="imzml,tabular" label="MSI data" help="Input file as imzML (composite upload) or tabular peaklist (regular upload)"/> |
| 575 <param name="centroids" type="boolean" label="Centroided input" help="Choose Yes if peak detection has already been done. Peak detection cannot be run again on centroided data" truevalue="TRUE" falsevalue="FALSE"/> | 551 <param name="centroids" type="boolean" label="Centroided input" help="Choose Yes if peak detection has already been done. Peak detection cannot be run again on centroided data" truevalue="TRUE" falsevalue="FALSE"/> |
| 576 <conditional name="restriction_conditional"> | 552 <conditional name="restriction_conditional"> |
| 577 <param name="restriction" type="select" label="Use only spectra of interest" help="This option only works for imzML files"> | 553 <param name="restriction" type="select" label="Use only spectra of interest" help="This option only works for imzML files"> |
| 578 <option value="no_restriction" selected="True">No, calculate on entire file</option> | 554 <option value="no_restriction" selected="True">No, use all spectra</option> |
| 579 <option value="restrict">Yes, restrict to spectra of interest</option> | 555 <option value="restrict">Yes, restrict to spectra of interest</option> |
| 580 </param> | 556 </param> |
| 581 <when value="restrict"> | 557 <when value="restrict"> |
| 582 <param name="coordinates_file" type="data" format="tabular" label="Tabular file with coordinates"/> | 558 <param name="coordinates_file" type="data" format="tabular" label="Tabular file with coordinates"/> |
| 583 <param name="column_x" data_ref="coordinates_file" label="Column with x values" type="data_column"/> | 559 <param name="column_x" data_ref="coordinates_file" label="Column with x values" type="data_column"/> |
| 608 <option value="Peak_detection">Peak detection</option> | 584 <option value="Peak_detection">Peak detection</option> |
| 609 <option value="monoisotopic_peaks">Monoisotopic peaks</option> | 585 <option value="monoisotopic_peaks">Monoisotopic peaks</option> |
| 610 <option value="Align">Align Spectra (warping/phase correction)</option> | 586 <option value="Align">Align Spectra (warping/phase correction)</option> |
| 611 <option value="Binning">Binning</option> | 587 <option value="Binning">Binning</option> |
| 612 <option value="Filtering">Filtering</option> | 588 <option value="Filtering">Filtering</option> |
| 589 <option value="skip_preprocessing">No method</option> | |
| 613 </param> | 590 </param> |
| 614 <when value="Peak_detection"> | 591 <when value="Peak_detection"> |
| 615 <param name="peak_method" type="select" label="Noise estimation function"> | 592 <param name="peak_method" type="select" label="Noise estimation function"> |
| 616 <option value="MAD" selected="True">MAD</option> | 593 <option value="MAD" selected="True">MAD</option> |
| 617 <option value="SuperSmoother">SuperSmoother</option> | 594 <option value="SuperSmoother">SuperSmoother</option> |
| 658 <param name="tolerance" type="float" value="0.00005" | 635 <param name="tolerance" type="float" value="0.00005" |
| 659 label="Tolerance = abs(mz1 - mz2)/mz2" | 636 label="Tolerance = abs(mz1 - mz2)/mz2" |
| 660 help="Maximal relative deviation of a peak position (m/z) to be considered as identical. For 50ppm use 0.00005 or 5e-5" /> | 637 help="Maximal relative deviation of a peak position (m/z) to be considered as identical. For 50ppm use 0.00005 or 5e-5" /> |
| 661 <param name="allow_nomatch" type="boolean" label="Don't throw an error when less than 2 reference m/z were found in a spectrum" truevalue="TRUE" falsevalue="FALSE"/> | 638 <param name="allow_nomatch" type="boolean" label="Don't throw an error when less than 2 reference m/z were found in a spectrum" truevalue="TRUE" falsevalue="FALSE"/> |
| 662 <param name="empty_nomatch" type="boolean" label="If TRUE the intensity values of MassSpectrum or MassPeaks objects with missing (NA) warping functions are set to zero" truevalue="TRUE" falsevalue="FALSE"/> | 639 <param name="empty_nomatch" type="boolean" label="If TRUE the intensity values of MassSpectrum or MassPeaks objects with missing (NA) warping functions are set to zero" truevalue="TRUE" falsevalue="FALSE"/> |
| 663 <param name="remove_empty" type="boolean" label="Should empty spectra be removed" truevalue="TRUE" falsevalue="FALSE" help="For Cardinal RData files this step can only be performed if pixel annotations were provided"/> | 640 <param name="remove_empty" type="boolean" label="Should empty spectra be removed" truevalue="TRUE" falsevalue="FALSE"/> |
| 664 | 641 |
| 665 <conditional name="reference_for_alignment"> | 642 <conditional name="reference_for_alignment"> |
| 666 <param name="align_ref" type="select" label="Reference" help="If given, samples will be aligned to reference, use internal calibrants to perform m/z calibration"> | 643 <param name="align_ref" type="select" label="Reference" help="If given, samples will be aligned to reference, use internal calibrants to perform m/z calibration"> |
| 667 <option value="no_reference" selected="True">no reference</option> | 644 <option value="no_reference" selected="True">no reference</option> |
| 668 <option value="yes_reference">reference from tabular file</option> | 645 <option value="yes_reference">reference from tabular file</option> |
| 688 <option value="strict" selected="True" >strict</option> | 665 <option value="strict" selected="True" >strict</option> |
| 689 <option value="relaxed" >relaxed</option> | 666 <option value="relaxed" >relaxed</option> |
| 690 </param> | 667 </param> |
| 691 </when> | 668 </when> |
| 692 <when value="Filtering"> | 669 <when value="Filtering"> |
| 693 <param name="minFrequency" type="float" value="0.25" | 670 <conditional name="filter_groups"> |
| 694 label="Removal of all peaks which occur in less than minFrequency spectra" help="Relative threshold. The higher value from relative and absolute threshold is taken. Set one value to zero to be sure it will not be used."/> | 671 <param name="filter_annot_groups" type="select" label="m/z filtering parameters are applied to all spectra or groups of spectra" help="By default a single group is assumed and filtering will be done based on all pixels. To filter groups of spectra, an annotation annotation file has to be specified above"> |
| 695 <param name="minNumber" type="float" value="1.0" | 672 <option value="no_grouping" selected="True">use single group</option> |
| 696 label="Removal of all peaks which occur in less than minNumber spectra" help="Absolute threshold. The higher value from relative and absolute threshold is taken. Set one value to zero to be sure it will not be used."/> | 673 <option value="yes_grouping">use spectra groups from annotation file</option> |
| 697 <param name="filter_annot_groups" type="boolean" label="Group wise filtering with pixel annotations." help="If not specified a single group is assumed or when filtering has been done group wise it will automatically be group wise when selecting filtering on all pixel" truevalue="TRUE" falsevalue="FALSE"/> | 674 </param> |
| 698 <param name="mergeWhitelists" type="boolean" truevalue="TRUE" falsevalue="FALSE" | 675 <when value="no_grouping"/> |
| 699 label="mergeWhitelists" help="Yes means that peaks that survive the filtering in one annotation group are also kept in other groups regardless if the filtering criteria are met in these groups"/> | 676 <when value="yes_grouping"> |
| 677 <param name="mergeWhitelists" type="boolean" truevalue="TRUE" falsevalue="FALSE" | |
| 678 label="mergeWhitelists" help="Yes means that peaks that survive the filtering in one annotation group are also kept in other groups regardless if the filtering criteria are met in these groups"/> | |
| 679 </when> | |
| 680 </conditional> | |
| 681 <conditional name="filter_type"> | |
| 682 <param name="filter_params" type="select" label="m/z filtering parameters" help="minFrequency: Removal of all peaks which occur in less than minFrequency spectra (relative treshold). minNumber: Removal of all peaks which ocur in lass than minNumber spectra (absolute threshold). If both are set the higher value from relative and absolute threshold is taken."> | |
| 683 <option value="min_Frequency" selected="True">minFrequency</option> | |
| 684 <option value="min_Number">minNumber</option> | |
| 685 <option value="both">both</option> | |
| 686 </param> | |
| 687 <when value="min_Frequency"> | |
| 688 <param name="minFrequency" type="float" value="0.25" label="Removal of all peaks which occur in less than minFrequency spectra" /> | |
| 689 </when> | |
| 690 <when value="min_Number"> | |
| 691 <param name="minNumber" type="float" value="1.0" label="Removal of all peaks which occur in less than minNumber spectra" /> | |
| 692 </when> | |
| 693 <when value="both"> | |
| 694 <param name="minFrequency" type="float" value="0.25" label="Removal of all peaks which occur in less than minFrequency spectra" /> | |
| 695 <param name="minNumber" type="float" value="1.0" label="Removal of all peaks which occur in less than minNumber spectra" /> | |
| 696 </when> | |
| 697 </conditional> | |
| 700 </when> | 698 </when> |
| 699 <when value="skip_preprocessing"/> | |
| 701 </conditional> | 700 </conditional> |
| 702 </repeat> | 701 </repeat> |
| 703 </inputs> | 702 </inputs> |
| 704 <outputs> | 703 <outputs> |
| 705 <data format="imzml" name="outfile_imzml" label="${tool.name} on ${on_string}: imzml"> | 704 <data format="imzml" name="outfile_imzml" label="${tool.name} on ${on_string}: imzml"> |
| 742 <repeat name="methods"> | 741 <repeat name="methods"> |
| 743 <conditional name="methods_conditional"> | 742 <conditional name="methods_conditional"> |
| 744 <param name="method" value="monoisotopic_peaks"/> | 743 <param name="method" value="monoisotopic_peaks"/> |
| 745 <param name="tolerance" value="0.0004"/> | 744 <param name="tolerance" value="0.0004"/> |
| 746 <param name="size" value="3"/> | 745 <param name="size" value="3"/> |
| 747 </conditional> | 746 </conditional> |
| 748 </repeat> | 747 </repeat> |
| 749 <output name="plots" file="peakdetection2_QC.pdf" compare="sim_size"/> | 748 <output name="plots" file="peakdetection2_QC.pdf" compare="sim_size"/> |
| 750 <output name="masspeaks" file="masspeaks2.tabular"/> | 749 <output name="masspeaks" file="masspeaks2.tabular"/> |
| 751 <output name="intensity_matrix" file="int2.tabular"/> | 750 <output name="intensity_matrix" file="int2.tabular"/> |
| 752 <output name="outfile_imzml" ftype="imzml" file="peak_detection2.imzml.txt" lines_diff="4"> | 751 <output name="outfile_imzml" ftype="imzml" file="peak_detection2.imzml.txt" lines_diff="4"> |
| 753 <extra_files type="file" file="peak_detection2.imzml" name="imzml" lines_diff="6"/> | 752 <extra_files type="file" file="peak_detection2.imzml" name="imzml" lines_diff="6"/> |
| 754 <extra_files type="file" file="peak_detection2.ibd" name="ibd" compare="sim_size"/> | 753 <extra_files type="file" file="peak_detection2.ibd" name="ibd" compare="sim_size"/> |
| 755 </output> | 754 </output> |
| 756 </test> | 755 </test> |
| 757 <test> | 756 <test> |
| 758 <param name="infile" value="" ftype="imzml"> | 757 <param name="infile" value="" ftype="imzml"> |
| 759 <composite_data value="Example_Continuous.imzML"/> | 758 <composite_data value="Example_Continuous.imzML"/> |
| 760 <composite_data value="Example_Continuous.ibd"/> | 759 <composite_data value="Example_Continuous.ibd"/> |
| 761 </param> | 760 </param> |
| 762 <conditional name="tabular_annotation"> | 761 <conditional name="tabular_annotation"> |
| 769 </conditional> | 768 </conditional> |
| 770 <repeat name="methods"> | 769 <repeat name="methods"> |
| 771 <conditional name="methods_conditional"> | 770 <conditional name="methods_conditional"> |
| 772 <param name="method" value="Peak_detection"/> | 771 <param name="method" value="Peak_detection"/> |
| 773 <param name="peak_method" value="MAD"/> | 772 <param name="peak_method" value="MAD"/> |
| 774 <param name="halfWindowSize" value="1"/> | 773 <param name="halfWindowSize" value="10"/> |
| 775 <param name="snr" value="2"/> | 774 <param name="snr" value="2"/> |
| 775 </conditional> | |
| 776 </repeat> | |
| 777 <repeat name="methods"> | |
| 778 <conditional name="methods_conditional"> | |
| 779 <param name="method" value="Filtering"/> | |
| 780 <conditional name="filter_groups"> | |
| 781 <param name="filter_annot_groups" value="yes_grouping"/> | |
| 782 <param name="mergeWhitelists" value="FALSE"/> | |
| 783 </conditional> | |
| 784 <conditional name="filter_type"> | |
| 785 <param name="filter_params" value="min_Frequency"/> | |
| 786 <param name="minFrequency" value="0.25"/> | |
| 787 </conditional> | |
| 788 </conditional> | |
| 789 </repeat> | |
| 790 <output name="plots" file="peakdetection3_QC.pdf" compare="sim_size"/> | |
| 791 <output name="intensity_matrix" file="int3.tabular"/> | |
| 792 <output name="masspeaks" file="masspeaks3.tabular"/> | |
| 793 <output name="outfile_imzml" ftype="imzml" file="peak_detection3.imzml.txt" lines_diff="4"> | |
| 794 <extra_files type="file" file="peak_detection3.imzml" name="imzml" lines_diff="6"/> | |
| 795 <extra_files type="file" file="peak_detection3.ibd" name="ibd" compare="sim_size"/> | |
| 796 </output> | |
| 797 </test> | |
| 798 <test> | |
| 799 <param name="infile" value="" ftype="imzml"> | |
| 800 <composite_data value="Example_Processed.imzML"/> | |
| 801 <composite_data value="Example_Processed.ibd"/> | |
| 802 </param> | |
| 803 <repeat name="methods"> | |
| 804 <conditional name="methods_conditional"> | |
| 805 <param name="method" value="Peak_detection"/> | |
| 806 <param name="peak_method" value="SuperSmoother"/> | |
| 807 <param name="halfWindowSize" value="5"/> | |
| 808 <param name="snr" value="3"/> | |
| 776 </conditional> | 809 </conditional> |
| 777 </repeat> | 810 </repeat> |
| 778 <repeat name="methods"> | 811 <repeat name="methods"> |
| 779 <conditional name="methods_conditional"> | 812 <conditional name="methods_conditional"> |
| 780 <param name="method" value="Binning"/> | 813 <param name="method" value="Binning"/> |
| 781 <param name="bin_tolerance" value="0.01"/> | 814 <param name="bin_tolerance" value="0.01"/> |
| 782 </conditional> | 815 </conditional> |
| 783 </repeat> | 816 </repeat> |
| 784 <repeat name="methods"> | |
| 785 <conditional name="methods_conditional"> | |
| 786 <param name="method" value="Filtering"/> | |
| 787 <param name="minFrequency" value="0.5"/> | |
| 788 <param name="minNumber" value="3"/> | |
| 789 <param name="filter_annot_groups" value="TRUE"/> | |
| 790 <param name="mergeWhitelists" value="FALSE"/> | |
| 791 </conditional> | |
| 792 </repeat> | |
| 793 <output name="plots" file="peakdetection3_QC.pdf" compare="sim_size"/> | |
| 794 <output name="intensity_matrix" file="intensity_matrix3.tabular"/> | |
| 795 <output name="masspeaks" file="masspeaks3.tabular"/> | |
| 796 <output name="outfile_imzml" ftype="imzml" file="peak_detection3.imzml.txt" lines_diff="4"> | |
| 797 <extra_files type="file" file="peak_detection3.imzml" name="imzml" lines_diff="6"/> | |
| 798 <extra_files type="file" file="peak_detection3.ibd" name="ibd" compare="sim_size"/> | |
| 799 </output> | |
| 800 </test> | |
| 801 <test> | |
| 802 <param name="infile" value="testfile_squares.rdata" ftype="rdata"/> | |
| 803 <param name="method" value="Peak_detection"/> | |
| 804 <param name="peak_method" value="MAD"/> | |
| 805 <param name="halfWindowSize" value="20"/> | |
| 806 <param name="snr" value="2"/> | |
| 807 <output name="plots" file="peakdetection4_QC.pdf" compare="sim_size"/> | 817 <output name="plots" file="peakdetection4_QC.pdf" compare="sim_size"/> |
| 808 <output name="intensity_matrix" file="intensity_matrix4.tabular"/> | 818 <output name="intensity_matrix" file="int4.tabular"/> |
| 809 <output name="masspeaks" file="masspeaks4.tabular"/> | 819 <output name="masspeaks" file="masspeaks4.tabular"/> |
| 810 <output name="outfile_imzml" ftype="imzml" file="peak_detection4.imzml.txt" lines_diff="4"> | 820 <output name="outfile_imzml" ftype="imzml" file="peak_detection4.imzml.txt" lines_diff="4"> |
| 811 <extra_files type="file" file="peak_detection4.imzml" name="imzml" lines_diff="6"/> | 821 <extra_files type="file" file="peak_detection4.imzml" name="imzml" lines_diff="6"/> |
| 812 <extra_files type="file" file="peak_detection4.ibd" name="ibd" compare="sim_size"/> | 822 <extra_files type="file" file="peak_detection4.ibd" name="ibd" compare="sim_size"/> |
| 813 </output> | 823 </output> |
| 814 </test> | 824 </test> |
| 825 <test> | |
| 826 <param name="infile" value="" ftype="imzml"> | |
| 827 <composite_data value="preprocessing_results3.imzML"/> | |
| 828 <composite_data value="preprocessing_results3.ibd"/> | |
| 829 </param> | |
| 830 <param name="centroids" value="TRUE"/> | |
| 831 <conditional name="restriction_conditional"> | |
| 832 <param name="restriction" value="restrict"/> | |
| 833 <param name="coordinates_file" value="annotations.tabular"/> | |
| 834 <param name="column_x" value="1"/> | |
| 835 <param name="column_y" value="2"/> | |
| 836 <param name="coordinates_header" value="TRUE"/> | |
| 837 </conditional> | |
| 838 <repeat name="methods"> | |
| 839 <conditional name="methods_conditional"> | |
| 840 <param name="method" value="skip_preprocessing"/> | |
| 841 </conditional> | |
| 842 </repeat> | |
| 843 <output name="plots" file="peakdetection5_QC.pdf" compare="sim_size"/> | |
| 844 <output name="masspeaks" file="masspeaks5.tabular"/> | |
| 845 <output name="outfile_imzml" ftype="imzml" file="peak_detection5.imzml.txt" lines_diff="4"> | |
| 846 <extra_files type="file" file="peak_detection5.imzml" name="imzml" lines_diff="6"/> | |
| 847 <extra_files type="file" file="peak_detection5.ibd" name="ibd" compare="sim_size"/> | |
| 848 </output> | |
| 849 </test> | |
| 815 </tests> | 850 </tests> |
| 851 | |
| 816 <help> | 852 <help> |
| 817 <