Mercurial > repos > perssond > s3segmenter
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> |
