Mercurial > repos > iuc > bedtools
diff multiIntersectBed.xml @ 0:b8348686a0b9 draft
Imported from capsule None
author | iuc |
---|---|
date | Tue, 04 Nov 2014 01:45:04 -0500 |
parents | |
children | 82aac94b06c3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multiIntersectBed.xml Tue Nov 04 01:45:04 2014 -0500 @@ -0,0 +1,196 @@ +<tool id="bedtools_multiintersectbed" name="Intersect multiple sorted BED files" version="@WRAPPER_VERSION@.0"> + <description></description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <expand macro="stdio" /> + <command> + multiIntersectBed + $header + #if $zero.value == True: + -empty + -g ${chromInfo} + #end if + + -i '$input1' + '$input2' + #for $q in $beds + '${q.input}' + #end for + + -names + #if $name1.choice == "tag": + '${input1.name}' + #else + '${name1.custom_name}' + #end if + + #if $name2.choice == "tag": + '${input2.name}' + #else + '${name2.custom_name}' + #end if + + #for $q in $beds + #if $q.name.choice == "tag": + '${q.input.name}' + #else + '${q.input.custom_name}' + #end if + #end for + > '$output' + </command> + + <inputs> + <!-- Make it easy for the user, first two input files are always shown --> + <!-- INPUT 1 --> + <param name="input1" format="bed" type="data" label="First sorted BED file" /> + + <conditional name="name1"> + <param name="choice" type="select" label="Sample name"> + <option value="tag" selected="true">Use input's tag</option> + <option value="custom">Enter custom table name</option> + </param> + <when value="tag"> + </when> + <when value="custom"> + <param name="custom_name" type="text" area="false" label="Custom sample name"/> + </when> + </conditional> + + <!-- INPUT 2 --> + <param name="input2" format="bed" type="data" label="Second sorted BED file" /> + + <conditional name="name2"> + <param name="choice" type="select" label="Sample name"> + <option value="tag" selected="true">Use input's tag</option> + <option value="custom">Enter custom table name</option> + </param> + <when value="tag"> + </when> + <when value="custom"> + <param name="custom_name" type="text" area="false" label="Custom sample name"/> + </when> + </conditional> + + <!-- Additional files, if the user needs more --> + <repeat name="beds" title="Add'l sorted BED files" > + <param name="input" format="bed" type="data" label="BED file" /> + + <conditional name="name"> + <param name="choice" type="select" label="Sample name"> + <option value="tag" selected="true">Use input's tag</option> + <option value="custom">Enter custom table name</option> + </param> + <when value="tag"> + </when> + <when value="custom"> + <param name="custom_name" type="text" area="false" label="Custom sample name"/> + </when> + </conditional> + </repeat> + + <param name="header" type="boolean" checked="true" truevalue="-header" falsevalue="" label="Print header line" help="The first line will include the name of each sample." /> + + <param name="zero" type="boolean" checked="true" label="Report regions that are not covered by any of the files" help="If set, regions that are not overlapped by any file will also be reported. Requires a valid organism key for all input datasets" /> + + </inputs> + + <outputs> + <data format="tabular" name="output" metadata_source="input1" label="Common intervals identified from among ${input1.name}, ${input2.name} and so on." /> + </outputs> + <help> + +**What it does** + +This tool identifies common intervals among multiple, sorted BED files. Intervals can be common among 0 to N of the N input BED files. The pictorial and raw data examples below illustrate the behavior of this tool more clearly. + + +.. image:: http://people.virginia.edu/~arq5x/files/bedtools-galaxy/mbi.png + + +.. class:: warningmark + +This tool requires that each BED file is reference-sorted (chrom, then start). + + +.. class:: infomark + +The output file will contain five fixed columns, plus additional columns for each BED file: + + * 1. Chromosome name (or 'genome' for whole-genome coverage). + * 2. The zero-based start position of the interval. + * 3. The one-based end position of the interval. + * 4. The number of input files that had at least one feature overlapping this interval. + * 5. A list of input files or labels that had at least one feature overlapping this interval. + * 6. For each input file, an indication (1 = Yes, 0 = No) of whether or not the file had at least one feature overlapping this interval. + +------ + +**Example input**:: + + # a.bed + chr1 6 12 + chr1 10 20 + chr1 22 27 + chr1 24 30 + + # b.bed + chr1 12 32 + chr1 14 30 + + # c.bed + chr1 8 15 + chr1 10 14 + chr1 32 34 + + +------ + +**Example without a header and without reporting intervals with zero coverage**:: + + + chr1 6 8 1 1 1 0 0 + chr1 8 12 2 1,3 1 0 1 + chr1 12 15 3 1,2,3 1 1 1 + chr1 15 20 2 1,2 1 1 0 + chr1 20 22 1 2 0 1 0 + chr1 22 30 2 1,2 1 1 0 + chr1 30 32 1 2 0 1 0 + chr1 32 34 1 3 0 0 1 + + +**Example adding a header line**:: + + + chrom start end num list a.bed b.bed c.bed + chr1 6 8 1 1 1 0 0 + chr1 8 12 2 1,3 1 0 1 + chr1 12 15 3 1,2,3 1 1 1 + chr1 15 20 2 1,2 1 1 0 + chr1 20 22 1 2 0 1 0 + chr1 22 30 2 1,2 1 1 0 + chr1 30 32 1 2 0 1 0 + chr1 32 34 1 3 0 0 1 + + +**Example adding a header line and custom file labels**:: + + + chrom start end num list joe bob sue + chr1 6 8 1 joe 1 0 0 + chr1 8 12 2 joe,sue 1 0 1 + chr1 12 15 3 joe,bob,sue 1 1 1 + chr1 15 20 2 joe,bob 1 1 0 + chr1 20 22 1 bob 0 1 0 + chr1 22 30 2 joe,bob 1 1 0 + chr1 30 32 1 bob 0 1 0 + chr1 32 34 1 sue 0 0 1 + + +@REFERENCES@ + + </help> + <expand macro="citations" /> +</tool>