view SMART/galaxy/getDistance.xml @ 15:440ceca58672

Uploaded
author m-zytnicki
date Mon, 22 Apr 2013 11:08:07 -0400
parents 769e306b7933
children 94ab73e8a190
line wrap: on
line source

<tool id="GetDistance" name="get distance">
	<description>Give the distances between every data from the first input set with respect to the data from the second input set.</description>
	<command interpreter="python">
		../Java/Python/getDistance.py -i $formatType.inputFileName1
		#if $formatType.FormatInputFileName1 == 'bed':
			-f bed
		#elif $formatType.FormatInputFileName1 == 'gff':
			-f gff	
		#elif $formatType.FormatInputFileName1 == 'gff2':
			-f gff2
		#elif $formatType.FormatInputFileName1 == 'gff3':
			-f gff3
		#elif $formatType.FormatInputFileName1 == 'sam':
			-f sam
		#elif $formatType.FormatInputFileName1 == 'gtf':
			-f gtf
		#end if
			
		-j $formatType2.inputFileName2
		#if $formatType2.FormatInputFileName2 == 'bed':
			-g bed
		#elif $formatType2.FormatInputFileName2 == 'gff':
			-g gff	
		#elif $formatType2.FormatInputFileName2 == 'gff2':
			-g gff2
		#elif $formatType2.FormatInputFileName2 == 'gff3':
			-g gff3
		#elif $formatType2.FormatInputFileName2 == 'sam':
			-g sam
		#elif $formatType2.FormatInputFileName2 == 'gtf':
			-g gtf
		#end if


		$absolute $proportion

		#if $OptionColinearOrAntiSens.OptionCA == "Colinear":
			-c 
		#elif $OptionColinearOrAntiSens.OptionCA == 'AntiSens':
			-a
		#end if

		#if $OptionMinDistance.MinD == "Yes":
			-m $OptionMinDistance.minDistance
		#end if

		#if $OptionMaxDistance.MaxD == "Yes":
			-M $OptionMaxDistance.maxDistance
		#end if

		$fivePrime $threePrime $spearMan

		#if $OptionBuckets.OBuckets == "Yes":
			-u $OptionBuckets.buckets
		#end if

		#if $OptionMinXaxis.MinX == "Yes":
			-x $OptionMinXaxis.minXaxis
		#end if

		#if $OptionMaxXaxis.MaxX == "Yes":
			-X $OptionMaxXaxis.maxXaxis
		#end if

		#if $OptionTitle.OTitle == "Yes":
			-t $OptionTitle.title
		#end if
		
		-o $outputFilePng
	</command>

	<inputs>
		<conditional name="formatType">
			<param name="FormatInputFileName1" type="select" label="Input File Format 1">
				<option value="bed">bed</option>
				<option value="gff">gff</option>
				<option value="gff2">gff2</option>
				<option value="gff3">gff3</option>
				<option value="sam">sam</option>
				<option value="gtf">gtf</option>
			</param>
			<when value="bed">
				<param name="inputFileName1" format="bed" type="data" label="Input File 1"/>
			</when>
			<when value="gff">
				<param name="inputFileName1" format="gff" type="data" label="Input File 1"/>
			</when>
			<when value="gff2">
				<param name="inputFileName1" format="gff2" type="data" label="Input File 1"/>
			</when>
			<when value="gff3">
				<param name="inputFileName1" format="gff3" type="data" label="Input File 1"/>
			</when>
			<when value="sam">
				<param name="inputFileName1" format="sam" type="data" label="Input File 1"/>
			</when>
			<when value="gtf">
				<param name="inputFileName1" format="gtf" type="data" label="Input File 1"/>
			</when>
		</conditional>

		<conditional name="formatType2">
			<param name="FormatInputFileName2" type="select" label="Input File Format 2">
				<option value="bed">bed</option>
				<option value="gff">gff</option>
				<option value="gff2">gff2</option>
				<option value="gff3">gff3</option>
				<option value="sam">sam</option>
				<option value="gtf">gtf</option>
			</param>
			<when value="bed">
				<param name="inputFileName2" format="bed" type="data" label="Input File 2"/>
			</when>
			<when value="gff">
				<param name="inputFileName2" format="gff" type="data" label="Input File 2"/>
			</when>
			<when value="gff2">
				<param name="inputFileName2" format="gff2" type="data" label="Input File 2"/>
			</when>
			<when value="gff3">
				<param name="inputFileName2" format="gff3" type="data" label="Input File 2"/>
			</when>
			<when value="sam">
				<param name="inputFileName2" format="sam" type="data" label="Input File 2"/>
			</when>
			<when value="gtf">
				<param name="inputFileName2" format="gtf" type="data" label="Input File 2"/>
			</when>
		</conditional>

		<param name="absolute" type="boolean" truevalue="-b" falsevalue="" checked="false" label="absolute value option" help="This option gives the absolute value of the distance."/>
		<param name="proportion" type="boolean" truevalue="-p" falsevalue="" checked="false" label="proportion option" help="This option gives the proportion on the y-axis instead of the number of distances."/>

		<conditional name="OptionColinearOrAntiSens">
			<param name="OptionCA" type="select" label="Provide distribution of distances between collinear/antisense pairs of features">
				<option value="Colinear">Collinear</option>
				<option value="AntiSens">AntiSens</option>
				<option value="NONE" selected="true">NONE</option>
			</param>
			<when value="Colinear">
			</when>
			<when value="AntiSens">
			</when>
			<when value="NONE">
			</when>
		</conditional>

		<conditional name="OptionMinDistance">
			<param name="MinD" type="select" label="Minimum distance between two features">
				<option value="Yes">Yes</option>
				<option value="No" selected="true">No</option>
			</param>
			<when value="Yes">
				<param name="minDistance" type="integer" value="1"/>
			</when>
			<when value="No">
			</when>
		</conditional>

		<conditional name="OptionMaxDistance">
			<param name="MaxD" type="select" label="Maximum distance between two features">
				<option value="Yes">Yes</option>
				<option value="No" selected="true">No</option>
			</param>
			<when value="Yes">
				<param name="maxDistance" type="integer" value="1000"/>
			</when>
			<when value="No">
			</when>
		</conditional>

		<param name="fivePrime" type="boolean" truevalue="-5" falsevalue="" checked="false" label="five prime option" help="Consider the elements from input file 1 which are upstream of elements of input file 2"/>
		<param name="threePrime" type="boolean" truevalue="-3" falsevalue="" checked="false" label="three prime option" help="Consider the elements from input file1 which are downstream of elements of input file 2"/>
		<param name="spearMan" type="boolean" truevalue="-r" falsevalue="" checked="false" label="spearman option" help="Compute Spearman rho."/>


		<conditional name="OptionBuckets">
			<param name="OBuckets" type="select" label="Plots histogram instead of line plot with given interval size.">
				<option value="Yes">Yes</option>
				<option value="No" selected="true">No</option>
			</param>
			<when value="Yes">
				<param name="buckets" type="integer" value="1" label="Interval size"/>
			</when>
			<when value="No">
			</when>
		</conditional>

		<conditional name="OptionMinXaxis">
			<param name="MinX" type="select" label="Minimum value on the x-axis to plot.">
				<option value="Yes">Yes</option>
				<option value="No" selected="true">No</option>
			</param>
			<when value="Yes">
				<param name="minXaxis" type="integer" value="1"/>
			</when>
			<when value="No">
			</when>
		</conditional>

		<conditional name="OptionMaxXaxis">
			<param name="MaxX" type="select" label="Maximum value on the x-axis to plot.">
				<option value="Yes">Yes</option>
				<option value="No" selected="true">No</option>
			</param>
			<when value="Yes">
				<param name="maxXaxis" type="integer" value="1"/>
			</when>
			<when value="No">
			</when>
		</conditional>

		<conditional name="OptionTitle">
			<param name="OTitle" type="select" label="Title for the graph.">
				<option value="Yes">Yes</option>
				<option value="No" selected="true">No</option>
			</param>
			<when value="Yes">
				<param name="title" type="text" value=""/>
			</when>
			<when value="No">
			</when>
		</conditional>

	</inputs>


	<outputs>
		<data name="outputFilePng" format="png"/>
	</outputs> 

	<help>
Give the distances between every data from the first input set and the data from the second input set. It outputs the size distribution. Each point (*x*, *y*) tells you that there exists *y* pairs of elements which are separated by *x* nucleotides.

The general algorithm is the following. For each element of the first input set, it finds the closest element of the second set and computes the distance between the two elements. The distance is zero if the two elements overlap. This distance may not exist if the element of the first input set is alone on its chromosome (or contig).

Actually, considering an element from the first input set, the algorithm will look at the vicinity of this element (1kb by default). You can increase the size of the vicinity using the appropriate option.

As in *compare overlapping*, you can shrink or extend your sets of genomic coordinates, so that you can get the distance between starts of reads and starts or genes, for instance. You can also compute the distance from elements which are on the same strand only (which is not the case by default) or on the opposite strand only.

You have several options for the output plot. You can first choose the region on the *x*-axis you want to plot. You can also display histograms instead of line plot. In this case, the data are summed into buckets, whose sizes are given as an option. For instance, a bucket of size *s* at the point (*x*, *y*) means that there are *y* pairs of elements which are separated by *x* to *x + s* nucleotides.
	</help>

</tool>