view logex.xml @ 1:fb6b6d5e6bd5 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastk commit 2df03448c35339ea02f112abb0d0f07b5c41d93e
author iuc
date Mon, 10 Feb 2025 19:30:21 +0000
parents 73ddd200456a
children ec82f2b95e89
line wrap: on
line source

<tool id="fastk_logex" name="FastK Logex" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.2" license="MIT">
    <description>Performs binary operations on the generated Ktab files from FASTK suite</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="xrefs"/>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
        mkdir -p logex_ktabs
        && mkdir -p input_files
        && cp '$input_ktab1' input_files/input1.ktab
        && ln -s '$input_ktab1_tar' input1.tar
        && tar -xf input1.tar 
        && mv ktabfiles ktabfiles_in1
        && mv "\$(find ktabfiles_in1 -type f -name '*.ktab.1')" "ktabfiles_in1/.input1.ktab.1"
        && cp '$input_ktab2' input_files/input2.ktab
        && ln -s '$input_ktab2_tar' input2.tar
        && tar -xf input2.tar
        && mv ktabfiles ktabfiles_in2
        && mv "\$(find ktabfiles_in2 -type f -name '*.ktab.1')" "ktabfiles_in2/.input2.ktab.1"
        && mv ktabfiles_in1/.input1.ktab.1 input_files/
        && mv ktabfiles_in2/.input2.ktab.1 input_files/ &&
        #if $operation_selector == 'and':
            Logex -T\${GALAXY_SLOTS:-8} -h 'out = A&.B' input_files/input1.ktab input_files/input2.ktab
        #elif $operation_selector == 'or':
            Logex -T\${GALAXY_SLOTS:-8} -h 'out = A|.B' input_files/input1.ktab input_files/input2.ktab
        #elif $operation_selector == 'minus':
            Logex -T\${GALAXY_SLOTS:-8} -h 'out = A-B' input_files/input1.ktab input_files/input2.ktab
        #elif $operation_selector == 'xor':
            Logex -T\${GALAXY_SLOTS:-8} -h 'out = A^B' input_files/input1.ktab input_files/input2.ktab
        #elif $operation_selector == 'unionsum':
            Logex -T\${GALAXY_SLOTS:-8} -h 'out = A&+B' input_files/input1.ktab input_files/input2.ktab
        #end if
        && cp *.ktab logex_ktabs/
        && cp .*.ktab* logex_ktabs/
        && tar -cf logex_ktab.tar input_files/ logex_ktabs/
    ]]></command>
    <inputs>
        <param name="input_ktab1" type="data" format="fastk_ktab" label="Input FastK ktab file (first)"/>
        <param name="input_ktab1_tar" type="data" format="fastk_ktab" label="Associated FastK TAR file consisting of intermediate .ktab files"/>
        <param name="input_ktab2" type="data" format="fastk_ktab" label="Input FastK ktab file (second)"/>
        <param name="input_ktab2_tar" type="data" format="fastk_ktab" label="Associated FastK TAR file consisting of intermediate .ktab files"/>
        <param name="operation_selector" type="select" label="Select Operation to Perform" help="Select the operation to be performed on the input ktab files.">
            <option value="and">AND</option>
            <option value="or">OR</option>
            <option value="minus">Minus</option>
            <option value="unionsum">Unionsum</option>
            <option value="xor">XOR</option>
        </param>
    </inputs>
    <outputs>
        <data name="fastk_hist_out" format="fastk_hist" from_work_dir="out.hist" label="${tool.name} on ${on_string}: Logex .hist file"/>
        <data name="fastk_ktab_out" format="fastk_ktab" from_work_dir="out.ktab" label="${tool.name} on ${on_string}: Logex .ktab file"/>
        <data name="fastk_ktab_files" format="tar" from_work_dir="logex_ktab.tar" label="${tool.name} on ${on_string}: FastK Logex ktab files"/>
    </outputs>
    <tests>
        <test expect_num_outputs="3">
            <param name="input_ktab1" value="fastq1.ktab"/>
            <param name="input_ktab1_tar" value="fastk_in1.tar"/>
            <param name="input_ktab2" value="fastq2.ktab"/>
            <param name="input_ktab2_tar" value="fastk_in2.tar"/>
            <param name="operation_selector" value="AND"/>
            <output name="fastk_hist_out" ftype="fastk_hist">
                <assert_contents>
                    <has_size value="262164"/>
                </assert_contents>
            </output>
            <output name="fastk_ktab_out" ftype="fastk_ktab">
                <assert_contents>
                    <has_size value="2064"/>
                </assert_contents>
            </output>
            <output name="fastk_ktab_files" ftype="tar">
                <assert_contents>
                    <has_archive_member path="logex_ktabs/out.ktab"/>
                    <has_archive_member path="logex_ktabs/.out.ktab.1"/>
                    <has_archive_member path="input_files/input1.ktab"/>
                    <has_archive_member path="input_files/.input1.ktab.1"/>
                    <has_archive_member path="input_files/input2.ktab"/>
                    <has_archive_member path="input_files/.input2.ktab.1"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[

     Logex tool can perform operations such as AND, OR, XOR, Minus and Unionsum on the input given input Ktab files.
     
     The tool requires two input Ktab files and their associated files (Generated in the tarball of FASTK tool with .1 extension) as inputs to perform various binary operations.

    ]]></help>
    <expand macro="citations"/>
</tool>