view intersect.xml @ 6:69c10b56f46d draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tool_collections/gops/intersect commit d7b1a60c0aecc46b7f625c3e32f882562b512fd9
author devteam
date Mon, 13 Jun 2022 16:23:33 +0000
parents 33b3f3688db4
children
line wrap: on
line source

<tool id="gops_intersect_1" name="Intersect" version="1.0.0">
    <description>the intervals of two datasets</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <code file="operation_filter.py"/>
    <command><![CDATA[
python '$__tool_directory__/gops_intersect.py'
'$input1'
'$input2'
'$output'

#if $input1.is_of_type('gff')
    -1 1,4,5,7 --gff1
#else:
    -1 ${input1.metadata.chromCol},${input1.metadata.startCol},${input1.metadata.endCol},${input1.metadata.strandCol}
#end if

#if $input2.is_of_type('gff')
    -2 1,4,5,7 --gff2
#else:
    -2 ${input2.metadata.chromCol},${input2.metadata.startCol},${input2.metadata.endCol},${input2.metadata.strandCol}
#end if

-m $min $returntype
    ]]></command>
    <inputs>
        <param name="returntype" type="select" label="Return" help="(see figure below)">
            <option value="">Overlapping Intervals</option>
            <option value="-p">Overlapping pieces of Intervals</option>
        </param>
        <param name="input1" type="data" format="interval,gff" label="of" help="First dataset" />
        <param name="input2" type="data" format="interval,gff" label="that intersect" help="Second dataset" />
        <param name="min" type="integer" value="1" min="1" label="for at least" help="(bp)" />
    </inputs>
    <outputs>
        <data name="output" format_source="input1" metadata_source="input1"/>
    </outputs>
    <tests>
        <test>
            <param name="input1" value="1.bed" />
            <param name="input2" value="2.bed" />
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_out.bed" />
        </test>
        <test>
            <param name="input1" value="1.bed" />
            <param name="input2" value="2_mod.bed" ftype="interval"/>
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_diffCols.bed" />
        </test>
        <test>
            <param name="input1" value="1.bed" />
            <param name="input2" value="2_mod.bed" ftype="interval"/>
            <param name="min" value="1" />
            <param name="returntype" value="Overlapping pieces of Intervals" />
            <output name="output" file="gops_intersect_p_diffCols.bed" />
        </test>
        <test>
            <param name="input1" value="1.bed" />
            <param name="input2" value="2.bed" />
            <param name="min" value="10" />
            <param name="returntype" value="Overlapping pieces of Intervals" />
            <output name="output" file="gops_intersect_p_out.bed" />
        </test>
        <test>
            <param name="input1" value="gops_bigint.interval" ftype="interval" />
            <param name="input2" value="gops_bigint2.interval" ftype="interval" />
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_bigint_out.interval" />
        </test>
        <test>
            <param name="input1" value="gops_bigint2.interval" ftype="interval" />
            <param name="input2" value="gops_bigint.interval" ftype="interval" />
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_bigint_out.interval" />
        </test>
        <test>
            <param name="input1" value="12.bed" ftype="bed" />
            <param name="input2" value="1.bed" ftype="bed" />
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_no_strand_out.bed" />
        </test>
        <!-- Intersect two GFF files. -->
        <test>
            <param name="input1" value="gops_subtract_in1.gff" />
            <param name="input2" value="gops_subtract_in2.gff" />
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_out2.gff" />
        </test>
        <!-- Intersect GFF file and bed file. -->
        <test>
            <param name="input1" value="gops_subtract_in1.gff" />
            <param name="input2" value="gops_subtract_in2.bed" />
            <param name="min" value="1" />
            <param name="returntype" value="" />
            <output name="output" file="gops_intersect_out2.gff" />
        </test>
    </tests>
    <help><![CDATA[
.. class:: infomark

**TIP:** If your dataset does not appear in the pulldown menu, it means that it is not in interval format. Use "edit attributes" to set chromosome, start, end, and strand columns.

@SCREENCASTS@

**Syntax**

- **Where overlap is at least** sets the minimum length (in base pairs) of overlap between elements of the two datasets
- **Overlapping Intervals** returns entire intervals from the first dataset  that overlap the second dataset.  The returned intervals are completely unchanged, and this option only filters out intervals that do not overlap with the second dataset.
- **Overlapping pieces of Intervals** returns intervals that indicate the exact base pair overlap between the first dataset and the second dataset.  The intervals returned are from the first dataset, and all fields besides start and end are guaranteed to remain unchanged.

-----

**Examples**

Overlapping Intervals:

.. image:: gops_intersectOverlappingIntervals.gif

Overlapping Pieces of Intervals:

.. image:: gops_intersectOverlappingPieces.gif
    ]]></help>
</tool>