0
|
1 # before running the qc, need to rename various output files
|
|
2 # <data format="html" name="html_file" />
|
|
3 # <data format="txt" name="log_file" parent="html_file" />
|
|
4 # <data format="tabular" name="marker_file" parent="html_file" />
|
|
5 # <data format="tabular" name="subject_file" parent="html_file" />
|
|
6
|
|
7 from galaxy import datatypes,model
|
|
8 import sys,string
|
|
9
|
|
10 def get_columns( input ):
|
|
11 columns = []
|
|
12 elems = []
|
|
13 if input and input.metadata.columns:
|
|
14 ncols = input.metadata.columns
|
|
15 colnames = ['Col%d' % x for x in range(1,ncols+1)]
|
|
16 for i, line in enumerate( file ( input.file_name ) ):
|
|
17 valid = True
|
|
18 if line and not line.startswith( '#' ):
|
|
19 line = line.rstrip('\r\n')
|
|
20 elems = line.split( '\t' )
|
|
21
|
|
22 """
|
|
23 Since this tool requires users to select only those columns
|
|
24 that contain numerical values, we'll restrict the column select
|
|
25 list appropriately.
|
|
26 """
|
|
27 if len(elems) > 0:
|
|
28 for col in range(len(elems)): # zero offset
|
|
29 if i == 0: # header row
|
|
30 colnames[col] = elems[col]
|
|
31 else:
|
|
32 val = elems[col]
|
|
33 try:
|
|
34 val = float(val)
|
|
35 valid = True
|
|
36 except:
|
|
37 valid = False
|
|
38 if valid:
|
|
39 option = colnames[col]
|
|
40 columns.append((option,str(col),False))
|
|
41 if len(columns) > 0:
|
|
42 """
|
|
43 We have our select list built, so we can break out of the outer most for loop
|
|
44 """
|
|
45 break
|
|
46 if i == 30:
|
|
47 break # Hopefully we never get here...
|
|
48 else:
|
|
49 columns = [('?','?',False),]
|
|
50 return columns
|