Mercurial > repos > galaxyp > msi_ion_images
changeset 0:385e8a4accd9 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/msi_ion_images commit 6d271de132f364b1e16b0222ad2d6e315586f0dd
author | galaxyp |
---|---|
date | Mon, 27 Nov 2017 13:49:35 -0500 |
parents | |
children | 845fee459824 |
files | msi_ion_images.xml test-data/Analyze75.hdr test-data/Analyze75.img test-data/Analyze75.t2m test-data/Example_Continuous.ibd test-data/Example_Continuous.imzML test-data/Heatmaps_LM8_file16.pdf test-data/Heatmaps_analyze75.pdf test-data/Heatmaps_imzml.pdf test-data/Heatmaps_rdata.pdf test-data/LM8_file16.rdata test-data/inputpeptides.csv test-data/inputpeptides.txt test-data/preprocessing_results1.RData |
diffstat | 14 files changed, 642 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/msi_ion_images.xml Mon Nov 27 13:49:35 2017 -0500 @@ -0,0 +1,263 @@ +<tool id="mass_spectrometry_imaging_ion_images" name="MSI ion images" version="1.7.0"> + <description> + mass spectrometry imaging heatmaps + </description> + <requirements> + <requirement type="package" version="1.7.0">bioconductor-cardinal</requirement> + <requirement type="package" version="2.2.1">r-gridextra</requirement> + <requirement type="package" version="2.23-15">r-kernsmooth</requirement> + <requirement type="package" version="0.20-35">r-lattice</requirement> + </requirements> + <command detect_errors="aggressive"> +<![CDATA[ + #if $infile.ext == 'imzml' + cp '${infile.extra_files_path}/imzml' infile.imzML && + cp '${infile.extra_files_path}/ibd' infile.ibd && + #elif $infile.ext == 'analyze75' + cp '${infile.extra_files_path}/hdr' infile.hdr && + cp '${infile.extra_files_path}/img' infile.img && + cp '${infile.extra_files_path}/t2m' infile.t2m && + #else + ln -s $infile infile.RData && + #end if + cat '${MSI_heatmaps}' && + Rscript '${MSI_heatmaps}' +]]> + </command> + <configfiles> + <configfile name="MSI_heatmaps"><![CDATA[ +################################# load libraries and read file ######################### + +library(Cardinal) +library(gridExtra) +library(KernSmooth) +library(lattice) + +## Read MALDI Imaging dataset + +#if $infile.ext == 'imzml' + msidata <- readMSIData('infile.imzML') +#elif $infile.ext == 'analyze75' + msidata <- readMSIData('infile.hdr') +#else + load('infile.RData') +#end if + +#if $massfile: + ### Read tabular file with peptide masses for plots and heatmap images: + input_list = read.delim("$massfile", header = FALSE, na.strings=c("","NA", "#NUM!", "#ZAHL!"), stringsAsFactors = FALSE) + if (ncol(input_list) == 1) + { + input_list = cbind(input_list, input_list) + } +#else + input_list = data.frame(0, 0) +#end if +colnames(input_list)[1:2] = c("mz", "name") + +###################################### file properties in numbers ###################### + +## Number of features (mz) +maxfeatures = length(features(msidata)) +## Range mz +minmz = round(min(mz(msidata)), digits=2) +maxmz = round(max(mz(msidata)), digits=2) +## Number of spectra (pixels) +pixelcount = length(pixels(msidata)) +## Range x coordinates +minimumx = min(coord(msidata)[,1]) +maximumx = max(coord(msidata)[,1]) +## Range y coordinates +minimumy = min(coord(msidata)[,2]) +maximumy = max(coord(msidata)[,2]) +## Range of intensities +minint = round(min(spectra(msidata)[]), digits=2) +maxint = round(max(spectra(msidata)[]), digits=2) +medint = round(median(spectra(msidata)[]), digits=2) +## Number of intensities > 0 +npeaks= sum(spectra(msidata)[]>0) +## Spectra multiplied with mz (potential number of peaks) +numpeaks = ncol(spectra(msidata)[])*nrow(spectra(msidata)[]) +## Percentage of intensities > 0 +percpeaks = round(npeaks/numpeaks*100, digits=2) +## Number of empty TICs +TICs = colSums(spectra(msidata)[]) +NumemptyTIC = sum(TICs == 0) + +## Processing informations +processinginfo = processingData(msidata) +centroidedinfo = processinginfo@centroided # TRUE or FALSE + +## if TRUE write processinginfo if no write FALSE + +## normalization +if (length(processinginfo@normalization) == 0) { + normalizationinfo='FALSE' +} else { + normalizationinfo=processinginfo@normalization +} +## smoothing +if (length(processinginfo@smoothing) == 0) { + smoothinginfo='FALSE' +} else { + smoothinginfo=processinginfo@smoothing +} +## baseline +if (length(processinginfo@baselineReduction) == 0) { + baselinereductioninfo='FALSE' +} else { + baselinereductioninfo=processinginfo@baselineReduction +} +## peak picking +if (length(processinginfo@peakPicking) == 0) { + peakpickinginfo='FALSE' +} else { + peakpickinginfo=processinginfo@peakPicking +} + +### calculate how many input masses are valid: +inputmasses = input_list[input_list[,1]>minmz & input_list[,1]<maxmz,] + +inputmz = inputmasses[,1] +inputnames = inputmasses[,2] + +properties = c("Number of mz features", + "Range of mz values [Da]", + "Number of pixels", + "Range of x coordinates", + "Range of y coordinates", + "Range of intensities", + "Median of intensities", + "Intensities > 0", + "Number of zero TICs", + "Preprocessing", + "Normalization", + "Smoothing", + "Baseline reduction", + "Peak picking", + "Centroided", + paste0("# valid masses in ", "$filename")) + +values = c(paste0(maxfeatures), + paste0(minmz, " - ", maxmz), + paste0(pixelcount), + paste0(minimumx, " - ", maximumx), + paste0(minimumy, " - ", maximumy), + paste0(minint, " - ", maxint), + paste0(medint), + paste0(percpeaks, " %"), + paste0(NumemptyTIC), + paste0(" "), + paste0(normalizationinfo), + paste0(smoothinginfo), + paste0(baselinereductioninfo), + paste0(peakpickinginfo), + paste0(centroidedinfo), + paste0(length(inputmz), "/", length(input_list[,1]))) + +property_df = data.frame(properties, values) + +######################################## PDF ############################################# +########################################################################################## +########################################################################################## + + +pdf("heatmaps.pdf", fonts = "Times", pointsize = 12) +plot(0,type='n',axes=FALSE,ann=FALSE) +#if not $filename: + #set $filename = $infile.display_name +#end if +title(main=paste("Quality control of MSI data\n\n", "Filename:", "$filename")) + +############################# I) numbers #################################### +############################################################################# + +grid.table(property_df, rows= NULL) + +if (npeaks > 0) +{ + if (length(inputmz) != 0) + { + for (mass in 1:length(inputmz)) + { + print(image(msidata, mz=inputmz[mass], strip = strip.custom(bg="lightgrey", par.strip.text=list(col="black", cex=.9)), + lattice=TRUE, ylim = c(maximumy+1,minimumy-1), plusminus = $plusminusinDalton, contrast.enhance = "histogram", + main= paste0(mass, ") ", inputnames[mass], " (", round(inputmz[mass], digits = 2)," ± ", $plusminusinDalton, " Da)"))) + } + } else {print("The input masses were outside the mass range")} + + dev.off() + +}else{ + print("inputfile has no intensities > 0") +dev.off() +} + ]]></configfile> + </configfiles> + <inputs> + <param name="infile" type="data" format="imzml,rdata,analyze75" label="Inputfile as imzML, Analyze7.5 or Cardinal MSImageSet saved as RData" + help="Upload composite datatype imzml (ibd+imzML) or analyze75 (hdr+img+t2m) or regular upload .RData (Cardinal MSImageSet)"/> + <param name="filename" type="text" value="" label="Title" help="will appear in the quality report. If nothing given it will take the dataset name."/> + <param name="massfile" type="data" optional="true" format="tabular" label="Text file with masses and names" + help="first column mass (m/z), second column mass name, tab separated file"/> + <param name="plusminusinDalton" value="0.25" type="float" label="Mass range" help="plusminus mass window in Dalton"/> + </inputs> + <outputs> + <data format="pdf" name="plots" from_work_dir="heatmaps.pdf" label = "${tool.name} on $infile.display_name"/> + </outputs> + <tests> + <test> + <param name="infile" value="" ftype="imzml"> + <composite_data value="Example_Continuous.imzML"/> + <composite_data value="Example_Continuous.ibd"/> + </param> + <param name="massfile" value="inputpeptides.csv" ftype="tabular"/> + <param name="plusminusinDalton" value="0.25"/> + <param name="filename" value="Testfile_imzml"/> + <output name="plots" file="Heatmaps_imzml.pdf" compare="sim_size" delta="20000"/> + </test> + + <test> + <param name="infile" value="" ftype="analyze75"> + <composite_data value="Analyze75.hdr"/> + <composite_data value="Analyze75.img"/> + <composite_data value="Analyze75.t2m"/> + </param> + <param name="massfile" value="inputpeptides.txt" ftype="tabular"/> + <param name="plusminusinDalton" value="0.5"/> + <param name="filename" value="Testfile_analyze75"/> + <output name="plots" file="Heatmaps_analyze75.pdf" compare="sim_size" delta="20000"/> + </test> + <test> + <param name="infile" value="preprocessing_results1.RData" ftype="rdata"/> + <param name="massfile" value="inputpeptides.csv" ftype="tabular"/> + <param name="plusminusinDalton" value="0.1"/> + <param name="filename" value="Testfile_rdata"/> + <output name="plots" file="Heatmaps_rdata.pdf" compare="sim_size" delta="20000"/> + </test> + <test> + <param name="infile" value="LM8_file16.rdata" ftype="rdata"/> + <param name="massfile" value="inputpeptides.txt" ftype="tabular"/> + <param name="plusminusinDalton" value="0.1"/> + <param name="filename" value="Testfile_rdata"/> + <output name="plots" file="Heatmaps_LM8_file16.pdf" compare="sim_size" delta="20000"/> + </test> + </tests> + <help><![CDATA[ + +Heatmaps for different ion masses in mass-spectrometry imaging data. + +Input data: 3 types of input data can be used: + +- imzml file (upload imzml and ibd file via the "composite" function) `Introduction to the imzml format <http://ms-imaging.org/wp/introduction/>`_ +- Analyze7.5 (upload hdr, img and t2m file via the "composite" function) +- Cardinal "MSImageSet" data (with variable name "msidata", saved as .RData) + +The output of this tool contains heatmaps for every ion mass of interest as pdf. + + ]]> + </help> + <citations> + <citation type="doi">10.1093/bioinformatics/btv146</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Example_Continuous.imzML Mon Nov 27 13:49:35 2017 -0500 @@ -0,0 +1,373 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0_idx.xsd" version="1.1"> + <cvList count="3"> + <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="1.3.1" URI="http://psidev.info/ms/mzML/psi-ms.obo"/> + <cv id="UO" fullName="Unit Ontology" version="1.15" URI="http://obo.cvs.sourceforge.net/obo/obo/ontology/phenotype/unit.obo"/> + <cv id="IMS" fullName="Imaging MS Ontology" version="0.9.1" URI="http://www.maldi-msi.org/download/imzml/imagingMS.obo"/> + </cvList> + <fileDescription> + <fileContent> + <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/> + <cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum" value=""/> + <cvParam cvRef="IMS" accession="IMS:1000080" name="universally unique identifier" value="{554A27FA-79D2-4766-9A2C-862E6D78B1F3}"/> + <cvParam cvRef="IMS" accession="IMS:1000091" name="ibd SHA-1" value="A5BE532D25997B71BE6D20C76561DDC4D5307DDD"/> + <cvParam cvRef="IMS" accession="IMS:1000030" name="continuous" value=""/> + </fileContent> + <sourceFileList count="1"> + <sourceFile id="sf1" name="Example.raw" location="C:\Users\Thorsten Schramm\Documents\Promotion\imzML\Website\files\Beispiel-Dateien\Example images\"> + <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW file" value=""/> + <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value=""/> + <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="7623BE263B25FF99FDF017154B86FAB742D4BB0B"/> + </sourceFile> + </sourceFileList> + <contact> + <cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="Thorsten Schramm"/> + <cvParam cvRef="MS" accession="MS:1000590" name="contact organization" value="Institut für Anorganische und Analytische Chemie"/> + <cvParam cvRef="MS" accession="MS:1000587" name="contact address" value="Schubertstraße 60, Haus 16, Gießen, Germany"/> + <cvParam cvRef="MS" accession="MS:1000589" name="contact email" value="thorsten.schramm@anorg.chemie.uni-.giessen.de"/> + </contact> + </fileDescription> + <referenceableParamGroupList count="4"> + <referenceableParamGroup id="mzArray"> + <cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/> + <cvParam cvRef="MS" accession="MS:1000514" name="m/z array" value="" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/> + <cvParam cvRef="IMS" accession="IMS:1000101" name="external data" value="true"/> + <cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" value=""/> + </referenceableParamGroup> + <referenceableParamGroup id="intensityArray"> + <cvParam cvRef="MS" accession="MS:1000576" name="no compression" value=""/> + <cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/> + <cvParam cvRef="IMS" accession="IMS:1000101" name="external data" value="true"/> + <cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" value=""/> + </referenceableParamGroup> + <referenceableParamGroup id="scan1"> + <cvParam cvRef="MS" accession="MS:1000093" name="increasing m/z scan" value=""/> + <cvParam cvRef="MS" accession="MS:1000095" name="linear" value=""/> + <cvParam cvRef="MS" accession="MS:1000512" name="filter string" value="ITMS - p NSI Full ms [100,00-800,00]"/> + </referenceableParamGroup> + <referenceableParamGroup id="spectrum1"> + <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/> + <cvParam cvRef="MS" accession="MS:1000511" name="ms level" value="0"/> + <cvParam cvRef="MS" accession="MS:1000128" name="profile spectrum" value=""/> + <cvParam cvRef="MS" accession="MS:1000129" name="negative scan" value=""/> + </referenceableParamGroup> + </referenceableParamGroupList> + <sampleList count="1"> + <sample id="sample1" name="Sample1"> + <cvParam cvRef="MS" accession="MS:1000001" name="sample number" value="1"/> + </sample> + </sampleList> + <softwareList count="2"> + <software id="Xcalibur" version="2.2"> + <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/> + </software> + <software id="TMC" version="1.1 beta"> + <cvParam cvRef="MS" accession="MS:1000799" name="custom unreleased software tool" value=""/> + </software> + </softwareList> + <scanSettingsList count="1"> + <scanSettings id="scansettings1"> + <cvParam cvRef="IMS" accession="IMS:1000401" name="top down" value=""/> + <cvParam cvRef="IMS" accession="IMS:1000413" name="flyback" value=""/> + <cvParam cvRef="IMS" accession="IMS:1000480" name="horizontal line scan" value=""/> + <cvParam cvRef="IMS" accession="IMS:1000491" name="linescan left right" value=""/> + <cvParam cvRef="IMS" accession="IMS:1000042" name="max count of pixel x" value="3"/> + <cvParam cvRef="IMS" accession="IMS:1000043" name="max count of pixel y" value="3"/> + <cvParam cvRef="IMS" accession="IMS:1000044" name="max dimension x" value="300" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/> + <cvParam cvRef="IMS" accession="IMS:1000045" name="max dimension y" value="300" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/> + <cvParam cvRef="IMS" accession="IMS:1000046" name="pixel size x" value="100" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/> + <cvParam cvRef="IMS" accession="IMS:1000047" name="pixel size y" value="100" unitCvRef="UO" unitAccession="UO:0000017" unitName="micrometer"/> + <cvParam cvRef="MS" accession="MS:1000836" name="dried dropplet" value=""/> + <cvParam cvRef="MS" accession="MS:1000835" name="matrix solution concentration" value="10"/> + <cvParam cvRef="MS" accession="MS:1000834" name="matrix solution" value="DHB"/> + </scanSettings> + </scanSettingsList> + <instrumentConfigurationList count="1"> + <instrumentConfiguration id="LTQFTUltra0"> + <cvParam cvRef="MS" accession="MS:1000557" name="LTQ FT Ultra" value=""/> + <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="none"/> + <componentList count="3"> + <source order="1"> + <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/> + <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value=""/> + <cvParam cvRef="MS" accession="MS:1000843" name="wavelength" value="337"/> + <cvParam cvRef="MS" accession="MS:1000844" name="focus diameter x" value="10"/> + <cvParam cvRef="MS" accession="MS:1000845" name="focus diameter y" value="10"/> + <cvParam cvRef="MS" accession="MS:1000846" name="pulse energy" value="10"/> + <cvParam cvRef="MS" accession="MS:1000847" name="pulse duration" value="10"/> + <cvParam cvRef="MS" accession="MS:1000848" name="attenuation" value="50"/> + <cvParam cvRef="MS" accession="MS:1000850" name="gas laser" value=""/> + <cvParam cvRef="IMS" accession="IMS:1000202" name="target material" value="Conductive Glas"/> + </source> + <analyzer order="2"> + <cvParam cvRef="MS" accession="MS:1000264" name="ion trap" value=""/> + <cvParam cvRef="MS" accession="MS:1000014" name="accuracy" value="0" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/> + </analyzer> + <detector order="3"> + <cvParam cvRef="MS" accession="MS:1000253" name="electron multiplier" value=""/> + <cvParam cvRef="MS" accession="MS:1000120" name="transient recorder" value=""/> + </detector> + </componentList> + <softwareRef ref="Xcalibur"/> + </instrumentConfiguration> + </instrumentConfigurationList> + <dataProcessingList count="2"> + <dataProcessing id="XcaliburProcessing"> + <processingMethod order="1" softwareRef="Xcalibur"> + <cvParam cvRef="MS" accession="MS:1000594" name="low intensity data point removal" value=""/> + </processingMethod> + </dataProcessing> + <dataProcessing id="TMCConversion"> + <processingMethod order="2" softwareRef="TMC"> + <cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML" value=""/> + </processingMethod> + </dataProcessing> + </dataProcessingList> + <run defaultInstrumentConfigurationRef="LTQFTUltra0" defaultSourceFileRef="sf1" id="Experiment01" sampleRef="sample1" startTimeStamp="2009-08-11T15:59:44"> + <spectrumList count="9" defaultDataProcessingRef="XcaliburProcessing"> + <spectrum id="Scan=1" defaultArrayLength="0" index="0"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="33612"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=2" defaultArrayLength="0" index="1"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="67208"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=3" defaultArrayLength="0" index="2"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="1"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="100804"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=4" defaultArrayLength="0" index="3"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="134400"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=5" defaultArrayLength="0" index="4"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="167996"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=6" defaultArrayLength="0" index="5"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="2"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="201592"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=7" defaultArrayLength="0" index="6"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="1"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="235188"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=8" defaultArrayLength="0" index="7"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="2"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="268784"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + <spectrum id="Scan=9" defaultArrayLength="0" index="8"> + <referenceableParamGroupRef ref="spectrum1"/> + <scanList count="1"> + <cvParam cvRef="MS" accession="MS:1000795" name="no combination" value=""/> + <scan instrumentConfigurationRef="LTQFTUltra0"> + <referenceableParamGroupRef ref="scan1"/> + <cvParam cvRef="IMS" accession="IMS:1000050" name="position x" value="3"/> + <cvParam cvRef="IMS" accession="IMS:1000051" name="position y" value="3"/> + </scan> + </scanList> + <binaryDataArrayList count="2"> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="mzArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="16"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + <binaryDataArray encodedLength="0"> + <referenceableParamGroupRef ref="intensityArray"/> + <cvParam cvRef="IMS" accession="IMS:1000103" name="external array length" value="8399"/> + <cvParam cvRef="IMS" accession="IMS:1000102" name="external offset" value="302380"/> + <cvParam cvRef="IMS" accession="IMS:1000104" name="external encoded length" value="33596"/> + <binary/> + </binaryDataArray> + </binaryDataArrayList> + </spectrum> + </spectrumList> + </run> +</mzML> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/inputpeptides.csv Mon Nov 27 13:49:35 2017 -0500 @@ -0,0 +1,3 @@ +152 mass1 +328.9 mass2 +185.2 mass3