# HG changeset patch # User galaxyp # Date 1534325921 14400 # Node ID a3ec6c3564eec08d1506f6cb74a673ff96d0f440 # Parent c7c91ceeffcd8d917810434d5709f1f41291b758 planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/msi_filtering commit 620a469e20836b921b6c0147421c8a4268b66ebd diff -r c7c91ceeffcd -r a3ec6c3564ee msi_filtering.xml --- a/msi_filtering.xml Tue Jul 24 04:51:16 2018 -0400 +++ b/msi_filtering.xml Wed Aug 15 05:38:41 2018 -0400 @@ -1,4 +1,4 @@ - + tool for filtering mass spectrometry imaging data bioconductor-cardinal @@ -32,9 +32,8 @@ library(Cardinal) +library(ggplot2) library(gridExtra) -library(ggplot2) - #if $infile.ext == 'imzml' #if str($processed_cond.processed_file) == "processed": @@ -86,7 +85,7 @@ ## prepare dataframe for QC of pixel distribution (will be overwritten in filtering of pixels condition) position_df = cbind(coord(msidata)[,1:2], rep("$infile.element_identifier", times=ncol(msidata))) - + colnames(position_df)[3] = "annotation" ###################################### Filtering of pixels ##################### ################################################################################ @@ -103,6 +102,7 @@ valid_entries = input_list[startingrow:nrow(input_list),$pixels_cond.pixel_column] %in% names(pixels(msidata)) validpixels = sum(valid_entries) valid_annotations = input_list[valid_entries,c($pixels_cond.pixel_column, $pixels_cond.annotation_column)] + colnames(valid_annotations) = c("pixel_coordinates", "annotation") ## for valid pixels: filter file for pixels and create dataframe with x,y,annotation for QC if (validpixels != 0){ @@ -110,8 +110,16 @@ pixelsofinterest = pixels(msidata)[names(pixels(msidata)) %in% valid_annotations[,1]] msidata = msidata[,pixelsofinterest] ## position_df for QC - pixel_coords = coord(msidata)[names(pixels(msidata)) %in% valid_annotations[,1],1:2] - position_df = cbind(pixel_coords, valid_annotations[,2]) + + + ###pixel_coords = coord(msidata)[names(pixels(msidata)) %in% valid_annotations[,1],1:2] + pixel_coords = cbind(rownames(coord(msidata)), coord(msidata)) + colnames(pixel_coords)[1] = "pixel_coordinates" + + ###position_df = cbind(pixel_coords, valid_annotations[,2]) + position_df = merge(pixel_coords, valid_annotations) + position_df\$annotation = factor(position_df\$annotation) + }else{ msidata = msidata[,0] validpixels=0} @@ -129,8 +137,9 @@ inputpixels = input_list[startingrow:nrow(input_list),c($pixels_cond.pixel_column_x, $pixels_cond.pixel_column_y, $pixels_cond.annotation_column_xy)] colnames(inputpixels) = c("x", "y", "annotation") position_df = merge(coord(msidata)[,1:2], inputpixels, by=c("x", "y"), all.x=TRUE) - validpixels = nrow(position_df) + colnames(position_df)[3] = "annotation" + position_df\$annotation = factor(position_df\$annotation) ## for valid pixels: filter file for pixels if (validpixels != 0){ @@ -159,6 +168,11 @@ msidata = msidata[,0] print("no valid pixel found")} + ## update position_df for filtered pixels + position_df = cbind(coord(msidata)[,1:2], rep("$infile.element_identifier", times=ncol(msidata))) + colnames(position_df)[3] = "annotation" + position_df\$annotation = factor(position_df\$annotation) + #elif str($pixels_cond.pixel_filtering) == "none": print("no pixel filtering") @@ -177,7 +191,12 @@ ####################### Keep m/z from tabular file ######################### ## feature filtering only when pixels/features/intensities are left -if (sum(spectra(msidata)[], na.rm=TRUE) > 0) + npeaks_before_filtering= sum(spectra(msidata)[]>0, na.rm=TRUE) + + + +if (npeaks_before_filtering > 0) + { #if str($features_cond.features_filtering) == "features_list": @@ -369,21 +388,19 @@ grid.table(property_df, rows= NULL) ## QC report with more than value-table: only when pixels/features/intensities are left -if (sum(spectra(msidata)[], na.rm=TRUE) > 0) +if (npeaks2 > 0) { ### visual pixel control - colnames(position_df)[3] = "annotation_name" - pixel_image = ggplot(position_df, aes(x=x, y=y, fill=annotation_name))+ - geom_tile() + + pixel_image = ggplot(position_df, aes(x=x, y=y, fill=annotation))+ + geom_tile(height = 1, width=1)+ coord_fixed()+ - ggtitle("Spatial orientation of combined data")+ + ggtitle("Spatial orientation of filtered pixels")+ theme_bw()+ - theme(text=element_text(family="ArialMT", face="bold", size=15))+ + theme(plot.title = element_text(hjust = 0.5))+ + theme(text=element_text(family="ArialMT", face="bold", size=12))+ theme(legend.position="bottom",legend.direction="vertical")+ guides(fill=guide_legend(ncol=4,byrow=TRUE)) - coord_labels = aggregate(cbind(x,y)~annotation_name, data=position_df, mean, na.rm=TRUE, na.action="na.pass") - coord_labels\$file_number = gsub( "_.*$", "", coord_labels\$annotation_name) print(pixel_image) @@ -515,12 +532,13 @@ + - + @@ -533,7 +551,7 @@ - + @@ -550,7 +568,7 @@ - + @@ -563,12 +581,8 @@ - - - - - + diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/analyze75_filtered2.pdf Binary file test-data/analyze75_filtered2.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/analyze_filtered.RData Binary file test-data/analyze_filtered.RData has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/analyze_filtered.pdf Binary file test-data/analyze_filtered.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/analyze_filteredoutside.RData Binary file test-data/analyze_filteredoutside.RData has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered.RData Binary file test-data/imzml_filtered.RData has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered.pdf Binary file test-data/imzml_filtered.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered2.pdf Binary file test-data/imzml_filtered2.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered3.RData Binary file test-data/imzml_filtered3.RData has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered3.pdf Binary file test-data/imzml_filtered3.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered4.RData Binary file test-data/imzml_filtered4.RData has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered4.pdf Binary file test-data/imzml_filtered4.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered5.RData Binary file test-data/imzml_filtered5.RData has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/imzml_filtered5.pdf Binary file test-data/imzml_filtered5.pdf has changed diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/inputcalibrantfile2.txt --- a/test-data/inputcalibrantfile2.txt Tue Jul 24 04:51:16 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -869.51 mass1 -1001.62 mass2 -1023.6 mass3 diff -r c7c91ceeffcd -r a3ec6c3564ee test-data/rdata_notfiltered.pdf Binary file test-data/rdata_notfiltered.pdf has changed