Mercurial > repos > galaxyp > cardinal_quality_report
comparison quality_report.xml @ 1:ae9ffc7ba261 draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/cardinal commit d2f311f7fff24e54c565127c40414de708e31b3c
author | galaxyp |
---|---|
date | Thu, 25 Oct 2018 07:28:42 -0400 |
parents | 5f18275c250a |
children | d4803c1e5e19 |
comparison
equal
deleted
inserted
replaced
0:5f18275c250a | 1:ae9ffc7ba261 |
---|---|
1 <tool id="cardinal_quality_report" name="MSI Qualitycontrol" version="@VERSION@.0"> | 1 <tool id="cardinal_quality_report" name="MSI Qualitycontrol" version="@VERSION@.1"> |
2 <description> | 2 <description> |
3 mass spectrometry imaging QC | 3 mass spectrometry imaging QC |
4 </description> | 4 </description> |
5 <macros> | 5 <macros> |
6 <import>macros.xml</import> | 6 <import>macros.xml</import> |
7 </macros> | 7 </macros> |
8 <expand macro="requirements"> | 8 <expand macro="requirements"> |
9 <requirement type="package" version="2.2.1">r-ggplot2</requirement> | |
10 <requirement type="package" version="1.1_2">r-rcolorbrewer</requirement> | 9 <requirement type="package" version="1.1_2">r-rcolorbrewer</requirement> |
11 <requirement type="package" version="2.2.1">r-gridextra</requirement> | 10 <requirement type="package" version="2.3">r-gridextra</requirement> |
11 <requirement type="package" version="3.0">r-ggplot2</requirement> | |
12 <requirement type="package" version="2.23_15">r-kernsmooth</requirement> | 12 <requirement type="package" version="2.23_15">r-kernsmooth</requirement> |
13 <requirement type="package" version="0.5.0">r-scales</requirement> | 13 <requirement type="package" version="1.0.0">r-scales</requirement> |
14 <requirement type="package" version="1.0.8"> r-pheatmap</requirement> | 14 <requirement type="package" version="1.0.10"> r-pheatmap</requirement> |
15 </expand> | 15 </expand> |
16 <command detect_errors="exit_code"> | 16 <command detect_errors="exit_code"> |
17 <![CDATA[ | 17 <![CDATA[ |
18 @INPUT_LINKING@ | 18 @INPUT_LINKING@ |
19 cat '${cardinal_qualitycontrol_script}' && | 19 cat '${cardinal_qualitycontrol_script}' && |
30 library(RColorBrewer) | 30 library(RColorBrewer) |
31 library(gridExtra) | 31 library(gridExtra) |
32 library(KernSmooth) | 32 library(KernSmooth) |
33 library(scales) | 33 library(scales) |
34 library(pheatmap) | 34 library(pheatmap) |
35 | |
35 | 36 |
36 @READING_MSIDATA@ | 37 @READING_MSIDATA@ |
37 | 38 |
38 ## remove duplicated coordinates | 39 ## remove duplicated coordinates |
39 print(paste0(sum(duplicated(coord(msidata))), " duplicated coordinates were removed")) | 40 print(paste0(sum(duplicated(coord(msidata))), " duplicated coordinates were removed")) |
360 | 361 |
361 ## here every intensity value > 0 counts as peak | 362 ## here every intensity value > 0 counts as peak |
362 peaksperpixel = colSums(spectra(msidata)[]> 0, na.rm=TRUE) | 363 peaksperpixel = colSums(spectra(msidata)[]> 0, na.rm=TRUE) |
363 peakscoordarray=cbind(coord(msidata)[,1:2], peaksperpixel) | 364 peakscoordarray=cbind(coord(msidata)[,1:2], peaksperpixel) |
364 | 365 |
365 print(ggplot(peakscoordarray, aes(x=x, y=y, fill=peaksperpixel), colour=colo)+ | 366 print(ggplot(peakscoordarray, aes(x=x, y=y, fill=peaksperpixel))+ |
366 geom_tile() + coord_fixed() + | 367 geom_tile() + coord_fixed() + |
367 ggtitle("Number of peaks per spectrum")+ | 368 ggtitle("Number of peaks per spectrum")+ |
368 theme_bw() + | 369 theme_bw() + |
369 theme(plot.title = element_text(hjust = 0.5))+ | 370 theme(plot.title = element_text(hjust = 0.5))+ |
370 theme(text=element_text(family="ArialMT", face="bold", size=12))+ | 371 theme(text=element_text(family="ArialMT", face="bold", size=12))+ |
373 | 374 |
374 | 375 |
375 ############################### 6) TIC image ############################### | 376 ############################### 6) TIC image ############################### |
376 | 377 |
377 TICcoordarray=cbind(coord(msidata)[,1:2], TICs) | 378 TICcoordarray=cbind(coord(msidata)[,1:2], TICs) |
378 colo = colorRampPalette( | 379 |
379 c("blue", "cyan", "green", "yellow","red")) | 380 print(ggplot(TICcoordarray, aes(x=x, y=y, fill=TICs))+ |
380 print(ggplot(TICcoordarray, aes(x=x, y=y, fill=TICs), colour=colo)+ | |
381 geom_tile() + coord_fixed() + | 381 geom_tile() + coord_fixed() + |
382 ggtitle("Total Ion Chromatogram")+ | 382 ggtitle("Total Ion Chromatogram")+ |
383 theme_bw() + | 383 theme_bw() + |
384 theme(plot.title = element_text(hjust = 0.5))+ | 384 theme(plot.title = element_text(hjust = 0.5))+ |
385 theme(text=element_text(family="ArialMT", face="bold", size=12))+ | 385 theme(text=element_text(family="ArialMT", face="bold", size=12))+ |
386 scale_fill_gradientn(colours = c("blue", "purple" , "red","orange") | 386 scale_fill_gradientn(colours = c("blue", "purple" , "red","orange") |
387 ,space = "Lab", na.value = "black", name = "TIC")) | 387 ,space = "Lab", na.value = "black", name = "TIC")) |
388 | |
389 ############################### 6b) median int image ############################### | |
390 | |
391 median_int = apply(spectra(msidata)[],2,median) | |
392 median_coordarray=cbind(coord(msidata)[,1:2], median_int) | |
393 print(ggplot(median_coordarray, aes(x=x, y=y, fill=median_int))+ | |
394 geom_tile() + coord_fixed() + | |
395 ggtitle("Median intensity per pixel")+ | |
396 theme_bw() + | |
397 theme(plot.title = element_text(hjust = 0.5))+ | |
398 theme(text=element_text(family="ArialMT", face="bold", size=12))+ | |
399 scale_fill_gradientn(colours = c("blue", "purple" , "red","orange") | |
400 ,space = "Lab", na.value = "black", name = "median\nintensity")) | |
401 | |
388 | 402 |
389 | 403 |
390 ############################### 7) Most abundant m/z image ################# | 404 ############################### 7) Most abundant m/z image ################# |
391 | 405 |
392 highestmz = apply(spectra(msidata)[],2,which.max) | 406 highestmz = apply(spectra(msidata)[],2,which.max) |
405 | 419 |
406 ########################## 8) optional pca image for two components ################# | 420 ########################## 8) optional pca image for two components ################# |
407 | 421 |
408 #if $do_pca: | 422 #if $do_pca: |
409 | 423 |
424 set.seed(1) | |
410 pca = PCA(msidata, ncomp=2) | 425 pca = PCA(msidata, ncomp=2) |
411 par(mfrow = c(2,1)) | 426 par(mfrow = c(2,1)) |
412 plot(pca, col=c("black", "darkgrey"), main="PCA for two components") | 427 plot(pca, col=c("black", "darkgrey"), main="PCA for two components") |
413 image(pca, col=c("black", "white"), strip=FALSE, ylim= c(maximumy+0.2*maximumy,minimumy-0.2*minimumy)) | 428 image(pca, col=c("black", "white"), strip=FALSE, ylim= c(maximumy+0.2*maximumy,minimumy-0.2*minimumy)) |
414 | 429 |
497 hist(mz(msidata), xlab = "m/z", main="Histogram of m/z values") | 512 hist(mz(msidata), xlab = "m/z", main="Histogram of m/z values") |
498 | 513 |
499 ########################## 12) Number of peaks per m/z ##################### | 514 ########################## 12) Number of peaks per m/z ##################### |
500 | 515 |
501 peakspermz = rowSums(spectra(msidata)[] > 0, na.rm=TRUE) | 516 peakspermz = rowSums(spectra(msidata)[] > 0, na.rm=TRUE) |
502 print(median(peakspermz/pixelcount*100)) | |
503 | 517 |
504 par(mfrow = c(2,1), mar=c(5,6,4,4.5)) | 518 par(mfrow = c(2,1), mar=c(5,6,4,4.5)) |
505 ## 12a) scatterplot | 519 ## 12a) scatterplot |
506 plot_colorByDensity(mz(msidata),peakspermz, main= "Number of peaks per m/z", ylab ="") | 520 plot_colorByDensity(mz(msidata),peakspermz, main= "Number of peaks per m/z", ylab ="") |
507 title(xlab="m/z", line=2.5) | 521 title(xlab="m/z", line=2.5) |
598 colnames(corr_matrix) = levels(msidata\$annotation) | 612 colnames(corr_matrix) = levels(msidata\$annotation) |
599 corr_matrix = cor(log2(corr_matrix), method= "pearson",use="complete.obs") | 613 corr_matrix = cor(log2(corr_matrix), method= "pearson",use="complete.obs") |
600 | 614 |
601 heatmap.parameters <- list(corr_matrix, | 615 heatmap.parameters <- list(corr_matrix, |
602 show_rownames = T, show_colnames = T, | 616 show_rownames = T, show_colnames = T, |
603 main = "Pearson correlation on mean intensities for each annotation group") | 617 main = "Pearson correlation on mean intensities") |
604 do.call("pheatmap", heatmap.parameters) | 618 do.call("pheatmap", heatmap.parameters) |
605 } | 619 } |
606 | 620 |
607 ################################## VI) Mass spectra and m/z accuracy ######################## | 621 ################################## VI) Mass spectra and m/z accuracy ######################## |
608 ############################################################################ | 622 ############################################################################ |
637 plusminusvalues = rep($plusminus_ppm/1000000, length(inputcalibrantmasses)) * inputcalibrantmasses | 651 plusminusvalues = rep($plusminus_ppm/1000000, length(inputcalibrantmasses)) * inputcalibrantmasses |
638 | 652 |
639 for (mass in 1:length(inputcalibrantmasses)){ | 653 for (mass in 1:length(inputcalibrantmasses)){ |
640 | 654 |
641 ### define the plot window with xmin und xmax | 655 ### define the plot window with xmin und xmax |
642 minmasspixel = features(msidata_no_NA, mz=inputcalibrantmasses[mass]-1) | 656 minmasspixel = features(msidata_no_NA, mz=inputcalibrantmasses[mass]-0.5) |
643 maxmasspixel = features(msidata_no_NA, mz=inputcalibrantmasses[mass]+3) | 657 maxmasspixel = features(msidata_no_NA, mz=inputcalibrantmasses[mass]+1.5) |
644 | 658 |
645 ### find m/z with the highest mean intensity in m/z range (red line in plot 16) and calculate ppm difference for plot 17 | 659 ### find m/z with the highest mean intensity in m/z range (red line in plot 16) and calculate ppm difference for plot 17 |
646 filtered_data = msidata_no_NA[mz(msidata_no_NA) >= inputcalibrantmasses[mass]-plusminusvalues[mass] & mz(msidata_no_NA) <= inputcalibrantmasses[mass]+plusminusvalues[mass],] | 660 filtered_data = msidata_no_NA[mz(msidata_no_NA) >= inputcalibrantmasses[mass]-plusminusvalues[mass] & mz(msidata_no_NA) <= inputcalibrantmasses[mass]+plusminusvalues[mass],] |
647 | 661 |
648 if (nrow(filtered_data) > 0 & sum(spectra(filtered_data)) > 0){ | 662 if (nrow(filtered_data) > 0 & sum(spectra(filtered_data)) > 0){ |
660 mzvalue = mz(msidata_no_NA)[mznumber] ### gives closest m/z | 674 mzvalue = mz(msidata_no_NA)[mznumber] ### gives closest m/z |
661 mzdifference2 = mzvalue - inputcalibrantmasses[mass] | 675 mzdifference2 = mzvalue - inputcalibrantmasses[mass] |
662 ppmdifference2 = mzdifference2/inputcalibrantmasses[mass]*1000000 | 676 ppmdifference2 = mzdifference2/inputcalibrantmasses[mass]*1000000 |
663 differencevector2[mass] = round(ppmdifference2, digits=2) | 677 differencevector2[mass] = round(ppmdifference2, digits=2) |
664 | 678 |
679 ## plotting of 4 spectra in one page | |
665 par(mfrow = c(2, 2), oma=c(0,0,2,0)) | 680 par(mfrow = c(2, 2), oma=c(0,0,2,0)) |
681 ## average plot | |
666 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = 1:length(pixelnumber), main= "Average spectrum") | 682 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = 1:length(pixelnumber), main= "Average spectrum") |
667 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) | 683 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) |
668 abline(v=c(maxvalue), col="red", lty=2) | 684 abline(v=c(maxvalue), col="red", lty=2) |
669 abline(v=c(mzvalue), col="green2", lty=4) | 685 abline(v=c(mzvalue), col="green2", lty=4) |
670 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = pixel1, main=paste0("Spectrum at ", rownames(coord(msidata_no_NA)[pixel1,1:2]))) | 686 ## average plot including points per data point |
671 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) | 687 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = 1:length(pixelnumber), main="Average spectrum with data points") |
672 abline(v=c(maxvalue), col="red", lty=2) | 688 points(mz(msidata_no_NA[minmasspixel:maxmasspixel,]), rowMeans(spectra(msidata_no_NA)[minmasspixel:maxmasspixel,]), col="blue", pch=20) |
673 abline(v=c(mzvalue), col="green2", lty=4) | 689 ## plot of a random pixel (1) |
674 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = pixel2, main= paste0("Spectrum at ", rownames(coord(msidata_no_NA)[pixel2,1:2]))) | 690 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = pixel2, main= paste0("Spectrum at ", rownames(coord(msidata_no_NA)[pixel2,1:2]))) |
675 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) | 691 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) |
676 abline(v=c(maxvalue), col="red", lty=2) | 692 abline(v=c(maxvalue), col="red", lty=2) |
677 abline(v=c(mzvalue), col="green2", lty=4) | 693 abline(v=c(mzvalue), col="green2", lty=4) |
694 ## plot of a random pixel (2) | |
678 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = pixel3, main= paste0("Spectrum at ", rownames(coord(msidata_no_NA)[pixel3,1:2]))) | 695 plot(msidata_no_NA[minmasspixel:maxmasspixel,], pixel = pixel3, main= paste0("Spectrum at ", rownames(coord(msidata_no_NA)[pixel3,1:2]))) |
679 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) | 696 abline(v=c(inputcalibrantmasses[mass] -plusminusvalues[count], inputcalibrantmasses[mass] ,inputcalibrantmasses[mass] +plusminusvalues[count]), col="blue", lty=c(3,5,3)) |
680 abline(v=c(maxvalue), col="red", lty=2) | 697 abline(v=c(maxvalue), col="red", lty=2) |
681 abline(v=c(mzvalue), col="green2", lty=4) | 698 abline(v=c(mzvalue), col="green2", lty=4) |
682 title(paste0("theor. m/z: ", round(inputcalibrants[count,1], digits=4)), col.main="blue", outer=TRUE, line=0, adj=0.074) | 699 title(paste0("theor. m/z: ", round(inputcalibrants[count,1], digits=4)), col.main="blue", outer=TRUE, line=0, adj=0.074) |
771 plot(0,type='n',axes=FALSE,ann=FALSE) | 788 plot(0,type='n',axes=FALSE,ann=FALSE) |
772 title(main=paste("plot 19: no peaks in the chosen region, repeat with higher ppm range")) | 789 title(main=paste("plot 19: no peaks in the chosen region, repeat with higher ppm range")) |
773 }else{ | 790 }else{ |
774 | 791 |
775 ### plot ppm differences over pixels (spectra index) | 792 ### plot ppm differences over pixels (spectra index) |
776 par(mar=c(4.1, 4.1, 4.1, 7.5)) | 793 par(mar=c(4.1, 4.1, 4.1, 8.5)) |
777 | 794 |
778 plot(0,0,type="n", ylim=c(min(ppm_df, na.rm=TRUE),max(ppm_df, na.rm=TRUE)), xlim = c(1,ncol(filtered_data)),xlab = "Spectra index", ylab = "m/z difference in ppm", main="Difference m/z with max. average intensity vs. theor. m/z\n(per spectrum)") | 795 plot(0,0,type="n", ylim=c(min(ppm_df, na.rm=TRUE),max(ppm_df, na.rm=TRUE)), xlim = c(1,ncol(filtered_data)),xlab = "Spectra index", ylab = "m/z difference in ppm", main="Difference m/z with max. average intensity vs. theor. m/z\n(per spectrum)") |
779 for (each_cal in 1:ncol(ppm_df)){ | 796 for (each_cal in 1:ncol(ppm_df)){ |
780 lines(ppm_df[,each_cal], col=mycolours[each_cal], type="p")} | 797 lines(ppm_df[,each_cal], col=mycolours[each_cal], type="p")} |
781 legend("topright", inset=c(-0.25,0), xpd = TRUE, bty="n", legend=inputcalibrantmasses, col=mycolours[1:ncol(ppm_df)],lty=1) | 798 legend("topright", inset=c(-0.2,0), xpd = TRUE, bty="n", cex=0.8,legend=inputcalibrantmasses, col=mycolours[1:ncol(ppm_df)],lty=1) |
782 if (!is.null(levels(msidata\$annotation))){ | 799 if (!is.null(levels(msidata\$annotation))){ |
783 abline(v=abline_vector, lty = 3)}} | 800 abline(v=abline_vector, lty = 3)}} |
784 | 801 |
785 }else{print("plot 16+17+18+19) The inputcalibrant m/z were not provided or outside the m/z range")} | 802 }else{print("plot 16+17+18+19) The inputcalibrant m/z were not provided or outside the m/z range")} |
786 }else{ | 803 }else{ |
802 <expand macro="reading_pixel_annotations"/> | 819 <expand macro="reading_pixel_annotations"/> |
803 </when> | 820 </when> |
804 <when value="no_annotation"/> | 821 <when value="no_annotation"/> |
805 </conditional> | 822 </conditional> |
806 <expand macro="pdf_filename"/> | 823 <expand macro="pdf_filename"/> |
807 <expand macro="reading_2_column_mz_tabular"/> | 824 <expand macro="reading_2_column_mz_tabular" optional="true"/> |
808 <param name="plusminus_ppm" value="200" type="float" label="ppm range" help="Will be added in both directions to input calibrant m/z"/> | 825 <param name="plusminus_ppm" value="200" type="float" label="ppm range" help="Will be added in both directions to input calibrant m/z"/> |
809 <param name="do_pca" type="boolean" label="PCA with 2 components"/> | 826 <param name="do_pca" type="boolean" label="PCA with 2 components"/> |
810 <repeat name="calibrantratio" title="Plot fold change of two m/z" min="0" max="10"> | 827 <repeat name="calibrantratio" title="Plot fold change of two m/z" min="0" max="10"> |
811 <param name="mass1" value="1111" type="float" label="M/z 1" help="First m/z"/> | 828 <param name="mass1" value="1111" type="float" label="M/z 1" help="First m/z"/> |
812 <param name="mass2" value="2222" type="float" label="M/z 2" help="Second m/z"/> | 829 <param name="mass2" value="2222" type="float" label="M/z 2" help="Second m/z"/> |
853 <test> | 870 <test> |
854 <expand macro="infile_analyze75"/> | 871 <expand macro="infile_analyze75"/> |
855 <conditional name="tabular_annotation"> | 872 <conditional name="tabular_annotation"> |
856 <param name="load_annotation" value="no_annotation"/> | 873 <param name="load_annotation" value="no_annotation"/> |
857 </conditional> | 874 </conditional> |
858 <param name="calibrant_file" value="inputcalibrantfile2.txt"/> | |
859 <param name="mz_column" value="1"/> | |
860 <param name="name_column" value="2"/> | |
861 <param name="filename" value="Testfile_analyze75"/> | 875 <param name="filename" value="Testfile_analyze75"/> |
862 <param name="do_pca" value="True"/> | 876 <param name="do_pca" value="True"/> |
863 <output name="QC_report" file="QC_analyze75.pdf" compare="sim_size"/> | 877 <output name="QC_report" file="QC_analyze75.pdf" compare="sim_size"/> |
864 </test> | 878 </test> |
865 | 879 |
944 - (FC) Control of fold change plot: For both input m/z a zoomed in average spectrum is drawn with the input m/z as blue dashed line, the m/z range as blue dotted lines and the maximum intensity in the m/z window with a red line. | 958 - (FC) Control of fold change plot: For both input m/z a zoomed in average spectrum is drawn with the input m/z as blue dashed line, the m/z range as blue dotted lines and the maximum intensity in the m/z window with a red line. |
945 - (FC) Fold change image: For each spectrum the intensities of the two optimal m/z features (red lines in control plots) are divided and log2 transformed to obtain the fold change, which is then plotted as a heatmap. | 959 - (FC) Fold change image: For each spectrum the intensities of the two optimal m/z features (red lines in control plots) are divided and log2 transformed to obtain the fold change, which is then plotted as a heatmap. |
946 - (cal) Intensity heatmaps for the m/z value that is closest to the calibrant m/z. The intensities are averaged within the calibrant m/z window (ppm range). | 960 - (cal) Intensity heatmaps for the m/z value that is closest to the calibrant m/z. The intensities are averaged within the calibrant m/z window (ppm range). |
947 - Number of peaks per spectrum: For each spectrum the number of m/z values with intensity > 0 is calculated and plotted as heatmap. | 961 - Number of peaks per spectrum: For each spectrum the number of m/z values with intensity > 0 is calculated and plotted as heatmap. |
948 - Total ion chromatogram: For each spectrum all intensities are summed up to obtain the TIC which is plotted as heatmap. | 962 - Total ion chromatogram: For each spectrum all intensities are summed up to obtain the TIC which is plotted as heatmap. |
963 - Median intensity: For each spectrum the median intensity is plotted as heatmap. | |
949 - Most abundant m/z in each spectrum: For each spectrum the m/z value with the highest intensity is plotted. | 964 - Most abundant m/z in each spectrum: For each spectrum the m/z value with the highest intensity is plotted. |
950 - PCA for two components: Result of a principal component analysis (PCA) for two components is given. The loading plot depicts the contribution of each m/z value and the x-y image represents the differences between the pixels. | 965 - PCA for two components: Result of a principal component analysis (PCA) for two components is given. The loading plot depicts the contribution of each m/z value and the x-y image represents the differences between the pixels. |
951 | 966 |
952 **Properties over spectra/pixels** | 967 **Properties over spectra/pixels** |
953 | 968 |
971 - (annot) Pearson correlation between annotation groups based on mean intensities and shown as heatmap. | 986 - (annot) Pearson correlation between annotation groups based on mean intensities and shown as heatmap. |
972 | 987 |
973 **Mass spectra and m/z accuracy** | 988 **Mass spectra and m/z accuracy** |
974 | 989 |
975 - Mass spectra over the full m/z range: First plot shows the average intensities over all spectra. The other three mass spectra are from random individual pixels (spectra). | 990 - Mass spectra over the full m/z range: First plot shows the average intensities over all spectra. The other three mass spectra are from random individual pixels (spectra). |
976 - (cal) For each calibrant four zoomed in mass spectrum are drawn: The first shows the average intensities over all spectra and the other three are single mass spectra. The theoretical calibrant m/z (taken from the input file) is represented by the dashed blue line. The dotted blue lines show the given ppm range. The green line is the m/z value that is closest to the theoretical calibrant and the red line is the m/z with the highest average intensity in the m/z window. | 991 - (cal) For each calibrant four zoomed in mass spectrum are drawn: The first two mass spectra show the average intensities over all spectra and the other two specra are from random individual pixels. The theoretical calibrant m/z (taken from the input file) is represented by the dashed blue line. The dotted blue lines show the given ppm range. The green line is the m/z value that is closest to the theoretical calibrant and the red line is the m/z with the highest average intensity in the m/z window. In the second average spectra plot each blue plot indicates one data point. |
977 - (annot) Average spectrum per annotation group: For each calibrant a zoomed in mass spectrum is plotted this time with the average intensities for each annotation group separately. | 992 - (annot) Average spectrum per annotation group: For each calibrant a zoomed in mass spectrum is plotted this time with the average intensities for each annotation group separately. |
978 - (cal) Difference m/z with max. average intensity vs. theor. calibrant m/z: The difference in ppm between the m/z with the highest average intensity and the theoretical m/z are plotted for each calibrant. This corresponds to the difference between the dashed blue line and the red line in the zoomed in mass spectra. | 993 - (cal) Difference m/z with max. average intensity vs. theor. calibrant m/z: The difference in ppm between the m/z with the highest average intensity and the theoretical m/z are plotted for each calibrant. This corresponds to the difference between the dashed blue line and the red line in the zoomed in mass spectra. |
979 - (cal) Difference closest measured m/z vs. theor. calibrant m/z: The difference in ppm between the closest m/z value and the theoretical m/z values are plotted for each calibrant. This corresponds to the difference between the dashed blue line and the green line in the zoomed in mass spectra. | 994 - (cal) Difference closest measured m/z vs. theor. calibrant m/z: The difference in ppm between the closest m/z value and the theoretical m/z values are plotted for each calibrant. This corresponds to the difference between the dashed blue line and the green line in the zoomed in mass spectra. |
980 - (cal) Difference m/z with max. average intensity vs. theor. m/z (per spectrum): For each spectrum the ppm difference between the m/z with the highest average intensity and the theoretical m/z are plotted. The calibrants have different plotting colours. Dashed lines separate spectra of different annotation groups. | 995 - (cal) Difference m/z with max. average intensity vs. theor. m/z (per spectrum): For each spectrum the ppm difference between the m/z with the highest average intensity and the theoretical m/z are plotted. The calibrants have different plotting colours. Dashed lines separate spectra of different annotation groups. |
981 | 996 |