changeset 1:81a6c3de5de3 draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit f929353ffb0623f2218d7dec459c7da62f3b0d24"
author devteam
date Mon, 06 Jul 2020 18:10:56 +0000
parents 3100886bf698
children
files convert_characters.py convert_characters.xml
diffstat 2 files changed, 96 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/convert_characters.py	Mon Nov 09 11:25:21 2015 -0500
+++ b/convert_characters.py	Mon Jul 06 18:10:56 2020 +0000
@@ -1,42 +1,45 @@
 #!/usr/bin/env python
-#By, Guruprasad Ananda.
+"""
+By, Guruprasad Ananda.
+"""
+from __future__ import print_function
 
-from galaxy import eggs
-import sys, re
+import re
+import sys
 
-def stop_err(msg):
-    sys.stderr.write(msg)
-    sys.exit()
-    
+
 def main():
     if len(sys.argv) != 4:
-        stop_err("usage: convert_characters infile from_char outfile")
+        sys.exit("usage: convert_characters infile from_char outfile")
 
     try:
-        fin = open(sys.argv[1],'r')
-    except:
-        stop_err("Input file cannot be opened for reading.")
-    
+        fin = open(sys.argv[1], 'r')
+    except Exception:
+        sys.exit("Input file cannot be opened for reading.")
+
     from_char = sys.argv[2]
-    
+
     try:
-        fout = open(sys.argv[3],'w')
-    except:
-        stop_err("Output file cannot be opened for writing.")
-    
-    char_dict = {'T':'\t','s':'\s','Dt':'\.','C':',','D':'-','U':'_','P':'\|','Co':':'}
-    from_ch = char_dict[from_char] + '+'    #making an RE to match 1 or more occurences.
+        fout = open(sys.argv[3], 'w')
+    except Exception:
+        sys.exit("Output file cannot be opened for writing.")
+
+    char_dict = {'T': r'\t', 's': r'\s', 'Dt': r'\.', 'C': r',', 'D': r'-',
+                 'U': r'_', 'P': r'\|', 'Co': r':'}
+    # making an RE to match 1 or more occurences.
+    from_ch = char_dict[from_char] + '+'
     skipped = 0
-    
+
     for line in fin:
         line = line.strip()
         try:
-            fout.write("%s\n" %(re.sub(from_ch,'\t',line)))     
-        except:
+            fout.write("%s\n" % (re.sub(from_ch, '\t', line)))
+        except Exception:
             skipped += 1
-            
+
     if skipped:
