view qupath_roi_splitter.xml @ 3:24ccdcfbabac draft

planemo upload for repository hhttps://github.com/npinter/ROIsplitter commit 00029e8a3ee400f69a6dbe9e556ec9c27c6979cb
author galaxyp
date Thu, 25 Apr 2024 15:13:22 +0000
parents 7bee859bbd11
children 9f136ebf73ac
line wrap: on
line source

<tool id="qupath_roi_splitter" name="QuPath ROI Splitter" version="@VERSION@+galaxy@VERSION_SUFFIX@">
    <description>Split ROI coordinates of QuPath TMA annotation by cell type (classification)</description>
    <macros>
        <token name="@VERSION@">0.2.1</token>
        <token name="@VERSION_SUFFIX@">0</token>
    </macros>
    <requirements>
        <requirement type="package" version="3.0.1">geojson</requirement>
        <requirement type="package" version="1.24.2">numpy</requirement>
        <requirement type="package" version="4.7.0">opencv</requirement>
        <requirement type="package" version="2.0.0">pandas</requirement>
    </requirements>
     <command detect_errors="exit_code"><![CDATA[
        #for $input in $input_collection
            python3 '$__tool_directory__/qupath_roi_splitter.py'
                --qupath_roi '$input'
                $optional.fill
                $optional.all
                $optional.img
             &&
        #end for
        mkdir out
        && mv *.txt out/
        && mv *.png out/
    ]]></command>
    <inputs>
        <param name="input_collection" type="data_collection" format="geojson" label="Input QuPath annotation" help="Collection containing GeoJSON files"/>
        <section name="optional" title="Optional">
            <param name="fill" type="boolean" truevalue="--fill" falsevalue="" checked="false" label="Fill ROIs" help="Fill pixels in ROIs"/>
            <param name="all" type="boolean" truevalue="--all" falsevalue="" checked="false" label="Extract all" help="Extracts all ROIs"/>
            <param name="img" type="boolean" truevalue="--img" falsevalue="" checked="false" label="Generate image" help="Generates image from ROIs"/>
        </section>
    </inputs>
    <outputs>
        <collection name="output_txts" type="list" label="${tool.name} on ${on_string}: ROI data">
            <discover_datasets pattern="(?P&lt;name&gt;.*\.txt)" directory="out" visible="false" ext="txt"/>
        </collection>
        <collection name="output_imgs" type="list" label="${tool.name} on ${on_string}: Images of ROIs">
            <discover_datasets pattern="(?P&lt;name&gt;.*\.png)" directory="out" visible="false" ext="png"/>
        </collection>
    </outputs>
    <tests>
        <test>
            <param name="input_collection">
                <collection type="list">
                    <element name="annotations_TMA_E-5.geojson" value="annotations_TMA_E-5.geojson" />
                    <element name="annotations_TMA_F-5.geojson" value="annotations_TMA_F-5.geojson" />
                </collection>
            </param>
            <section name="optional">
                <param name="fill" value="true"/>
                <param name="img" value="true"/>
            </section>
            <output_collection name="output_txts" type="list" count="4">
                <element name="F-5_Stroma.txt">
                    <assert_contents>
                        <has_text text="x"/>
                        <has_text text="y"/>
                        <has_text text="15561"/>
                        <has_text text="21160"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="output_imgs" type="list" count="4">
                <element name="E-5_Tumor.png">
                    <assert_contents>
                        <has_size value="1309478"/>
                    </assert_contents>
                </element>
            </output_collection>
        </test>
    </tests>
    <help><![CDATA[
        **QuPath ROI Splitter**

        This tool extracts ROI coordinates of QuPath TMA annotation by cell type.

        Input: A collection containing GeoJSON files with QuPath annotation data. You need to run the QuPath TMA annotation script first which can be found at https://github.com/npinter/ROIsplitter.

        Output: A list of text files containing the ROI coordinates for each cell type.

        https://github.com/npinter/ROIsplitter
    ]]></help>
    <citations>
        <citation type="bibtex">
            @misc{
                toolsGalaxyP,
                author = {Pinter, N, Föll, MC },
                title = {Galaxy Proteomics Tools},
                publisher = {GitHub}, journal = {GitHub repository},
                year = {2024},
                url = {https://github.com/galaxyproteomics/tools-galaxyp}
            }
        </citation>
    </citations>
</tool>