comparison s3segmenter.xml @ 2:96d0d969ebc9 draft default tip

planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/s3segmenter commit 0f4f17235c5961c2fd3d4c30180507f66214c11d
author goeckslab
date Fri, 16 Sep 2022 20:05:54 +0000
parents 41e8efe8df43
children
comparison
equal deleted inserted replaced
1:41e8efe8df43 2:96d0d969ebc9
1 <tool id="s3segmenter" name="s3segmenter" version="@VERSION@.0" profile="17.09"> 1 <tool id="s3segmenter" name="s3segmenter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>S3segmenter is a Python-based set of functions that generates single cell (nuclei and cytoplasm) label masks.</description> 2 <description>single cell (nuclei and cytoplasm) label masks.</description>
3 <macros> 3 <macros>
4 <import>macros.xml</import> 4 <import>macros.xml</import>
5 </macros> 5 </macros>
6 6
7 <expand macro="requirements"/> 7 <expand macro="requirements"/>
8 @VERSION_CMD@ 8 <expand macro="version_cmd"/>
9 9
10 <command detect_errors="exit_code"><![CDATA[ 10 <command detect_errors="exit_code"><![CDATA[
11 11
12 ln -s '${imagePath}' ./image.tif; 12 ln -s '${imagePath}' './image.tif' &&
13 13
14 #if $contoursClassProbPath 14 #if $contoursClassProbPath
15 ln -s ${contoursClassProbPath} ./ContoursPM.tif; 15 ln -s '${contoursClassProbPath}' './ContoursPM.tif' &&
16 #end if 16 #end if
17 17
18 #if $nucleiClassProbPath 18 #if $nucleiClassProbPath
19 ln -s ${nucleiClassProbPath} ./NucleiPM.tif; 19 ln -s '${nucleiClassProbPath}' './NucleiPM.tif' &&
20 #end if 20 #end if
21 21
22 #if $stackProbPath 22 #if $stackProbPath
23 ln -s ${stackProbPath} ./Probabilities.tif; 23 ln -s '${stackProbPath}' './Probabilities.tif' &&
24 #end if 24 #end if
25 25
26 26
27 @CMD_BEGIN@ 27 @CMD_BEGIN@ \$S3SEG_CMD
28 --imagePath ./image.tif 28 --imagePath './image.tif'
29 29
30 #if $contoursClassProbPath 30 #if $contoursClassProbPath
31 --contoursClassProbPath ./ContoursPM.tif 31 --contoursClassProbPath './ContoursPM.tif'
32 #end if 32 #end if
33 33
34 #if $nucleiClassProbPath 34 #if $nucleiClassProbPath
35 --nucleiClassProbPath ./NucleiPM.tif 35 --nucleiClassProbPath './NucleiPM.tif'
36 #end if 36 #end if
37 37
38 #if $stackProbPath 38 #if $stackProbPath
39 --stackProbPath ./Probabilities.tif 39 --stackProbPath './Probabilities.tif'
40 #end if 40 #end if
41 41
42 --probMapChan $probMapChan 42 --probMapChan $probMapChan
43 --crop $crop_select.crop 43 --crop $crop_select.crop
44 44
45 #if $crop_select.crop == "dearray" 45 #if $crop_select.crop == "dearray"
46 --maskPath $crop_select.maskPath 46 --maskPath '$crop_select.maskPath'
47 #end if 47 #end if
48 48
49 --cytoMethod $cytoMethod 49 --cytoMethod $cytoMethod
50 --nucleiFilter $nucleiFilter 50 --nucleiFilter $nucleiFilter
51 --nucleiRegion $nucleiRegion_select.nucleiRegion 51 --nucleiRegion $nucleiRegion_select.nucleiRegion
61 --CytoMaskChan $adv.CytoMaskChan 61 --CytoMaskChan $adv.CytoMaskChan
62 ##--TissueMaskChan $adv.TissueMaskChan 62 ##--TissueMaskChan $adv.TissueMaskChan
63 --detectPuncta $adv.detectPuncta 63 --detectPuncta $adv.detectPuncta
64 --punctaSigma $adv.punctaSigma 64 --punctaSigma $adv.punctaSigma
65 --punctaSD $adv.punctaSD 65 --punctaSD $adv.punctaSD
66 66 $saveMask
67 #if not $saveMask 67 $saveFig
68 --saveMask 68 --outputPath '.'
69 #end if
70
71 #if not $saveFig
72 --saveFig
73 #end if
74
75 --outputPath .
76 ]]></command> 69 ]]></command>
77 70
78 71
79 <inputs> 72 <inputs>
80 73
92 <option value="plate">Plate</option> 85 <option value="plate">Plate</option>
93 </param> 86 </param>
94 <when value="dearray"> 87 <when value="dearray">
95 <param name="maskPath" type="data" format="tiff" label="TMA Mask File"/> 88 <param name="maskPath" type="data" format="tiff" label="TMA Mask File"/>
96 </when> 89 </when>
90 <when value="noCrop" />
91 <when value="autoCrop" />
92 <when value="plate" />
97 </conditional> 93 </conditional>
98 94
99 <param name="cytoMethod" type="select" label="Cyto Method"> 95 <param name="cytoMethod" type="select" label="Cyto Method">
100 <option value="hybrid">Hybrid</option> 96 <option value="hybrid">Hybrid</option>
101 <option selected="true" value="distanceTransform">Distance Transform</option> 97 <option selected="true" value="distanceTransform">Distance Transform</option>
119 <option value="localMax">localMax</option> 115 <option value="localMax">localMax</option>
120 <option value="bypass">bypass</option> 116 <option value="bypass">bypass</option>
121 <option value="pixellevel">pixellevel</option> 117 <option value="pixellevel">pixellevel</option>
122 </param> 118 </param>
123 <when value="pixellevel"> 119 <when value="pixellevel">
124 <param name="pixelThreshold" type="float" value="-1.0" Label="Pixel Threshold"/> 120 <param name="pixelThreshold" type="float" value="-1.0" label="Pixel Threshold"/>
125 <param name="pixelMaskChan" type="text" value="2" Label="Pixel Mask Channel"/> 121 <param name="pixelMaskChan" type="text" value="2" label="Pixel Mask Channel"/>
126 </when> 122 </when>
123 <when value="watershedContourDist"/>
124 <when value="watershedContourInt"/>
125 <when value="watershedBWDist"/>
126 <when value="dilation"/>
127 <when value="localThreshold"/>
128 <when value="localMax"/>
129 <when value="bypass"/>
127 </conditional> 130 </conditional>
128 131
129 <param name="segmentCytoplasm" type="select" label="Segment Cytoplasm"> 132 <param name="segmentCytoplasm" type="select" label="Segment Cytoplasm">
130 <option value="segmentCytoplasm">segmentCytoplasm</option> 133 <option value="segmentCytoplasm">segmentCytoplasm</option>
131 <option selected="true" value="ignoreCytoplasm">ignoreCytoplasm</option> 134 <option selected="true" value="ignoreCytoplasm">ignoreCytoplasm</option>
132 </param> 135 </param>
133 <param name="saveMask" type="boolean" checked="true" label="Save Mask"/> 136 <param argument="saveMask" type="boolean" checked="true" truevalue="--saveMask" falsevalue="" label="Save Mask"/>
134 <param name="saveFig" type="boolean" checked="true" label="Save Figure"/> 137 <param argument="saveFig" type="boolean" checked="true" truevalue="--saveFig" falsevalue="" label="Save Figure"/>
135 138
136 <section name="adv" title="Advanced Options" expanded="false"> 139 <section name="adv" title="Advanced Options" expanded="false">
137 <param name="cytoDilation" type="integer" value="5" label="Cyto Dilation"/> 140 <param name="cytoDilation" type="integer" value="5" label="Cyto Dilation"/>
138 <param name="logSigma" type="text" value="3 60" label="logSigma"/> 141 <param name="logSigma" type="text" value="3 60" label="logSigma"/>
139 <param name="CytoMaskChan" type="text" value="2" label="Cyto Mask Channel"/> 142 <param name="CytoMaskChan" type="text" value="2" label="Cyto Mask Channel"/>
159 </data> 162 </data>
160 <data format="tiff" name="nuclei_outlines" from_work_dir="image/qc/nucleiOutlines.ome.tif" label="nucleiOutlines"> 163 <data format="tiff" name="nuclei_outlines" from_work_dir="image/qc/nucleiOutlines.ome.tif" label="nucleiOutlines">
161 <filter>saveFig is True</filter> 164 <filter>saveFig is True</filter>
162 </data> 165 </data>
163 </outputs> 166 </outputs>
167 <tests>
168 <test>
169 <param name="imagePath" value="test.ome.tiff" />
170 <param name="stackProbPath" value="stack_probabilities.tiff" />
171 <param name="punctaSD" value="4" />
172 <output name="cell_mask" ftype="tiff">
173 <assert_contents>
174 <has_size value="6600000" delta="1000000" />
175 </assert_contents>
176 </output>
177 <output name="nuclei_mask" ftype="tiff">
178 <assert_contents>
179 <has_size value="6600000" delta="1000000" />
180 </assert_contents>
181 </output>
182 </test>
183 </tests>
164 <help><![CDATA[ 184 <help><![CDATA[
185 -------------------
186 S3segmenter
187 -------------------
188 **S3segmenter** is a Python-based set of functions that generates single cell (nuclei and cytoplasm) label masks.
189
165 Inputs are: 190 Inputs are:
166 191
167 1. an .ome.tif (preferably flat field corrected) 192 1. an .ome.tif (preferably flat field corrected)
168 2. a 3-class probability maps derived from a deep learning model such as UNet. Classes include background, nuclei contours, and nuclei foreground. 193 2. a 3-class probability maps derived from a deep learning model such as UNet. Classes include background, nuclei contours, and nuclei foreground.
169 194
170 The centers of each nuclei are obtained by finding local maxima from the nuclei foreground. These are used for marker-controlled watershed constrained by the nuclei contours. 195 The centers of each nuclei are obtained by finding local maxima from the nuclei foreground. These are used for marker-controlled watershed constrained by the nuclei contours.
171 196
172 To segment cytoplasm, the nuclei are in turn used for a marker-controlled watershed segmentation constrained by a cytoplasmic marker such as B-catenin. The channel number of this marker must be specified. A 3-pixel annulus around each nucleus will also be used to segment cytoplasm. 197 To segment cytoplasm, the nuclei are in turn used for a marker-controlled watershed segmentation constrained by a cytoplasmic marker such as B-catenin. The channel number of this marker must be specified. A 3-pixel annulus around each nucleus will also be used to segment cytoplasm.
173 198
174 The source repository can be found here: https://github.com/HMS-IDAC/S3segmenter 199 The source repository can be found here: https://github.com/HMS-IDAC/S3segmenter
175 OHSU Wrapper Repo: https://github.com/ohsu-comp-bio/S3segmenter
176 ]]></help> 200 ]]></help>
177 <expand macro="citations" /> 201 <expand macro="citations" />
178 </tool> 202 </tool>