view venn_diagram.xml @ 8:bca31ac678f1 draft

planemo upload commit 4ba1ebe7b3f5e3fabf78b5fed7ed0b92e2cbf9e5-dirty
author proteore
date Fri, 28 Jun 2019 05:18:44 -0400
parents 98b7912a9ceb
children 72295909dccf
line wrap: on
line source

<?xml version="1.0"?>
<tool id="Jvenn" name="Venn diagram" version="2019.06.27">
	<description>[JVenn]
	</description>
	<command><![CDATA[
		python $__tool_directory__/venn_diagram.py

		#for $i, $s in enumerate($series)
		    --input
		    #if $s.se.input == "file"
		        "$s.se.file" "$s.name" "file" "$s.se.header" "$s.se.ncol"
		    #else
                "$s.se.list" "$s.name" "list"
 		    #end if
		#end for 
		--summary "$output_summary"
	]]></command>
	<inputs>
		<!-- Files -->
		<repeat name="series" title="List to compare" min="2" max="6" >
            <conditional name="se" >
				<param type="select" name="input" label="Enter your list" help="Copy/paste or from a file (e.g. table)" >
					<option value="list">Copy/paste list </option>
					<option value="file" selected="true">Input file containing your list</option>
				</param>
				<when value="file">
					<param type="data" name="file" format="txt,tabular" label="Select your file" />
					<param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does file contain header?" />
					<param type="text" name="ncol" value="c1" label="Column number on which apply the comparison" help ='For example, fill in "c1" if you want to filter the first column'>
						<validator type="regex" message="Please enter a column number, for example: 'c1' for the first column">[c]{0,1}[0-9]+</validator>
					</param>
				</when>
				<when value="list">
					<param type="text" name="list" label="Copy/paste list" help='IDs must be separated by spaces into the form field, for example: P31946 P62258' >
						<sanitizer>
							<valid initial="string.printable">
								<remove value="&apos;"/>
								<remove value="/"/>
							</valid>
							<mapping initial="none">
								<add source="&apos;" target="__sq__"/>
							</mapping>
						</sanitizer>
					</param>
				</when>
			</conditional>
			<param type="text" name="name" value="" label="Enter the name of this list" help="This name will be displayed on venn diagram" optional="false">
				<sanitizer>
					<valid initial="string.printable">
						<remove value="&apos;"/>
					</valid>
					<mapping initial="none">
						<add source="&apos;" target="__sq__"/>
					</mapping>
				</sanitizer>
				<validator type="regex" message="Please enter a list name">[a-zA-Z0-9._-]+</validator>
			</param>
		</repeat>
	</inputs>
	<outputs>
		<data format="html" name="output_summary" label="Venn diagram" from_work_dir="venn_diagram_summary.html" />
		<data format="tsv" name="output_text" label="Venn diagram text output" from_work_dir="venn_diagram_text_output.tsv" />
	</outputs>
	<tests>
	    <test>
	        <repeat name="series">
	            <conditional name="se">
	                <param name="input" value="file" />
	                <param name="file" value="ID_Converter_FKW_Lacombe_et_al_2017_OK.txt" />
	                <param name="header" value="true" />
	                <param name="ncol" value="c1" />
	                <param name="name" value="Lacombe" />
	            </conditional>
	        </repeat>
	        <repeat name="series">
	            <conditional name="se">
	                <param name="input" value="file" />
	                <param name="file" value="Mucilli.txt" />
	                <param name="header" value="false" />
	                <param name="ncol" value="c1" />
	                <param name="name" value="Mucilli" />
	            </conditional>
	        </repeat>
	        <repeat name="series">
	            <conditional name="se">
	                <param name="input" value="file" />
	                <param name="file" value="Bredberg.txt" />
	                <param name="header" value="false" />
	                <param name="ncol" value="c1" />
	                <param name="name" value="Bredberg" />
	            </conditional>
	        </repeat>
	        <output name="output_summary" file="Venn_diagram_html.html" />
	        <output name="output_text" file="Venn_text_output.txt" />      
	    </test>
	</tests>
	<help><![CDATA[

**Description**

This tool is used for cross-comparison purpose between several lists having a common key (e.g. IDs) and draw a venn diagram from lists/files using the Jvenn plug-in (see Authors below).
It also creates output text file that contain common or specific elements between query and each compared lists/files.

-----

**Input**

Can be either a list entered in a copy/paste mode or a single or multi-columns file (txt, tsv, csv, tab, output from other tools) up to six lists/files

* **List of IDs in a copy/paste mode:** IDs have to be separated by a space (e.g. AMY1A ALB IGKC CSTA IGHA1 ACTG1)
		
* **for example an IDs list file** in .txt format, with 1 ID per line

.. csv-table:: tab1
    :header: "Ids"


    "AMY1A"
    "ALB"	
    "IGKC"	
    "CSTA"	
    "IGHA1"
		
If you use a file as input list, it is necessary to specify the column number on which to apply the comparison.

Ids in a line will be split by ";", so if you have this kind of input : 

.. csv-table:: tab with multiple ids per line
    :header: "Ids"

    "P22531"
    "P04792"
    "P01834"
    "Q96KK5"
    "Q06830;P60709;P13646;P31949"
    "P06702"
    "P14923"
    "Q13835"

All ID will be considered (i.e. Q06830,P60709,P13646 and P31949 will be split).

.. class:: warningmark
	
In copy/paste mode, the number of IDs considered in input is limited to 5000.

-----

**Parameter**

"Please enter the name of this list": each list or set should be named, this information will be reported in both output (see below)

-----

**Output**

Two outputs are generated:
		
* **Graphical file**: Venn diagram that you can either display (interactive mode) or download as an image (PNG, SVG format)
		
* **Venn text output file** : a text file containing specific elements or shared by lists/files.

-----

.. class:: infomark

**Authors**

Philippe Bardou, Jérôme Mariette, Frédéric Escudié, Christophe Djemiel and Christophe Klopp. jvenn: an interactive Venn diagram viewer. BMC Bioinformatics 2014, 15:293 doi:10.1186/1471-2105-15-293

.. class:: infomark

**Galaxy integration**

Lien Nguyen, David Chistiany, Florence Combes, Yves Vandenbrouck CEA, INSERM, CNRS, Grenoble-Alpes University, BIG Institute, FR

Sandra Dérozier, Olivier Rué, Christophe Caron, Valentin Loux INRA, Paris-Saclay University, MAIAGE Unit,Migale Bioinformatics platform

Help: contact@proteore.org for any questions or concerns about this tool.
]]></help>
   <citations>
   </citations>
</tool>