Mercurial > repos > jjohnson > query_tabular
annotate query_tabular.xml @ 5:727620f718c2 draft
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit eefe7cbd5c59de67db7574847bb91e4a404adc03-dirty
author | jjohnson |
---|---|
date | Fri, 12 Feb 2016 07:29:55 -0500 |
parents | afdbc7198353 |
children | b9a6b07d0d2e |
rev | line source |
---|---|
0 | 1 <tool id="query_tabular" name="Query Tabular" version="0.1.0"> |
2 <description>using sqlite sql</description> | |
3 | |
4 <requirements> | |
5 </requirements> | |
6 <stdio> | |
7 <exit_code range="1:" /> | |
8 </stdio> | |
9 <command interpreter="python"><![CDATA[ | |
10 query_tabular.py | |
11 #if $save_db | |
12 -s $sqlitedb | |
13 #else | |
14 -s $workdb | |
15 #end if | |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
16 -j $table_json |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
17 #* |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
18 ## #for $i,$tbl in enumerate($tables): |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
19 ## #if $tbl.table_name |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
20 ## #set $tname = $tbl.table_name |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
21 ## #else |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
22 ## #set $tname = 't' + str($i + 1) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
23 ## #end if |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
24 ## #if $tbl.col_names: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
25 ## #set $col_names = ':' + str($tbl.col_names) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
26 ## #else |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
27 ## #set $col_names = '' |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
28 ## #end if |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
29 ## -t ${tbl.table}=${tname}${$col_names} |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
30 ## #end for |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
31 *# |
2 | 32 #if $sqlquery: |
33 -Q "$query_file" | |
1 | 34 $no_header |
0 | 35 -o $output |
36 #end if | |
37 ]]></command> | |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
38 <configfiles> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
39 <configfile name="query_file"> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
40 $sqlquery |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
41 </configfile> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
42 <configfile name="table_json"> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
43 #import json |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
44 #set $jtbldef = dict() |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
45 #set $jtbls = [] |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
46 #set $jtbldef['tables'] = $jtbls |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
47 #for $i,$tbl in enumerate($tables): |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
48 #set $jtbl = dict() |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
49 #set $jtbl['file_path'] = str($tbl.table) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
50 #if $tbl.table_name |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
51 #set $tname = str($tbl.table_name) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
52 #else |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
53 #set $tname = 't' + str($i + 1) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
54 #end if |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
55 #set $jtbl['table_name'] = $tname |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
56 #if $tbl.col_names: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
57 #set $col_names = str($tbl.col_names) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
58 #else |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
59 #set $col_names = '' |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
60 #end if |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
61 #set $jtbl['column_names'] = $col_names |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
62 #if str($tbl.skip_lines) != '': |
5
727620f718c2
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit eefe7cbd5c59de67db7574847bb91e4a404adc03-dirty
jjohnson
parents:
4
diff
changeset
|
63 #set $jtbl['comment_lines'] = int($tbl.skip_lines) |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
64 #elif $tbl.table.metadata.comment_lines > 0: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
65 #set $jtbl['comment_lines'] = int($tbl.table.metadata.comment_lines) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
66 #end if |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
67 #set $jtbls += [$jtbl] |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
68 #end for |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
69 #echo $json.dumps($jtbldef) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
70 </configfile> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
71 </configfiles> |
0 | 72 <inputs> |
73 <param name="workdb" type="hidden" value="workdb.sqlite" label=""/> | |
74 <repeat name="tables" title="Add tables" min="1"> | |
75 <param name="table" type="data" format="tabular" label="Dataset"/> | |
76 <param name="table_name" type="text" value="" optional="true" label="Table name"> | |
77 <help>By default, tables will be named: t1,t2,...,tn</help> | |
78 <validator type="regex" message="Table name should start with a letter and may contain additional letters, digits, and underscores">^[A-Za-z]\w*$</validator> | |
79 </param> | |
80 <!-- | |
81 <param name="sel_cols" label="Include columns" type="data_column" multiple="true" data_ref="table" /> | |
82 --> | |
83 <param name="col_names" type="text" value="" optional="true" label="Column names"> | |
84 <help>By default, table columns will be named: c1,c2,c3,...,cn</help> | |
85 <validator type="regex" message="A List of separated by commas: Column names should start with a letter and may contain additional letters, digits, and underscores">^([A-Za-z]\w*)?(,([A-Za-z]\w*)?)*$</validator> | |
86 </param> | |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
87 <param name="skip_lines" type="integer" value="" min="0" optional="true" label="Skip lines" help="Leave blank to use the datatype comment lines metadata" /> |
0 | 88 </repeat> |
2 | 89 <param name="sqlquery" type="text" area="true" size="10x80" value="" optional="true" label="SQL Query"> |
0 | 90 <help>By default, tables will be named: t1,t2,...,tn</help> |
91 <sanitizer sanitize="False"/> | |
92 <validator type="regex" message="">^(?i)\s*select\s+.*\s+from\s+.*$</validator> | |
93 </param> | |
1 | 94 <param name="no_header" type="boolean" truevalue="-n" falsevalue="" checked="False" label="Omit column headers"/> |
95 | |
0 | 96 <param name="save_db" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Save the sqlite database"/> |
97 </inputs> | |
98 <outputs> | |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
99 <data format="sqlite" name="sqlitedb" label="sqlite db of ${on_string}"> |
2 | 100 <filter>save_db or not (sqlquery and len(sqlquery) > 0)</filter> |
0 | 101 </data> |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
102 <data format="tabular" name="output" label="query results on ${on_string}"> |
2 | 103 <filter>sqlquery and len(sqlquery) > 0</filter> |
0 | 104 </data> |
105 </outputs> | |
106 <tests> | |
107 | |
108 <test> | |
109 <repeat name="tables"> | |
110 <param name="table" ftype="tabular" value="customers.tsv"/> | |
111 <param name="table_name" value="customers"/> | |
112 <param name="col_names" value="CustomerID,FirstName,LastName,Email,DOB,Phone"/> | |
113 </repeat> | |
114 <repeat name="tables"> | |
115 <param name="table" ftype="tabular" value="sales.tsv"/> | |
116 <param name="table_name" value="sales"/> | |
117 <param name="col_names" value="CustomerID,Date,SaleAmount"/> | |
118 </repeat> | |
2 | 119 <param name="sqlquery" value="SELECT FirstName,LastName,sum(SaleAmount) as "TotalSales" FROM customers join sales on customers.CustomerID = sales.CustomerID GROUP BY customers.CustomerID ORDER BY TotalSales DESC"/> |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
120 <output name="output" file="sales_results.tsv"/> |
0 | 121 </test> |
122 | |
123 <test> | |
124 <repeat name="tables"> | |
125 <param name="table" ftype="tabular" value="customers.tsv"/> | |
126 <param name="col_names" value=",FirstName,LastName,,DOB,"/> | |
127 </repeat> | |
128 <repeat name="tables"> | |
129 <param name="table" ftype="tabular" value="sales.tsv"/> | |
130 </repeat> | |
2 | 131 <param name="sqlquery" value="SELECT FirstName,LastName,sum(t2.c3) as "TotalSales" FROM t1 join t2 on t1.c1 = t2.c1 GROUP BY t1.c1 ORDER BY TotalSales DESC;"/> |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
132 <output name="output" file="sales_results.tsv"/> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
133 </test> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
134 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
135 <test> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
136 <repeat name="tables"> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
137 <param name="table" ftype="tabular" value="customers.tsv"/> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
138 <param name="col_names" value=",FirstName,LastName,,BirthDate,"/> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
139 </repeat> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
140 <param name="sqlquery" value="select FirstName,LastName,re_sub('^\d{2}(\d{2})-(\d\d)-(\d\d)','\3/\2/\1',BirthDate) as "DOB" from t1 WHERE re_search('[hp]er',c4)"/> |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
141 <output name="output" file="regex_results.tsv"/> |
0 | 142 </test> |
143 | |
144 <test> | |
145 <repeat name="tables"> | |
146 <param name="table" ftype="tabular" value="IEDB.tsv"/> | |
147 <param name="table_name" value="iedb"/> | |
148 <param name="col_names" value="ID,allele,seq_num,start,end,length,peptide,method,percentile_rank,ann_ic50,ann_rank,smm_ic50,smm_rank,comblib_sidney2008_score,comblib_sidney2008_rank,netmhcpan_ic50,netmhcpan_rank"/> | |
149 </repeat> | |
150 <repeat name="tables"> | |
151 <param name="table" ftype="tabular" value="netMHC_summary.tsv"/> | |
152 <param name="table_name" value="mhc_summary"/> | |
153 <param name="col_names" value="pos,peptide,logscore,affinity,Bind_Level,Protein,Allele"/> | |
154 </repeat> | |
2 | 155 <param name="sqlquery" value="select iedb.ID,iedb.peptide,iedb.start,iedb.end,iedb.percentile_rank,mhc_summary.logscore,mhc_summary.affinity,mhc_summary.Bind_Level from iedb left outer join mhc_summary on iedb.peptide = mhc_summary.peptide order by affinity,Bind_Level"/> |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
156 <output name="output" file="query_results.tsv"/> |
0 | 157 </test> |
158 | |
159 </tests> | |
160 <help><![CDATA[ | |
161 ============= | |
162 Query Tabular | |
163 ============= | |
164 | |
165 **Inputs** | |
166 | |
167 Loads tabular datasets into a SQLite_ data base. | |
168 | |
169 **Outputs** | |
170 | |
171 The results of a SQL query are output to the history as a tabular file. | |
172 | |
173 The SQLite_ data base can also be saved and output as a dataset in the history. | |
174 | |
175 | |
176 For help in using SQLite_ see: http://www.sqlite.org/docs.html | |
177 | |
178 **NOTE:** input for SQLite dates input field must be in the format: *YYYY-MM-DD* for example: 2015-09-30 | |
179 | |
180 See: http://www.sqlite.org/lang_datefunc.html | |
181 | |
182 **Example** | |
183 | |
184 Given 2 tabular datasets: *customers* and *sales* | |
185 | |
186 Dataset *customers* | |
187 | |
188 Table name: "customers" | |
189 | |
190 Column names: "CustomerID,FirstName,LastName,Email,DOB,Phone" | |
191 | |
192 =========== ========== ========== ===================== ========== ============ | |
193 #CustomerID FirstName LastName Email DOB Phone | |
194 =========== ========== ========== ===================== ========== ============ | |
195 1 John Smith John.Smith@yahoo.com 1968-02-04 626 222-2222 | |
196 2 Steven Goldfish goldfish@fishhere.net 1974-04-04 323 455-4545 | |
197 3 Paula Brown pb@herowndomain.org 1978-05-24 416 323-3232 | |
198 4 James Smith jim@supergig.co.uk 1980-10-20 416 323-8888 | |
199 =========== ========== ========== ===================== ========== ============ | |
200 | |
201 Dataset *sales* | |
202 | |
203 Table name: "sales" | |
204 | |
205 Column names: "CustomerID,Date,SaleAmount" | |
206 | |
207 ============= ============ ============ | |
208 #CustomerID Date SaleAmount | |
209 ============= ============ ============ | |
210 2 2004-05-06 100.22 | |
211 1 2004-05-07 99.95 | |
212 3 2004-05-07 122.95 | |
213 3 2004-05-13 100.00 | |
214 4 2004-05-22 555.55 | |
215 ============= ============ ============ | |
216 | |
217 The query | |
218 | |
219 :: | |
220 | |
221 SELECT FirstName,LastName,sum(SaleAmount) as "TotalSales" | |
222 FROM customers join sales on customers.CustomerID = sales.CustomerID | |
223 GROUP BY customers.CustomerID ORDER BY TotalSales DESC; | |
224 | |
225 Produces this tabular output: | |
226 | |
227 ========== ======== ========== | |
228 #FirstName LastName TotalSales | |
229 ========== ======== ========== | |
230 James Smith 555.55 | |
231 Paula Brown 222.95 | |
232 Steven Goldfish 100.22 | |
233 John Smith 99.95 | |
234 ========== ======== ========== | |
235 | |
236 | |
237 If the optional Table name and Column names inputs are not used, the query would be: | |
238 | |
239 :: | |
240 | |
241 SELECT t1.c2 as "FirstName", t1.c3 as "LastName", sum(t2.c3) as "TotalSales" | |
242 FROM t1 join t2 on t1.c1 = t2.c1 | |
243 GROUP BY t1.c1 ORDER BY TotalSales DESC; | |
244 | |
245 You can selectively name columns, e.g. on the customers input you could just name columns 2,3, and 5: | |
246 | |
247 Column names: ,FirstName,LastName,,BirthDate | |
248 | |
249 Results in the following data base table | |
250 | |
251 =========== ========== ========== ===================== ========== ============ | |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
252 #c1 FirstName LastName c4 BirthDate c6 |
0 | 253 =========== ========== ========== ===================== ========== ============ |
254 1 John Smith John.Smith@yahoo.com 1968-02-04 626 222-2222 | |
255 2 Steven Goldfish goldfish@fishhere.net 1974-04-04 323 455-4545 | |
256 3 Paula Brown pb@herowndomain.org 1978-05-24 416 323-3232 | |
257 4 James Smith jim@supergig.co.uk 1980-10-20 416 323-8888 | |
258 =========== ========== ========== ===================== ========== ============ | |
259 | |
4
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
260 Regular_expression_ functions are included for: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
261 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
262 :: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
263 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
264 matching: re_match('pattern',column) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
265 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
266 SELECT t1.FirstName, t1.LastName |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
267 FROM t1 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
268 WHERE re_match('^.*\.(net|org)$',c4) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
269 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
270 Results: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
271 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
272 =========== ========== |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
273 #FirstName LastName |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
274 =========== ========== |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
275 Steven Goldfish |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
276 Paula Brown |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
277 =========== ========== |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
278 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
279 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
280 :: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
281 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
282 searching: re_search('pattern',column) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
283 substituting: re_sub('pattern','replacement,column) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
284 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
285 SELECT t1.FirstName, t1.LastName, re_sub('^\d{2}(\d{2})-(\d\d)-(\d\d)','\3/\2/\1',BirthDate) as "DOB" |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
286 FROM t1 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
287 WHERE re_search('[hp]er',c4) |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
288 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
289 Results: |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
290 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
291 =========== ========== ========== |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
292 #FirstName LastName DOB |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
293 =========== ========== ========== |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
294 Steven Goldfish 04/04/74 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
295 Paula Brown 24/05/78 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
296 James Smith 20/10/80 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
297 =========== ========== ========== |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
298 |
afdbc7198353
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/query_tabular commit 9ae87502ea7c3da33ecc453872c4eb2f41ecea4a-dirty
jjohnson
parents:
2
diff
changeset
|
299 .. _Regular_expression: https://docs.python.org/release/2.7/library/re.html |
0 | 300 .. _SQLite: http://www.sqlite.org/index.html |
301 | |
302 ]]></help> | |
303 </tool> |