Repository 'proteore_venn_diagram'
hg clone https://toolshed.g2.bx.psu.edu/repos/proteore/proteore_venn_diagram

Changeset 0:9d4f20618ab4 (2017-11-26)
Next changeset 1:760470ddb9ca (2018-02-16)
Commit message:
planemo upload commit abb24d36c776520e73220d11386252d848173697-dirty
added:
README.rst
jvenn_template.html
test-data/DESeq.txt
test-data/FQ.txt
test-data/RPKM.txt
test-data/TC.txt
test-data/TMM.txt
test-data/UQ.txt
test-data/venn_diagram_summary.html
test-data/venn_diagram_text_output.txt
venn_diagram.py
venn_diagram.xml
b
diff -r 000000000000 -r 9d4f20618ab4 README.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst Sun Nov 26 19:09:40 2017 -0500
b
@@ -0,0 +1,49 @@
+Wrapper for Jvenn plug-in
+=========================
+
+**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
+
+**Galaxy integration**
+
+T.P. Lien Nguyen, 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.
+
+=========================
+
+This tool draw a venn diagram from lists/files using Jvenn plug-in (http://jvenn.toulouse.inra.fr/app/index.html). It also creates output files that contain common or specific elements between query and each compared lists/files.
+
+**Inputs**
+
+* **Query file:** A file containing different information of proteins, could be output of previous components.
+
+* **File of a list of IDs:** .TXT format, each line contains 1 ID
+    
+    AMY1A
+    
+  ALB

+  IGKC

+  CSTA

+  IGHA1

+  ACTG1
+
+* **List of IDs:** IDs separated by a space
+    AMY1A ALB IGKC CSTA IGHA1 ACTG1
+
+If you choose a file, it is necessary to specify the column where you would like to perform the comparison.
+
+**Outputs**
+
+* **Summary file** (venn_diagram_summary.html):
+    Venn diagram: Could be downloaded as image (PNG, SVG)
+
+* **Venn text output file**
+    A text file containing common/specific elements among compared lists/files.
b
diff -r 000000000000 -r 9d4f20618ab4 jvenn_template.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jvenn_template.html Sun Nov 26 19:09:40 2017 -0500
[
b'@@ -0,0 +1,228 @@\n+<!DOCTYPE html>\n+<!--\n+# Copyright (C) 2015 INRA\n+#\n+# This program is free software: you can redistribute it and/or modify\n+# it under the terms of the GNU General Public License as published by\n+# the Free Software Foundation, either version 3 of the License, or\n+# (at your option) any later version.\n+#\n+# This program is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY; without even the implied warranty of\n+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+# GNU General Public License for more details.\n+#\n+# You should have received a copy of the GNU General Public License\n+# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n+-->\n+<html>\n+\t<head>\n+\t\t<title>Jvenn+</title>\n+\t\t<meta charset="UTF-8">\n+\t\t<meta name="version" content="2.0.1">\n+\t\t<link rel="stylesheet" href="https://cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></link>\n+\t\t<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"></link>\n+\t\t<style type="text/css">\n+\t\t\t#js-alert {\n+\t\t\t\twidth: 90%;\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t}\n+\t\t\t#content {\n+\t\t\t\twidth: 90%;\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t}\n+\t\t\t.clear {\n+\t\t\t\tclear: both;\n+\t\t\t\theight: 0px;\n+\t\t\t\twidth: 100%;\n+\t\t\t\tfloat: none !important;\n+\t\t\t}\n+\t\t\tul.nav-tabs {\n+\t\t\t\tmargin-bottom: 30px;\n+\t\t\t}\n+\t\t\t#venn-filters {\n+\t\t\t\tpadding: 10px;\n+\t\t\t\tbackground-color: #FFF;\n+\t\t\t\tbackground-clip: padding-box;\n+\t\t\t\tborder: 1px solid rgba(0, 0, 0, 0.15);\n+\t\t\t\tborder-radius: 4px;\n+\t\t\t\tbox-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t\tmargin-bottom: 30px;\n+\t\t\t}\n+\t\t\t#byFilters-jvenn {\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t}\n+\t\t\t#venn-filters ul {\n+\t\t\t\tlist-style-type: none;\n+\t\t\t}\n+\t\t</style>\n+\n+\t\t<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>\n+\t\t<script type="text/javascript" src="http://code.highcharts.com/4.1.4/highcharts.js"></script>\n+\t\t<script type="text/javascript" src="http://code.highcharts.com/4.1.4/modules/exporting.js"></script>\n+\t\t<script type="text/javascript" src="https://cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>\n+\t\t<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>\n+\t\t<script type="text/javascript">\n+\t\t\t/***************************************************************\n+\t\t\t*  Copyright notice\n+\t\t\t*\n+\t\t\t*  (c) 2014 PF bioinformatique de Toulouse\n+\t\t\t*  All rights reserved\n+\t\t\t* \n+\t\t\t*\n+\t\t\t*  This script is an adaptation of the venny script developed by\n+\t\t\t*  Juan Carlos Oliveros, BioinfoGP, CNB-CSIC:\n+\t\t\t*  Oliveros, J.C. (2007) VENNY. An interactive tool for comparing \n+\t\t\t*  lists with Venn Diagrams.\n+\t\t\t*  http://bioinfogp.cnb.csic.es/tools/venny/index.html.\n+\t\t\t*  It is distributed under the terms of the GNU General Public \n+\t\t\t*  License as published by the Free Software Foundation; either \n+\t\t\t*  version 2 of the License, or (at your option) any later version.\n+\t\t\t*\n+\t\t\t*  The GNU General Public License can be found at\n+\t\t\t*  http://www.gnu.org/copyleft/gpl.html.\n+\t\t\t*\n+\t\t\t*  This script is distributed in the hope that it will be useful,\n+\t\t\t*  but WITHOUT ANY WARRANTY; without even the implied warranty of\n+\t\t\t*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+\t\t\t*  GNU General Public License for more details.\n+\t\t\t*\n+\t\t\t*  This copyright notice MUST APPEAR in all copies of the script!\n+\t\t\t***************************************************************/\n+\t\t\t!function(){"use strict";function s(s,t){var e,l=Object.keys(t);for(e=0;e<l.length;e++)s=s.replace(new RegExp("\\\\{"+l[e]+"\\\\}","gi"),t[l[e]]);return s}function t(s){var t,e,l;if(!s)throw new Error("cannot create a random attribute name for an undefined object");t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",e="";do for(e="",l=0;12>l;l++)e+=t[Math.floor(Math.random()*t.length)];'..b'a=t(this).is(":checkbox")?t(this).is(":checked")?"true":"false":t(this).val(),t(this).replaceWith(a)});var n=t("#"+a+" .data-tmp").text();return t("#"+a+" .data-tmp").remove(),n},t.fn.datatableExport.csv=function(a,e,n,i){var l="",r=t("#"+e).DataTable(),d=t("#"+e+" thead")[0],o=new HTMLtable(d.cloneNode(!0));o.deleteColumns(i),l+=o.toCSV();var c=r.rows().data();t.each(c,function(e,n){for(var r="",d=0;d<n.length;d++)-1==t.inArray(d,i)&&(r+=\'"\'+t.fn.datatableExport.cleanCellMarkup(a,n[d])+\'";\');""!=r&&(r=r.slice(0,-1)),l+=r+"\\n"}),t("#"+a+"-extract-csv").length||t("#"+a).append(\'<a id="\'+a+\'-extract-csv" href="data:text/csv;charset=UTF-8,\'+encodeURI(l)+\'" download="data.csv" style="display:none;"></a>\'),t("#"+a+"-extract-csv")[0].click()}}(jQuery);\n+\t\t</script>\t\t\n+\t\t\n+\t\t<script type="text/javascript">\n+/*\n+$(document).ready(function(){\n+  $(\'#example\').jvenn({\n+    series: [{\n+    \tname: {A: \'Actors\',\n+               B: \'Singers\'},\n+    \tdata: {A: ["Arnold Schwarzenegger", "Jack Nicholson", "Robert de Niro", "Harrison Ford"], B: ["Freddy Mercury", "Ricky Martin", "Celine Dion"], AB: ["Marilyn Monroe", "Barbra Streisand", "Dean Martin"]},\n+    \tvalues: {A: 4, B: 3, AB: 3}\n+    }],\n+  });\n+});\n+*/\n+var jvenn_data = ###JVENN_DATA### ;\n+$(document).ready(function(){\n+  $(\'#example\').jvenn(jvenn_data);\n+});\n+\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t//\n+\t\t\t// Data\n+\t\t\t//\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t//var processed_filters = ###PORCESSED_FILTERS### ;\n+\t\t\t/* Example:\n+\t\t\t\t[\'filterA\', \'filterB\', \'filterC\']\n+\t\t\t*/\n+\t\t\t//var global_results = ###GLOBAL_RESULTS### ; \n+\t\t\t/* Example: \n+\t\t\t\t{\n+\t\t\t\t\t\'nb_clstr_kept\': 100,\n+\t\t\t\t\t\'nb_clstr_ini\': 300,\n+\t\t\t\t\t\'nb_seq_kept\': 100,\n+\t\t\t\t\t\'nb_seq_ini\': 100000\n+\t\t\t\t}\n+\t\t\t*/\n+\t\t\t//var by_samples_results =\xc2\xa0###SAMPLES_RESULTS### ;\n+\t\t\t/* Example:\n+\t\t\t\t{\n+\t\t\t\t\t\'sampleA\':{\n+\t\t\t\t\t\t\'filtered\':{\n+\t\t\t\t\t\t\t\'filterA\': 10,\n+\t\t\t\t\t\t\t\'filterB\': 20\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\'initial\': 75,\n+\t\t\t\t\t\t\'kept\': 50\n+\t\t\t\t\t},\n+\t\t\t\t\t\'sampleB\':{\n+\t\t\t\t\t\t\'filtered\':{\n+\t\t\t\t\t\t\t\'filterB\': 20,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\'initial\': 110,\n+\t\t\t\t\t\t\'kept\': 90\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t*/\n+\t\t\t//var by_filters_results =\xc2\xa0###FILTERS_RESULTS### ;\n+\t\t\t/* Example:\n+\t\t\t\t[\n+\t\t\t\t\t{\'filters\':[\'filterA\'], \'count\': 10},\n+\t\t\t\t\t{\'filters\':[\'filterB\'], \'count\': 20},\n+\t\t\t\t\t{\'filters\':[\'filterC\'], \'count\': 30},\n+\t\t\t\t\t{\'filters\':[\'filterA\', \'filterB\'], \'count\': 1},\n+\t\t\t\t\t{\'filters\':[\'filterA\', \'filterC\'], \'count\': 2},\n+\t\t\t\t\t{\'filters\':[\'filterB\', \'filterC\'], \'count\': 3},\n+\t\t\t\t\t{\'filters\':[\'filterA\', \'filterB\', \'filterC\'], \'count\': 4}\n+\t\t\t\t];\n+\t\t\t*/\n+\t\t\t\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t//\n+\t\t\t// Main\n+\t\t\t//\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t$(function() {\n+\t\t\t\t// Remove alert\n+\t\t\t\t$(\'#js-alert\').remove();\n+\t\t\t\t$(\'#content\').removeClass("hidden");\n+\t\t\t\t\n+\t\t\t\t// Load active tab\n+\t\t\t\tglobal_filters_load();\n+\t\t\t\tintersections_filters_load();\n+\t\t\t\t\n+\t\t\t\t// Add tab listener\n+\t\t\t\t$(\'.nav-tabs a\').click(function (e) {\n+\t\t\t\t\te.preventDefault();\n+\t\t\t\t\t$(this).tab(\'show\');\n+\t\t\t\t\tif( $(this).attr(\'href\') == "#view-by-samples" && $(\'#view-by-samples\').hasClass(\'disabled\') ){\n+\t\t\t\t\t\t$(\'#view-by-samples\').removeClass(\'disabled\')\n+\t\t\t\t\t\tsamples_filters_load( "filter-log" );\n+\t\t\t\t\t}\n+\t\t\t\t})\n+\t\t\t});\n+\t\t</script>\n+\n+\t</head>\n+\t<body>\n+\t\t<!-- Alert -->\n+\t\t<p id="js-alert" class="alert alert-warning">\n+                javascript is needed to display data.<br />\n+                If you try to view this data on galaxy please contact your administrator to authorise javascript or download the file to view.\n+\t\t</p>\n+\t\t\n+        <!-- Content -->\n+\t<div id="example"></div>\n+        </div>\n+\n+\t\t\n+\t</body>\n+</html>\n'
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/DESeq.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/DESeq.txt Sun Nov 26 19:09:40 2017 -0500
b
b'@@ -0,0 +1,1249 @@\n+G000002\n+G000005\n+G000008\n+G000009\n+G000012\n+G000022\n+G000023\n+G000024\n+G000026\n+G000027\n+G000028\n+G000029\n+G000030\n+G000031\n+G000041\n+G000046\n+G000053\n+G000061\n+G000078\n+G000080\n+G000082\n+G000095\n+G000098\n+G000101\n+G000114\n+G000116\n+G000129\n+G000130\n+G000144\n+G000147\n+G000164\n+G000165\n+G000167\n+G000177\n+G000180\n+G000181\n+G000185\n+G000186\n+G000189\n+G000194\n+G000195\n+G000197\n+G000200\n+G000203\n+G000215\n+G000218\n+G000222\n+G000231\n+G000232\n+G000236\n+G000237\n+G000238\n+G000242\n+G000253\n+G000254\n+G000256\n+G000259\n+G000261\n+G000262\n+G000268\n+G000270\n+G000273\n+G000274\n+G000276\n+G000301\n+G000302\n+G000304\n+G000305\n+G000306\n+G000311\n+G000316\n+G000317\n+G000318\n+G000323\n+G000338\n+G000339\n+G000349\n+G000352\n+G000355\n+G000356\n+G000358\n+G000362\n+G000365\n+G000370\n+G000376\n+G000377\n+G000381\n+G000389\n+G000391\n+G000404\n+G000405\n+G000411\n+G000412\n+G000418\n+G000419\n+G000420\n+G000426\n+G000427\n+G000431\n+G000444\n+G000447\n+G000466\n+G000468\n+G000475\n+G000490\n+G000493\n+G000497\n+G000498\n+G000510\n+G000514\n+G000517\n+G000524\n+G000526\n+G000530\n+G000534\n+G000540\n+G000547\n+G000581\n+G000584\n+G000592\n+G000600\n+G000604\n+G000605\n+G000612\n+G000620\n+G000628\n+G000629\n+G000631\n+G000635\n+G000637\n+G000646\n+G000655\n+G000660\n+G000663\n+G000665\n+G000668\n+G000669\n+G000696\n+G000701\n+G000704\n+G000705\n+G000706\n+G000709\n+G000711\n+G000714\n+G000715\n+G000716\n+G000717\n+G000720\n+G000721\n+G000722\n+G000725\n+G000726\n+G000728\n+G000730\n+G000737\n+G000742\n+G000748\n+G000749\n+G000751\n+G000754\n+G000759\n+G000772\n+G000773\n+G000783\n+G000788\n+G000790\n+G000805\n+G000810\n+G000824\n+G000827\n+G000832\n+G000834\n+G000845\n+G000851\n+G000857\n+G000865\n+G000872\n+G000879\n+G000880\n+G000890\n+G000894\n+G000896\n+G000899\n+G000902\n+G000904\n+G000909\n+G000927\n+G000929\n+G000931\n+G000934\n+G000942\n+G000944\n+G000951\n+G000962\n+G000966\n+G000976\n+G000982\n+G000984\n+G000985\n+G000987\n+G000988\n+G000994\n+G001001\n+G001006\n+G001007\n+G001015\n+G001022\n+G001026\n+G001029\n+G001032\n+G001043\n+G001045\n+G001047\n+G001049\n+G001051\n+G001052\n+G001053\n+G001061\n+G001071\n+G001073\n+G001080\n+G001083\n+G001090\n+G001093\n+G001102\n+G001105\n+G001107\n+G001108\n+G001110\n+G001112\n+G001114\n+G001115\n+G001116\n+G001119\n+G001121\n+G001123\n+G001136\n+G001146\n+G001155\n+G001160\n+G001169\n+G001171\n+G001179\n+G001180\n+G001184\n+G001189\n+G001193\n+G001195\n+G001197\n+G001201\n+G001203\n+G001210\n+G001215\n+G001218\n+G001219\n+G001226\n+G001227\n+G001232\n+G001238\n+G001240\n+G001241\n+G001244\n+G001246\n+G001247\n+G001271\n+G001278\n+G001279\n+G001281\n+G001283\n+G001285\n+G001287\n+G001288\n+G001289\n+G001291\n+G001293\n+G001296\n+G001306\n+G001317\n+G001319\n+G001324\n+G001325\n+G001328\n+G001333\n+G001343\n+G001344\n+G001351\n+G001352\n+G001353\n+G001355\n+G001359\n+G001360\n+G001362\n+G001364\n+G001374\n+G001379\n+G001385\n+G001386\n+G001393\n+G001394\n+G001409\n+G001410\n+G001421\n+G001424\n+G001425\n+G001431\n+G001433\n+G001434\n+G001451\n+G001457\n+G001461\n+G001465\n+G001467\n+G001469\n+G001474\n+G001478\n+G001483\n+G001495\n+G001507\n+G001510\n+G001517\n+G001525\n+G001528\n+G001534\n+G001536\n+G001539\n+G001542\n+G001547\n+G001550\n+G001554\n+G001559\n+G001560\n+G001565\n+G001567\n+G001570\n+G001575\n+G001578\n+G001579\n+G001581\n+G001597\n+G001598\n+G001604\n+G001605\n+G001606\n+G001609\n+G001620\n+G001623\n+G001626\n+G001628\n+G001629\n+G001630\n+G001633\n+G001634\n+G001635\n+G001640\n+G001644\n+G001645\n+G001646\n+G001647\n+G001649\n+G001650\n+G001651\n+G001665\n+G001668\n+G001671\n+G001687\n+G001694\n+G001697\n+G001703\n+G001704\n+G001707\n+G001711\n+G001724\n+G001725\n+G001726\n+G001729\n+G001732\n+G001736\n+G001737\n+G001746\n+G001748\n+G001749\n+G001751\n+G001753\n+G001756\n+G001760\n+G001765\n+G001766\n+G001771\n+G001772\n+G001776\n+G001779\n+G001780\n+G001785\n+G001787\n+G001788\n+G001791\n+G001794\n+G001802\n+G001808\n+G001809\n+G001810\n+G001812\n+G001819\n+G001820\n+G001825\n+G001831\n+G001836\n+G001840\n+G001854\n+G001874\n+G001877\n+G001878\n+G001880\n+G001883\n+G001888\n+G001889\n+G001890\n+G001891\n+G001893\n+G001895\n+G001897\n+G001899\n+G001901\n+G001904\n+G001905\n+G001906\n+G001910\n+G001926\n+G001929\n+G001934\n+G001937\n+G001940\n+G001941\n+G001944\n+G001949\n+G001951\n+G001952\n+G001960\n+G001968\n+G001970\n+G001972\n+G'..b'07\n+G003411\n+G003416\n+G003424\n+G003425\n+G003427\n+G003433\n+G003440\n+G003441\n+G003446\n+G003453\n+G003464\n+G003474\n+G003480\n+G003486\n+G003490\n+G003498\n+G003500\n+G003502\n+G003503\n+G003511\n+G003522\n+G003538\n+G003539\n+G003542\n+G003543\n+G003550\n+G003558\n+G003570\n+G003576\n+G003579\n+G003588\n+G003589\n+G003592\n+G003593\n+G003594\n+G003596\n+G003598\n+G003601\n+G003602\n+G003611\n+G003612\n+G003619\n+G003625\n+G003628\n+G003630\n+G003634\n+G003637\n+G003643\n+G003644\n+G003645\n+G003648\n+G003649\n+G003661\n+G003670\n+G003678\n+G003681\n+G003690\n+G003695\n+G003699\n+G003701\n+G003709\n+G003729\n+G003733\n+G003739\n+G003746\n+G003747\n+G003751\n+G003760\n+G003764\n+G003766\n+G003770\n+G003776\n+G003784\n+G003791\n+G003792\n+G003794\n+G003800\n+G003808\n+G003818\n+G003823\n+G003828\n+G003836\n+G003838\n+G003843\n+G003847\n+G003850\n+G003865\n+G003876\n+G003881\n+G003891\n+G003892\n+G003898\n+G003901\n+G003902\n+G003903\n+G003904\n+G003905\n+G003906\n+G003912\n+G003915\n+G003919\n+G003922\n+G003928\n+G003929\n+G003931\n+G003934\n+G003936\n+G003938\n+G003948\n+G003949\n+G003953\n+G003956\n+G003962\n+G003964\n+G003965\n+G003971\n+G003972\n+G003980\n+G004004\n+G004007\n+G004009\n+G004011\n+G004014\n+G004021\n+G004022\n+G004026\n+G004034\n+G004036\n+G004040\n+G004042\n+G004044\n+G004051\n+G004059\n+G004061\n+G004064\n+G004082\n+G004085\n+G004086\n+G004087\n+G004088\n+G004089\n+G004095\n+G004096\n+G004099\n+G004104\n+G004108\n+G004113\n+G004119\n+G004120\n+G004123\n+G004131\n+G004136\n+G004137\n+G004140\n+G004144\n+G004151\n+G004160\n+G004161\n+G004170\n+G004177\n+G004184\n+G004187\n+G004191\n+G004192\n+G004199\n+G004203\n+G004206\n+G004208\n+G004210\n+G004213\n+G004214\n+G004220\n+G004222\n+G004237\n+G004239\n+G004241\n+G004243\n+G004245\n+G004249\n+G004258\n+G004260\n+G004262\n+G004273\n+G004276\n+G004278\n+G004290\n+G004299\n+G004302\n+G004307\n+G004324\n+G004325\n+G004328\n+G004329\n+G004330\n+G004331\n+G004332\n+G004333\n+G004334\n+G004346\n+G004349\n+G004350\n+G004351\n+G004353\n+G004355\n+G004356\n+G004365\n+G004367\n+G004373\n+G004377\n+G004384\n+G004389\n+G004391\n+G004392\n+G004394\n+G004395\n+G004398\n+G004404\n+G004407\n+G004410\n+G004411\n+G004420\n+G004421\n+G004424\n+G004428\n+G004431\n+G004435\n+G004438\n+G004439\n+G004445\n+G004453\n+G004455\n+G004458\n+G004462\n+G004466\n+G004467\n+G004468\n+G004469\n+G004470\n+G004471\n+G004473\n+G004475\n+G004477\n+G004478\n+G004479\n+G004481\n+G004484\n+G004485\n+G004487\n+G004491\n+G004492\n+G004499\n+G004501\n+G004520\n+G004526\n+G004532\n+G004535\n+G004537\n+G004539\n+G004542\n+G004543\n+G004545\n+G004547\n+G004551\n+G004554\n+G004556\n+G004558\n+G004559\n+G004561\n+G004565\n+G004568\n+G004577\n+G004578\n+G004589\n+G004593\n+G004604\n+G004610\n+G004612\n+G004618\n+G004623\n+G004625\n+G004635\n+G004636\n+G004643\n+G004648\n+G004649\n+G004657\n+G004667\n+G004671\n+G004682\n+G004693\n+G004695\n+G004697\n+G004698\n+G004699\n+G004700\n+G004703\n+G004704\n+G004708\n+G004711\n+G004712\n+G004713\n+G004714\n+G004715\n+G004716\n+G004718\n+G004726\n+G004729\n+G004730\n+G004733\n+G004735\n+G004740\n+G004743\n+G004745\n+G004749\n+G004753\n+G004755\n+G004762\n+G004768\n+G004772\n+G004783\n+G004784\n+G004786\n+G004789\n+G004793\n+G004795\n+G004814\n+G004826\n+G004829\n+G004832\n+G004838\n+G004850\n+G004855\n+G004856\n+G004860\n+G004863\n+G004867\n+G004874\n+G004883\n+G004885\n+G004887\n+G004888\n+G004892\n+G004895\n+G004907\n+G004908\n+G004922\n+G004925\n+G004932\n+G004934\n+G004944\n+G004947\n+G004957\n+G004967\n+G004972\n+G004978\n+G004980\n+G004982\n+G004988\n+G004989\n+G004992\n+G004994\n+G004999\n+G005001\n+G005002\n+G005019\n+G005021\n+G005023\n+G005024\n+G005029\n+G005033\n+G005041\n+G005043\n+G005044\n+G005050\n+G005053\n+G005055\n+G005073\n+G005074\n+G005089\n+G005091\n+G005094\n+G005095\n+G005105\n+G005114\n+G005118\n+G005119\n+G005121\n+G005126\n+G005131\n+G005138\n+G005142\n+G005148\n+G005149\n+G005154\n+G005158\n+G005159\n+G005167\n+G005169\n+G005172\n+G005173\n+G005175\n+G005176\n+G005178\n+G005180\n+G005182\n+G005185\n+G005186\n+G005188\n+G005192\n+G005196\n+G005198\n+G005199\n+G005200\n+G005201\n+G005202\n+G005203\n+G005204\n+G005212\n+G005215\n+G005217\n+G005220\n+G005221\n+G005222\n+G005227\n+G005231\n+G005234\n+G005237\n+G005241\n+G005243\n+G005248\n+G005250\n+G005254\n+G005255\n+G005259\n+G005262\n+G005263\n+G005264\n+G005265\n+G005266\n+G005268\n+G005269\n+G005273\n+G005274\n+G005276\n'
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/FQ.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/FQ.txt Sun Nov 26 19:09:40 2017 -0500
b
b'@@ -0,0 +1,1092 @@\n+G000002\n+G000005\n+G000008\n+G000009\n+G000012\n+G000022\n+G000023\n+G000024\n+G000026\n+G000027\n+G000028\n+G000029\n+G000030\n+G000031\n+G000041\n+G000046\n+G000061\n+G000078\n+G000082\n+G000098\n+G000101\n+G000116\n+G000144\n+G000147\n+G000164\n+G000165\n+G000167\n+G000177\n+G000180\n+G000181\n+G000185\n+G000186\n+G000194\n+G000195\n+G000203\n+G000218\n+G000231\n+G000232\n+G000236\n+G000237\n+G000238\n+G000253\n+G000254\n+G000256\n+G000259\n+G000261\n+G000262\n+G000268\n+G000270\n+G000273\n+G000274\n+G000276\n+G000301\n+G000302\n+G000305\n+G000306\n+G000311\n+G000316\n+G000317\n+G000318\n+G000323\n+G000338\n+G000339\n+G000352\n+G000355\n+G000356\n+G000358\n+G000362\n+G000365\n+G000370\n+G000376\n+G000377\n+G000381\n+G000391\n+G000404\n+G000405\n+G000411\n+G000412\n+G000418\n+G000420\n+G000426\n+G000427\n+G000431\n+G000444\n+G000447\n+G000466\n+G000468\n+G000475\n+G000483\n+G000490\n+G000493\n+G000497\n+G000498\n+G000514\n+G000517\n+G000524\n+G000526\n+G000530\n+G000534\n+G000540\n+G000547\n+G000569\n+G000570\n+G000581\n+G000584\n+G000592\n+G000605\n+G000612\n+G000620\n+G000628\n+G000629\n+G000631\n+G000635\n+G000637\n+G000646\n+G000655\n+G000660\n+G000663\n+G000665\n+G000668\n+G000669\n+G000696\n+G000701\n+G000704\n+G000705\n+G000706\n+G000709\n+G000711\n+G000714\n+G000715\n+G000716\n+G000717\n+G000720\n+G000721\n+G000722\n+G000725\n+G000726\n+G000728\n+G000730\n+G000737\n+G000748\n+G000749\n+G000751\n+G000754\n+G000759\n+G000772\n+G000783\n+G000788\n+G000790\n+G000805\n+G000810\n+G000824\n+G000827\n+G000832\n+G000834\n+G000845\n+G000851\n+G000857\n+G000872\n+G000879\n+G000881\n+G000890\n+G000894\n+G000896\n+G000899\n+G000902\n+G000904\n+G000909\n+G000927\n+G000929\n+G000931\n+G000934\n+G000944\n+G000951\n+G000962\n+G000966\n+G000976\n+G000982\n+G000984\n+G000985\n+G000987\n+G000988\n+G001001\n+G001006\n+G001007\n+G001015\n+G001022\n+G001026\n+G001029\n+G001032\n+G001043\n+G001045\n+G001049\n+G001051\n+G001052\n+G001053\n+G001061\n+G001073\n+G001080\n+G001083\n+G001090\n+G001093\n+G001102\n+G001105\n+G001107\n+G001108\n+G001110\n+G001112\n+G001115\n+G001116\n+G001119\n+G001121\n+G001123\n+G001136\n+G001146\n+G001155\n+G001160\n+G001169\n+G001171\n+G001179\n+G001184\n+G001189\n+G001193\n+G001197\n+G001201\n+G001204\n+G001210\n+G001218\n+G001219\n+G001226\n+G001227\n+G001232\n+G001241\n+G001244\n+G001247\n+G001271\n+G001278\n+G001279\n+G001281\n+G001283\n+G001287\n+G001288\n+G001289\n+G001296\n+G001298\n+G001306\n+G001317\n+G001319\n+G001324\n+G001325\n+G001328\n+G001333\n+G001343\n+G001344\n+G001351\n+G001352\n+G001353\n+G001355\n+G001359\n+G001360\n+G001362\n+G001369\n+G001374\n+G001379\n+G001385\n+G001386\n+G001393\n+G001394\n+G001409\n+G001424\n+G001431\n+G001433\n+G001434\n+G001436\n+G001457\n+G001461\n+G001465\n+G001467\n+G001469\n+G001474\n+G001478\n+G001483\n+G001485\n+G001495\n+G001507\n+G001517\n+G001525\n+G001534\n+G001536\n+G001539\n+G001542\n+G001547\n+G001550\n+G001554\n+G001559\n+G001560\n+G001563\n+G001565\n+G001567\n+G001575\n+G001578\n+G001579\n+G001597\n+G001598\n+G001604\n+G001605\n+G001606\n+G001609\n+G001620\n+G001623\n+G001626\n+G001628\n+G001629\n+G001630\n+G001633\n+G001634\n+G001635\n+G001640\n+G001644\n+G001645\n+G001646\n+G001647\n+G001649\n+G001650\n+G001651\n+G001665\n+G001668\n+G001687\n+G001694\n+G001696\n+G001697\n+G001703\n+G001704\n+G001707\n+G001711\n+G001724\n+G001725\n+G001726\n+G001729\n+G001732\n+G001736\n+G001737\n+G001746\n+G001748\n+G001749\n+G001751\n+G001753\n+G001756\n+G001760\n+G001761\n+G001765\n+G001766\n+G001771\n+G001772\n+G001776\n+G001779\n+G001780\n+G001785\n+G001791\n+G001794\n+G001802\n+G001809\n+G001810\n+G001812\n+G001819\n+G001820\n+G001825\n+G001831\n+G001836\n+G001840\n+G001854\n+G001874\n+G001877\n+G001878\n+G001880\n+G001883\n+G001888\n+G001889\n+G001890\n+G001891\n+G001893\n+G001895\n+G001897\n+G001899\n+G001901\n+G001904\n+G001906\n+G001910\n+G001926\n+G001929\n+G001934\n+G001937\n+G001940\n+G001944\n+G001949\n+G001951\n+G001952\n+G001960\n+G001968\n+G001970\n+G001972\n+G001975\n+G001976\n+G001978\n+G001983\n+G001985\n+G001987\n+G001991\n+G001993\n+G001994\n+G001995\n+G001997\n+G001998\n+G002001\n+G002007\n+G002011\n+G002024\n+G002032\n+G002038\n+G002040\n+G002044\n+G002048\n+G002050\n+G002051\n+G002053\n+G002054\n+G002055\n+G002056\n+G002061\n+G002077\n+G002085\n+G002093\n+G002096\n+G002097\n+G002101\n+G002104\n+G002107\n+G002120\n+G002131\n+G002146\n+G002153\n+G002180\n+G'..b'77\n+G003078\n+G003080\n+G003082\n+G003089\n+G003093\n+G003094\n+G003099\n+G003110\n+G003113\n+G003116\n+G003125\n+G003138\n+G003139\n+G003142\n+G003143\n+G003153\n+G003154\n+G003160\n+G003163\n+G003173\n+G003177\n+G003179\n+G003183\n+G003199\n+G003201\n+G003208\n+G003218\n+G003219\n+G003220\n+G003222\n+G003227\n+G003229\n+G003230\n+G003232\n+G003233\n+G003238\n+G003240\n+G003261\n+G003269\n+G003281\n+G003282\n+G003286\n+G003296\n+G003302\n+G003304\n+G003305\n+G003306\n+G003308\n+G003315\n+G003317\n+G003322\n+G003337\n+G003340\n+G003342\n+G003359\n+G003362\n+G003366\n+G003368\n+G003375\n+G003381\n+G003388\n+G003390\n+G003403\n+G003411\n+G003424\n+G003446\n+G003464\n+G003474\n+G003480\n+G003486\n+G003500\n+G003502\n+G003503\n+G003511\n+G003522\n+G003538\n+G003539\n+G003542\n+G003543\n+G003544\n+G003550\n+G003558\n+G003570\n+G003576\n+G003579\n+G003588\n+G003589\n+G003592\n+G003593\n+G003594\n+G003596\n+G003601\n+G003602\n+G003611\n+G003612\n+G003619\n+G003625\n+G003628\n+G003634\n+G003637\n+G003643\n+G003645\n+G003648\n+G003649\n+G003661\n+G003670\n+G003678\n+G003688\n+G003695\n+G003699\n+G003701\n+G003709\n+G003729\n+G003733\n+G003746\n+G003747\n+G003758\n+G003760\n+G003766\n+G003770\n+G003776\n+G003784\n+G003791\n+G003794\n+G003800\n+G003808\n+G003818\n+G003823\n+G003828\n+G003836\n+G003838\n+G003843\n+G003847\n+G003850\n+G003865\n+G003881\n+G003892\n+G003898\n+G003901\n+G003902\n+G003903\n+G003905\n+G003906\n+G003912\n+G003915\n+G003919\n+G003928\n+G003931\n+G003936\n+G003938\n+G003948\n+G003949\n+G003953\n+G003956\n+G003962\n+G003964\n+G003971\n+G003972\n+G003980\n+G003997\n+G004004\n+G004007\n+G004009\n+G004011\n+G004014\n+G004021\n+G004022\n+G004034\n+G004037\n+G004040\n+G004044\n+G004051\n+G004059\n+G004061\n+G004064\n+G004082\n+G004086\n+G004088\n+G004095\n+G004096\n+G004099\n+G004104\n+G004108\n+G004113\n+G004115\n+G004118\n+G004119\n+G004120\n+G004121\n+G004123\n+G004131\n+G004136\n+G004137\n+G004144\n+G004151\n+G004160\n+G004161\n+G004170\n+G004173\n+G004187\n+G004191\n+G004192\n+G004203\n+G004206\n+G004210\n+G004213\n+G004220\n+G004237\n+G004239\n+G004241\n+G004243\n+G004245\n+G004258\n+G004260\n+G004262\n+G004273\n+G004276\n+G004290\n+G004299\n+G004302\n+G004307\n+G004321\n+G004324\n+G004325\n+G004328\n+G004329\n+G004330\n+G004331\n+G004332\n+G004334\n+G004346\n+G004349\n+G004350\n+G004351\n+G004353\n+G004365\n+G004373\n+G004377\n+G004389\n+G004391\n+G004392\n+G004394\n+G004398\n+G004404\n+G004410\n+G004411\n+G004420\n+G004421\n+G004424\n+G004428\n+G004431\n+G004435\n+G004438\n+G004439\n+G004445\n+G004455\n+G004458\n+G004462\n+G004466\n+G004467\n+G004468\n+G004469\n+G004470\n+G004471\n+G004473\n+G004475\n+G004477\n+G004478\n+G004479\n+G004481\n+G004484\n+G004485\n+G004487\n+G004491\n+G004492\n+G004501\n+G004520\n+G004532\n+G004535\n+G004537\n+G004539\n+G004543\n+G004545\n+G004547\n+G004551\n+G004554\n+G004556\n+G004558\n+G004565\n+G004568\n+G004577\n+G004578\n+G004580\n+G004589\n+G004593\n+G004604\n+G004610\n+G004612\n+G004618\n+G004623\n+G004625\n+G004635\n+G004643\n+G004648\n+G004649\n+G004657\n+G004671\n+G004679\n+G004693\n+G004695\n+G004697\n+G004698\n+G004699\n+G004703\n+G004704\n+G004712\n+G004713\n+G004714\n+G004715\n+G004718\n+G004729\n+G004730\n+G004733\n+G004735\n+G004740\n+G004743\n+G004745\n+G004749\n+G004753\n+G004755\n+G004762\n+G004768\n+G004772\n+G004783\n+G004784\n+G004789\n+G004793\n+G004795\n+G004814\n+G004829\n+G004832\n+G004850\n+G004855\n+G004856\n+G004860\n+G004863\n+G004867\n+G004874\n+G004883\n+G004885\n+G004887\n+G004892\n+G004895\n+G004907\n+G004922\n+G004925\n+G004932\n+G004934\n+G004944\n+G004947\n+G004967\n+G004972\n+G004980\n+G004982\n+G004988\n+G004989\n+G004992\n+G004999\n+G005001\n+G005002\n+G005014\n+G005019\n+G005021\n+G005023\n+G005024\n+G005031\n+G005033\n+G005043\n+G005044\n+G005050\n+G005053\n+G005055\n+G005073\n+G005089\n+G005091\n+G005094\n+G005095\n+G005105\n+G005114\n+G005118\n+G005119\n+G005121\n+G005126\n+G005131\n+G005138\n+G005142\n+G005148\n+G005149\n+G005154\n+G005159\n+G005167\n+G005169\n+G005172\n+G005173\n+G005175\n+G005176\n+G005178\n+G005182\n+G005184\n+G005185\n+G005188\n+G005192\n+G005196\n+G005198\n+G005199\n+G005200\n+G005201\n+G005202\n+G005203\n+G005204\n+G005212\n+G005214\n+G005220\n+G005222\n+G005227\n+G005231\n+G005234\n+G005237\n+G005241\n+G005243\n+G005248\n+G005250\n+G005254\n+G005255\n+G005259\n+G005263\n+G005264\n+G005265\n+G005266\n+G005268\n+G005269\n+G005273\n+G005274\n+G005276\n'
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/RPKM.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/RPKM.txt Sun Nov 26 19:09:40 2017 -0500
b
@@ -0,0 +1,417 @@
+G000005
+G000008
+G000009
+G000012
+G000028
+G000029
+G000030
+G000061
+G000101
+G000147
+G000165
+G000177
+G000185
+G000195
+G000237
+G000259
+G000262
+G000302
+G000305
+G000306
+G000311
+G000316
+G000355
+G000356
+G000370
+G000376
+G000377
+G000381
+G000412
+G000418
+G000420
+G000426
+G000447
+G000490
+G000514
+G000517
+G000547
+G000581
+G000665
+G000696
+G000701
+G000704
+G000705
+G000711
+G000714
+G000715
+G000717
+G000720
+G000721
+G000722
+G000725
+G000726
+G000728
+G000749
+G000783
+G000824
+G000851
+G000857
+G000899
+G000902
+G000934
+G000951
+G000962
+G000966
+G000984
+G000985
+G000987
+G001006
+G001007
+G001029
+G001043
+G001045
+G001051
+G001053
+G001061
+G001093
+G001102
+G001105
+G001107
+G001112
+G001115
+G001123
+G001136
+G001171
+G001189
+G001218
+G001226
+G001247
+G001283
+G001287
+G001288
+G001317
+G001319
+G001328
+G001343
+G001351
+G001352
+G001359
+G001360
+G001362
+G001386
+G001409
+G001431
+G001461
+G001467
+G001507
+G001525
+G001539
+G001547
+G001554
+G001560
+G001565
+G001575
+G001598
+G001605
+G001620
+G001623
+G001630
+G001633
+G001640
+G001649
+G001650
+G001651
+G001703
+G001704
+G001725
+G001729
+G001736
+G001748
+G001751
+G001753
+G001760
+G001765
+G001771
+G001772
+G001780
+G001791
+G001819
+G001820
+G001840
+G001880
+G001889
+G001890
+G001891
+G001899
+G001904
+G001926
+G001951
+G001975
+G001976
+G001983
+G001987
+G001993
+G001995
+G001998
+G002001
+G002011
+G002024
+G002044
+G002048
+G002050
+G002053
+G002054
+G002055
+G002077
+G002097
+G002101
+G002153
+G002180
+G002199
+G002202
+G002231
+G002254
+G002267
+G002282
+G002297
+G002309
+G002331
+G002332
+G002333
+G002346
+G002361
+G002368
+G002369
+G002373
+G002383
+G002384
+G002385
+G002416
+G002453
+G002462
+G002475
+G002488
+G002497
+G002518
+G002533
+G002551
+G002566
+G002569
+G002594
+G002595
+G002601
+G002610
+G002616
+G002626
+G002628
+G002641
+G002648
+G002658
+G002682
+G002691
+G002693
+G002702
+G002709
+G002710
+G002711
+G002722
+G002755
+G002779
+G002784
+G002797
+G002833
+G002834
+G002885
+G002894
+G002896
+G002899
+G002902
+G002928
+G002953
+G002967
+G002968
+G002969
+G002972
+G002975
+G002981
+G002992
+G002998
+G003023
+G003041
+G003059
+G003075
+G003080
+G003082
+G003093
+G003113
+G003125
+G003142
+G003154
+G003173
+G003177
+G003208
+G003220
+G003222
+G003229
+G003230
+G003304
+G003305
+G003315
+G003317
+G003322
+G003366
+G003388
+G003403
+G003464
+G003486
+G003502
+G003511
+G003539
+G003543
+G003550
+G003558
+G003579
+G003589
+G003592
+G003593
+G003594
+G003602
+G003611
+G003619
+G003628
+G003634
+G003645
+G003747
+G003828
+G003843
+G003847
+G003865
+G003881
+G003901
+G003902
+G003905
+G003912
+G003919
+G003948
+G003962
+G003964
+G004004
+G004034
+G004051
+G004064
+G004095
+G004096
+G004099
+G004113
+G004119
+G004131
+G004136
+G004160
+G004161
+G004170
+G004187
+G004192
+G004210
+G004239
+G004241
+G004258
+G004260
+G004273
+G004293
+G004299
+G004307
+G004324
+G004329
+G004330
+G004349
+G004351
+G004353
+G004373
+G004391
+G004428
+G004466
+G004468
+G004469
+G004471
+G004475
+G004477
+G004479
+G004487
+G004532
+G004543
+G004545
+G004558
+G004565
+G004577
+G004578
+G004589
+G004612
+G004618
+G004623
+G004649
+G004671
+G004712
+G004713
+G004714
+G004715
+G004718
+G004735
+G004762
+G004768
+G004772
+G004783
+G004789
+G004793
+G004856
+G004887
+G004895
+G004907
+G004922
+G004925
+G004932
+G004934
+G004967
+G004992
+G005019
+G005024
+G005043
+G005055
+G005089
+G005094
+G005095
+G005105
+G005119
+G005126
+G005131
+G005154
+G005159
+G005167
+G005169
+G005175
+G005176
+G005180
+G005185
+G005188
+G005192
+G005198
+G005201
+G005202
+G005203
+G005212
+G005214
+G005222
+G005241
+G005243
+G005246
+G005248
+G005250
+G005254
+G005255
+G005259
+G005263
+G005264
+G005266
+G005268
+G005269
+G005273
+G005276
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/TC.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/TC.txt Sun Nov 26 19:09:40 2017 -0500
b
@@ -0,0 +1,548 @@
+G000005
+G000008
+G000009
+G000012
+G000026
+G000028
+G000029
+G000030
+G000061
+G000082
+G000101
+G000147
+G000165
+G000167
+G000177
+G000185
+G000195
+G000236
+G000237
+G000256
+G000259
+G000262
+G000276
+G000302
+G000305
+G000306
+G000311
+G000316
+G000318
+G000355
+G000356
+G000365
+G000376
+G000377
+G000381
+G000391
+G000412
+G000418
+G000420
+G000426
+G000431
+G000447
+G000490
+G000493
+G000514
+G000517
+G000547
+G000581
+G000605
+G000663
+G000665
+G000669
+G000696
+G000701
+G000704
+G000705
+G000706
+G000711
+G000714
+G000715
+G000716
+G000717
+G000720
+G000721
+G000725
+G000726
+G000728
+G000749
+G000751
+G000783
+G000805
+G000832
+G000851
+G000857
+G000899
+G000902
+G000931
+G000934
+G000951
+G000962
+G000966
+G000984
+G000985
+G000987
+G001006
+G001007
+G001026
+G001043
+G001045
+G001051
+G001052
+G001053
+G001061
+G001093
+G001102
+G001105
+G001107
+G001112
+G001115
+G001123
+G001136
+G001160
+G001171
+G001184
+G001189
+G001193
+G001197
+G001218
+G001219
+G001226
+G001247
+G001283
+G001285
+G001287
+G001288
+G001317
+G001319
+G001328
+G001333
+G001343
+G001351
+G001352
+G001359
+G001360
+G001362
+G001386
+G001409
+G001431
+G001461
+G001467
+G001469
+G001483
+G001507
+G001534
+G001539
+G001547
+G001550
+G001554
+G001560
+G001565
+G001567
+G001575
+G001598
+G001605
+G001609
+G001620
+G001623
+G001629
+G001630
+G001633
+G001634
+G001635
+G001640
+G001647
+G001649
+G001650
+G001651
+G001703
+G001704
+G001724
+G001725
+G001729
+G001732
+G001736
+G001737
+G001748
+G001751
+G001753
+G001760
+G001765
+G001771
+G001772
+G001780
+G001785
+G001791
+G001794
+G001819
+G001820
+G001831
+G001840
+G001874
+G001880
+G001883
+G001888
+G001889
+G001890
+G001891
+G001899
+G001901
+G001904
+G001926
+G001934
+G001951
+G001975
+G001976
+G001983
+G001985
+G001987
+G001993
+G001995
+G001998
+G002001
+G002011
+G002024
+G002040
+G002044
+G002048
+G002050
+G002053
+G002054
+G002055
+G002056
+G002062
+G002077
+G002097
+G002101
+G002131
+G002153
+G002187
+G002191
+G002195
+G002199
+G002202
+G002206
+G002215
+G002224
+G002231
+G002234
+G002237
+G002254
+G002267
+G002282
+G002288
+G002297
+G002309
+G002310
+G002331
+G002332
+G002333
+G002336
+G002343
+G002346
+G002361
+G002362
+G002368
+G002369
+G002373
+G002383
+G002384
+G002385
+G002392
+G002416
+G002453
+G002462
+G002475
+G002488
+G002497
+G002510
+G002533
+G002551
+G002569
+G002582
+G002594
+G002595
+G002601
+G002610
+G002616
+G002626
+G002628
+G002641
+G002648
+G002658
+G002682
+G002690
+G002691
+G002693
+G002702
+G002709
+G002710
+G002711
+G002722
+G002750
+G002755
+G002767
+G002775
+G002779
+G002780
+G002784
+G002796
+G002797
+G002833
+G002834
+G002874
+G002880
+G002885
+G002886
+G002888
+G002893
+G002894
+G002895
+G002896
+G002899
+G002901
+G002902
+G002912
+G002922
+G002928
+G002953
+G002966
+G002967
+G002968
+G002969
+G002972
+G002975
+G002981
+G002992
+G002998
+G003014
+G003023
+G003041
+G003059
+G003075
+G003077
+G003078
+G003080
+G003089
+G003093
+G003113
+G003125
+G003142
+G003153
+G003154
+G003177
+G003208
+G003218
+G003219
+G003220
+G003222
+G003229
+G003230
+G003232
+G003240
+G003269
+G003304
+G003305
+G003315
+G003317
+G003322
+G003340
+G003359
+G003362
+G003366
+G003368
+G003388
+G003390
+G003403
+G003464
+G003486
+G003502
+G003511
+G003539
+G003543
+G003550
+G003558
+G003570
+G003576
+G003579
+G003589
+G003592
+G003593
+G003594
+G003596
+G003611
+G003619
+G003625
+G003628
+G003634
+G003645
+G003678
+G003699
+G003709
+G003729
+G003746
+G003747
+G003760
+G003794
+G003828
+G003838
+G003843
+G003847
+G003865
+G003881
+G003901
+G003902
+G003905
+G003912
+G003919
+G003936
+G003948
+G003962
+G003964
+G004004
+G004009
+G004034
+G004061
+G004064
+G004086
+G004095
+G004096
+G004099
+G004113
+G004118
+G004119
+G004131
+G004136
+G004151
+G004160
+G004161
+G004170
+G004187
+G004192
+G004206
+G004210
+G004213
+G004241
+G004258
+G004260
+G004262
+G004273
+G004276
+G004293
+G004299
+G004307
+G004324
+G004329
+G004330
+G004349
+G004350
+G004351
+G004353
+G004365
+G004373
+G004389
+G004394
+G004424
+G004428
+G004431
+G004438
+G004445
+G004466
+G004468
+G004469
+G004471
+G004473
+G004475
+G004477
+G004478
+G004479
+G004487
+G004492
+G004532
+G004537
+G004543
+G004554
+G004556
+G004558
+G004565
+G004577
+G004578
+G004589
+G004612
+G004618
+G004623
+G004649
+G004671
+G004693
+G004712
+G004713
+G004714
+G004715
+G004718
+G004733
+G004735
+G004749
+G004753
+G004762
+G004768
+G004772
+G004783
+G004793
+G004856
+G004863
+G004887
+G004895
+G004907
+G004922
+G004925
+G004932
+G004934
+G004967
+G004992
+G005019
+G005021
+G005023
+G005024
+G005043
+G005044
+G005050
+G005053
+G005055
+G005089
+G005094
+G005095
+G005105
+G005119
+G005126
+G005131
+G005138
+G005154
+G005159
+G005169
+G005175
+G005176
+G005180
+G005185
+G005188
+G005192
+G005198
+G005201
+G005202
+G005203
+G005212
+G005214
+G005222
+G005241
+G005243
+G005246
+G005248
+G005250
+G005254
+G005255
+G005263
+G005264
+G005266
+G005268
+G005269
+G005273
+G005276
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/TMM.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/TMM.txt Sun Nov 26 19:09:40 2017 -0500
b
b'@@ -0,0 +1,1190 @@\n+G000002\n+G000005\n+G000008\n+G000009\n+G000012\n+G000022\n+G000023\n+G000024\n+G000026\n+G000027\n+G000028\n+G000029\n+G000030\n+G000031\n+G000041\n+G000061\n+G000078\n+G000080\n+G000082\n+G000095\n+G000098\n+G000101\n+G000114\n+G000116\n+G000129\n+G000144\n+G000147\n+G000165\n+G000167\n+G000177\n+G000180\n+G000181\n+G000185\n+G000186\n+G000194\n+G000195\n+G000197\n+G000203\n+G000215\n+G000218\n+G000231\n+G000232\n+G000236\n+G000237\n+G000238\n+G000242\n+G000253\n+G000254\n+G000256\n+G000259\n+G000261\n+G000262\n+G000268\n+G000270\n+G000273\n+G000274\n+G000276\n+G000301\n+G000302\n+G000304\n+G000305\n+G000306\n+G000309\n+G000311\n+G000316\n+G000317\n+G000318\n+G000323\n+G000338\n+G000339\n+G000352\n+G000355\n+G000356\n+G000358\n+G000362\n+G000365\n+G000370\n+G000376\n+G000377\n+G000381\n+G000391\n+G000404\n+G000405\n+G000411\n+G000412\n+G000418\n+G000419\n+G000420\n+G000426\n+G000427\n+G000431\n+G000444\n+G000447\n+G000466\n+G000468\n+G000471\n+G000475\n+G000483\n+G000490\n+G000493\n+G000497\n+G000498\n+G000510\n+G000514\n+G000517\n+G000524\n+G000526\n+G000530\n+G000534\n+G000540\n+G000547\n+G000581\n+G000584\n+G000592\n+G000600\n+G000604\n+G000605\n+G000612\n+G000620\n+G000628\n+G000629\n+G000631\n+G000635\n+G000637\n+G000646\n+G000660\n+G000663\n+G000665\n+G000668\n+G000669\n+G000696\n+G000701\n+G000704\n+G000705\n+G000706\n+G000709\n+G000711\n+G000714\n+G000715\n+G000716\n+G000717\n+G000720\n+G000721\n+G000722\n+G000725\n+G000726\n+G000728\n+G000730\n+G000737\n+G000742\n+G000748\n+G000749\n+G000751\n+G000754\n+G000759\n+G000772\n+G000783\n+G000788\n+G000790\n+G000805\n+G000810\n+G000824\n+G000827\n+G000832\n+G000834\n+G000845\n+G000851\n+G000857\n+G000865\n+G000872\n+G000875\n+G000879\n+G000890\n+G000894\n+G000896\n+G000899\n+G000902\n+G000904\n+G000909\n+G000927\n+G000929\n+G000931\n+G000934\n+G000942\n+G000944\n+G000951\n+G000962\n+G000966\n+G000976\n+G000982\n+G000984\n+G000985\n+G000987\n+G000988\n+G000994\n+G001001\n+G001006\n+G001007\n+G001015\n+G001022\n+G001026\n+G001029\n+G001032\n+G001043\n+G001045\n+G001049\n+G001051\n+G001052\n+G001053\n+G001061\n+G001072\n+G001073\n+G001080\n+G001083\n+G001090\n+G001093\n+G001102\n+G001105\n+G001107\n+G001108\n+G001110\n+G001112\n+G001115\n+G001116\n+G001119\n+G001121\n+G001123\n+G001136\n+G001146\n+G001155\n+G001160\n+G001169\n+G001171\n+G001179\n+G001180\n+G001184\n+G001189\n+G001193\n+G001195\n+G001197\n+G001201\n+G001210\n+G001215\n+G001218\n+G001219\n+G001226\n+G001227\n+G001232\n+G001238\n+G001240\n+G001241\n+G001244\n+G001246\n+G001247\n+G001271\n+G001275\n+G001278\n+G001279\n+G001281\n+G001283\n+G001285\n+G001287\n+G001288\n+G001289\n+G001296\n+G001306\n+G001317\n+G001319\n+G001324\n+G001325\n+G001328\n+G001333\n+G001343\n+G001344\n+G001351\n+G001352\n+G001353\n+G001355\n+G001359\n+G001360\n+G001362\n+G001364\n+G001374\n+G001379\n+G001385\n+G001386\n+G001393\n+G001394\n+G001409\n+G001424\n+G001425\n+G001431\n+G001433\n+G001434\n+G001451\n+G001457\n+G001461\n+G001465\n+G001467\n+G001469\n+G001474\n+G001478\n+G001483\n+G001495\n+G001507\n+G001509\n+G001510\n+G001517\n+G001525\n+G001528\n+G001534\n+G001539\n+G001542\n+G001547\n+G001550\n+G001554\n+G001559\n+G001560\n+G001565\n+G001567\n+G001570\n+G001575\n+G001578\n+G001579\n+G001581\n+G001597\n+G001598\n+G001604\n+G001605\n+G001606\n+G001609\n+G001620\n+G001623\n+G001626\n+G001628\n+G001629\n+G001630\n+G001633\n+G001634\n+G001635\n+G001640\n+G001644\n+G001645\n+G001646\n+G001647\n+G001649\n+G001650\n+G001651\n+G001657\n+G001665\n+G001668\n+G001671\n+G001687\n+G001694\n+G001697\n+G001703\n+G001704\n+G001707\n+G001711\n+G001724\n+G001725\n+G001726\n+G001729\n+G001732\n+G001736\n+G001737\n+G001746\n+G001748\n+G001749\n+G001751\n+G001753\n+G001756\n+G001760\n+G001765\n+G001766\n+G001771\n+G001772\n+G001776\n+G001780\n+G001785\n+G001787\n+G001791\n+G001794\n+G001802\n+G001808\n+G001809\n+G001810\n+G001812\n+G001819\n+G001820\n+G001825\n+G001831\n+G001836\n+G001840\n+G001854\n+G001874\n+G001877\n+G001878\n+G001880\n+G001883\n+G001888\n+G001889\n+G001890\n+G001891\n+G001893\n+G001895\n+G001897\n+G001899\n+G001901\n+G001904\n+G001906\n+G001910\n+G001926\n+G001929\n+G001934\n+G001936\n+G001937\n+G001940\n+G001941\n+G001944\n+G001949\n+G001951\n+G001952\n+G001960\n+G001968\n+G001970\n+G001972\n+G001975\n+G001976\n+G001978\n+G001983\n+G001985\n+G001987\n+G001991\n+G001993\n+G001995\n+G001997\n+G001998\n+G002001\n+G002007\n+G002010\n+G002011\n+G'..b'02\n+G003304\n+G003305\n+G003306\n+G003308\n+G003315\n+G003317\n+G003318\n+G003322\n+G003326\n+G003337\n+G003340\n+G003342\n+G003344\n+G003359\n+G003362\n+G003366\n+G003368\n+G003375\n+G003381\n+G003388\n+G003390\n+G003397\n+G003403\n+G003411\n+G003427\n+G003440\n+G003441\n+G003446\n+G003464\n+G003474\n+G003480\n+G003486\n+G003500\n+G003502\n+G003503\n+G003511\n+G003522\n+G003538\n+G003539\n+G003542\n+G003543\n+G003550\n+G003558\n+G003570\n+G003576\n+G003579\n+G003588\n+G003589\n+G003592\n+G003593\n+G003594\n+G003596\n+G003601\n+G003602\n+G003611\n+G003612\n+G003619\n+G003625\n+G003628\n+G003634\n+G003637\n+G003643\n+G003645\n+G003648\n+G003649\n+G003661\n+G003670\n+G003678\n+G003695\n+G003699\n+G003701\n+G003709\n+G003729\n+G003733\n+G003746\n+G003747\n+G003751\n+G003760\n+G003766\n+G003770\n+G003776\n+G003784\n+G003791\n+G003792\n+G003794\n+G003800\n+G003808\n+G003818\n+G003823\n+G003828\n+G003836\n+G003838\n+G003843\n+G003847\n+G003850\n+G003865\n+G003876\n+G003881\n+G003891\n+G003892\n+G003898\n+G003901\n+G003902\n+G003903\n+G003904\n+G003905\n+G003906\n+G003912\n+G003915\n+G003919\n+G003922\n+G003928\n+G003929\n+G003931\n+G003936\n+G003938\n+G003943\n+G003948\n+G003949\n+G003953\n+G003956\n+G003962\n+G003964\n+G003971\n+G003972\n+G003980\n+G004004\n+G004007\n+G004009\n+G004011\n+G004014\n+G004021\n+G004022\n+G004026\n+G004034\n+G004040\n+G004044\n+G004051\n+G004059\n+G004061\n+G004064\n+G004081\n+G004082\n+G004086\n+G004087\n+G004088\n+G004089\n+G004095\n+G004096\n+G004099\n+G004104\n+G004108\n+G004113\n+G004118\n+G004119\n+G004120\n+G004123\n+G004131\n+G004136\n+G004137\n+G004144\n+G004151\n+G004160\n+G004161\n+G004170\n+G004177\n+G004184\n+G004187\n+G004191\n+G004192\n+G004199\n+G004203\n+G004206\n+G004210\n+G004213\n+G004214\n+G004220\n+G004222\n+G004237\n+G004238\n+G004239\n+G004241\n+G004243\n+G004245\n+G004249\n+G004258\n+G004260\n+G004262\n+G004273\n+G004276\n+G004278\n+G004290\n+G004293\n+G004299\n+G004302\n+G004307\n+G004324\n+G004325\n+G004328\n+G004329\n+G004330\n+G004331\n+G004332\n+G004333\n+G004334\n+G004346\n+G004349\n+G004350\n+G004351\n+G004353\n+G004355\n+G004356\n+G004365\n+G004367\n+G004373\n+G004377\n+G004384\n+G004389\n+G004391\n+G004392\n+G004394\n+G004398\n+G004404\n+G004407\n+G004410\n+G004411\n+G004421\n+G004424\n+G004428\n+G004431\n+G004435\n+G004438\n+G004439\n+G004445\n+G004455\n+G004458\n+G004462\n+G004466\n+G004467\n+G004468\n+G004469\n+G004470\n+G004471\n+G004473\n+G004475\n+G004477\n+G004478\n+G004479\n+G004481\n+G004484\n+G004485\n+G004487\n+G004491\n+G004492\n+G004499\n+G004501\n+G004520\n+G004532\n+G004535\n+G004537\n+G004539\n+G004542\n+G004543\n+G004545\n+G004547\n+G004551\n+G004554\n+G004556\n+G004558\n+G004559\n+G004561\n+G004565\n+G004568\n+G004577\n+G004578\n+G004589\n+G004593\n+G004604\n+G004610\n+G004612\n+G004618\n+G004623\n+G004625\n+G004635\n+G004636\n+G004643\n+G004648\n+G004649\n+G004657\n+G004667\n+G004671\n+G004682\n+G004693\n+G004695\n+G004697\n+G004698\n+G004699\n+G004700\n+G004704\n+G004712\n+G004713\n+G004714\n+G004715\n+G004718\n+G004726\n+G004729\n+G004730\n+G004733\n+G004735\n+G004740\n+G004743\n+G004745\n+G004749\n+G004753\n+G004755\n+G004762\n+G004768\n+G004772\n+G004783\n+G004784\n+G004786\n+G004789\n+G004793\n+G004795\n+G004814\n+G004826\n+G004829\n+G004832\n+G004850\n+G004855\n+G004856\n+G004860\n+G004863\n+G004867\n+G004874\n+G004883\n+G004885\n+G004887\n+G004888\n+G004892\n+G004895\n+G004907\n+G004908\n+G004922\n+G004925\n+G004930\n+G004932\n+G004934\n+G004944\n+G004947\n+G004957\n+G004967\n+G004972\n+G004980\n+G004982\n+G004988\n+G004989\n+G004992\n+G004994\n+G004999\n+G005001\n+G005002\n+G005019\n+G005021\n+G005023\n+G005024\n+G005029\n+G005033\n+G005041\n+G005043\n+G005044\n+G005050\n+G005053\n+G005055\n+G005073\n+G005074\n+G005089\n+G005091\n+G005094\n+G005095\n+G005105\n+G005114\n+G005118\n+G005119\n+G005121\n+G005126\n+G005131\n+G005138\n+G005142\n+G005148\n+G005149\n+G005154\n+G005158\n+G005159\n+G005167\n+G005169\n+G005172\n+G005173\n+G005175\n+G005176\n+G005178\n+G005180\n+G005182\n+G005185\n+G005186\n+G005188\n+G005192\n+G005196\n+G005198\n+G005199\n+G005200\n+G005201\n+G005202\n+G005203\n+G005204\n+G005212\n+G005214\n+G005215\n+G005217\n+G005220\n+G005221\n+G005222\n+G005227\n+G005231\n+G005234\n+G005237\n+G005241\n+G005243\n+G005246\n+G005248\n+G005250\n+G005254\n+G005255\n+G005259\n+G005262\n+G005263\n+G005264\n+G005265\n+G005266\n+G005268\n+G005269\n+G005273\n+G005274\n+G005276\n'
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/UQ.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/UQ.txt Sun Nov 26 19:09:40 2017 -0500
b
b'@@ -0,0 +1,1213 @@\n+G000002\n+G000005\n+G000008\n+G000009\n+G000012\n+G000022\n+G000023\n+G000026\n+G000027\n+G000028\n+G000029\n+G000030\n+G000031\n+G000041\n+G000046\n+G000061\n+G000078\n+G000082\n+G000095\n+G000098\n+G000101\n+G000114\n+G000116\n+G000129\n+G000144\n+G000147\n+G000165\n+G000167\n+G000177\n+G000180\n+G000181\n+G000185\n+G000186\n+G000194\n+G000195\n+G000197\n+G000203\n+G000215\n+G000218\n+G000231\n+G000232\n+G000236\n+G000237\n+G000238\n+G000242\n+G000253\n+G000254\n+G000256\n+G000259\n+G000261\n+G000262\n+G000268\n+G000270\n+G000273\n+G000274\n+G000276\n+G000301\n+G000302\n+G000304\n+G000305\n+G000306\n+G000309\n+G000311\n+G000316\n+G000317\n+G000318\n+G000323\n+G000338\n+G000339\n+G000352\n+G000355\n+G000356\n+G000358\n+G000362\n+G000365\n+G000370\n+G000376\n+G000377\n+G000381\n+G000391\n+G000404\n+G000405\n+G000411\n+G000412\n+G000418\n+G000419\n+G000420\n+G000426\n+G000427\n+G000431\n+G000444\n+G000447\n+G000466\n+G000468\n+G000471\n+G000475\n+G000483\n+G000490\n+G000493\n+G000497\n+G000498\n+G000510\n+G000514\n+G000517\n+G000524\n+G000526\n+G000530\n+G000534\n+G000540\n+G000547\n+G000581\n+G000584\n+G000592\n+G000600\n+G000604\n+G000605\n+G000612\n+G000620\n+G000628\n+G000629\n+G000631\n+G000635\n+G000637\n+G000646\n+G000655\n+G000660\n+G000663\n+G000665\n+G000668\n+G000669\n+G000696\n+G000701\n+G000704\n+G000705\n+G000706\n+G000709\n+G000711\n+G000714\n+G000715\n+G000716\n+G000717\n+G000718\n+G000720\n+G000721\n+G000722\n+G000725\n+G000726\n+G000728\n+G000730\n+G000731\n+G000737\n+G000742\n+G000748\n+G000749\n+G000751\n+G000754\n+G000759\n+G000772\n+G000783\n+G000788\n+G000790\n+G000805\n+G000810\n+G000824\n+G000827\n+G000832\n+G000834\n+G000845\n+G000851\n+G000857\n+G000865\n+G000872\n+G000875\n+G000879\n+G000890\n+G000894\n+G000896\n+G000899\n+G000902\n+G000904\n+G000909\n+G000919\n+G000927\n+G000929\n+G000931\n+G000934\n+G000942\n+G000944\n+G000950\n+G000951\n+G000962\n+G000966\n+G000976\n+G000982\n+G000984\n+G000985\n+G000987\n+G000988\n+G000994\n+G001001\n+G001006\n+G001007\n+G001015\n+G001022\n+G001026\n+G001029\n+G001032\n+G001043\n+G001045\n+G001049\n+G001051\n+G001052\n+G001053\n+G001061\n+G001072\n+G001073\n+G001080\n+G001083\n+G001090\n+G001093\n+G001094\n+G001102\n+G001105\n+G001107\n+G001108\n+G001110\n+G001112\n+G001114\n+G001115\n+G001116\n+G001119\n+G001121\n+G001123\n+G001136\n+G001139\n+G001146\n+G001155\n+G001160\n+G001169\n+G001171\n+G001179\n+G001180\n+G001184\n+G001189\n+G001193\n+G001195\n+G001197\n+G001201\n+G001203\n+G001210\n+G001215\n+G001218\n+G001219\n+G001226\n+G001227\n+G001232\n+G001238\n+G001240\n+G001241\n+G001244\n+G001246\n+G001247\n+G001271\n+G001275\n+G001278\n+G001279\n+G001281\n+G001283\n+G001285\n+G001287\n+G001288\n+G001289\n+G001296\n+G001306\n+G001317\n+G001319\n+G001324\n+G001325\n+G001328\n+G001333\n+G001343\n+G001344\n+G001351\n+G001352\n+G001353\n+G001355\n+G001359\n+G001360\n+G001362\n+G001364\n+G001369\n+G001374\n+G001379\n+G001385\n+G001386\n+G001387\n+G001393\n+G001394\n+G001409\n+G001424\n+G001425\n+G001431\n+G001433\n+G001434\n+G001457\n+G001461\n+G001465\n+G001467\n+G001469\n+G001474\n+G001478\n+G001481\n+G001483\n+G001495\n+G001507\n+G001509\n+G001510\n+G001517\n+G001525\n+G001528\n+G001534\n+G001539\n+G001542\n+G001547\n+G001550\n+G001554\n+G001559\n+G001560\n+G001565\n+G001567\n+G001570\n+G001575\n+G001578\n+G001579\n+G001580\n+G001581\n+G001597\n+G001598\n+G001604\n+G001605\n+G001606\n+G001609\n+G001620\n+G001623\n+G001626\n+G001628\n+G001629\n+G001630\n+G001633\n+G001634\n+G001635\n+G001640\n+G001644\n+G001645\n+G001646\n+G001647\n+G001649\n+G001650\n+G001651\n+G001657\n+G001665\n+G001668\n+G001671\n+G001687\n+G001694\n+G001697\n+G001703\n+G001704\n+G001707\n+G001711\n+G001724\n+G001725\n+G001726\n+G001729\n+G001732\n+G001736\n+G001737\n+G001746\n+G001748\n+G001749\n+G001751\n+G001753\n+G001756\n+G001760\n+G001765\n+G001766\n+G001771\n+G001772\n+G001776\n+G001780\n+G001785\n+G001787\n+G001791\n+G001794\n+G001802\n+G001808\n+G001809\n+G001810\n+G001812\n+G001819\n+G001820\n+G001825\n+G001831\n+G001836\n+G001840\n+G001854\n+G001874\n+G001877\n+G001878\n+G001880\n+G001883\n+G001888\n+G001889\n+G001890\n+G001891\n+G001893\n+G001895\n+G001897\n+G001899\n+G001901\n+G001904\n+G001906\n+G001910\n+G001926\n+G001929\n+G001934\n+G001936\n+G001937\n+G001940\n+G001941\n+G001944\n+G001949\n+G001951\n+G001952\n+G001960\n+G001968\n+G001970\n+G001972\n+G001975\n+G001976\n+G001978\n+G001983\n+G'..b'08\n+G003315\n+G003317\n+G003318\n+G003322\n+G003326\n+G003337\n+G003340\n+G003342\n+G003344\n+G003359\n+G003362\n+G003366\n+G003368\n+G003375\n+G003381\n+G003388\n+G003390\n+G003397\n+G003401\n+G003403\n+G003411\n+G003440\n+G003441\n+G003446\n+G003464\n+G003474\n+G003480\n+G003484\n+G003486\n+G003500\n+G003502\n+G003503\n+G003511\n+G003522\n+G003538\n+G003539\n+G003542\n+G003543\n+G003550\n+G003558\n+G003570\n+G003576\n+G003579\n+G003588\n+G003589\n+G003592\n+G003593\n+G003594\n+G003596\n+G003601\n+G003602\n+G003611\n+G003612\n+G003619\n+G003625\n+G003628\n+G003634\n+G003637\n+G003643\n+G003645\n+G003648\n+G003649\n+G003661\n+G003662\n+G003670\n+G003678\n+G003695\n+G003699\n+G003701\n+G003709\n+G003729\n+G003733\n+G003746\n+G003747\n+G003760\n+G003766\n+G003770\n+G003776\n+G003784\n+G003791\n+G003792\n+G003794\n+G003800\n+G003808\n+G003818\n+G003823\n+G003828\n+G003836\n+G003838\n+G003843\n+G003847\n+G003850\n+G003851\n+G003865\n+G003876\n+G003881\n+G003891\n+G003892\n+G003898\n+G003901\n+G003902\n+G003903\n+G003904\n+G003905\n+G003906\n+G003912\n+G003915\n+G003919\n+G003922\n+G003928\n+G003929\n+G003931\n+G003936\n+G003938\n+G003940\n+G003943\n+G003948\n+G003949\n+G003953\n+G003956\n+G003962\n+G003964\n+G003972\n+G003980\n+G004004\n+G004007\n+G004009\n+G004011\n+G004014\n+G004021\n+G004022\n+G004026\n+G004034\n+G004040\n+G004044\n+G004051\n+G004059\n+G004061\n+G004064\n+G004081\n+G004082\n+G004086\n+G004087\n+G004088\n+G004095\n+G004096\n+G004099\n+G004104\n+G004108\n+G004113\n+G004118\n+G004119\n+G004120\n+G004123\n+G004131\n+G004136\n+G004137\n+G004144\n+G004151\n+G004160\n+G004161\n+G004170\n+G004173\n+G004177\n+G004184\n+G004187\n+G004191\n+G004192\n+G004199\n+G004203\n+G004206\n+G004210\n+G004213\n+G004214\n+G004220\n+G004222\n+G004237\n+G004238\n+G004239\n+G004241\n+G004243\n+G004245\n+G004249\n+G004258\n+G004260\n+G004262\n+G004273\n+G004276\n+G004278\n+G004290\n+G004293\n+G004299\n+G004302\n+G004307\n+G004321\n+G004324\n+G004325\n+G004328\n+G004329\n+G004330\n+G004331\n+G004332\n+G004333\n+G004334\n+G004346\n+G004349\n+G004350\n+G004351\n+G004353\n+G004355\n+G004356\n+G004364\n+G004365\n+G004367\n+G004373\n+G004377\n+G004389\n+G004391\n+G004392\n+G004394\n+G004398\n+G004404\n+G004407\n+G004410\n+G004411\n+G004421\n+G004424\n+G004428\n+G004431\n+G004435\n+G004438\n+G004439\n+G004445\n+G004458\n+G004462\n+G004466\n+G004467\n+G004468\n+G004469\n+G004470\n+G004471\n+G004473\n+G004475\n+G004477\n+G004478\n+G004479\n+G004481\n+G004484\n+G004485\n+G004487\n+G004491\n+G004492\n+G004499\n+G004501\n+G004520\n+G004532\n+G004535\n+G004537\n+G004539\n+G004542\n+G004543\n+G004545\n+G004547\n+G004551\n+G004554\n+G004556\n+G004558\n+G004559\n+G004561\n+G004565\n+G004568\n+G004577\n+G004578\n+G004589\n+G004593\n+G004604\n+G004610\n+G004612\n+G004618\n+G004623\n+G004625\n+G004635\n+G004636\n+G004637\n+G004643\n+G004648\n+G004649\n+G004657\n+G004659\n+G004671\n+G004682\n+G004693\n+G004695\n+G004697\n+G004698\n+G004699\n+G004703\n+G004704\n+G004708\n+G004712\n+G004713\n+G004714\n+G004715\n+G004718\n+G004726\n+G004729\n+G004730\n+G004733\n+G004735\n+G004740\n+G004743\n+G004745\n+G004749\n+G004753\n+G004755\n+G004762\n+G004768\n+G004772\n+G004783\n+G004784\n+G004786\n+G004789\n+G004793\n+G004795\n+G004814\n+G004826\n+G004829\n+G004832\n+G004850\n+G004856\n+G004860\n+G004863\n+G004867\n+G004874\n+G004883\n+G004885\n+G004887\n+G004888\n+G004892\n+G004895\n+G004907\n+G004908\n+G004922\n+G004925\n+G004930\n+G004932\n+G004934\n+G004944\n+G004947\n+G004957\n+G004967\n+G004972\n+G004980\n+G004982\n+G004988\n+G004989\n+G004992\n+G004999\n+G005001\n+G005002\n+G005018\n+G005019\n+G005021\n+G005023\n+G005024\n+G005029\n+G005033\n+G005041\n+G005043\n+G005044\n+G005050\n+G005053\n+G005055\n+G005073\n+G005074\n+G005089\n+G005091\n+G005094\n+G005095\n+G005105\n+G005114\n+G005118\n+G005119\n+G005121\n+G005126\n+G005131\n+G005138\n+G005142\n+G005148\n+G005149\n+G005154\n+G005158\n+G005159\n+G005167\n+G005169\n+G005172\n+G005173\n+G005175\n+G005176\n+G005178\n+G005180\n+G005182\n+G005185\n+G005186\n+G005188\n+G005192\n+G005196\n+G005198\n+G005199\n+G005200\n+G005201\n+G005202\n+G005203\n+G005204\n+G005211\n+G005212\n+G005214\n+G005215\n+G005217\n+G005220\n+G005221\n+G005222\n+G005227\n+G005231\n+G005234\n+G005237\n+G005241\n+G005243\n+G005246\n+G005248\n+G005250\n+G005254\n+G005255\n+G005259\n+G005262\n+G005263\n+G005264\n+G005265\n+G005266\n+G005268\n+G005269\n+G005273\n+G005274\n+G005276\n'
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/venn_diagram_summary.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/venn_diagram_summary.html Sun Nov 26 19:09:40 2017 -0500
[
b'@@ -0,0 +1,228 @@\n+<!DOCTYPE html>\n+<!--\n+# Copyright (C) 2015 INRA\n+#\n+# This program is free software: you can redistribute it and/or modify\n+# it under the terms of the GNU General Public License as published by\n+# the Free Software Foundation, either version 3 of the License, or\n+# (at your option) any later version.\n+#\n+# This program is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY; without even the implied warranty of\n+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+# GNU General Public License for more details.\n+#\n+# You should have received a copy of the GNU General Public License\n+# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n+-->\n+<html>\n+\t<head>\n+\t\t<title>Jvenn+</title>\n+\t\t<meta charset="UTF-8">\n+\t\t<meta name="version" content="2.0.1">\n+\t\t<link rel="stylesheet" href="https://cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></link>\n+\t\t<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"></link>\n+\t\t<style type="text/css">\n+\t\t\t#js-alert {\n+\t\t\t\twidth: 90%;\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t}\n+\t\t\t#content {\n+\t\t\t\twidth: 90%;\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t}\n+\t\t\t.clear {\n+\t\t\t\tclear: both;\n+\t\t\t\theight: 0px;\n+\t\t\t\twidth: 100%;\n+\t\t\t\tfloat: none !important;\n+\t\t\t}\n+\t\t\tul.nav-tabs {\n+\t\t\t\tmargin-bottom: 30px;\n+\t\t\t}\n+\t\t\t#venn-filters {\n+\t\t\t\tpadding: 10px;\n+\t\t\t\tbackground-color: #FFF;\n+\t\t\t\tbackground-clip: padding-box;\n+\t\t\t\tborder: 1px solid rgba(0, 0, 0, 0.15);\n+\t\t\t\tborder-radius: 4px;\n+\t\t\t\tbox-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t\tmargin-bottom: 30px;\n+\t\t\t}\n+\t\t\t#byFilters-jvenn {\n+\t\t\t\tmargin-right: auto;\n+\t\t\t\tmargin-left: auto;\n+\t\t\t}\n+\t\t\t#venn-filters ul {\n+\t\t\t\tlist-style-type: none;\n+\t\t\t}\n+\t\t</style>\n+\n+\t\t<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>\n+\t\t<script type="text/javascript" src="http://code.highcharts.com/4.1.4/highcharts.js"></script>\n+\t\t<script type="text/javascript" src="http://code.highcharts.com/4.1.4/modules/exporting.js"></script>\n+\t\t<script type="text/javascript" src="https://cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>\n+\t\t<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>\n+\t\t<script type="text/javascript">\n+\t\t\t/***************************************************************\n+\t\t\t*  Copyright notice\n+\t\t\t*\n+\t\t\t*  (c) 2014 PF bioinformatique de Toulouse\n+\t\t\t*  All rights reserved\n+\t\t\t* \n+\t\t\t*\n+\t\t\t*  This script is an adaptation of the venny script developed by\n+\t\t\t*  Juan Carlos Oliveros, BioinfoGP, CNB-CSIC:\n+\t\t\t*  Oliveros, J.C. (2007) VENNY. An interactive tool for comparing \n+\t\t\t*  lists with Venn Diagrams.\n+\t\t\t*  http://bioinfogp.cnb.csic.es/tools/venny/index.html.\n+\t\t\t*  It is distributed under the terms of the GNU General Public \n+\t\t\t*  License as published by the Free Software Foundation; either \n+\t\t\t*  version 2 of the License, or (at your option) any later version.\n+\t\t\t*\n+\t\t\t*  The GNU General Public License can be found at\n+\t\t\t*  http://www.gnu.org/copyleft/gpl.html.\n+\t\t\t*\n+\t\t\t*  This script is distributed in the hope that it will be useful,\n+\t\t\t*  but WITHOUT ANY WARRANTY; without even the implied warranty of\n+\t\t\t*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+\t\t\t*  GNU General Public License for more details.\n+\t\t\t*\n+\t\t\t*  This copyright notice MUST APPEAR in all copies of the script!\n+\t\t\t***************************************************************/\n+\t\t\t!function(){"use strict";function s(s,t){var e,l=Object.keys(t);for(e=0;e<l.length;e++)s=s.replace(new RegExp("\\\\{"+l[e]+"\\\\}","gi"),t[l[e]]);return s}function t(s){var t,e,l;if(!s)throw new Error("cannot create a random attribute name for an undefined object");t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",e="";do for(e="",l=0;12>l;l++)e+=t[Math.floor(Math.random()*t.length)];'..b'"G005154", "G004095", "G001107", "G001105", "G002894", "G001319", "G002896", "G002488", "G001317", "G002953", "G003902", "G003579", "G002551", "G004895", "G002001", "G001951", "G001819", "G002797", "G001771", "G001772", "G001554", "G000705", "G000704", "G000701", "G000951", "G001650", "G001651", "G002077", "G003075", "G001006", "G000259", "G004187", "G004565", "G004131", "G004136", "G003208", "G003611", "G005119", "G004762", "G005269", "G005268", "G004768", "G005264", "G005263", "G004299", "G002097", "G000311", "G000316", "G004612", "G005212", "G004349", "G004618", "G001136", "G000101", "G001045", "G001043", "G000005", "G003539", "G003220", "G002755", "G002453", "G005105", "G000030", "G002282"], "ABCDF": [], "BCEF": [], "CDE": [], "CDF": [], "CDEF": ["G004293", "G005246"], "ABE": ["G002821", "G004455", "G003971", "G000024", "G004855"], "ABCD": [], "ABCEF": ["G004239", "G003173", "G004545", "G004051", "G002566", "G002518", "G001525", "G000722", "G001029", "G004391", "G000370", "G003082", "G003602", "G002180", "G005167", "G004789", "G000824", "G005259"], "BDE": [], "ACDE": []}, "name": {"A": "DESeq", "C": "RPKM", "B": "FQ", "E": "TMM", "D": "TC", "F": "UQ"}}], "displaySwitch": "true", "shortNumber": "true", "displayStat": "true"} ;\n+$(document).ready(function(){\n+  $(\'#example\').jvenn(jvenn_data);\n+});\n+\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t//\n+\t\t\t// Data\n+\t\t\t//\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t//var processed_filters = ###PORCESSED_FILTERS### ;\n+\t\t\t/* Example:\n+\t\t\t\t[\'filterA\', \'filterB\', \'filterC\']\n+\t\t\t*/\n+\t\t\t//var global_results = ###GLOBAL_RESULTS### ; \n+\t\t\t/* Example: \n+\t\t\t\t{\n+\t\t\t\t\t\'nb_clstr_kept\': 100,\n+\t\t\t\t\t\'nb_clstr_ini\': 300,\n+\t\t\t\t\t\'nb_seq_kept\': 100,\n+\t\t\t\t\t\'nb_seq_ini\': 100000\n+\t\t\t\t}\n+\t\t\t*/\n+\t\t\t//var by_samples_results =\xc2\xa0###SAMPLES_RESULTS### ;\n+\t\t\t/* Example:\n+\t\t\t\t{\n+\t\t\t\t\t\'sampleA\':{\n+\t\t\t\t\t\t\'filtered\':{\n+\t\t\t\t\t\t\t\'filterA\': 10,\n+\t\t\t\t\t\t\t\'filterB\': 20\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\'initial\': 75,\n+\t\t\t\t\t\t\'kept\': 50\n+\t\t\t\t\t},\n+\t\t\t\t\t\'sampleB\':{\n+\t\t\t\t\t\t\'filtered\':{\n+\t\t\t\t\t\t\t\'filterB\': 20,\n+\t\t\t\t\t\t},\n+\t\t\t\t\t\t\'initial\': 110,\n+\t\t\t\t\t\t\'kept\': 90\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t*/\n+\t\t\t//var by_filters_results =\xc2\xa0###FILTERS_RESULTS### ;\n+\t\t\t/* Example:\n+\t\t\t\t[\n+\t\t\t\t\t{\'filters\':[\'filterA\'], \'count\': 10},\n+\t\t\t\t\t{\'filters\':[\'filterB\'], \'count\': 20},\n+\t\t\t\t\t{\'filters\':[\'filterC\'], \'count\': 30},\n+\t\t\t\t\t{\'filters\':[\'filterA\', \'filterB\'], \'count\': 1},\n+\t\t\t\t\t{\'filters\':[\'filterA\', \'filterC\'], \'count\': 2},\n+\t\t\t\t\t{\'filters\':[\'filterB\', \'filterC\'], \'count\': 3},\n+\t\t\t\t\t{\'filters\':[\'filterA\', \'filterB\', \'filterC\'], \'count\': 4}\n+\t\t\t\t];\n+\t\t\t*/\n+\t\t\t\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t//\n+\t\t\t// Main\n+\t\t\t//\n+\t\t\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n+\t\t\t$(function() {\n+\t\t\t\t// Remove alert\n+\t\t\t\t$(\'#js-alert\').remove();\n+\t\t\t\t$(\'#content\').removeClass("hidden");\n+\t\t\t\t\n+\t\t\t\t// Load active tab\n+\t\t\t\tglobal_filters_load();\n+\t\t\t\tintersections_filters_load();\n+\t\t\t\t\n+\t\t\t\t// Add tab listener\n+\t\t\t\t$(\'.nav-tabs a\').click(function (e) {\n+\t\t\t\t\te.preventDefault();\n+\t\t\t\t\t$(this).tab(\'show\');\n+\t\t\t\t\tif( $(this).attr(\'href\') == "#view-by-samples" && $(\'#view-by-samples\').hasClass(\'disabled\') ){\n+\t\t\t\t\t\t$(\'#view-by-samples\').removeClass(\'disabled\')\n+\t\t\t\t\t\tsamples_filters_load( "filter-log" );\n+\t\t\t\t\t}\n+\t\t\t\t})\n+\t\t\t});\n+\t\t</script>\n+\n+\t</head>\n+\t<body>\n+\t\t<!-- Alert -->\n+\t\t<p id="js-alert" class="alert alert-warning">\n+                javascript is needed to display data.<br />\n+                If you try to view this data on galaxy please contact your administrator to authorise javascript or download the file to view.\n+\t\t</p>\n+\t\t\n+        <!-- Content -->\n+\t<div id="example"></div>\n+        </div>\n+\n+\t\t\n+\t</body>\n+</html>\n'
b
diff -r 000000000000 -r 9d4f20618ab4 test-data/venn_diagram_text_output.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/venn_diagram_text_output.txt Sun Nov 26 19:09:40 2017 -0500
b
b'@@ -0,0 +1,485 @@\n+FQ_UQ\tFQ_RPKM_TC\tDESeq_FQ_RPKM_TMM_UQ\tDESeq_FQ_TMM_UQ\tFQ\tDESeq_TMM_UQ\tUQ\tFQ_RPKM_TC_TMM_UQ\tDESeq_TC_TMM_UQ\tDESeq_FQ_TC_TMM_UQ\tDESeq\tDESeq_FQ\tDESeq_TMM\tDESeq_FQ_TMM\tDESeq_FQ_UQ\tDESeq_UQ\tFQ_TMM_UQ\tTMM_UQ\tDESeq_RPKM_TC_TMM_UQ\tDESeq_FQ_RPKM_TC_TMM_UQ\tRPKM_TC_TMM_UQ\tFQ_TC_TMM_UQ\t\n+G004321\tG002462\tG004239\tG001344\tG004580\tG001195\tG003283\tG005214\tG001285\tG001197\tG001905\tG002826\tG000080\tG002821\tG000655\tG001203\tG002976\tG001936\tG005180\tG001598\tG004293\tG004118\t\n+G002493\t\tG003173\tG004551\tG001204\tG000114\tG002316\t\tG002062\tG001193\tG000130\tG004420\tG004384\tG004455\tG004703\tG004708\tG000483\tG004930\t\tG000305\tG005246\t\t\n+G001369\t\tG004545\tG001597\tG002864\tG004177\tG000950\t\t\tG001052\tG000349\tG003424\tG002405\tG003971\tG000046\tG003149\t\tG004238\t\tG001343\t\t\t\n+G004173\t\tG004051\tG000748\tG002803\tG001510\tG001094\t\t\tG003936\tG002946\tG000164\tG003427\tG000024\t\tG002637\t\tG000875\t\tG000749\t\t\t\n+G002562\t\tG002566\tG000620\tG003997\tG000742\tG000919\t\t\tG003838\tG004042\tG001536\tG004700\tG004855\t\tG001114\t\tG001275\t\tG005089\t\t\t\n+\t\tG002518\tG000628\tG001436\tG000510\tG003033\t\t\tG004554\tG002598\tG001779\tG002541\t\t\tG002037\t\tG002311\t\tG004967\t\t\t\n+\t\tG001525\tG000629\tG005184\tG002339\tG003401\t\t\tG000391\tG002420\tG003094\tG004994\t\t\t\t\tG003088\t\tG003403\t\t\t\n+\t\tG000722\tG001296\tG003688\tG003039\tG003940\t\t\tG002234\tG002190\tG001994\tG003751\t\t\t\t\tG001657\t\tG001725\t\t\t\n+\t\tG001029\tG003031\tG000569\tG004026\tG003662\t\t\tG002237\tG004395\t\tG004667\t\t\t\t\tG003943\t\tG001729\t\t\t\n+\t\tG004391\tG001726\tG003544\tG000994\tG002781\t\t\tG001985\tG000389\t\tG004089\t\t\t\t\tG001072\t\tG001467\t\t\t\n+\t\tG000370\tG002038\tG001298\tG005074\tG003484\t\t\tG002131\tG001410\t\tG002905\t\t\t\t\tG001509\t\tG001461\t\t\t\n+\t\tG003082\tG002032\tG004121\tG001180\tG001580\t\t\tG003232\tG000053\t\tG002841\t\t\t\t\tG002635\t\tG005250\t\t\t\n+\t\tG003602\tG001687\tG005031\tG003397\tG002176\t\t\tG002336\tG000189\t\tG001451\t\t\t\t\tG000309\t\tG000962\t\t\t\n+\t\tG002180\tG002526\tG001761\tG002226\tG004364\t\t\tG004206\tG001293\t\t\t\t\t\t\tG000471\t\tG000966\t\t\t\n+\t\tG005167\tG001465\tG004037\tG003792\tG005211\t\t\tG003729\tG001291\t\t\t\t\t\t\tG004081\t\tG004096\t\t\t\n+\t\tG004789\tG004491\tG005014\tG000197\tG005018\t\t\tG002912\tG003379\t\t\t\t\t\t\t\t\tG001507\t\t\t\n+\t\tG000824\tG004144\tG001485\tG003008\tG004659\t\t\tG000026\tG002906\t\t\t\t\t\t\t\t\tG004466\t\t\t\n+\t\tG005259\tG001665\tG004679\tG003005\tG004637\t\t\tG000236\tG000222\t\t\t\t\t\t\t\t\tG004543\t\t\t\n+\t\t\tG001668\tG000570\tG004542\tG001481\t\t\tG004365\tG003407\t\t\t\t\t\t\t\t\tG004469\t\t\t\n+\t\t\tG004467\tG000881\tG002029\tG002220\t\t\tG004473\tG003764\t\t\t\t\t\t\t\t\tG003080\t\t\t\n+\t\t\tG002650\tG001563\tG002382\tG000718\t\t\tG002224\tG002974\t\t\t\t\t\t\t\t\tG002628\t\t\t\n+\t\t\tG004462\tG003758\tG004087\tG000731\t\t\tG003390\tG003644\t\t\t\t\t\t\t\t\tG002626\t\t\t\n+\t\t\tG000845\tG001696\tG003326\tG003851\t\t\tG001184\tG002782\t\t\t\t\t\t\t\t\tG003322\t\t\t\n+\t\t\tG004547\tG004115\tG004278\tG001387\t\t\tG004492\tG002172\t\t\t\t\t\t\t\t\tG004649\t\t\t\n+\t\t\tG002146\t\tG005029\tG002455\t\t\tG001469\tG002079\t\t\t\t\t\t\t\t\tG004793\t\t\t\n+\t\t\tG002624\t\tG001364\tG001139\t\t\tG000318\tG003965\t\t\t\t\t\t\t\t\tG004260\t\t\t\n+\t\t\tG002625\t\tG002944\tG003155\t\t\tG004537\tG000773\t\t\t\t\t\t\t\t\tG003142\t\t\t\n+\t\t\tG002620\t\tG002098\t\t\t\tG000751\tG004036\t\t\t\t\t\t\t\t\tG003881\t\t\t\n+\t\t\tG004648\t\tG000604\t\t\t\tG004389\tG001047\t\t\t\t\t\t\t\t\tG004034\t\t\t\n+\t\t\tG004860\t\tG001570\t\t\t\tG003240\tG004140\t\t\t\t\t\t\t\t\tG002899\t\t\t\n+\t\t\tG000362\t\tG000600\t\t\t\tG000706\tG004711\t\t\t\t\t\t\t\t\tG005131\t\t\t\n+\t\t\tG004643\t\tG004559\t\t\t\tG004061\tG000880\t\t\t\t\t\t\t\t\tG000061\t\t\t\n+\t\t\tG004795\t\tG002010\t\t\t\tG004276\tG004716\t\t\t\t\t\t\t\t\tG001890\t\t\t\n+\t\t\tG004334\t\tG002018\t\t\t\tG003153\tG003934\t\t\t\t\t\t\t\t\tG001891\t\t\t\n+\t\t\tG003661\t\tG003318\t\t\t\tG001874\tG003416\t\t\t\t\t\t\t\t\tG002361\t\t\t\n+\t\t\tG000218\t\tG001808\t\t\t\tG003089\tG004838\t\t\t\t\t\t\t\t\tG001899\t\t\t\n+\t\t\tG003143\t\tG003922\t\t\t\tG002922\tG002205\t\t\t\t\t\t\t\t\tG002369\t\t\t\n+\t\t\tG003928\t\tG005158\t\t\t\tG002895\tG002365\t\t\t\t\t\t\t\t\tG002368\t\t\t\n+\t\t\tG001169\t\tG001581\t\t\t\tG003794\tG004085\t\t\t\t\t\t\t\t\tG003041\t\t\t\n+\t\t\tG000273\t\tG000215\t\t\t\tG005021\tG003453\t\t\t\t\t\t\t\t\tG002710\t\t\t\n+\t\t\tG003110\t\tG003144\t\t\t\tG004863\tG003681\t\t\t\t\t\t\t\t\tG002711\t\t\t\n+\t\t\tG001893\t\tG003929\t\t\t\tG005023\tG001788\t\t\t\t\t\t\t\t\tG005222\t\t\t\n+\t\t\tG001895\t\tG004636\t\t\t\tG000365\tG002084\t\t\t\t\t\t\t\t\tG000447\t\t\t\n+\t\t\tG001897\t\tG000865\t\t\t\tG004009\tG001421\t\t\t\t\t\t\t\t\tG002969\t\t\t\n+\t\t\tG004814\t\tG000942\t\t\t\tG001883\tG003174\t\t\t\t\t\t\t\t\tG002968\t\t\t\n+\t\t\tG002085\t\tG004407\t\t\t\tG002310\tG003630\t\t\t\t\t\t\t\t\tG002885\t\t\t\n+\t\t\tG002245\t\tG002712\t\t\t\tG000605\tG002752\t\t\t\t\t\t\t\t\tG000'..b'\t\t\n+\t\t\tG003025\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004131\t\t\t\n+\t\t\tG003342\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004136\t\t\t\n+\t\t\tG002687\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG003208\t\t\t\n+\t\t\tG001289\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG003611\t\t\t\n+\t\t\tG001324\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005119\t\t\t\n+\t\t\tG001325\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004762\t\t\t\n+\t\t\tG001281\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005269\t\t\t\n+\t\t\tG003938\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005268\t\t\t\n+\t\t\tG004022\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004768\t\t\t\n+\t\t\tG003931\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005264\t\t\t\n+\t\t\tG003163\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005263\t\t\t\n+\t\t\tG001517\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004299\t\t\t\n+\t\t\tG001457\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG002097\t\t\t\n+\t\t\tG002051\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG000311\t\t\t\n+\t\t\tG003233\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG000316\t\t\t\n+\t\t\tG003791\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004612\t\t\t\n+\t\t\tG003238\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005212\t\t\t\n+\t\t\tG003480\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004349\t\t\t\n+\t\t\tG003337\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG004618\t\t\t\n+\t\t\tG004470\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG001136\t\t\t\n+\t\t\tG004610\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG000101\t\t\t\n+\t\t\tG000358\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG001045\t\t\t\n+\t\t\tG003800\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG001043\t\t\t\n+\t\t\tG004657\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG000005\t\t\t\n+\t\t\tG004874\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG003539\t\t\t\n+\t\t\tG003808\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG003220\t\t\t\n+\t\t\tG000352\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG002755\t\t\t\n+\t\t\tG004625\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG002453\t\t\t\n+\t\t\tG002228\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG005105\t\t\t\n+\t\t\tG001711\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG000030\t\t\t\n+\t\t\tG004784\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tG002282\t\t\t\n+\t\t\tG004377\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004007\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001179\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000078\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000660\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004392\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002096\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004398\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002093\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG005227\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002705\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002251\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001108\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000592\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001756\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000772\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001825\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002891\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002439\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002489\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002484\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002957\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003474\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002388\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001083\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001080\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002555\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001394\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002843\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001952\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001073\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001810\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001812\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001776\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002414\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002417\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001227\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001495\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001559\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000468\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000810\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000709\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002671\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003375\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004435\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003076\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003296\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000253\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004220\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000254\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001424\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003949\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002458\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000929\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000927\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001578\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004137\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004501\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003612\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004245\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003201\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003972\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004989\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004988\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004755\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004040\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000405\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG005265\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004044\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004980\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004829\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002213\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004290\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003850\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004346\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000317\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001049\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003701\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG003538\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000530\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000534\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG004535\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002757\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002459\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001910\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002751\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002758\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG002320\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG000031\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n+\t\t\tG001032\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9d4f20618ab4 venn_diagram.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/venn_diagram.py Sun Nov 26 19:09:40 2017 -0500
[
@@ -0,0 +1,182 @@
+#!/usr/bin/env python2.7
+
+import os
+import sys
+import json
+import operator
+import argparse
+import re
+from itertools import combinations
+
+CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
+
+##################################################################################################################################################
+# FUNCTIONS
+##################################################################################################################################################

+def isnumber(format, n):
+    """
+    Check if an element is integer or float
+    """
+    float_format = re.compile("^[\-]?[1-9][0-9]*\.?[0-9]+$")
+    int_format = re.compile("^[\-]?[1-9][0-9]*$")
+    test = ""
+    if format == "int":
+        test = re.match(int_format, n)
+    elif format == "float":
+        test = re.match(float_format, n)
+    if test:
+        return True
+    else:
+        return False
+        
+def input_to_dict(inputs):
+    """
+    Parse input and return a dictionary of name and data of each lists/files
+    """
+    comp_dict = {}
+    title_dict = {}
+    c = ["A", "B", "C", "D", "E", "F"]  
+    for i in range(len(inputs)):
+        input_file = inputs[i][0]        
+        name = inputs[i][1]
+        input_type = inputs[i][2]
+        title = c[i]
+        title_dict[title] = name
+        ids = set()
+        if input_type == "file":
+            header = inputs[i][3]
+            ncol = inputs[i][4]
+            file_content = open(input_file, "r").readlines()
+            
+            # 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
+                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
+                #print(file_content[1:13])
+            else:
+                raise ValueError("Please fill in the right format of column number")        
+        else:
+            ids = set()
+            file_content = inputs[i][0].split()
+            
+        ids.update(file_content)
+        comp_dict[title] = ids

+    return comp_dict, title_dict
+    
+def intersect(comp_dict):
+    """
+    Calculate the intersections of input
+    """
+    names = set(comp_dict)
+    for i in range(1, len(comp_dict) + 1):
+        for group in combinations(sorted(comp_dict), i):
+            others = set()
+            [others.add(name) for name in names if name not in group]
+            difference = []
+            intersected = set.intersection(*(comp_dict[k] for k in group))
+            n = "".join(group)
+            if len(others) > 0:
+                difference = intersected.difference(set.union(*(comp_dict[k] for k in others)))
+            yield group, list(intersected), list(difference)    
+
+def diagram(comp_dict, title_dict):
+    """
+    Create json string for jvenn diagram plot
+    """
+    result = {}
+    result["name"] = {}
+    for k in comp_dict.keys():
+        result["name"][k] = title_dict[k]
+        
+    result["data"] = {}
+    result["values"] = {}    
+    for group, intersected, difference in intersect(comp_dict):
+        if len(group) == 1:
+            result["data"]["".join(group)] = difference
+            result["values"]["".join(group)] = len(difference)
+        elif len(group) > 1 and len(group) < len(comp_dict):
+         result["data"]["".join(group)] = difference
+         result["values"]["".join(group)] = len(difference)               
+        elif len(group) == len(comp_dict):
+            result["data"]["".join(group)] = intersected
+            result["values"]["".join(group)] = len(intersected)
+
+    return result
+
+def write_text_venn(json_result):
+    """
+    Write intersections of input to text output file
+    """
+    output = open("venn_diagram_text_output.txt", "w")
+    string = ""
+    lines = []
+    result = dict((k, v) for k, v in json_result["data"].iteritems() if v != [])
+    print(result)
+    max_count = max(len(v) for v in result.values())
+    print(max_count)
+    for i in range(max_count):
+        lines.append("")
+        
+    for i in range(max_count):
+        header = ""
+        for d in range(len(result.keys())):
+            data = result.keys()[d]
+            name = "_".join([json_result["name"][x] for x in data])
+            header += name + "\t"
+            if len(result[data]) > i:
+                lines[i] += result[data][i] + "\t"
+            else:
+                lines[i] += "\t"
+    string += header + "\n"
+    string += "\n".join(lines)
+    print(string)
+    output.write(string)
+    output.close()
+
+def write_summary( summary_file, inputs):
+    """
+    Paste json string into template file
+    """
+    a, b = input_to_dict(inputs)
+    data = diagram(a, b)
+    write_text_venn(data)
+
+    to_replace = {
+     "series": [data],
+     "displayStat": "true",
+     "displaySwitch": "true",
+        "shortNumber": "true",
+    }
+
+    FH_summary_tpl = open(os.path.join(CURRENT_DIR, "jvenn_template.html"))
+    FH_summary_out = open(summary_file, "w" )
+    for line in FH_summary_tpl:
+        if "###JVENN_DATA###" in line:
+            line = line.replace("###JVENN_DATA###", json.dumps(to_replace))
+        FH_summary_out.write(line)
+    
+    FH_summary_out.close()
+    FH_summary_tpl.close()
+   
+def process(args):
+    write_summary(args.summary, args.input)
+
+
+##################################################################################################################################################
+# MAIN
+##################################################################################################################################################
+if __name__ == '__main__':
+    # Parse parameters
+    parser = argparse.ArgumentParser(description='Filters an abundance file')
+    group_input = parser.add_argument_group( 'Inputs' )
+    group_input.add_argument('--input', nargs="+", action="append", required=True, help="The input tabular file.")
+    group_output = parser.add_argument_group( 'Outputs' )
+    group_output.add_argument('--summary', default="summary.html", help="The HTML file containing the graphs. [Default: %(default)s]")
+    args = parser.parse_args()
+
+    # Process
+    process( args )
b
diff -r 000000000000 -r 9d4f20618ab4 venn_diagram.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/venn_diagram.xml Sun Nov 26 19:09:40 2017 -0500
[
@@ -0,0 +1,170 @@
+<?xml version="1.0"?>
+<tool id="Jvenn" name="Venn diagram" version="1.0">
+ <description>compare lists plotting Venn Diagram (based on 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.se.name" "file" "$s.se.header" "$s.se.ncol"
+     #else
+                "$s.se.list" "$s.se.name" "list"
+      #end if
+ #end for 
+ --summary "$output_summary"
+ ]]></command>
+ <inputs>
+ <!-- Files -->
+ <repeat name="series" title="Lists to compare" min="2" max="6" >
+            <conditional name="se" >
+                    <param type="select" name="input" label="Please provide your identifiers" help="Copy/paste or ID list from a file (e.g. table)" >
+                        <option value="list">Copy/paste your identifiers </option>
+                        <option value="file">Input file containing your identifiers</option>
+                        
+                    </param>
+                    <when value="file">
+                        <param type="data" name="file" format="txt,tabular" label="Choose a file that contains your list of IDs" />
+                        <param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does your input file contain header?" />
+              <param type="text" name="ncol" value="c1" label="Please specify the column where you would like to apply the comparison" help ='For example, fill in "c1" if you want to filter the first column' />
+              <param type="text" name="name" value="" label="Please enter the name of this list" help="This name will be displayed on venn diagram" />
+                    </when>
+                    <when value="list">
+                        <param type="text" name="list" label="Copy/paste your identifiers" help='IDs must be separated by spaces into the form field, for example: P31946 P62258' >
+                            <sanitizer>
+                                <valid initial="string.printable">
+                                    <remove value="&apos;"/>
+                                </valid>
+                                <mapping initial="none">
+                                    <add source="&apos;" target="__sq__"/>
+                                </mapping>
+                            </sanitizer>
+                        </param>
+                        <param type="text" name="name" value="" label="Please enter the name of this list" help="This name will be displayed on venn diagram" />
+                    </when>
+                </conditional>
+ </repeat>
+ </inputs>
+ <outputs>
+ <data format="html" name="output_summary" label="Venn diagram" from_work_dir="venn_diagram_summary.html" />
+ <data format="tabular" name="output_text" label="Venn diagram text output" from_work_dir="venn_diagram_text_output.txt" />
+ </outputs>
+ <tests>
+     <test>
+         <repeat name="series">
+             <conditional name="se">
+                 <param name="input" value="mq_file" />
+                 <param name="mq_file" value="DESeq.txt" />
+                 <param name="header" value="false" />
+                 <param name="ncol" value="c1" />
+                 <param name="name" value="DESeq" />
+             </conditional>
+         </repeat>
+         <repeat name="series">
+             <conditional name="se">
+                 <param name="input" value="mq_file" />
+                 <param name="mq_file" value="FQ.txt" />
+                 <param name="header" value="false" />
+                 <param name="ncol" value="c1" />
+                 <param name="name" value="FQ" />
+             </conditional>
+         </repeat>
+         <repeat name="series">
+             <conditional name="se">
+                 <param name="input" value="mq_file" />
+                 <param name="mq_file" value="RPKM.txt" />
+                 <param name="header" value="false" />
+                 <param name="ncol" value="c1" />
+                 <param name="name" value="RPKM" />
+             </conditional>
+         </repeat>
+         <repeat name="series">
+             <conditional name="se">
+                 <param name="input" value="mq_file" />
+                 <param name="mq_file" value="TC.txt" />
+                 <param name="header" value="false" />
+                 <param name="ncol" value="c1" />
+                 <param name="name" value="TC" />
+             </conditional>
+         </repeat>
+         <repeat name="series">
+             <conditional name="se">
+                 <param name="input" value="mq_file" />
+                 <param name="mq_file" value="TMM.txt" />
+                 <param name="header" value="false" />
+                 <param name="ncol" value="c1" />
+                 <param name="name" value="TMM" />
+             </conditional>
+         </repeat>
+         <repeat name="series">
+             <conditional name="se">
+                 <param name="input" value="mq_file" />
+                 <param name="mq_file" value="UQ.txt" />
+                 <param name="header" value="false" />
+                 <param name="ncol" value="c1" />
+                 <param name="name" value="UQ" />
+             </conditional>
+         </repeat>
+         <output name="output_summary" file="venn_diagram_summary.html" />
+         <output name="output_text" file="venn_diagram_text_output.txt" />
+                 
+     </test>
+ </tests>
+ <help>
+
+This tool draw a venn diagram from lists/files using Jvenn plug-in (http://jvenn.toulouse.inra.fr/app/index.html). It also creates output files that contain common or specific elements between query and each compared lists/files.
+
+**Inputs**
+
+* **Query file:** A file containing different information of proteins, could be output of previous components.
+
+* **File of a list of IDs:** .TXT format, each line contains 1 ID
+    
+    AMY1A
+    
+  ALB

+  IGKC

+  CSTA

+  IGHA1

+  ACTG1
+
+* **List of IDs:** IDs separated by a space
+    AMY1A ALB IGKC CSTA IGHA1 ACTG1
+
+If you choose a file, it is necessary to specify the column where you would like to perform the comparison.
+
+**Outputs**
+
+* **Summary file** (venn_diagram_summary.html):
+    Venn diagram: Could be downloaded as image (PNG, SVG)
+
+* **Venn text output file**
+    A text file containing common/specific elements among compared 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**
+
+T.P. Lien Nguyen, 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> 
+ <citations>
+    </citations>
+</tool>