# HG changeset patch # User proteore # Date 1561713524 14400 # Node ID bca31ac678f15394076184fa89d8b2758352dc70 # Parent 98b7912a9ceb5b01d52d9e82a4cdf20025b550c2 planemo upload commit 4ba1ebe7b3f5e3fabf78b5fed7ed0b92e2cbf9e5-dirty diff -r 98b7912a9ceb -r bca31ac678f1 venn_diagram.py --- a/venn_diagram.py Tue Mar 05 11:25:31 2019 -0500 +++ b/venn_diagram.py Fri Jun 28 05:18:44 2019 -0400 @@ -47,20 +47,24 @@ if input_type == "file": header = inputs[i][3] ncol = inputs[i][4] - file_content = open(input_file, "r").readlines() + with open(input_file,"r") as handle : + file_content = csv.reader(handle,delimiter="\t") + file_content = list(file_content) #csv object to list - # Check if column number is in right form - if isnumber("int", ncol.replace("c", "")): - if header == "true": - file_content = [x.strip() for x in [line.split("\t")[int(ncol.replace("c", ""))-1].split(";")[0] for line in file_content[1:]]] # take only first IDs + # Check if column number is in right form + if isnumber("int", ncol.replace("c", "")): + if header == "true": + file_content = [x for x in [line[int(ncol.replace("c", ""))-1].split(";") for line in file_content[1:]]] # gets ids from defined column + else: + file_content = [x for x in [line[int(ncol.replace("c", ""))-1].split(";") for line in file_content]] else: - file_content = [x.strip() for x in [line.split("\t")[int(ncol.replace("c", ""))-1].split(";")[0] for line in file_content]] # take only first IDs - else: - raise ValueError("Please fill in the right format of column number") + raise ValueError("Please fill in the right format of column number") else: ids = set() file_content = inputs[i][0].split() + file_content = [x.split(";") for x in file_content] + file_content = [item.strip() for sublist in file_content for item in sublist if item != ''] #flat list of list of lists, remove empty items ids.update(file_content) if 'NA' in ids : ids.remove('NA') comp_dict[title] = ids diff -r 98b7912a9ceb -r bca31ac678f1 venn_diagram.xml --- a/venn_diagram.xml Tue Mar 05 11:25:31 2019 -0500 +++ b/venn_diagram.xml Fri Jun 28 05:18:44 2019 -0400 @@ -1,5 +1,5 @@ - + [JVenn] - + @@ -53,6 +53,7 @@ + [a-zA-Z0-9._-]+ @@ -102,7 +103,7 @@ ----- -**Inputs** +**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 @@ -110,18 +111,38 @@ * **for example an IDs list file** in .txt format, with 1 ID per line -AMY1A - -ALB +.. csv-table:: tab1 + :header: "Ids" + -IGKC - -CSTA - -IGHA1 + "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** @@ -134,7 +155,7 @@ Two outputs are generated: -* **Graphical file**: Venn diagram that you can either display (interactive mode) or download as image (PNG, SVG format) +* **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. @@ -150,11 +171,11 @@ **Galaxy integration** -T.P. Lien Nguyen, Florence Combes, Yves Vandenbrouck CEA, INSERM, CNRS, Grenoble-Alpes University, BIG Institute, FR +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 -Contact support@proteore.org for any questions or concerns about the Galaxy implementation of this tool. +Help: contact@proteore.org for any questions or concerns about this tool. ]]>