view qupath_roi_splitter.xml @ 2:7bee859bbd11 draft

planemo upload for repository hhttps://github.com/npinter/ROIsplitter commit 7391296e0c7c8d48b42a129d154b50b29fd41737
author galaxyp
date Thu, 11 Apr 2024 07:52:58 +0000
parents 064b53fd3131
children 24ccdcfbabac
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.0</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
             &&
        #end for
        mkdir out
        && mv *.txt 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"/>
        </section>
    </inputs>
    <outputs>
        <collection name="output_txts" type="list" label="${tool.name} on ${on_string}: ROI data">
            <discover_datasets pattern="__name_and_ext__" directory="out" visible="false" format="txt"/>
        </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"/>
            </section>
            <output_collection name="output_txts" type="list" count="4">
                <element name="F-5_Stroma">
                    <assert_contents>
                        <has_text text="x"/>
                        <has_text text="y"/>
                        <has_text text="15561"/>
                        <has_text text="21160"/>
                    </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>