Repository 'column_maker'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/column_maker

Changeset 7:427903d47026 (2021-02-24)
Previous changeset 6:13b6f0007d9e (2021-01-25) Next changeset 8:02026300aa45 (2021-03-09)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/column_maker commit c623e4b9f6dd6ff4b88d9386f3b0a0cb497e0a0e"
modified:
column_maker.py
column_maker.xml
added:
test-data/1.tab
test-data/column_maker_out4.tab
b
diff -r 13b6f0007d9e -r 427903d47026 column_maker.py
--- a/column_maker.py Mon Jan 25 10:00:12 2021 +0000
+++ b/column_maker.py Wed Feb 24 05:20:07 2021 +0000
[
@@ -10,6 +10,17 @@
 import json
 import re
 import sys
+# functions that may be used in the compute expression
+from math import (  # noqa: F401
+    ceil,
+    exp,
+    floor,
+    log,
+    log10,
+    sqrt
+)
+
+from numpy import format_float_positional  # noqa: F401
 
 parser = argparse.ArgumentParser()
 parser.add_argument('input', type=argparse.FileType('r'), help="input file")
@@ -49,8 +60,8 @@
     )
 try:
     in_columns = int(argparse_dict['columns'])
-    if in_columns < 2:
-        # To be considered tabular, data must fulfill requirements of the sniff.is_column_based() method.
+    if in_columns < 1:
+        # To be considered tabular, data must have at least one column.
         raise ValueError
 except Exception:
     if not fh.readline():
@@ -88,6 +99,9 @@
 col_str = ', '.join(cols)    # 'c1, c2, c3, c4'
 type_cast_str = ', '.join(type_casts)  # 'str(c1), int(c2), int(c3), str(c4)'
 assign = "%s = line.split('\\t')" % col_str
+if len(cols) == 1:
+    # Single column, unpacking by assignment won't work
+    assign += '[0]'
 wrap = "%s = %s" % (col_str, type_cast_str)
 skipped_lines = 0
 first_invalid_line = 0
@@ -97,17 +111,6 @@
 
 # Read input file, skipping invalid lines, and perform computation that will result in a new column
 code = '''
-# import here since flake8 complains otherwise
-from math import (
-    ceil,
-    exp,
-    floor,
-    log,
-    log10,
-    sqrt
-)
-from numpy import format_float_positional
-
 for i, line in enumerate(fh):
     total_lines += 1
     line = line.rstrip('\\r\\n')
b
diff -r 13b6f0007d9e -r 427903d47026 column_maker.xml
--- a/column_maker.xml Mon Jan 25 10:00:12 2021 +0000
+++ b/column_maker.xml Wed Feb 24 05:20:07 2021 +0000
[
@@ -1,4 +1,4 @@
-<tool id="Add_a_column1" name="Compute" version="1.5">
+<tool id="Add_a_column1" name="Compute" version="1.6">
     <description>an expression on every row</description>
     <requirements>
         <requirement type="package" version="3.8">python</requirement>
@@ -88,6 +88,13 @@
             <output name="out_file1" file="column_maker_out3.interval"/>
         </test>
         <test>
+             <!-- test that single column input works -->
+             <param name="cond" value="c1/10"/>
+             <param name="input" value="1.tab" ftype="tabular"/>
+             <param name="round" value="no"/>
+             <output name="out_file1" file="column_maker_out4.tab"/>
+         </test>
+         <test>
             <param name="cond" value="float(.0000000000001)"/>
             <param name="input" value="1.bed"/>
             <param name="round" value="false"/>
@@ -112,11 +119,11 @@
             </output>
         </test>
     </tests>
-    <help>
+    <help><![CDATA[
 
  .. class:: infomark
 
-**TIP:** If your data is not TAB delimited, use *Text Manipulation-&gt;Convert*
+**TIP:** If your data is not TAB delimited, use *Text Manipulation->Convert*
 
 -----
 
@@ -168,6 +175,6 @@
 
   round | sorted | sqrt | str | sum | type | unichr | unicode |
 
-    </help>
+    ]]></help>
     <citations />
 </tool>
b
diff -r 13b6f0007d9e -r 427903d47026 test-data/1.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1.tab Wed Feb 24 05:20:07 2021 +0000
b
@@ -0,0 +1,10 @@
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
b
diff -r 13b6f0007d9e -r 427903d47026 test-data/column_maker_out4.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/column_maker_out4.tab Wed Feb 24 05:20:07 2021 +0000
b
@@ -0,0 +1,10 @@
+1 0.1
+2 0.2
+3 0.3
+4 0.4
+5 0.5
+6 0.6
+7 0.7
+8 0.8
+9 0.9
+10 1.0