Mercurial > repos > galaxyp > msi_preprocessing
comparison msi_preprocessing.xml @ 3:c17eb2cc0048 draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/msi_preprocessing commit 1c808d60243bb1eeda0cd26cb4b0a17ab05de2c0
| author | galaxyp |
|---|---|
| date | Mon, 28 May 2018 12:34:27 -0400 |
| parents | 55e081b9f6ac |
| children | ada9dee67b5d |
comparison
equal
deleted
inserted
replaced
| 2:55e081b9f6ac | 3:c17eb2cc0048 |
|---|---|
| 1 <tool id="mass_spectrometry_imaging_preprocessing" name="MSI preprocessing" version="1.7.0.2"> | 1 <tool id="mass_spectrometry_imaging_preprocessing" name="MSI preprocessing" version="1.10.0.0"> |
| 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.10.0">bioconductor-cardinal</requirement> |
| 7 <requirement type="package" version="2.2.1">r-gridextra</requirement> | 7 <requirement type="package" version="2.2.1">r-gridextra</requirement> |
| 8 <requirement type="package" version="0.20-35">r-lattice</requirement> | 8 <requirement type="package" version="0.20-35">r-lattice</requirement> |
| 9 </requirements> | 9 </requirements> |
| 10 <command detect_errors="exit_code"> | 10 <command detect_errors="exit_code"> |
| 11 <![CDATA[ | 11 <![CDATA[ |
| 12 | 12 |
| 13 #if $infile.ext == 'imzml' | 13 #if $infile.ext == 'imzml' |
| 14 cp '${infile.extra_files_path}/imzml' infile.imzML && | 14 ln -s '${infile.extra_files_path}/imzml' infile.imzML && |
| 15 cp '${infile.extra_files_path}/ibd' infile.ibd && | 15 ln -s '${infile.extra_files_path}/ibd' infile.ibd && |
| 16 #elif $infile.ext == 'analyze75' | 16 #elif $infile.ext == 'analyze75' |
| 17 cp '${infile.extra_files_path}/hdr' infile.hdr && | 17 ln -s '${infile.extra_files_path}/hdr' infile.hdr && |
| 18 cp '${infile.extra_files_path}/img' infile.img && | 18 ln -s '${infile.extra_files_path}/img' infile.img && |
| 19 cp '${infile.extra_files_path}/t2m' infile.t2m && | 19 ln -s '${infile.extra_files_path}/t2m' infile.t2m && |
| 20 #else | 20 #else |
| 21 ln -s '$infile' infile.RData && | 21 ln -s '$infile' infile.RData && |
| 22 #end if | 22 #end if |
| 23 cat '${cardinal_preprocessing}' && | 23 cat '${cardinal_preprocessing}' && |
| 24 Rscript '${cardinal_preprocessing}' | 24 Rscript '${cardinal_preprocessing}' |
| 30 library(Cardinal) | 30 library(Cardinal) |
| 31 library(gridExtra) | 31 library(gridExtra) |
| 32 library(lattice) | 32 library(lattice) |
| 33 | 33 |
| 34 #if $infile.ext == 'imzml' | 34 #if $infile.ext == 'imzml' |
| 35 msidata <- readMSIData('infile.imzML') | 35 msidata = readImzML('infile') |
| 36 #elif $infile.ext == 'analyze75' | 36 #elif $infile.ext == 'analyze75' |
| 37 msidata <- readMSIData('infile.hdr') | 37 msidata = readAnalyze('infile') |
| 38 #else | 38 #else |
| 39 load('infile.RData') | 39 load('infile.RData') |
| 40 #end if | 40 #end if |
| 41 | 41 |
| 42 | 42 |
| 43 ##################################### Preparations for QC report ####################################################################################### | 43 ##################################### Preparations for QC report ############### |
| 44 | 44 |
| 45 #if $outputs.outputs_select == "quality_control": | 45 #if $outputs.outputs_select == "quality_control": |
| 46 | 46 |
| 47 ### values for QC table: | 47 ### values for QC table: |
| 48 maxfeatures = length(features(msidata)) | 48 maxfeatures = length(features(msidata)) |
| 52 QC_numbers= data.frame(rawdata = c(maxfeatures, medianpeaks, medint, TICs)) | 52 QC_numbers= data.frame(rawdata = c(maxfeatures, medianpeaks, medint, TICs)) |
| 53 vectorofactions = "rawdata" | 53 vectorofactions = "rawdata" |
| 54 | 54 |
| 55 | 55 |
| 56 ### Read tabular file with calibrant masses: | 56 ### Read tabular file with calibrant masses: |
| 57 calibrant_list = read.delim("$outputs.calibrant_file", header = FALSE, na.strings=c("","NA"), stringsAsFactors = FALSE) | 57 calibrant_list = read.delim("$outputs.calibrant_file", header = FALSE, stringsAsFactors = FALSE) |
| 58 | 58 |
| 59 ### calculate how many input calibrant masses are valid: | 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] | 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]) | 61 number_calibrants_in = length(calibrant_list[,$outputs.calibrants_column]) |
| 62 number_calibrants_valid = length(inputcalibrants) | 62 number_calibrants_valid = length(inputcalibrants) |
| 83 | 83 |
| 84 assign(paste("rawdata",calibrant, sep="_"), currentimage) | 84 assign(paste("rawdata",calibrant, sep="_"), currentimage) |
| 85 } | 85 } |
| 86 | 86 |
| 87 | 87 |
| 88 current_plot_raw <- vector(length(inputcalibrants), mode='list') | 88 current_plot_raw = vector(length(inputcalibrants), mode='list') |
| 89 | 89 |
| 90 | 90 |
| 91 #end if | 91 #end if |
| 92 | 92 |
| 93 ################################################### Preprocessing steps ####################################################################################### | 93 ############################### Preprocessing steps ########################### |
| 94 #for $method in $methods: | 94 #for $method in $methods: |
| 95 | |
| 95 #if str( $method.methods_conditional.preprocessing_method ) == 'Normalization': | 96 #if str( $method.methods_conditional.preprocessing_method ) == 'Normalization': |
| 96 print('Normalization') | 97 print('Normalization') |
| 97 ##normalization | 98 ##normalization |
| 98 | 99 |
| 99 msidata <- normalize(msidata, method="tic") | 100 msidata = normalize(msidata, method="tic") |
| 100 | 101 |
| 101 #if $outputs.outputs_select == "quality_control": | 102 #if $outputs.outputs_select == "quality_control": |
| 102 ### values for QC table: | 103 ### values for QC table: |
| 103 maxfeatures = length(features(msidata)) | 104 maxfeatures = length(features(msidata)) |
| 104 medianpeaks = median(colSums(spectra(msidata)[]>0)) | 105 medianpeaks = median(colSums(spectra(msidata)[]>0)) |
| 150 print('Smoothing') | 151 print('Smoothing') |
| 151 ## Smoothing | 152 ## Smoothing |
| 152 | 153 |
| 153 #if str( $method.methods_conditional.methods_for_smoothing.smoothing_method) == 'gaussian': | 154 #if str( $method.methods_conditional.methods_for_smoothing.smoothing_method) == 'gaussian': |
| 154 print('gaussian smoothing') | 155 print('gaussian smoothing') |
| 155 msidata <- smoothSignal(msidata, method="$method.methods_conditional.methods_for_smoothing.smoothing_method", window=$method.methods_conditional.window_smoothing, sd = $method.methods_conditional.methods_for_smoothing.sd_gaussian) | 156 msidata = smoothSignal(msidata, method="$method.methods_conditional.methods_for_smoothing.smoothing_method", window=$method.methods_conditional.window_smoothing, sd = $method.methods_conditional.methods_for_smoothing.sd_gaussian) |
| 156 #elif str( $method.methods_conditional.methods_for_smoothing.smoothing_method) == 'sgolay': | 157 #elif str( $method.methods_conditional.methods_for_smoothing.smoothing_method) == 'sgolay': |
| 157 print('sgolay smoothing') | 158 print('sgolay smoothing') |
| 158 msidata <- smoothSignal(msidata, method="$method.methods_conditional.methods_for_smoothing.smoothing_method", window=$method.methods_conditional.window_smoothing, order = $method.methods_conditional.methods_for_smoothing.order_of_filters) | 159 msidata = smoothSignal(msidata, method="$method.methods_conditional.methods_for_smoothing.smoothing_method", window=$method.methods_conditional.window_smoothing, order = $method.methods_conditional.methods_for_smoothing.order_of_filters) |
| 159 #elif str($method.methods_conditional.methods_for_smoothing.smoothing_method) == 'ma': | 160 #elif str($method.methods_conditional.methods_for_smoothing.smoothing_method) == 'ma': |
| 160 print('sgolay smoothing') | 161 print('sgolay smoothing') |
| 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) | 162 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) |
| 162 #end if | 163 #end if |
| 163 | 164 |
| 164 #if $outputs.outputs_select == "quality_control": | 165 #if $outputs.outputs_select == "quality_control": |
| 165 maxfeatures = length(features(msidata)) | 166 maxfeatures = length(features(msidata)) |
| 166 medianpeaks = median(colSums(spectra(msidata)[]>0)) | 167 medianpeaks = median(colSums(spectra(msidata)[]>0)) |
| 224 | 225 |
| 225 #if str( $method.methods_conditional.align_ref_type.align_reference_datatype) == 'align_noref': | 226 #if str( $method.methods_conditional.align_ref_type.align_reference_datatype) == 'align_noref': |
| 226 align_peak_reference = msidata | 227 align_peak_reference = msidata |
| 227 | 228 |
| 228 #elif str( $method.methods_conditional.align_ref_type.align_reference_datatype) == 'align_table': | 229 #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 align_reference_table = read.delim("$method.methods_conditional.align_ref_type.align_peaks_table", header = FALSE, stringsAsFactors = FALSE) |
| 230 | 231 |
| 231 align_reference_column = align_reference_table[,$method.methods_conditional.align_ref_type.align_mass_column] | 232 align_reference_column = align_reference_table[,$method.methods_conditional.align_ref_type.align_mass_column] |
| 232 | 233 |
| 233 align_peak_reference = align_reference_column[align_reference_column>=min(mz(msidata)) & align_reference_column<=max(mz(msidata))] | 234 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 if (length(align_peak_reference) == 0) |
| 315 | 316 |
| 316 #elif str( $method.methods_conditional.methods_for_reduction.reduction_method) == 'peaks': | 317 #elif str( $method.methods_conditional.methods_for_reduction.reduction_method) == 'peaks': |
| 317 print('peaks reduction') | 318 print('peaks reduction') |
| 318 | 319 |
| 319 #if str( $method.methods_conditional.methods_for_reduction.ref_type.reference_datatype) == 'table': | 320 #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_table = read.delim("$method.methods_conditional.methods_for_reduction.ref_type.peaks_table", header = FALSE, stringsAsFactors = FALSE) |
| 321 reference_column = reference_table[,$method.methods_conditional.methods_for_reduction.ref_type.mass_column] | 322 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 peak_reference = reference_column[reference_column>min(mz(msidata)) & reference_column<max(mz(msidata))] |
| 323 | 324 |
| 324 #elif str( $method.methods_conditional.methods_for_reduction.ref_type.reference_datatype) == 'msidata_ref': | 325 #elif str( $method.methods_conditional.methods_for_reduction.ref_type.reference_datatype) == 'msidata_ref': |
| 325 loadRData <- function(fileName){ | 326 loadRData <- function(fileName){ |
| 349 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="reduced") | 350 scales = list(draw = FALSE), plusminus = $outputs.plusminus_dalton, main="reduced") |
| 350 | 351 |
| 351 assign(paste("reduced",calibrant, sep="_"), currentimage) | 352 assign(paste("reduced",calibrant, sep="_"), currentimage) |
| 352 } | 353 } |
| 353 #end if | 354 #end if |
| 355 | |
| 356 #elif str( $method.methods_conditional.preprocessing_method) == 'Transformation': | |
| 357 print('Transformation') | |
| 358 | |
| 359 #if str( $method.methods_conditional.transf_conditional.trans_type) == 'log2': | |
| 360 print('log2 transformation') | |
| 361 spectra(msidata)[spectra(msidata) ==0] = NA | |
| 362 print(paste0("Number of 0 which were converted into NA:",sum(is.na(spectra(msidata))))) | |
| 363 spectra(msidata) = log2(spectra(msidata)) | |
| 364 | |
| 365 #elif str( $method.methods_conditional.transf_conditional.trans_type) == 'sqrt': | |
| 366 print('squareroot transformation') | |
| 367 spectra(msidata) = sqrt(spectra(msidata)) | |
| 368 | |
| 369 #end if | |
| 354 #end if | 370 #end if |
| 355 #end for | 371 #end for |
| 356 | 372 |
| 357 ####################################################### Outputs: RData, tabular and QC report ###################################################### | 373 ###################### Outputs: RData, tabular and QC report ################### |
| 358 | 374 |
| 359 | 375 |
| 360 ## save as (.RData) | 376 ## save as (.RData) |
| 361 save(msidata, file="$msidata_preprocessed") | 377 save(msidata, file="$msidata_preprocessed") |
| 362 | 378 |
| 408 | 424 |
| 409 | 425 |
| 410 ]]></configfile> | 426 ]]></configfile> |
| 411 </configfiles> | 427 </configfiles> |
| 412 <inputs> | 428 <inputs> |
| 413 <param name="infile" type="data" format="imzml,rdata,analyze75" | 429 <param name="infile" type="data" format="imzml,rdata,danalyze75" |
| 414 label="MSI rawdata as imzml, analyze7.5 or Cardinal MSImageSet saved as RData" | 430 label="MSI rawdata as imzml, analyze7.5 or Cardinal MSImageSet saved as RData" |
| 415 help="load imzml and ibd file by uploading composite datatype imzml"/> | 431 help="load imzml and ibd file by uploading composite datatype imzml"/> |
| 416 <repeat name="methods" title="Preprocessing" min="1" max="50"> | 432 <repeat name="methods" title="Preprocessing" min="1" max="50"> |
| 417 <conditional name="methods_conditional"> | 433 <conditional name="methods_conditional"> |
| 418 <param name="preprocessing_method" type="select" label="Select the preprocessing methods you want to apply"> | 434 <param name="preprocessing_method" type="select" label="Select the preprocessing methods you want to apply"> |
| 421 <option value="Smoothing">Peak smoothing</option> | 437 <option value="Smoothing">Peak smoothing</option> |
| 422 <option value="Peak_picking">Peak picking</option> | 438 <option value="Peak_picking">Peak picking</option> |
| 423 <option value="Peak_alignment">Peak alignment</option> | 439 <option value="Peak_alignment">Peak alignment</option> |
| 424 <option value="Peak_filtering">Peak filtering</option> | 440 <option value="Peak_filtering">Peak filtering</option> |
| 425 <option value="Data_reduction">Data reduction</option> | 441 <option value="Data_reduction">Data reduction</option> |
| 442 <option value="Transformation">Transformation</option> | |
| 426 </param> | 443 </param> |
| 427 | |
| 428 <when value="Normalization"/> | 444 <when value="Normalization"/> |
| 429 <when value="Baseline_reduction"> | 445 <when value="Baseline_reduction"> |
| 430 <param name="blocks_baseline" type="integer" value="50" | 446 <param name="blocks_baseline" type="integer" value="50" |
| 431 label="Blocks"/> | 447 label="Blocks"/> |
| 432 </when> | 448 </when> |
| 528 <option value="resample">resample</option> | 544 <option value="resample">resample</option> |
| 529 <option value="peaks">peaks</option> | 545 <option value="peaks">peaks</option> |
| 530 </param> | 546 </param> |
| 531 <when value="bin"> | 547 <when value="bin"> |
| 532 <param name="bin_width" type="float" value="1" | 548 <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"/> | 549 label="The width of a bin in mz or ppm" help="Width must be greater than range of mz values divided by number of mz features"/> |
| 534 <param name="bin_units" type="select" display="radio" | 550 <param name="bin_units" type="select" display="radio" |
| 535 label="Unit for bin"> | 551 label="Unit for bin"> |
| 536 <option value="mz" selected="True">mz</option> | 552 <option value="mz" selected="True">mz</option> |
| 537 <option value="ppm">ppm</option> | 553 <option value="ppm">ppm</option> |
| 538 </param> | 554 </param> |
| 542 <option value="sum">sum</option> | 558 <option value="sum">sum</option> |
| 543 </param> | 559 </param> |
| 544 </when> | 560 </when> |
| 545 <when value="resample"> | 561 <when value="resample"> |
| 546 <param name="resample_step" type="float" value="1" | 562 <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"/> | 563 label="The step size in mz" help="Step size must be greater than range of mz values divided by number of mz features"/> |
| 548 </when> | 564 </when> |
| 549 <when value="peaks"> | 565 <when value="peaks"> |
| 550 <param name="peaks_type" type="select" display="radio" | 566 <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?"> | 567 label="Should the peak height or area under the curve be taken as the intensity value?"> |
| 552 <option value="height" selected="True">height</option> | 568 <option value="height" selected="True">height</option> |
| 565 <when value="msidata_ref"> | 581 <when value="msidata_ref"> |
| 566 <param name="peaks_msidata" type="data" format="rdata," label="Picked and aligned Cardinal MSImageSet saved as RData"/> | 582 <param name="peaks_msidata" type="data" format="rdata," label="Picked and aligned Cardinal MSImageSet saved as RData"/> |
| 567 </when> | 583 </when> |
| 568 </conditional> | 584 </conditional> |
| 569 </when> | 585 </when> |
| 586 </conditional> | |
| 587 </when> | |
| 588 <when value="Transformation"> | |
| 589 <conditional name="transf_conditional"> | |
| 590 <param name="trans_type" type="select" label="Choose which intensity transformation you want to apply" help="logarithm base 2 (log2) or squareroot (sqrt)"> | |
| 591 <option value="log2" selected="True">log2</option> | |
| 592 <option value="sqrt">sqrt</option> | |
| 593 </param> | |
| 594 <when value="log2"/> | |
| 595 <when value="sqrt"/> | |
| 570 </conditional> | 596 </conditional> |
| 571 </when> | 597 </when> |
| 572 </conditional> | 598 </conditional> |
| 573 </repeat> | 599 </repeat> |
| 574 <conditional name="outputs"> | 600 <conditional name="outputs"> |
| 595 <data format="tabular" name="matrixasoutput" label="Intensity matrix ${on_string}"> | 621 <data format="tabular" name="matrixasoutput" label="Intensity matrix ${on_string}"> |
| 596 <filter>output_matrix</filter> | 622 <filter>output_matrix</filter> |
| 597 </data> | 623 </data> |
| 598 </outputs> | 624 </outputs> |
| 599 <tests> | 625 <tests> |
| 600 <test> | 626 <test expect_num_outputs="2"> |
| 601 <param name="infile" value="" ftype="imzml"> | 627 <param name="infile" value="" ftype="imzml"> |
| 602 <composite_data value="Example_Continuous.imzML"/> | 628 <composite_data value="Example_Continuous.imzML"/> |
| 603 <composite_data value="Example_Continuous.ibd"/> | 629 <composite_data value="Example_Continuous.ibd"/> |
| 604 </param> | 630 </param> |
| 605 <repeat name="methods"> | 631 <repeat name="methods"> |
| 606 <conditional name="methods_conditional"> | 632 <conditional name="methods_conditional"> |
| 607 <param name="preprocessing_method" value="Normalization" /> | 633 <param name="preprocessing_method" value="Normalization"/> |
| 608 </conditional> | 634 </conditional> |
| 609 </repeat> | 635 </repeat> |
| 610 <repeat name="methods"> | 636 <repeat name="methods"> |
| 611 <conditional name="methods_conditional"> | 637 <conditional name="methods_conditional"> |
| 612 <param name="preprocessing_method" value="Smoothing" /> | 638 <param name="preprocessing_method" value="Smoothing"/> |
| 613 <conditional name="methods_for_smoothing"> | 639 <conditional name="methods_for_smoothing"> |
| 614 <param name="smoothing_method" value="gaussian" /> | 640 <param name="smoothing_method" value="gaussian"/> |
| 615 </conditional> | 641 </conditional> |
| 616 </conditional> | 642 </conditional> |
| 617 </repeat> | 643 </repeat> |
| 618 <repeat name="methods"> | 644 <repeat name="methods"> |
| 619 <conditional name="methods_conditional"> | 645 <conditional name="methods_conditional"> |
| 620 <param name="preprocessing_method" value="Peak_picking" /> | 646 <param name="preprocessing_method" value="Peak_picking"/> |
| 621 <conditional name="methods_for_picking"> | 647 <conditional name="methods_for_picking"> |
| 622 <param name="picking_method" value="adaptive" /> | 648 <param name="picking_method" value="adaptive"/> |
| 623 </conditional> | 649 </conditional> |
| 624 <param name="blocks_picking" value="3" /> | 650 <param name="blocks_picking" value="3"/> |
| 625 <param name="window_picking" value="3" /> | 651 <param name="window_picking" value="3"/> |
| 626 </conditional> | 652 </conditional> |
| 627 </repeat> | 653 </repeat> |
| 628 <repeat name="methods"> | 654 <repeat name="methods"> |
| 629 <conditional name="methods_conditional"> | 655 <conditional name="methods_conditional"> |
| 630 <param name="preprocessing_method" value="Peak_alignment" /> | 656 <param name="preprocessing_method" value="Peak_alignment"/> |
| 631 <conditional name="methods_for_alignment"> | 657 <conditional name="methods_for_alignment"> |
| 632 <param name="alignment_method" value="diff" /> | 658 <param name="alignment_method" value="diff"/> |
| 633 </conditional> | 659 </conditional> |
| 634 </conditional> | 660 </conditional> |
| 635 </repeat> | 661 </repeat> |
| 636 <repeat name="methods"> | 662 <repeat name="methods"> |
| 637 <conditional name="methods_conditional"> | 663 <conditional name="methods_conditional"> |
| 638 <param name="preprocessing_method" value="Peak_filtering" /> | 664 <param name="preprocessing_method" value="Peak_filtering"/> |
| 639 <param name="frequ_filtering" value="2"/> | 665 <param name="frequ_filtering" value="2"/> |
| 666 </conditional> | |
| 667 </repeat> | |
| 668 <repeat name="methods"> | |
| 669 <conditional name="methods_conditional"> | |
| 670 <param name="preprocessing_method" value="Transformation"/> | |
| 671 <conditional name="transf_conditional"> | |
| 672 <param name="trans_type" value="sqrt"/> | |
| 673 </conditional> | |
| 640 </conditional> | 674 </conditional> |
| 641 </repeat> | 675 </repeat> |
| 642 <param name="outputs_select" value="no_quality_control"/> | 676 <param name="outputs_select" value="no_quality_control"/> |
| 643 <param name="output_matrix" value="True"/> | 677 <param name="output_matrix" value="True"/> |
| 644 <output name="msidata_preprocessed" file="preprocessing_results1.RData" compare="sim_size" /> | 678 <output name="msidata_preprocessed" file="preprocessing_results1.RData" compare="sim_size"/> |
| 645 <output name="matrixasoutput" file="preprocessing_results1.txt" /> | 679 <output name="matrixasoutput" file="preprocessing_results1.txt"/> |
| 646 </test> | 680 </test> |
| 647 <test> | 681 <test expect_num_outputs="3"> |
| 648 <param name="infile" value="example_continous.RData" ftype="rdata"/> | 682 <param name="infile" value="example_continous.RData" ftype="rdata"/> |
| 649 <repeat name="methods"> | 683 <repeat name="methods"> |
| 650 <conditional name="methods_conditional"> | 684 <conditional name="methods_conditional"> |
| 651 <param name="preprocessing_method" value="Peak_picking" /> | 685 <param name="preprocessing_method" value="Peak_picking"/> |
| 652 <param name="blocks_picking" value="3" /> | 686 <param name="blocks_picking" value="3"/> |
| 653 <param name="window_picking" value="5" /> | 687 <param name="window_picking" value="5"/> |
| 654 <param name="methods_for_picking" value="simple" /> | 688 <conditional name="methods_for_picking"> |
| 655 </conditional> | 689 <param name="picking_method" value="simple"/> |
| 656 </repeat> | 690 </conditional> |
| 657 <repeat name="methods"> | 691 </conditional> |
| 658 <conditional name="methods_conditional"> | 692 </repeat> |
| 659 <param name="preprocessing_method" value="Peak_alignment" /> | 693 <repeat name="methods"> |
| 660 <param name="methods_for_alignment" value="DP" /> | 694 <conditional name="methods_conditional"> |
| 695 <param name="preprocessing_method" value="Peak_alignment"/> | |
| 696 <conditional name="methods_for_alignment"> | |
| 697 <param name="alignment_method" value="DP"/> | |
| 698 </conditional> | |
| 661 </conditional> | 699 </conditional> |
| 662 </repeat> | 700 </repeat> |
| 663 <param name="outputs_select" value="quality_control"/> | 701 <param name="outputs_select" value="quality_control"/> |
| 664 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile2.tabular"/> | 702 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile2.tabular"/> |
| 665 <param name="calibrants_column" value="1"/> | 703 <param name="calibrants_column" value="1"/> |
| 666 <param name="plusminus_dalton" value="0.25"/> | 704 <param name="plusminus_dalton" value="0.25"/> |
| 667 <param name="output_matrix" value="True"/> | 705 <param name="output_matrix" value="True"/> |
| 668 <output name="msidata_preprocessed" file="preprocessing_results2.RData" compare="sim_size" /> | 706 <output name="msidata_preprocessed" file="preprocessing_results2.RData" compare="sim_size"/> |
| 669 <output name="matrixasoutput" file="preprocessing_results2.txt" lines_diff="2" /> | 707 <output name="matrixasoutput" file="preprocessing_results2.txt" lines_diff="2"/> |
| 670 <output name="QC_plots" file="preprocessing_results2.pdf" compare="sim_size"/> | 708 <output name="QC_plots" file="preprocessing_results2.pdf" compare="sim_size"/> |
| 671 </test> | 709 </test> |
| 672 <test> | 710 <test expect_num_outputs="2"> |
| 673 <param name="infile" value="" ftype="analyze75"> | 711 <param name="infile" value="" ftype="analyze75"> |
| 674 <composite_data value="Analyze75.hdr"/> | 712 <composite_data value="Analyze75.hdr"/> |
| 675 <composite_data value="Analyze75.img"/> | 713 <composite_data value="Analyze75.img"/> |
| 676 <composite_data value="Analyze75.t2m"/> | 714 <composite_data value="Analyze75.t2m"/> |
| 677 </param> | 715 </param> |
| 678 <repeat name="methods"> | 716 <repeat name="methods"> |
| 679 <conditional name="methods_conditional"> | 717 <conditional name="methods_conditional"> |
| 680 <param name="preprocessing_method" value="Normalization" /> | 718 <param name="preprocessing_method" value="Normalization"/> |
| 681 </conditional> | 719 </conditional> |
| 682 </repeat> | 720 </repeat> |
| 683 <repeat name="methods"> | 721 <repeat name="methods"> |
| 684 <conditional name="methods_conditional"> | 722 <conditional name="methods_conditional"> |
| 685 <param name="preprocessing_method" value="Peak_picking" /> | 723 <param name="preprocessing_method" value="Peak_picking"/> |
| 686 <param name="blocks_picking" value="3" /> | 724 <param name="blocks_picking" value="100"/> |
| 687 <param name="window_picking" value="5" /> | 725 <param name="window_picking" value="5"/> |
| 688 <param name="methods_for_picking" value="limpic" /> | 726 <conditional name="methods_for_picking"> |
| 689 </conditional> | 727 <param name="picking_method" value="limpic"/> |
| 690 </repeat> | 728 </conditional> |
| 691 <repeat name="methods"> | 729 </conditional> |
| 692 <conditional name="methods_conditional"> | 730 </repeat> |
| 693 <param name="preprocessing_method" value="Peak_alignment" /> | 731 <repeat name="methods"> |
| 694 <param name="methods_for_alignment" value="diff" /> | 732 <conditional name="methods_conditional"> |
| 733 <param name="preprocessing_method" value="Peak_alignment"/> | |
| 734 <conditional name="methods_for_alignment"> | |
| 735 <param name="alignment_method" value="diff"/> | |
| 736 </conditional> | |
| 695 </conditional> | 737 </conditional> |
| 696 </repeat> | 738 </repeat> |
| 697 <param name="outputs_select" value="quality_control"/> | 739 <param name="outputs_select" value="quality_control"/> |
| 698 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile2.tabular"/> | 740 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile2.tabular"/> |
| 699 <param name="calibrants_column" value="1"/> | 741 <param name="calibrants_column" value="1"/> |
| 700 <param name="plusminus_dalton" value="0.25"/> | 742 <param name="plusminus_dalton" value="0.25"/> |
| 701 <output name="msidata_preprocessed" file="preprocessing_results3.RData" compare="sim_size" /> | 743 <output name="msidata_preprocessed" file="preprocessing_results3.RData" compare="sim_size"/> |
| 702 <output name="QC_plots" file="preprocessing_results3.pdf" compare="sim_size"/> | 744 <output name="QC_plots" file="preprocessing_results3.pdf" compare="sim_size"/> |
| 703 </test> | 745 </test> |
| 704 <test> | 746 <test expect_num_outputs="2"> |
| 705 <param name="infile" value="" ftype="analyze75"> | 747 <param name="infile" value="" ftype="analyze75"> |
| 706 <composite_data value="Analyze75.hdr"/> | 748 <composite_data value="Analyze75.hdr"/> |
| 707 <composite_data value="Analyze75.img"/> | 749 <composite_data value="Analyze75.img"/> |
| 708 <composite_data value="Analyze75.t2m"/> | 750 <composite_data value="Analyze75.t2m"/> |
| 709 </param> | 751 </param> |
| 710 <repeat name="methods"> | 752 <repeat name="methods"> |
| 711 <conditional name="methods_conditional"> | 753 <conditional name="methods_conditional"> |
| 712 <param name="preprocessing_method" value="Normalization" /> | 754 <param name="preprocessing_method" value="Normalization"/> |
| 713 </conditional> | 755 </conditional> |
| 714 </repeat> | 756 </repeat> |
| 715 <repeat name="methods"> | 757 <repeat name="methods"> |
| 716 <conditional name="methods_conditional"> | 758 <conditional name="methods_conditional"> |
| 717 <param name="preprocessing_method" value="Data_reduction" /> | 759 <param name="preprocessing_method" value="Data_reduction"/> |
| 718 <param name="bin_width" value="0.1" /> | 760 <param name="bin_width" value="0.1"/> |
| 719 </conditional> | 761 </conditional> |
| 720 </repeat> | 762 </repeat> |
| 721 <param name="outputs_select" value="no_quality_control"/> | 763 <param name="outputs_select" value="no_quality_control"/> |
| 722 <param name="output_matrix" value="True"/> | 764 <param name="output_matrix" value="True"/> |
| 723 <output name="msidata_preprocessed" file="preprocessing_results4.RData" compare="sim_size" /> | 765 <output name="msidata_preprocessed" file="preprocessing_results4.RData" compare="sim_size"/> |
| 724 <output name="matrixasoutput" file="preprocessing_results4.txt" /> | 766 <output name="matrixasoutput" file="preprocessing_results4.txt"/> |
| 725 </test> | 767 </test> |
| 726 <test> | 768 <test expect_num_outputs="3"> |
| 727 <param name="infile" value="" ftype="imzml"> | 769 <param name="infile" value="" ftype="imzml"> |
| 728 <composite_data value="Example_Continuous.imzML"/> | 770 <composite_data value="Example_Continuous.imzML"/> |
| 729 <composite_data value="Example_Continuous.ibd"/> | 771 <composite_data value="Example_Continuous.ibd"/> |
| 730 </param> | 772 </param> |
| 731 <repeat name="methods"> | 773 <repeat name="methods"> |
| 732 <conditional name="methods_conditional"> | 774 <conditional name="methods_conditional"> |
| 733 <param name="preprocessing_method" value="Data_reduction" /> | 775 <param name="preprocessing_method" value="Data_reduction"/> |
| 734 <param name="step_width" value="0.1" /> | 776 <conditional name="methods_for_reduction"> |
| 777 <param name="reduction_method" value="resample"/> | |
| 778 <param name="step_width" value="0.1"/> | |
| 779 </conditional> | |
| 780 </conditional> | |
| 781 </repeat> | |
| 782 <repeat name="methods"> | |
| 783 <conditional name="methods_conditional"> | |
| 784 <param name="preprocessing_method" value="Transformation"/> | |
| 785 <conditional name="transf_conditional"> | |
| 786 <param name="trans_type" value="log2"/> | |
| 787 </conditional> | |
| 735 </conditional> | 788 </conditional> |
| 736 </repeat> | 789 </repeat> |
| 737 <param name="outputs_select" value="quality_control"/> | 790 <param name="outputs_select" value="quality_control"/> |
| 738 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile1.tabular"/> | 791 <param name="calibrant_file" ftype="tabular" value="inputcalibrantfile1.tabular"/> |
| 739 <param name="calibrants_column" value="1"/> | 792 <param name="calibrants_column" value="1"/> |
| 740 <param name="plusminus_dalton" value="0.25"/> | 793 <param name="plusminus_dalton" value="0.25"/> |
| 741 <param name="output_matrix" value="True"/> | 794 <param name="output_matrix" value="True"/> |
| 742 <output name="msidata_preprocessed" file="preprocessing_results5.RData" compare="sim_size" /> | 795 <output name="msidata_preprocessed" file="preprocessing_results5.RData" compare="sim_size"/> |
| 743 <output name="matrixasoutput" file="preprocessing_results5.txt" /> | 796 <output name="matrixasoutput" file="preprocessing_results5.txt"/> |
| 744 <output name="QC_plots" file="preprocessing_results5.pdf" compare="sim_size"/> | 797 <output name="QC_plots" file="preprocessing_results5.pdf" compare="sim_size"/> |
| 745 </test> | 798 </test> |
| 746 </tests> | 799 </tests> |
| 747 <help> | 800 <help> |
| 748 <![CDATA[ | 801 <![CDATA[ |
| 749 Cardinal is an R package that implements statistical & computational tools for analyzing mass spectrometry imaging datasets. | 802 |
| 750 | 803 Cardinal is an R package that implements statistical & computational tools for analyzing mass spectrometry imaging datasets. `More information on Cardinal <http://cardinalmsi.org//>`_ |
| 751 **Preprocessing steps:** | 804 |
| 752 | 805 This tool provides provides multiple Cardinal functions to preprocess mass-spectrometry imaging data. |
| 753 - Smoothening: Smoothing of the mass peaks reduces noise and improves peak detection | 806 |
| 807 Input data: 3 types of input data can be used: | |
| 808 | |
| 809 - imzml file (upload imzml and ibd file via the "composite" function) `Introduction to the imzml format <https://ms-imaging.org/wp/imzml/>`_ | |
| 810 - Analyze7.5 (upload hdr, img and t2m file via the "composite" function) | |
| 811 - Cardinal "MSImageSet" data (with variable name "msidata", saved as .RData) | |
| 812 | |
| 813 Options: | |
| 814 | |
| 754 - Normalization: Normalization of intensities to total ion current (TIC) | 815 - Normalization: Normalization of intensities to total ion current (TIC) |
| 755 - Baseline reduction: Baseline reduction removes backgroundintensity generated by chemical noise (common in MALDI datasets) | 816 - Baseline reduction: Baseline reduction removes backgroundintensity generated by chemical noise (common in MALDI datasets) |
| 756 - Peak picking: relevant peaks are picked while noise-peaks are removed | 817 - Smoothening: Smoothing of the mass peaks reduces noise and improves peak detection |
| 757 - Peak alignment: after peak picking, mz inaccuracies are removed by alignment of same peaks to a common mz value | 818 - Peak picking: relevant peaks are picked while noise-peaks are removed (needs peak alignment afterwards) |
| 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. | 819 - Peak alignment: only possible after peak picking, mz inaccuracies are removed by alignment of same peaks to a common mz value |
| 820 - Peak filtering: works only on centroided data (after peak picking and alignment or data reduction with peak filtering), removes peaks that occur only 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 | 821 - Data reduction: binning, resampling or peak filtering to reduce data |
| 822 - Transformation: log2 or squareroot transformation of all intensities | |
| 823 | |
| 824 Output: | |
| 825 | |
| 826 - imzML file, preprocessed | |
| 827 - optional: pdf with heatmap of masses of interest after each preprocessing step | |
| 828 - optional: intensity matrix as tabular file (intensities for masses in rows and pixel in columns) | |
| 829 | |
| 830 Tip: | |
| 831 | |
| 832 - Peak alignment works only after peak picking | |
| 833 - Peak filtering works only on centroided data (peak picking and alignment or Data reduction peaks) | |
| 834 | |
| 760 ]]> | 835 ]]> |
| 761 </help> | 836 </help> |
| 762 <citations> | 837 <citations> |
| 763 <citation type="doi">10.1093/bioinformatics/btv146</citation> | 838 <citation type="doi">10.1093/bioinformatics/btv146</citation> |
| 764 </citations> | 839 </citations> |
