comparison query_db.py @ 12:575cd6cd537c draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/query_tabular commit 4fd70e184fca17ad430c30eb286127c4a198ef11"
author iuc
date Sat, 19 Jun 2021 14:16:32 +0000
parents 4678715f7147
children
comparison
equal deleted inserted replaced
11:bce29ec10b78 12:575cd6cd537c
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 2
3 from __future__ import print_function 3 from __future__ import print_function
4 4
5 import math
5 import re 6 import re
6 import sqlite3 as sqlite 7 import sqlite3 as sqlite
7 import sys 8 import sys
8 9
9 10
14 WHERE type='table' 15 WHERE type='table'
15 ORDER BY name 16 ORDER BY name
16 """ 17 """
17 18
18 19
20 def msg(e):
21 print(e, file=sys.stderr)
22
23
19 def regex_match(expr, item): 24 def regex_match(expr, item):
20 return re.match(expr, item) is not None 25 return re.match(expr, item) is not None
21 26
22 27
23 def regex_search(expr, item): 28 def regex_search(expr, item):
26 31
27 def regex_sub(expr, replace, item): 32 def regex_sub(expr, replace, item):
28 return re.sub(expr, replace, item) 33 return re.sub(expr, replace, item)
29 34
30 35
36 def math_acos(x):
37 try:
38 return math.acos(x)
39 except ValueError as ve:
40 msg('acos(%s): %s' % (x, ve))
41 return None
42
43
44 def math_acosh(x):
45 try:
46 return math.acosh(x)
47 except ValueError as ve:
48 msg(f'acosh({x}): {ve}')
49 return None
50
51
52 def math_asin(x):
53 try:
54 return math.asin(x)
55 except ValueError as ve:
56 msg(f'asin({x}): {ve}')
57 return None
58
59
60 def math_asinh(x):
61 try:
62 return math.asinh(x)
63 except ValueError as ve:
64 msg(f'asinh({x}): {ve}')
65 return None
66
67
68 def math_atan(x):
69 try:
70 return math.atan(x)
71 except ValueError as ve:
72 msg(f'atan({x}): {ve}')
73 return None
74
75
76 def math_atanh(x):
77 try:
78 return math.atanh(x)
79 except ValueError as ve:
80 msg(f'atanh({x}): {ve}')
81 return None
82
83
84 def math_atan2(x, y):
85 try:
86 return math.atan2(x, y)
87 except ValueError as ve:
88 msg(f'atan2({x}, {y}): {ve}')
89 return None
90
91
92 def math_ceil(x):
93 try:
94 return math.ceil(x)
95 except ValueError as ve:
96 msg(f'ceil({x}): {ve}')
97 return None
98
99
100 def math_cos(x):
101 try:
102 return math.cos(x)
103 except ValueError as ve:
104 msg(f'cos({x}): {ve}')
105 return None
106
107
108 def math_cosh(x):
109 try:
110 return math.cosh(x)
111 except ValueError as ve:
112 msg(f'cosh({x}): {ve}')
113 return None
114
115
116 def math_degrees(x):
117 try:
118 return math.degrees(x)
119 except ValueError as ve:
120 msg(f'degrees({x}): {ve}')
121 return None
122
123
124 def math_exp(x):
125 try:
126 return math.exp(x)
127 except ValueError as ve:
128 msg(f'exp({x}): {ve}')
129 return None
130
131
132 def math_expm1(x):
133 try:
134 return math.expm1(x)
135 except ValueError as ve:
136 msg(f'expm1({x}): {ve}')
137 return None
138
139
140 def math_fabs(x):
141 try:
142 return math.fabs(x)
143 except ValueError as ve:
144 msg(f'fabs({x}): {ve}')
145 return None
146
147
148 def math_floor(x):
149 try:
150 return math.floor(x)
151 except ValueError as ve:
152 msg(f'floor({x}): {ve}')
153 return None
154
155
156 def math_fmod(x, y):
157 try:
158 return math.fmod(x, y)
159 except ValueError as ve:
160 msg(f'fmod({x}, {y}): {ve}')
161 return None
162
163
164 def math_blog(b, x):
165 try:
166 return math.log(b, x)
167 except ValueError as ve:
168 msg(f'log({b}, {x}): {ve}')
169 return None
170
171
172 def math_log(x):
173 try:
174 return math.log(x)
175 except ValueError as ve:
176 msg(f'log({x}): {ve}')
177 return None
178
179
180 def math_log10(x):
181 try:
182 return math.log10(x)
183 except ValueError as ve:
184 msg(f'log10({x}): {ve}')
185 return None
186
187
188 def math_log1p(x):
189 try:
190 return math.log1p(x)
191 except ValueError as ve:
192 msg(f'log1p({x}): {ve}')
193 return None
194
195
196 def math_log2(x):
197 try:
198 return math.log2(x)
199 except ValueError as ve:
200 msg(f'log2({x}): {ve}')
201 return None
202
203
204 def math_mod(x, y):
205 try:
206 return x % y
207 except ValueError as ve:
208 msg(f'mod({x}, {y}): {ve}')
209 return None
210
211
212 def math_pow(x, y):
213 try:
214 return math.pow(x, y)
215 except ValueError as ve:
216 msg(f'pow({x}, {y}): {ve}')
217 return None
218
219
220 def math_radians(x):
221 try:
222 return math.radians(x)
223 except ValueError as ve:
224 msg(f'radians({x}): {ve}')
225 return None
226
227
228 def math_sin(x):
229 try:
230 return math.sin(x)
231 except ValueError as ve:
232 msg(f'sin({x}): {ve}')
233 return None
234
235
236 def math_sinh(x):
237 try:
238 return math.sinh(x)
239 except ValueError as ve:
240 msg(f'sinh({x}): {ve}')
241 return None
242
243
244 def math_sqrt(x):
245 try:
246 return math.sqrt(x)
247 except ValueError as ve:
248 msg(f'sqrt({x}): {ve}')
249 return None
250
251
252 def math_tan(x):
253 try:
254 return math.tan(x)
255 except ValueError as ve:
256 msg(f'tan({x}): {ve}')
257 return None
258
259
260 def math_tanh(x):
261 try:
262 return math.tanh(x)
263 except ValueError as ve:
264 msg(f'tanh({x}): {ve}')
265 return None
266
267
268 def math_trunc(x):
269 try:
270 return math.trunc(x)
271 except ValueError as ve:
272 msg(f'trunc({x}): {ve}')
273 return None
274
275
31 def get_connection(sqlitedb_path, addfunctions=True): 276 def get_connection(sqlitedb_path, addfunctions=True):
277 sqlite.enable_callback_tracebacks(addfunctions)
32 conn = sqlite.connect(sqlitedb_path) 278 conn = sqlite.connect(sqlitedb_path)
33 if addfunctions: 279 if addfunctions:
34 conn.create_function("re_match", 2, regex_match) 280 conn.create_function("re_match", 2, regex_match)
35 conn.create_function("re_search", 2, regex_search) 281 conn.create_function("re_search", 2, regex_search)
36 conn.create_function("re_sub", 3, regex_sub) 282 conn.create_function("re_sub", 3, regex_sub)
283 conn.create_function("acos", 1, math_acos)
284 conn.create_function("acosh", 1, math_acosh)
285 conn.create_function("asin", 1, math_asin)
286 conn.create_function("asinh", 1, math_asinh)
287 conn.create_function("atan", 1, math_atan)
288 conn.create_function("atanh", 1, math_atanh)
289 conn.create_function("atan2", 2, math_atan2)
290 conn.create_function("ceil", 1, math_ceil)
291 conn.create_function("cos", 1, math_cos)
292 conn.create_function("cosh", 1, math_cosh)
293 conn.create_function("degrees", 1, math_degrees)
294 conn.create_function("exp", 1, math_exp)
295 conn.create_function("expm1", 1, math_expm1)
296 conn.create_function("fabs", 1, math_fabs)
297 conn.create_function("floor", 1, math_floor)
298 conn.create_function("fmod", 2, math_fmod)
299 conn.create_function("log", 1, math_log)
300 conn.create_function("log", 2, math_blog)
301 conn.create_function("log10", 1, math_log10)
302 conn.create_function("log2", 1, math_log2)
303 conn.create_function("log1p", 1, math_log1p)
304 conn.create_function("mod", 2, math_mod)
305 conn.create_function("pow", 2, math_pow)
306 conn.create_function("radians", 1, math_radians)
307 conn.create_function("sin", 1, math_sin)
308 conn.create_function("sinh", 1, math_sinh)
309 conn.create_function("sqrt", 1, math_sqrt)
310 conn.create_function("tan", 1, math_tan)
311 conn.create_function("tanh", 1, math_tanh)
312 conn.create_function("trunc", 1, math_trunc)
37 return conn 313 return conn
38 314
39 315
40 def describe_tables(conn, outputFile): 316 def describe_tables(conn, outputFile):
41 try: 317 try: