Mercurial > repos > galaxyp > msi_preprocessing
comparison msi_preprocessing.xml @ 2:55e081b9f6ac draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/msi_preprocessing commit 06c2b45d8644b1d7fc01622a5c59dcbf8886d0f1
| author | galaxyp |
|---|---|
| date | Mon, 23 Apr 2018 17:17:08 -0400 |
| parents | 641316f29395 |
| children | c17eb2cc0048 |
comparison
equal
deleted
inserted
replaced
| 1:641316f29395 | 2:55e081b9f6ac |
|---|---|
| 1 <tool id="mass_spectrometry_imaging_preprocessing" name="MSI preprocessing" version="1.7.0.1"> | 1 <tool id="mass_spectrometry_imaging_preprocessing" name="MSI preprocessing" version="1.7.0.2"> |
| 2 <description> | 2 <description> |
| 3 mass spectrometry imaging preprocessing | 3 mass spectrometry imaging preprocessing |
| 4 </description> | 4 </description> |
| 5 <requirements> | 5 <requirements> |
| 6 <requirement type="package" version="1.7.0">bioconductor-cardinal</requirement> | 6 <requirement type="package" version="1.7.0">bioconductor-cardinal</requirement> |
| 7 <requirement type="package" version="2.2.1">r-gridextra</requirement> | |
| 8 <requirement type="package" version="0.20-35">r-lattice</requirement> | |
| 7 </requirements> | 9 </requirements> |
| 8 <command detect_errors="exit_code"> | 10 <command detect_errors="exit_code"> |
| 9 <![CDATA[ | 11 <![CDATA[ |
| 10 | 12 |
| 11 #if $infile.ext == 'imzml' | 13 #if $infile.ext == 'imzml' |
| 24 ]]> | 26 ]]> |
| 25 </command> | 27 </command> |
| 26 <configfiles> | 28 <configfiles> |
| 27 <configfile name="cardinal_preprocessing"><![CDATA[ | 29 <configfile name="cardinal_preprocessing"><![CDATA[ |
| 28 library(Cardinal) | 30 library(Cardinal) |
| 31 library(gridExtra) | |
| 32 library(lattice) | |
| 29 | 33 |
| 30 #if $infile.ext == 'imzml' | 34 #if $infile.ext == 'imzml' |
| 31 msidata <- readMSIData('infile.imzML') | 35 msidata <- readMSIData('infile.imzML') |
| 32 #elif $infile.ext == 'analyze75' | 36 #elif $infile.ext == 'analyze75' |
| 33 msidata <- readMSIData('infile.hdr') | 37 msidata <- readMSIData('infile.hdr') |
| 34 #else | 38 #else |
| 35 load('infile.RData') | 39 load('infile.RData') |
| 36 #end if | 40 #end if |
| 37 | 41 |
| 38 | 42 |
| 39 maxpixel = length(pixels(msidata)) | 43 ##################################### Preparations for QC report ####################################################################################### |
| 40 pixelnumber = c(1:maxpixel) | 44 |
| 41 | 45 #if $outputs.outputs_select == "quality_control": |
| 46 | |
| 47 ### values for QC table: | |
| 48 maxfeatures = length(features(msidata)) | |
| 49 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 50 medint = round(median(spectra(msidata)[]), digits=2) | |
| 51 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 52 QC_numbers= data.frame(rawdata = c(maxfeatures, medianpeaks, medint, TICs)) | |
| 53 vectorofactions = "rawdata" | |
| 54 | |
| 55 | |
| 56 ### Read tabular file with calibrant masses: | |
| 57 calibrant_list = read.delim("$outputs.calibrant_file", header = FALSE, na.strings=c("","NA"), stringsAsFactors = FALSE) | |
| 58 | |
| 59 ### calculate how many input calibrant masses are valid: | |
| 60 inputcalibrants = calibrant_list[calibrant_list[,$outputs.calibrants_column]>min(mz(msidata)) & calibrant_list[,$outputs.calibrants_column]<max(mz(msidata)),$outputs.calibrants_column] | |
| 61 number_calibrants_in = length(calibrant_list[,$outputs.calibrants_column]) | |
| 62 number_calibrants_valid = length(inputcalibrants) | |
| 63 | |
| 64 | |
| 65 | |
| 66 | |
| 67 ### Quality control report | |
| 68 | |
| 69 | |
| 70 pdf("Preprocessing.pdf", fonts = "Times", pointsize = 12) | |
| 71 plot(0,type='n',axes=FALSE,ann=FALSE) | |
| 72 title(main=paste("Quality control during preprocessing \n", "Filename:", "$infile.display_name")) | |
| 73 title(main=paste0("\n\n\n\n Number valid masses in ", "$outputs.calibrant_file.display_name",": ", number_calibrants_valid, "/", number_calibrants_in)) | |
| 74 | |
| 75 | |
| 76 | |
| 77 for (calibrant in inputcalibrants) | |
| 78 { | |
| 79 | |
| 80 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 81 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 82 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="raw") | |
| 83 | |
| 84 assign(paste("rawdata",calibrant, sep="_"), currentimage) | |
| 85 } | |
| 86 | |
| 87 | |
| 88 current_plot_raw <- vector(length(inputcalibrants), mode='list') | |
| 89 | |
| 90 | |
| 91 #end if | |
| 92 | |
| 93 ################################################### Preprocessing steps ####################################################################################### | |
| 42 #for $method in $methods: | 94 #for $method in $methods: |
| 43 #if str( $method.methods_conditional.preprocessing_method ) == 'Normalization': | 95 #if str( $method.methods_conditional.preprocessing_method ) == 'Normalization': |
| 44 print('Normalization') | 96 print('Normalization') |
| 45 ##normalization | 97 ##normalization |
| 46 msidata <- normalize(msidata, pixel=pixelnumber, method="tic") | 98 |
| 99 msidata <- normalize(msidata, method="tic") | |
| 100 | |
| 101 #if $outputs.outputs_select == "quality_control": | |
| 102 ### values for QC table: | |
| 103 maxfeatures = length(features(msidata)) | |
| 104 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 105 medint = round(median(spectra(msidata)[]), digits=2) | |
| 106 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 107 normalized = c(maxfeatures, medianpeaks, medint, TICs) | |
| 108 QC_numbers= cbind(QC_numbers, normalized) | |
| 109 ### preparation for QC plots | |
| 110 vectorofactions = append(vectorofactions, "normalized") | |
| 111 | |
| 112 for (calibrant in inputcalibrants) | |
| 113 { | |
| 114 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 115 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 116 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="normalized") | |
| 117 | |
| 118 assign(paste("normalized",calibrant, sep="_"), currentimage) | |
| 119 } | |
| 120 | |
| 121 | |
| 122 #end if | |
| 47 | 123 |
| 48 #elif str( $method.methods_conditional.preprocessing_method ) == 'Baseline_reduction': | 124 #elif str( $method.methods_conditional.preprocessing_method ) == 'Baseline_reduction': |
| 49 print('Baseline_reduction') | 125 print('Baseline_reduction') |
| 50 ##baseline reduction | 126 ##baseline reduction |
| 51 msidata = reduceBaseline(msidata, pixel=pixelnumber, method="median", blocks=$method.methods_conditional.blocks_baseline) | 127 msidata = reduceBaseline(msidata, method="median", blocks=$method.methods_conditional.blocks_baseline) |
| 128 | |
| 129 #if $outputs.outputs_select == "quality_control": | |
| 130 maxfeatures = length(features(msidata)) | |
| 131 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 132 medint = round(median(spectra(msidata)[]), digits=2) | |
| 133 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 134 baseline= c(maxfeatures, medianpeaks, medint, TICs) | |
| 135 QC_numbers= cbind(QC_numbers, baseline) | |
| 136 ### preparation for QC plots | |
| 137 vectorofactions = append(vectorofactions, "baseline_rem") | |
| 138 | |
| 139 for (calibrant in inputcalibrants) | |
| 140 { | |
| 141 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 142 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 143 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="baseline removed") | |
| 144 | |
| 145 assign(paste("baseline_rem",calibrant, sep="_"), currentimage) | |
| 146 } | |
| 147 #end if | |
| 52 | 148 |
| 53 #elif str( $method.methods_conditional.preprocessing_method ) == 'Smoothing': | 149 #elif str( $method.methods_conditional.preprocessing_method ) == 'Smoothing': |
| 54 print('Smoothing') | 150 print('Smoothing') |
| 55 ## Smoothing | 151 ## Smoothing |
| 56 | 152 |
| 63 #elif str($method.methods_conditional.methods_for_smoothing.smoothing_method) == 'ma': | 159 #elif str($method.methods_conditional.methods_for_smoothing.smoothing_method) == 'ma': |
| 64 print('sgolay smoothing') | 160 print('sgolay smoothing') |
| 65 msidata <- smoothSignal(msidata, method="$method.methods_conditional.methods_for_smoothing.smoothing_method", window=$method.methods_conditional.window_smoothing, coef = $method.methods_conditional.methods_for_smoothing.coefficients_ma_filter) | 161 msidata <- smoothSignal(msidata, method="$method.methods_conditional.methods_for_smoothing.smoothing_method", window=$method.methods_conditional.window_smoothing, coef = $method.methods_conditional.methods_for_smoothing.coefficients_ma_filter) |
| 66 #end if | 162 #end if |
| 67 | 163 |
| 164 #if $outputs.outputs_select == "quality_control": | |
| 165 maxfeatures = length(features(msidata)) | |
| 166 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 167 medint = round(median(spectra(msidata)[]), digits=2) | |
| 168 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 169 smoothed= c(maxfeatures, medianpeaks, medint, TICs) | |
| 170 QC_numbers= cbind(QC_numbers, smoothed) | |
| 171 ### preparation for QC plots | |
| 172 vectorofactions = append(vectorofactions, "smoothed") | |
| 173 | |
| 174 for (calibrant in inputcalibrants) | |
| 175 { | |
| 176 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 177 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 178 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="smoothed") | |
| 179 | |
| 180 assign(paste("smoothed",calibrant, sep="_"), currentimage) | |
| 181 } | |
| 182 #end if | |
| 68 | 183 |
| 69 #elif str( $method.methods_conditional.preprocessing_method) == 'Peak_picking': | 184 #elif str( $method.methods_conditional.preprocessing_method) == 'Peak_picking': |
| 70 print('Peak_picking') | 185 print('Peak_picking') |
| 71 ## Peakpicking | 186 ## Peakpicking |
| 72 | 187 |
| 73 #if str( $method.methods_conditional.methods_for_picking.picking_method) == 'adaptive': | 188 #if str( $method.methods_conditional.methods_for_picking.picking_method) == 'adaptive': |
| 74 print('adaptive peakpicking') | 189 print('adaptive peakpicking') |
| 75 msidata = peakPick(msidata, pixel=pixelnumber, window = $method.methods_conditional.window_picking, blocks = $method.methods_conditional.blocks_picking, method='$method.methods_conditional.methods_for_picking.picking_method', SNR=$method.methods_conditional.SNR_picking_method, spar=$method.methods_conditional.methods_for_picking.spar_picking) | 190 msidata = peakPick(msidata, window = $method.methods_conditional.window_picking, blocks = $method.methods_conditional.blocks_picking, method='$method.methods_conditional.methods_for_picking.picking_method', SNR=$method.methods_conditional.SNR_picking_method, spar=$method.methods_conditional.methods_for_picking.spar_picking) |
| 76 | 191 |
| 77 #elif str( $method.methods_conditional.methods_for_picking.picking_method) == 'limpic': | 192 #elif str( $method.methods_conditional.methods_for_picking.picking_method) == 'limpic': |
| 78 print('limpic peakpicking') | 193 print('limpic peakpicking') |
| 79 msidata = peakPick(msidata, pixel=pixelnumber, window = $method.methods_conditional.window_picking, blocks = $method.methods_conditional.blocks_picking, method='$method.methods_conditional.methods_for_picking.picking_method', SNR=$method.methods_conditional.SNR_picking_method, thresh=$method.methods_conditional.methods_for_picking.tresh_picking) | 194 msidata = peakPick(msidata, window = $method.methods_conditional.window_picking, blocks = $method.methods_conditional.blocks_picking, method='$method.methods_conditional.methods_for_picking.picking_method', SNR=$method.methods_conditional.SNR_picking_method, thresh=$method.methods_conditional.methods_for_picking.tresh_picking) |
| 80 | 195 |
| 81 #elif str( $method.methods_conditional.methods_for_picking.picking_method) == 'simple': | 196 #elif str( $method.methods_conditional.methods_for_picking.picking_method) == 'simple': |
| 82 print('simple peakpicking') | 197 print('simple peakpicking') |
| 83 msidata = peakPick(msidata, pixel=pixelnumber, window = $method.methods_conditional.window_picking, blocks = $method.methods_conditional.blocks_picking, method='$method.methods_conditional.methods_for_picking.picking_method', SNR=$method.methods_conditional.SNR_picking_method) | 198 msidata = peakPick(msidata, window = $method.methods_conditional.window_picking, blocks = $method.methods_conditional.blocks_picking, method='$method.methods_conditional.methods_for_picking.picking_method', SNR=$method.methods_conditional.SNR_picking_method) |
| 84 #end if | 199 #end if |
| 85 | 200 |
| 86 | 201 #if $outputs.outputs_select == "quality_control": |
| 202 maxfeatures = length(features(msidata)) | |
| 203 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 204 medint = round(median(spectra(msidata)[]), digits=2) | |
| 205 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 206 picked= c(maxfeatures, medianpeaks, medint, TICs) | |
| 207 QC_numbers= cbind(QC_numbers, picked) | |
| 208 ### preparation for QC plots | |
| 209 vectorofactions = append(vectorofactions, "picked") | |
| 210 | |
| 211 for (calibrant in inputcalibrants) | |
| 212 { | |
| 213 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 214 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 215 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="picked") | |
| 216 | |
| 217 assign(paste("picked",calibrant, sep="_"), currentimage) | |
| 218 } | |
| 219 #end if | |
| 87 | 220 |
| 88 #elif str( $method.methods_conditional.preprocessing_method ) == 'Peak_alignment': | 221 #elif str( $method.methods_conditional.preprocessing_method ) == 'Peak_alignment': |
| 89 print('Peak_alignment') | 222 print('Peak_alignment') |
| 90 ## Peakalignment | 223 ## Peakalignment |
| 91 | 224 |
| 225 #if str( $method.methods_conditional.align_ref_type.align_reference_datatype) == 'align_noref': | |
| 226 align_peak_reference = msidata | |
| 227 | |
| 228 #elif str( $method.methods_conditional.align_ref_type.align_reference_datatype) == 'align_table': | |
| 229 align_reference_table = read.delim("$method.methods_conditional.align_ref_type.align_peaks_table", header = FALSE, na.strings=c("","NA"), stringsAsFactors = FALSE) | |
| 230 | |
| 231 align_reference_column = align_reference_table[,$method.methods_conditional.align_ref_type.align_mass_column] | |
| 232 | |
| 233 align_peak_reference = align_reference_column[align_reference_column>=min(mz(msidata)) & align_reference_column<=max(mz(msidata))] | |
| 234 if (length(align_peak_reference) == 0) | |
| 235 {align_peak_reference = 0 | |
| 236 } | |
| 237 | |
| 238 | |
| 239 | |
| 240 #### if length <0: align_peak_reference = 0 | |
| 241 | |
| 242 | |
| 243 #elif str( $method.methods_conditional.align_ref_type.align_reference_datatype) == 'align_msidata_ref': | |
| 244 loadRData <- function(fileName){ | |
| 245 #loads an RData file, and returns it | |
| 246 load(fileName) | |
| 247 get(ls()[ls() != "fileName"]) | |
| 248 } | |
| 249 align_peak_reference = loadRData('$method.methods_conditional.align_ref_type.align_peaks_msidata') | |
| 250 #end if | |
| 251 | |
| 92 #if str( $method.methods_conditional.methods_for_alignment.alignment_method) == 'diff': | 252 #if str( $method.methods_conditional.methods_for_alignment.alignment_method) == 'diff': |
| 93 print('diff peaklignment') | 253 print('diff peakalignment') |
| 94 msidata = peakAlign(msidata, method='$method.methods_conditional.methods_for_alignment.alignment_method',diff.max =$method.methods_conditional.methods_for_alignment.value_diffalignment, units = "$method.methods_conditional.methods_for_alignment.units_diffalignment") | 254 msidata = peakAlign(msidata, method='$method.methods_conditional.methods_for_alignment.alignment_method',diff.max =$method.methods_conditional.methods_for_alignment.value_diffalignment, units = "$method.methods_conditional.methods_for_alignment.units_diffalignment", ref=align_peak_reference) |
| 95 | 255 |
| 96 #elif str( $method.methods_conditional.methods_for_alignment.alignment_method) == 'DP': | 256 #elif str( $method.methods_conditional.methods_for_alignment.alignment_method) == 'DP': |
| 97 print('DPpeaklignment') | 257 print('DPpeakalignment') |
| 98 msidata = peakAlign(msidata, method='$method.methods_conditional.methods_for_alignment.alignment_method',gap = $method.methods_conditional.methods_for_alignment.gap_DPalignment ) | 258 msidata = peakAlign(msidata, method='$method.methods_conditional.methods_for_alignment.alignment_method',gap = $method.methods_conditional.methods_for_alignment.gap_DPalignment, ref=align_peak_reference) |
| 99 #end if | 259 #end if |
| 260 | |
| 261 #if $outputs.outputs_select == "quality_control": | |
| 262 maxfeatures = length(features(msidata)) | |
| 263 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 264 medint = round(median(spectra(msidata)[]), digits=2) | |
| 265 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 266 aligned= c(maxfeatures, medianpeaks, medint, TICs) | |
| 267 QC_numbers= cbind(QC_numbers, aligned) | |
| 268 ### preparation for QC plots | |
| 269 vectorofactions = append(vectorofactions, "aligned") | |
| 270 | |
| 271 for (calibrant in inputcalibrants) | |
| 272 { | |
| 273 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 274 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 275 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="aligned") | |
| 276 | |
| 277 assign(paste("aligned",calibrant, sep="_"), currentimage) | |
| 278 } | |
| 279 #end if | |
| 100 | 280 |
| 101 #elif str( $method.methods_conditional.preprocessing_method) == 'Peak_filtering': | 281 #elif str( $method.methods_conditional.preprocessing_method) == 'Peak_filtering': |
| 102 print('Peak_filtering') | 282 print('Peak_filtering') |
| 103 msidata = peakFilter(msidata, method='freq', freq.min = $method.methods_conditional.frequ_filtering) | 283 msidata = peakFilter(msidata, method='freq', freq.min = $method.methods_conditional.frequ_filtering) |
| 284 | |
| 285 #if $outputs.outputs_select == "quality_control": | |
| 286 maxfeatures = length(features(msidata)) | |
| 287 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 288 medint = round(median(spectra(msidata)[]), digits=2) | |
| 289 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 290 filtered= c(maxfeatures, medianpeaks, medint, TICs) | |
| 291 QC_numbers= cbind(QC_numbers, filtered) | |
| 292 ### preparation for QC plots | |
| 293 vectorofactions = append(vectorofactions, "filtered") | |
| 294 | |
| 295 for (calibrant in inputcalibrants) | |
| 296 { | |
| 297 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 298 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 299 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="filtered") | |
| 300 | |
| 301 assign(paste("filtered",calibrant, sep="_"), currentimage) | |
| 302 } | |
| 303 #end if | |
| 304 | |
| 305 #elif str( $method.methods_conditional.preprocessing_method) == 'Data_reduction': | |
| 306 print('Data_reduction') | |
| 307 | |
| 308 #if str( $method.methods_conditional.methods_for_reduction.reduction_method) == 'bin': | |
| 309 print('bin reduction') | |
| 310 msidata = reduceDimension(msidata, method="bin", width=$method.methods_conditional.methods_for_reduction.bin_width, units="$method.methods_conditional.methods_for_reduction.bin_units", fun=$method.methods_conditional.methods_for_reduction.bin_fun) | |
| 311 | |
| 312 #elif str( $method.methods_conditional.methods_for_reduction.reduction_method) == 'resample': | |
| 313 print('resample reduction') | |
| 314 msidata = reduceDimension(msidata, method="resample", step=$method.methods_conditional.methods_for_reduction.resample_step) | |
| 315 | |
| 316 #elif str( $method.methods_conditional.methods_for_reduction.reduction_method) == 'peaks': | |
| 317 print('peaks reduction') | |
| 318 | |
| 319 #if str( $method.methods_conditional.methods_for_reduction.ref_type.reference_datatype) == 'table': | |
| 320 reference_table = read.delim("$method.methods_conditional.methods_for_reduction.ref_type.peaks_table", header = FALSE, na.strings=c("","NA"), stringsAsFactors = FALSE) | |
| 321 reference_column = reference_table[,$method.methods_conditional.methods_for_reduction.ref_type.mass_column] | |
| 322 peak_reference = reference_column[reference_column>min(mz(msidata)) & reference_column<max(mz(msidata))] | |
| 323 | |
| 324 #elif str( $method.methods_conditional.methods_for_reduction.ref_type.reference_datatype) == 'msidata_ref': | |
| 325 loadRData <- function(fileName){ | |
| 326 #loads an RData file, and returns it | |
| 327 load(fileName) | |
| 328 get(ls()[ls() != "fileName"]) | |
| 329 } | |
| 330 peak_reference = loadRData('$method.methods_conditional.methods_for_reduction.ref_type.peaks_msidata') | |
| 331 #end if | |
| 332 msidata = reduceDimension(msidata, method="peaks", ref=peak_reference, type="$method.methods_conditional.methods_for_reduction.peaks_type") | |
| 333 #end if | |
| 334 | |
| 335 #if $outputs.outputs_select == "quality_control": | |
| 336 maxfeatures = length(features(msidata)) | |
| 337 medianpeaks = median(colSums(spectra(msidata)[]>0)) | |
| 338 medint = round(median(spectra(msidata)[]), digits=2) | |
| 339 TICs = round(mean(colSums(spectra(msidata)[])), digits=1) | |
| 340 reduced= c(maxfeatures, medianpeaks, medint, TICs) | |
| 341 QC_numbers= cbind(QC_numbers, reduced) | |
| 342 ### preparation for QC plots | |
| 343 vectorofactions = append(vectorofactions, "reduced") | |
| 344 | |
| 345 for (calibrant in inputcalibrants) | |
| 346 { | |
| 347 currentimage = image(msidata , mz=calibrant, strip = strip.custom(bg="lightgrey", | |
| 348 par.strip.text=list(col="black", cex=.9)),lattice=TRUE, | |
| 349 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="reduced") | |
| 350 | |
| 351 assign(paste("reduced",calibrant, sep="_"), currentimage) | |
| 352 } | |
| 353 #end if | |
| 104 #end if | 354 #end if |
| 105 #end for | 355 #end for |
| 106 | 356 |
| 107 | 357 ####################################################### Outputs: RData, tabular and QC report ###################################################### |
| 108 ## save as as (.RData) | 358 |
| 359 | |
| 360 ## save as (.RData) | |
| 109 save(msidata, file="$msidata_preprocessed") | 361 save(msidata, file="$msidata_preprocessed") |
| 110 | 362 |
| 111 if (length(features(msidata))> 0) | 363 |
| 112 { | 364 #if $output_matrix: |
| 113 | 365 |
| 114 ## save as intensity matrix | 366 |
| 115 spectramatrix = spectra(msidata) | 367 if (length(features(msidata))> 0) |
| 116 rownames(spectramatrix) = mz(msidata) | 368 { |
| 117 newmatrix = rbind(pixels(msidata), spectramatrix) | 369 |
| 118 write.table(newmatrix[2:nrow(newmatrix),], file="$matrixasoutput", quote = FALSE, row.names = TRUE, col.names=NA, sep = "\t") | 370 ## save as intensity matrix |
| 119 | 371 |
| 120 }else{ | 372 spectramatrix = spectra(msidata) |
| 121 print("file has no features left") | 373 rownames(spectramatrix) = mz(msidata) |
| 122 write.table(matrix(rownames(coord(msidata)), ncol=ncol(msidata), nrow=1), file="$matrixasoutput", quote = FALSE, row.names = FALSE, col.names=FALSE, sep = "\t") | 374 newmatrix = rbind(pixels(msidata), spectramatrix) |
| 123 } | 375 write.table(newmatrix[2:nrow(newmatrix),], file="$matrixasoutput", quote = FALSE, row.names = TRUE, col.names=NA, sep = "\t") |
| 376 | |
| 377 }else{ | |
| 378 print("file has no features left") | |
| 379 write.table(matrix(rownames(coord(msidata)), ncol=ncol(msidata), nrow=1), file="$matrixasoutput", quote = FALSE, row.names = FALSE, col.names=FALSE, sep = "\t") | |
| 380 } | |
| 381 | |
| 382 #end if | |
| 383 | |
| 384 | |
| 385 #if $outputs.outputs_select == "quality_control": | |
| 386 | |
| 387 rownames(QC_numbers) = c("# features", "median # peaks", "median intensity", "median TIC") | |
| 388 grid.table(t(QC_numbers)) | |
| 389 | |
| 390 for (calibrant in inputcalibrants) | |
| 391 { | |
| 392 imagelist = list() | |
| 393 | |
| 394 for (numberprepro in 1:length(vectorofactions)){ | |
| 395 | |
| 396 imagelist[[numberprepro]] = get(paste(vectorofactions[numberprepro],calibrant, sep="_")) | |
| 397 | |
| 398 | |
| 399 } | |
| 400 | |
| 401 do.call(grid.arrange,imagelist) | |
| 402 } | |
| 403 | |
| 404 | |
| 405 dev.off() | |
| 406 | |
| 407 #end if | |
| 124 | 408 |
| 125 | 409 |
| 126 ]]></configfile> | 410 ]]></configfile> |
| 127 </configfiles> | 411 </configfiles> |
| 128 <inputs> | 412 <inputs> |
| 129 <param name="infile" type="data" format="imzml,rdata,analyze75" | 413 <param name="infile" type="data" format="imzml,rdata,analyze75" |
| 130 label="MSI rawdata as imzml or Cardinal MSImageSet saved as RData" | 414 label="MSI rawdata as imzml, analyze7.5 or Cardinal MSImageSet saved as RData" |
| 131 help="load imzml and ibd file by uploading composite datatype imzml"/> | 415 help="load imzml and ibd file by uploading composite datatype imzml"/> |
| 132 <repeat name="methods" title="Preprocessing" min="1" max="50"> | 416 <repeat name="methods" title="Preprocessing" min="1" max="50"> |
| 133 <conditional name="methods_conditional"> | 417 <conditional name="methods_conditional"> |
| 134 <param name="preprocessing_method" type="select" label="Select the preprocessing methods you want to apply"> | 418 <param name="preprocessing_method" type="select" label="Select the preprocessing methods you want to apply"> |
| 135 <option value="Normalization" selected="True">Normalization to TIC</option> | 419 <option value="Normalization" selected="True">Normalization to TIC</option> |
| 136 <option value="Baseline_reduction">Baseline Reduction</option> | 420 <option value="Baseline_reduction">Baseline Reduction</option> |
| 137 <option value="Smoothing">Peak smoothing</option> | 421 <option value="Smoothing">Peak smoothing</option> |
| 138 <option value="Peak_picking">Peak picking</option> | 422 <option value="Peak_picking">Peak picking</option> |
| 139 <option value="Peak_alignment">Peak alignment</option> | 423 <option value="Peak_alignment">Peak alignment</option> |
| 140 <option value="Peak_filtering">Peak filtering</option> | 424 <option value="Peak_filtering">Peak filtering</option> |
| 425 <option value="Data_reduction">Data reduction</option> | |
| 141 </param> | 426 </param> |
| 427 | |
| 142 <when value="Normalization"/> | 428 <when value="Normalization"/> |
| 143 <when value="Baseline_reduction"> | 429 <when value="Baseline_reduction"> |
| 144 <param name="blocks_baseline" type="integer" value="50" | 430 <param name="blocks_baseline" type="integer" value="50" |
| 145 label="blocks"/> | 431 label="Blocks"/> |
| 146 </when> | 432 </when> |
| 147 <when value="Smoothing"> | 433 <when value="Smoothing"> |
| 148 <conditional name="methods_for_smoothing"> | 434 <conditional name="methods_for_smoothing"> |
| 149 <param name="smoothing_method" type="select" label="Smoothing method"> | 435 <param name="smoothing_method" type="select" label="Smoothing method"> |
| 150 <option value="gaussian" selected="True">gaussian</option> | 436 <option value="gaussian" selected="True">gaussian</option> |
| 169 </when> | 455 </when> |
| 170 <when value="Peak_picking"> | 456 <when value="Peak_picking"> |
| 171 <param name="SNR_picking_method" type="integer" value="3" | 457 <param name="SNR_picking_method" type="integer" value="3" |
| 172 label="Signal to noise ratio" | 458 label="Signal to noise ratio" |
| 173 help="The minimal signal to noise ratio for peaks to be considered as a valid peak."/> | 459 help="The minimal signal to noise ratio for peaks to be considered as a valid peak."/> |
| 174 <param name="blocks_picking" type="integer" value="100" label = "number of blocks" | 460 <param name="blocks_picking" type="integer" value="100" label = "Number of blocks" |
| 175 help="Number of blocks in which to divide mass spectrum to calculate noise"/> | 461 help="Number of blocks in which to divide mass spectrum to calculate noise"/> |
| 176 <param name="window_picking" type="integer" value="5" label= "window size" help="Window width for seeking local maxima"/> | 462 <param name="window_picking" type="integer" value="5" label= "Window size" help="Window width for seeking local maxima"/> |
| 177 <conditional name="methods_for_picking"> | 463 <conditional name="methods_for_picking"> |
| 178 <param name="picking_method" type="select" label="Peak picking method" help = "only simple works for processed imzML files"> | 464 <param name="picking_method" type="select" label="Peak picking method" help="only simple works for processed imzML files"> |
| 179 <option value="adaptive" selected="True">adaptive</option> | 465 <option value="adaptive" selected="True">adaptive</option> |
| 180 <option value="limpic">limpic</option> | 466 <option value="limpic">limpic</option> |
| 181 <option value="simple">simple</option> | 467 <option value="simple">simple</option> |
| 182 </param> | 468 </param> |
| 183 <when value="adaptive"> | 469 <when value="adaptive"> |
| 184 <param name="spar_picking" type="float" value="1.0" | 470 <param name="spar_picking" type="float" value="1.0" |
| 185 label="spar value" | 471 label="Spar value" |
| 186 help = "Smoothing parameter for the spline smoothing | 472 help = "Smoothing parameter for the spline smoothing |
| 187 applied to the spectrum in order to decide the cutoffs | 473 applied to the spectrum in order to decide the cutoffs |
| 188 for throwing away false noise spikes that might occur inside peaks"/> | 474 for throwing away false noise spikes that might occur inside peaks"/> |
| 189 </when> | 475 </when> |
| 190 <when value="limpic"> | 476 <when value="limpic"> |
| 191 <param name="tresh_picking" type="float" value="0.75" | 477 <param name="tresh_picking" type="float" value="0.75" |
| 192 label="thresh value" help = "The thresholding quantile to use when comparing slopes in order to throw away peaks that are too flat"/> | 478 label="thresh value" help="The thresholding quantile to use when comparing slopes in order to throw away peaks that are too flat"/> |
| 193 </when> | 479 </when> |
| 194 <when value="simple"/> | 480 <when value="simple"/> |
| 195 </conditional> | 481 </conditional> |
| 196 </when> | 482 </when> |
| 197 <when value="Peak_alignment"> | 483 <when value="Peak_alignment"> |
| 202 </param> | 488 </param> |
| 203 <when value="diff"> | 489 <when value="diff"> |
| 204 <param name="value_diffalignment" type="integer" value="200" | 490 <param name="value_diffalignment" type="integer" value="200" |
| 205 label="diff.max" help="Peaks that differ less than this value will be aligned together"/> | 491 label="diff.max" help="Peaks that differ less than this value will be aligned together"/> |
| 206 <param name="units_diffalignment" type="select" display = "radio" optional = "False" | 492 <param name="units_diffalignment" type="select" display = "radio" optional = "False" |
| 207 label="units" help= "The coefficients for the moving average filter"> | 493 label="units" help="The coefficients for the moving average filter"> |
| 208 <option value="ppm" selected="True">ppm</option> | 494 <option value="ppm" selected="True">ppm</option> |
| 209 <option value="Da">Da</option> | 495 <option value="Da">Da</option> |
| 210 </param> | 496 </param> |
| 211 </when> | 497 </when> |
| 212 <when value="DP"> | 498 <when value="DP"> |
| 213 <param name="gap_DPalignment" type="integer" value="0" | 499 <param name="gap_DPalignment" type="integer" value="0" |
| 214 label="gap" help = "The gap penalty for the dynamic programming sequence alignment"/> | 500 label="Gap" help="The gap penalty for the dynamic programming sequence alignment"/> |
| 501 </when> | |
| 502 </conditional> | |
| 503 <conditional name="align_ref_type"> | |
| 504 <param name="align_reference_datatype" type="select" label="Choose reference"> | |
| 505 <option value="align_noref" selected="True">no reference</option> | |
| 506 <option value="align_table" >tabular file as reference</option> | |
| 507 <option value="align_msidata_ref">msidata file as reference</option> | |
| 508 </param> | |
| 509 <when value="align_noref"/> | |
| 510 <when value="align_table"> | |
| 511 <param name="align_peaks_table" type="data" format="tabular" | |
| 512 label="Reference mz values to use for alignment - only these will be kept" help="One column with mz values (without empty cells or letters)"/> | |
| 513 <param name="align_mass_column" data_ref="align_peaks_table" label="Column with reference mz" type="data_column"/> | |
| 514 </when> | |
| 515 <when value="align_msidata_ref"> | |
| 516 <param name="align_peaks_msidata" type="data" format="rdata," label="Picked and aligned Cardinal MSImageSet saved as RData"/> | |
| 215 </when> | 517 </when> |
| 216 </conditional> | 518 </conditional> |
| 217 </when> | 519 </when> |
| 218 <when value="Peak_filtering"> | 520 <when value="Peak_filtering"> |
| 219 <param name="frequ_filtering" type="float" value="1" | 521 <param name="frequ_filtering" type="integer" value="1000" |
| 220 label="freq.min" help = "Peaks that occur in the dataset fewer times than this will be removed"/> | 522 label="Freq.min" help="Peaks that occur in the dataset fewer times than this will be removed. Number should be between 1 (no filtering) and number of spectra (pixel)"/> |
| 523 </when> | |
| 524 <when value="Data_reduction"> | |
| 525 <conditional name="methods_for_reduction"> | |
| 526 <param name="reduction_method" type="select" label="Reduction method"> | |
| 527 <option value="bin" selected="True">bin</option> | |
| 528 <option value="resample">resample</option> | |
| 529 <option value="peaks">peaks</option> | |
| 530 </param> | |
| 531 <when value="bin"> | |
| 532 <param name="bin_width" type="float" value="1" | |
| 533 label="The width of a bin in mz or ppm" help="Width must be greater than Range of mz values/Number of mz features"/> | |
| 534 <param name="bin_units" type="select" display="radio" | |
| 535 label="Unit for bin"> | |
| 536 <option value="mz" selected="True">mz</option> | |
| 537 <option value="ppm">ppm</option> | |
| 538 </param> | |
| 539 <param name="bin_fun" type="select" display="radio" | |
| 540 label="Calculate sum or mean intensity for ions of the same bin"> | |
| 541 <option value="mean" selected="True">mean</option> | |
| 542 <option value="sum">sum</option> | |
| 543 </param> | |
| 544 </when> | |
| 545 <when value="resample"> | |
| 546 <param name="resample_step" type="float" value="1" | |
| 547 label="The step size in mz" help="Step size must be greater than Range of mz values/Number of mz features"/> | |
| 548 </when> | |
| 549 <when value="peaks"> | |
| 550 <param name="peaks_type" type="select" display="radio" | |
| 551 label="Should the peak height or area under the curve be taken as the intensity value?"> | |
| 552 <option value="height" selected="True">height</option> | |
| 553 <option value="area">area</option> | |
| 554 </param> | |
| 555 <conditional name="ref_type"> | |
| 556 <param name="reference_datatype" type="select" label="Choose reference datatype"> | |
| 557 <option value="table" selected="True">tabular file</option> | |
| 558 <option value="msidata_ref">msidata file</option> | |
| 559 </param> | |
| 560 <when value="table"> | |
| 561 <param name="peaks_table" type="data" format="tabular" | |
| 562 label="Reference mz values to use to reduce the dimension" help="One column with mz values (without empty cells or letters, mz outside mz range are not used for filtering)"/> | |
| 563 <param name="mass_column" data_ref="peaks_table" label="Column with reference mz" type="data_column"/> | |
| 564 </when> | |
| 565 <when value="msidata_ref"> | |
| 566 <param name="peaks_msidata" type="data" format="rdata," label="Picked and aligned Cardinal MSImageSet saved as RData"/> | |
| 567 </when> | |
| 568 </conditional> | |
| 569 </when> | |
| 570 </conditional> | |
| 221 </when> | 571 </when> |
| 222 </conditional> | 572 </conditional> |
| 223 </repeat> | 573 </repeat> |
| 574 <conditional name="outputs"> | |
| 575 <param name="outputs_select" type="select" label="Quality control output"> | |
| 576 <option value="quality_control" selected="True">yes</option> | |
| 577 <option value="no_quality_control">no</option> | |
| 578 </param> | |
| 579 <when value="quality_control"> | |
| 580 <param name="calibrant_file" type="data" format="tabular" | |
| 581 label="Provide a list of masses which will be plotted in the quality control report" | |
| 582 help="Use internal calibrant masses"/> | |
| 583 <param name="calibrants_column" data_ref="calibrant_file" label="Column with masses" type="data_column"/> | |
| 584 <param name="plusminus_dalton" value="0.25" type="text" label="Mass range" help="Plusminus mass window in Dalton"/> | |
| 585 </when> | |
| 586 <when value="no_quality_control"/> | |
| 587 </conditional> | |
| 588 <param name="output_matrix" type="boolean" display="radio" label="Intensity matrix output"/> | |
| 224 </inputs> | 589 </inputs> |
| 225 <outputs> | 590 <outputs> |
| 226 <data format="rdata" name="msidata_preprocessed" label="${tool.name} on $infile.display_name"/> | 591 <data format="rdata" name="msidata_preprocessed" label="Preprocessed ${on_string}"/> |
| 227 <data format="tabular" name="matrixasoutput" label="${tool.name} on $infile.display_name" /> | 592 <data format="pdf" name="QC_plots" from_work_dir="Preprocessing.pdf" label = "QC preprocessing report on ${on_string}"> |
| 593 <filter>outputs["outputs_select"] == "quality_control"</filter> | |
| 594 </data> | |
| 595 <data format="tabular" name="matrixasoutput" label="Intensity matrix ${on_string}"> | |
| 596 <filter>output_matrix</filter> | |
| 597 </data> | |
| 228 </outputs> | 598 </outputs> |
| 229 <tests> | 599 <tests> |
| 230 <test> | 600 <test> |
| 231 <param name="infile" value="" ftype="imzml"> | 601 <param name="infile" value="" ftype="imzml"> |
| 232 <composite_data value="Example_Continuous.imzML"/> | 602 <composite_data value="Example_Continuous.imzML"/> |
| 237 <param name="preprocessing_method" value="Normalization" /> | 607 <param name="preprocessing_method" value="Normalization" /> |
| 238 </conditional> | 608 </conditional> |
| 239 </repeat> | 609 </repeat> |
| 240 <repeat name="methods"> | 610 <repeat name="methods"> |
| 241 <conditional name="methods_conditional"> | 611 <conditional name="methods_conditional"> |
| 242 <param name="preprocessing_method" value="Baseline_reduction" /> | |
| 243 <param name="blocks_baseline" value="100" /> | |
| 244 </conditional> | |
| 245 </repeat> | |
| 246 <repeat name="methods"> | |
| 247 <conditional name="methods_conditional"> | |
| 248 <param name="preprocessing_method" value="Smoothing" /> | 612 <param name="preprocessing_method" value="Smoothing" /> |
| 249 <conditional name="methods_for_smoothing"> | 613 <conditional name="methods_for_smoothing"> |
| 250 <param name="smoothing_method" value="gaussian" /> | 614 <param name="smoothing_method" value="gaussian" /> |
| 251 </conditional> | 615 </conditional> |
| 252 </conditional> | 616 </conditional> |
| 267 <conditional name="methods_for_alignment"> | 631 <conditional name="methods_for_alignment"> |
| 268 <param name="alignment_method" value="diff" /> | 632 <param name="alignment_method" value="diff" /> |
| 269 </conditional> | 633 </conditional> |
| 270 </conditional> | 634 </conditional> |
| 271 </repeat> | 635 </repeat> |
| 272 <!--repeat name="methods"> | 636 <repeat name="methods"> |
| 273 <conditional name="methods_conditional"> | 637 <conditional name="methods_conditional"> |
| 274 <param name="preprocessing_method" value="Peak_filtering" /> | 638 <param name="preprocessing_method" value="Peak_filtering" /> |
| 275 </conditional> | 639 <param name="frequ_filtering" value="2"/> |
| 276 </repeat--> | 640 </conditional> |
| 641 </repeat> | |
| 642 <param name="outputs_select" value="no_quality_control"/> | |
| 643 <param name="output_matrix" value="True"/> | |
| 277 <output name="msidata_preprocessed" file="preprocessing_results1.RData" compare="sim_size" /> | 644 <output name="msidata_preprocessed" file="preprocessing_results1.RData" compare="sim_size" /> |
| 278 <output name="matrixasoutput" file="preprocessing_results1.txt" /> | 645 <output name="matrixasoutput" file="preprocessing_results1.txt" /> |
| 279 </test> | 646 </test> |
| 280 <test> | 647 <test> |
| 281 <param name="infile" value="example_continous.RData" ftype="rdata"/> | 648 <param name="infile" value="example_continous.RData" ftype="rdata"/> |
| 282 <!--repeat name="methods"> | |
| 283 <conditional name="methods_conditional"> | |
| 284 <param name="preprocessing_method" value="Baseline_reduction" /> | |
| 285 <param name="blocks_baseline" value="3" /> | |
| 286 </conditional> | |
| 287 </repeat--> | |
| 288 <repeat name="methods"> | 649 <repeat name="methods"> |
| 289 <conditional name="methods_conditional"> | 650 <conditional name="methods_conditional"> |
| 290 <param name="preprocessing_method" value="Peak_picking" /> | 651 <param name="preprocessing_method" value="Peak_picking" /> |
| 291 <param name="blocks_picking" value="3" /> | 652 <param name="blocks_picking" value="3" /> |
| 292 <param name="window_picking" value="5" /> | 653 <param name="window_picking" value="5" /> |
| 297 <conditional name="methods_conditional"> | 658 <conditional name="methods_conditional"> |
| 298 <param name="preprocessing_method" value="Peak_alignment" /> | 659 <param name="preprocessing_method" value="Peak_alignment" /> |
| 299 <param name="methods_for_alignment" value="DP" /> | 660 <param name="methods_for_alignment" value="DP" /> |
| 300 </conditional> | 661 </conditional> |
| 301 </repeat> | 662 </repeat> |
| 663 <param name="outputs_select" value="quality_control"/> | |
| 664 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile2.tabular"/> | |
| 665 <param name="calibrants_column" value="1"/> | |
| 666 <param name="plusminus_dalton" value="0.25"/> | |
| 667 <param name="output_matrix" value="True"/> | |
| 302 <output name="msidata_preprocessed" file="preprocessing_results2.RData" compare="sim_size" /> | 668 <output name="msidata_preprocessed" file="preprocessing_results2.RData" compare="sim_size" /> |
| 303 <output name="matrixasoutput" file="preprocessing_results2.txt" lines_diff="2" /> | 669 <output name="matrixasoutput" file="preprocessing_results2.txt" lines_diff="2" /> |
| 670 <output name="QC_plots" file="preprocessing_results2.pdf" compare="sim_size"/> | |
| 304 </test> | 671 </test> |
| 305 <test> | 672 <test> |
| 306 <param name="infile" value="" ftype="analyze75"> | 673 <param name="infile" value="" ftype="analyze75"> |
| 307 <composite_data value="Analyze75.hdr"/> | 674 <composite_data value="Analyze75.hdr"/> |
| 308 <composite_data value="Analyze75.img"/> | 675 <composite_data value="Analyze75.img"/> |
| 311 <repeat name="methods"> | 678 <repeat name="methods"> |
| 312 <conditional name="methods_conditional"> | 679 <conditional name="methods_conditional"> |
| 313 <param name="preprocessing_method" value="Normalization" /> | 680 <param name="preprocessing_method" value="Normalization" /> |
| 314 </conditional> | 681 </conditional> |
| 315 </repeat> | 682 </repeat> |
| 316 <!--repeat name="methods"> | |
| 317 <conditional name="methods_conditional"> | |
| 318 <param name="preprocessing_method" value="Baseline_reduction" /> | |
| 319 <param name="blocks_baseline" value="50" /> | |
| 320 </conditional> | |
| 321 </repeat--> | |
| 322 <repeat name="methods"> | 683 <repeat name="methods"> |
| 323 <conditional name="methods_conditional"> | 684 <conditional name="methods_conditional"> |
| 324 <param name="preprocessing_method" value="Peak_picking" /> | 685 <param name="preprocessing_method" value="Peak_picking" /> |
| 325 <param name="blocks_picking" value="3" /> | 686 <param name="blocks_picking" value="3" /> |
| 326 <param name="window_picking" value="5" /> | 687 <param name="window_picking" value="5" /> |
| 331 <conditional name="methods_conditional"> | 692 <conditional name="methods_conditional"> |
| 332 <param name="preprocessing_method" value="Peak_alignment" /> | 693 <param name="preprocessing_method" value="Peak_alignment" /> |
| 333 <param name="methods_for_alignment" value="diff" /> | 694 <param name="methods_for_alignment" value="diff" /> |
| 334 </conditional> | 695 </conditional> |
| 335 </repeat> | 696 </repeat> |
| 697 <param name="outputs_select" value="quality_control"/> | |
| 698 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile2.tabular"/> | |
| 699 <param name="calibrants_column" value="1"/> | |
| 700 <param name="plusminus_dalton" value="0.25"/> | |
| 336 <output name="msidata_preprocessed" file="preprocessing_results3.RData" compare="sim_size" /> | 701 <output name="msidata_preprocessed" file="preprocessing_results3.RData" compare="sim_size" /> |
| 337 <output name="matrixasoutput" file="preprocessing_results3.txt" /> | 702 <output name="QC_plots" file="preprocessing_results3.pdf" compare="sim_size"/> |
| 338 </test> | 703 </test> |
| 339 | 704 <test> |
| 705 <param name="infile" value="" ftype="analyze75"> | |
| 706 <composite_data value="Analyze75.hdr"/> | |
| 707 <composite_data value="Analyze75.img"/> | |
| 708 <composite_data value="Analyze75.t2m"/> | |
| 709 </param> | |
| 710 <repeat name="methods"> | |
| 711 <conditional name="methods_conditional"> | |
| 712 <param name="preprocessing_method" value="Normalization" /> | |
| 713 </conditional> | |
| 714 </repeat> | |
| 715 <repeat name="methods"> | |
| 716 <conditional name="methods_conditional"> | |
| 717 <param name="preprocessing_method" value="Data_reduction" /> | |
| 718 <param name="bin_width" value="0.1" /> | |
| 719 </conditional> | |
| 720 </repeat> | |
| 721 <param name="outputs_select" value="no_quality_control"/> | |
| 722 <param name="output_matrix" value="True"/> | |
| 723 <output name="msidata_preprocessed" file="preprocessing_results4.RData" compare="sim_size" /> | |
| 724 <output name="matrixasoutput" file="preprocessing_results4.txt" /> | |
| 725 </test> | |
| 726 <test> | |
| 727 <param name="infile" value="" ftype="imzml"> | |
| 728 <composite_data value="Example_Continuous.imzML"/> | |
| 729 <composite_data value="Example_Continuous.ibd"/> | |
| 730 </param> | |
| 731 <repeat name="methods"> | |
| 732 <conditional name="methods_conditional"> | |
| 733 <param name="preprocessing_method" value="Data_reduction" /> | |
| 734 <param name="step_width" value="0.1" /> | |
| 735 </conditional> | |
| 736 </repeat> | |
| 737 <param name="outputs_select" value="quality_control"/> | |
| 738 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile1.tabular"/> | |
| 739 <param name="calibrants_column" value="1"/> | |
| 740 <param name="plusminus_dalton" value="0.25"/> | |
| 741 <param name="output_matrix" value="True"/> | |
| 742 <output name="msidata_preprocessed" file="preprocessing_results5.RData" compare="sim_size" /> | |
| 743 <output name="matrixasoutput" file="preprocessing_results5.txt" /> | |
| 744 <output name="QC_plots" file="preprocessing_results5.pdf" compare="sim_size"/> | |
| 745 </test> | |
| 340 </tests> | 746 </tests> |
| 341 <help> | 747 <help> |
| 342 <![CDATA[ | 748 <![CDATA[ |
| 343 Cardinal is an R package that implements statistical & computational tools for analyzing mass spectrometry imaging datasets. | 749 Cardinal is an R package that implements statistical & computational tools for analyzing mass spectrometry imaging datasets. |
| 344 | 750 |
| 346 | 752 |
| 347 - Smoothening: Smoothing of the mass peaks reduces noise and improves peak detection | 753 - Smoothening: Smoothing of the mass peaks reduces noise and improves peak detection |
| 348 - Normalization: Normalization of intensities to total ion current (TIC) | 754 - Normalization: Normalization of intensities to total ion current (TIC) |
| 349 - Baseline reduction: Baseline reduction removes backgroundintensity generated by chemical noise (common in MALDI datasets) | 755 - Baseline reduction: Baseline reduction removes backgroundintensity generated by chemical noise (common in MALDI datasets) |
| 350 - Peak picking: relevant peaks are picked while noise-peaks are removed | 756 - Peak picking: relevant peaks are picked while noise-peaks are removed |
| 351 - Peak alignment: mz inaccuracies are removed by alignment of same peaks to a common mz value | 757 - Peak alignment: after peak picking, mz inaccuracies are removed by alignment of same peaks to a common mz value |
| 352 - Peak filtering: removes peaks that occur infrequently, such as those which only occur in a small proportion of pixels | 758 - Peak filtering: after peak picking and alignment, removes peaks that occur infrequently, such as those which only occur in a small proportion of pixels. If not sure which cutoff to chose run qualitycontrol first and decide according to the zero value plot. |
| 759 - Data reduction: binning, resampling or peak filtering to reduce data | |
| 353 ]]> | 760 ]]> |
| 354 </help> | 761 </help> |
| 355 <citations> | 762 <citations> |
| 356 <citation type="doi">10.1093/bioinformatics/btv146</citation> | 763 <citation type="doi">10.1093/bioinformatics/btv146</citation> |
| 357 </citations> | 764 </citations> |