-        print "Skipped %d lines as invalid." %skipped
-    
-if __name__ == "__main__": 
-    main()
\ No newline at end of file
+        print("Skipped %d lines as invalid." % skipped)
+
+
+if __name__ == "__main__":
+    main()
--- a/convert_characters.xml	Mon Nov 09 11:25:21 2015 -0500
+++ b/convert_characters.xml	Mon Jul 06 18:10:56 2020 +0000
@@ -1,58 +1,66 @@
-<tool id="Convert characters1" name="Convert"  version="1.0.0">
-  <description>delimiters to TAB</description>
-  <command interpreter="python">convert_characters.py "${input}" "${convert_from}" "${out_file1}"</command>
-  <inputs>
-    <param name="convert_from" type="select" label="Convert all">
-      <option value="s">Whitespaces</option>
-      <option value="T">Tabs</option>
-      <!--<option value="Sp">Spaces</option>-->
-      <option value="Dt">Dots</option>
-      <option value="C">Commas</option>
-      <option value="D">Dashes</option>
-      <option value="U">Underscores</option>
-      <option value="P">Pipes</option>
-      <option value="Co">Colons</option>
-    </param>
-    <param format="txt" name="input" type="data" label="in Query"/>
-  </inputs>
-  <outputs>
-    <data format="tabular" name="out_file1" />
-  </outputs>
-  <tests>
-    <test>
-      <param name="convert_from" value="s"/>
-      <param name="input" value="1.bed"/>
-      <output name="out_file1" file="eq-convert.dat"/>
-    </test>
-    <test>
-      <param name="convert_from" value="s"/>
-      <param name="input" value="a.txt"/>
-      <output name="out_file1" file="a.tab"/>
-    </test>
-  </tests>
-  <help>
-
-**What it does**
-
-Converts all delimiters of a specified type into TABs.  Consecutive characters are condensed. For example, if columns are separated by 5 spaces they will converted into 1 tab.
-
------
-
-**Example**
-
-- Input file::
-
-    chrX||151283558|151283724|NM_000808_exon_8_0_chrX_151283559_r|0|-
-    chrX|151370273|151370486|NM_000808_exon_9_0_chrX_151370274_r|0|-
-    chrX|151559494|151559583|NM_018558_exon_1_0_chrX_151559495_f|0|+
-    chrX|151564643|151564711|NM_018558_exon_2_0_chrX_151564644_f||||0|+
-
-- Converting all pipe delimiters of the above file to TABs will get::
-
-    chrX  151283558  151283724  NM_000808_exon_8_0_chrX_151283559_r  0  -
-    chrX  151370273  151370486  NM_000808_exon_9_0_chrX_151370274_r  0  -
-    chrX  151559494  151559583  NM_018558_exon_1_0_chrX_151559495_f  0  +
-    chrX  151564643  151564711  NM_018558_exon_2_0_chrX_151564644_f  0  +
-
-</help>
-</tool>
+<tool id="Convert characters1" name="Convert"  version="1.0.1">
+    <description>delimiters to TAB</description>
+    <requirements>
+        <requirement type="package" version="3.8">python</requirement>
+    </requirements>
+    <command>
+        python '$__tool_directory__/convert_characters.py'
+            '${input}'
+            '${convert_from}'
+            '${out_file1}'
+    </command>
+    <inputs>
+        <param name="convert_from" type="select" label="Convert all">
+            <option value="s">Whitespaces</option>
+            <option value="T">Tabs</option>
+            <!--<option value="Sp">Spaces</option>-->
+            <option value="Dt">Dots</option>
+            <option value="C">Commas</option>
+            <option value="D">Dashes</option>
+            <option value="U">Underscores</option>
+            <option value="P">Pipes</option>
+            <option value="Co">Colons</option>
+        </param>
+        <param format="txt" name="input" type="data" label="in Query"/>
+    </inputs>
+    <outputs>
+        <data format="tabular" name="out_file1" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="convert_from" value="s"/>
+            <param name="input" value="1.bed"/>
+            <output name="out_file1" file="eq-convert.dat"/>
+        </test>
+        <test>
+            <param name="convert_from" value="s"/>
+            <param name="input" value="a.txt"/>
+            <output name="out_file1" file="a.tab"/>
+        </test>
+    </tests>
+    <help>
+
+**What it does**
+
+Converts all delimiters of a specified type into TABs.  Consecutive characters are condensed. For example, if columns are separated by 5 spaces they will converted into 1 tab.
+
+-----
+
+**Example**
+
+- Input file::
+
+    chrX||151283558|151283724|NM_000808_exon_8_0_chrX_151283559_r|0|-
+    chrX|151370273|151370486|NM_000808_exon_9_0_chrX_151370274_r|0|-
+    chrX|151559494|151559583|NM_018558_exon_1_0_chrX_151559495_f|0|+
+    chrX|151564643|151564711|NM_018558_exon_2_0_chrX_151564644_f||||0|+
+
+- Converting all pipe delimiters of the above file to TABs will get::
+
+    chrX  151283558  151283724  NM_000808_exon_8_0_chrX_151283559_r  0  -
+    chrX  151370273  151370486  NM_000808_exon_9_0_chrX_151370274_r  0  -
+    chrX  151559494  151559583  NM_018558_exon_1_0_chrX_151559495_f  0  +
+    chrX  151564643  151564711  NM_018558_exon_2_0_chrX_151564644_f  0  +
+
+    </help>
+</tool>