Mercurial > repos > galaxyp > cardinal_segmentations
changeset 1:98d48f081ad9 draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/cardinal commit d2f311f7fff24e54c565127c40414de708e31b3c
line wrap: on
line diff
--- a/macros.xml Mon Oct 01 01:05:00 2018 -0400 +++ b/macros.xml Thu Oct 25 07:25:52 2018 -0400 @@ -4,10 +4,17 @@ <xml name="requirements"> <requirements> <requirement type="package" version="@VERSION@">bioconductor-cardinal</requirement> + <requirement type="package" version="3.5.1">r-base</requirement> <yield/> </requirements> </xml> + <xml name="print_version"> + <version_command><![CDATA[ +echo $(R --version | grep version | grep -v GNU)", Cardinal version" $(R --vanilla --slave -e "library(Cardinal); cat(sessionInfo()\$otherPkgs\$Cardinal\$Version)" 2> /dev/null | grep -v -i "WARNING: ") + ]]></version_command> + </xml> + <token name="@INPUT_LINKING@"><![CDATA[ #if $infile.ext == 'imzml' ln -s '${infile.extra_files_path}/imzml' infile.imzML && @@ -33,14 +40,14 @@ #if $infile.ext == 'imzml' #if str($processed_cond.processed_file) == "processed": - msidata <- readImzML('infile', mass.accuracy=$processed_cond.accuracy, units.accuracy = "$processed_cond.units") + msidata <- readImzML('infile', mass.accuracy=$processed_cond.accuracy, units.accuracy = "$processed_cond.units", attach.only=TRUE) centroided(msidata) = $centroids #else - msidata <- readImzML('infile') + msidata <- readImzML('infile', attach.only=TRUE) centroided(msidata) = $centroids #end if #elif $infile.ext == 'analyze75' - msidata = readAnalyze('infile') + msidata = readAnalyze('infile', attach.only=TRUE) centroided(msidata) = $centroids #else msidata = loadRData('infile.RData') @@ -177,7 +184,8 @@ <param name="filename" type="text" value="" label="Title" help="Will appear in the pdf output, if nothing given it will take the dataset name"> <sanitizer invalid_char=""> <valid initial="string.ascii_letters,string.digits"> - <add value="_" /> + <add value="_"/> + <add value=" "/> </valid> </sanitizer> </param> @@ -198,12 +206,12 @@ <param name="feature_header" type="boolean" label="Tabular file contains a header line" truevalue="TRUE" falsevalue="FALSE"/> </xml> - <xml name="reading_2_column_mz_tabular"> - <param name="calibrant_file" type="data" optional="true" format="tabular" + <xml name="reading_2_column_mz_tabular" token_optional="false"> + <param name="calibrant_file" type="data" optional="@OPTIONAL@" format="tabular" label="m/z of interest (e.g. internal Calibrants)" help="one column with m/z values, optional second column with names (m/z values can also be selected as name)"/> - <param name="mz_column" data_ref="calibrant_file" label="Column with m/z values" type="data_column"/> - <param name="name_column" data_ref="calibrant_file" label="Column with name of m/z values" type="data_column"/> - <param name="calibrant_header" type="boolean" label="Tabular file contains a header line" truevalue="TRUE" falsevalue="FALSE"/> + <param name="mz_column" data_ref="calibrant_file" optional="@OPTIONAL@" label="Column with m/z values" type="data_column"/> + <param name="name_column" data_ref="calibrant_file" optional="@OPTIONAL@" label="Column with name of m/z values" type="data_column"/> + <param name="calibrant_header" type="boolean" optional="@OPTIONAL@" label="Tabular file contains a header line" truevalue="TRUE" falsevalue="FALSE"/> </xml> <xml name="reading_pixel_annotations">
--- a/segmentation.xml Mon Oct 01 01:05:00 2018 -0400 +++ b/segmentation.xml Thu Oct 25 07:25:52 2018 -0400 @@ -1,11 +1,11 @@ -<tool id="cardinal_segmentations" name="MSI segmentation" version="@VERSION@.0"> +<tool id="cardinal_segmentations" name="MSI segmentation" version="@VERSION@.1"> <description>mass spectrometry imaging spatial clustering</description> <macros> <import>macros.xml</import> </macros> <expand macro="requirements"> - <requirement type="package" version="2.2.1">r-gridextra</requirement> - <requirement type="package" version="0.20-35">r-lattice</requirement> + <requirement type="package" version="2.3">r-gridextra</requirement> + <requirement type="package" version="0.20_35">r-lattice</requirement> </expand> <command detect_errors="exit_code"> <![CDATA[ @@ -78,7 +78,7 @@ #if str( $segm_cond.segmentationtool ) == 'pca': print('pca') ##pca - + component_vector = character() for (numberofcomponents in 1:$segm_cond.pca_ncomp) {component_vector[numberofcomponents]= paste0("PC", numberofcomponents)} @@ -101,10 +101,13 @@ pcascores = (pca_result@resultData\$ncomp\$scores) ### scores for each pixel ## pixel names and coordinates - pixel_names = gsub(", y = ", "_", rownames(pcascores)) - pixel_names = gsub(" = ", "y_", pixel_names) - x_coordinates = matrix(unlist(strsplit(pixel_names, "_")), ncol=3, byrow=TRUE)[,2] - y_coordinates = matrix(unlist(strsplit(pixel_names, "_")), ncol=3, byrow=TRUE)[,3] + ## to remove potential sample names and z dimension, split at comma and take only x and y + x_coords = unlist(lapply(strsplit(rownames(pcascores), ","), `[[`, 1)) + y_coords = unlist(lapply(strsplit(rownames(pcascores), ","), `[[`, 2)) + x_coordinates = gsub("x = ","",x_coords) + y_coordinates = gsub(" y = ","",y_coords) + + pixel_names = paste0("xy_", x_coordinates, "_", y_coordinates) pcascores2 = data.frame(pixel_names, x_coordinates, y_coordinates, pcascores) colnames(pcascores2) = c("pixel names", "x", "y", colnames(pcascores)) write.table(pcaloadings2, file="$mzfeatures", quote = FALSE, row.names = FALSE, col.names=TRUE, sep = "\t") @@ -132,10 +135,12 @@ skm_clusters = cbind(skm_clusters, skm_cluster) } ## pixel names and coordinates - pixel_names = gsub(", y = ", "_", rownames(skm_clusters)) - pixel_names = gsub(" = ", "y_", pixel_names) - x_coordinates = matrix(unlist(strsplit(pixel_names, "_")), ncol=3, byrow=TRUE)[,2] - y_coordinates = matrix(unlist(strsplit(pixel_names, "_")), ncol=3, byrow=TRUE)[,3] + ## to remove potential sample names and z dimension, split at comma and take only x and y + x_coords = unlist(lapply(strsplit(rownames(skm_clusters), ","), `[[`, 1)) + y_coords = unlist(lapply(strsplit(rownames(skm_clusters), ","), `[[`, 2)) + x_coordinates = gsub("x = ","",x_coords) + y_coordinates = gsub(" y = ","",y_coords) + pixel_names = paste0("xy_", x_coordinates, "_", y_coordinates) skm_clusters2 = data.frame(pixel_names, x_coordinates, y_coordinates, skm_clusters) colnames(skm_clusters2) = c("pixel names", "x", "y",names(skm@resultData)) @@ -168,10 +173,12 @@ ssc_classes = cbind(ssc_classes, ssc_class) } ## pixel names and coordinates - pixel_names = gsub(", y = ", "_", rownames(ssc_classes)) - pixel_names = gsub(" = ", "y_", pixel_names) - x_coordinates = matrix(unlist(strsplit(pixel_names, "_")), ncol=3, byrow=TRUE)[,2] - y_coordinates = matrix(unlist(strsplit(pixel_names, "_")), ncol=3, byrow=TRUE)[,3] + ## to remove potential sample names and z dimension, split at comma and take only x and y + x_coords = unlist(lapply(strsplit(rownames(ssc_classes), ","), `[[`, 1)) + y_coords = unlist(lapply(strsplit(rownames(ssc_classes), ","), `[[`, 2)) + x_coordinates = gsub("x = ","",x_coords) + y_coordinates = gsub(" y = ","",y_coords) + pixel_names = paste0("xy_", x_coordinates, "_", y_coordinates) ssc_classes2 = data.frame(pixel_names, x_coordinates, y_coordinates, ssc_classes) colnames(ssc_classes2) = c("pixel names", "x", "y", names(ssc@resultData))
--- a/test-data/analyze75.svg Mon Oct 01 01:05:00 2018 -0400 +++ b/test-data/analyze75.svg Thu Oct 25 07:25:52 2018 -0400 @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="216pt" height="216pt" viewBox="0 0 216 216" version="1.1"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1"> <g id="surface1"> -<rect x="0" y="0" width="216" height="216" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,100%,80%);fill-opacity:1;" d="M 0 0 L 72 0 L 72 72 L 0 72 Z M 0 0 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,100%,32.156863%);fill-opacity:1;" d="M 0 72 L 72 72 L 72 144 L 0 144 Z M 0 72 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,3.921569%,0%);fill-opacity:1;" d="M 0 144 L 72 144 L 72 216 L 0 216 Z M 0 144 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 72 0 L 144 0 L 144 72 L 72 72 Z M 72 0 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0.392157%,33.333333%);fill-opacity:1;" d="M 72 72 L 144 72 L 144 144 L 72 144 Z M 72 72 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,1.568627%,93.72549%);fill-opacity:1;" d="M 72 144 L 144 144 L 144 216 L 72 216 Z M 72 144 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0.784314%,54.509804%);fill-opacity:1;" d="M 144 0 L 216 0 L 216 72 L 144 72 Z M 144 0 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,1.568627%,81.568627%);fill-opacity:1;" d="M 144 72 L 216 72 L 216 144 L 144 144 Z M 144 72 "/> -<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,1.960784%,100%);fill-opacity:1;" d="M 144 144 L 216 144 L 216 216 L 144 216 Z M 144 144 "/> +<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,100%,80%);fill-opacity:1;" d="M 0 504 L 168 504 L 168 336 L 0 336 Z M 0 504 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,100%,32.156863%);fill-opacity:1;" d="M 0 336 L 168 336 L 168 168 L 0 168 Z M 0 336 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,3.921569%,0%);fill-opacity:1;" d="M 0 168 L 168 168 L 168 0 L 0 0 Z M 0 168 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 168 504 L 336 504 L 336 336 L 168 336 Z M 168 504 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0.392157%,33.333333%);fill-opacity:1;" d="M 168 336 L 336 336 L 336 168 L 168 168 Z M 168 336 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,1.568627%,93.72549%);fill-opacity:1;" d="M 168 168 L 336 168 L 336 0 L 168 0 Z M 168 168 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0.784314%,54.509804%);fill-opacity:1;" d="M 336 504 L 504 504 L 504 336 L 336 336 Z M 336 504 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,1.568627%,81.568627%);fill-opacity:1;" d="M 336 336 L 504 336 L 504 168 L 336 168 Z M 336 336 "/> +<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,1.960784%,100%);fill-opacity:1;" d="M 336 168 L 504 168 L 504 0 L 336 0 Z M 336 168 "/> </g> </svg>