Mercurial > repos > xuebing > sharplabtool
comparison tools/rgenetics/rgManQQ_code.py @ 0:9071e359b9a3
Uploaded
author | xuebing |
---|---|
date | Fri, 09 Mar 2012 19:37:19 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:9071e359b9a3 |
---|---|
1 from galaxy import datatypes,model | |
2 import sys,string,time | |
3 | |
4 | |
5 def timenow(): | |
6 """return current time as a string | |
7 """ | |
8 return time.strftime('%d/%m/%Y %H:%M:%S', time.localtime(time.time())) | |
9 | |
10 | |
11 def get_phecols(i,addNone,hint): | |
12 """ | |
13 return a list of phenotype columns for a multi-select list | |
14 """ | |
15 hint = hint.lower() | |
16 fname = i.dataset.file_name | |
17 try: | |
18 f = open(fname,'r') | |
19 except: | |
20 return [('get_phecols unable to open file "%s"' % fname,'None',False),] | |
21 header = f.next() | |
22 h = header.strip().split() | |
23 dat = [(x,'%d' % i,False) for i,x in enumerate(h)] | |
24 matches = [i for i,x in enumerate(h) if x.lower().find(hint) <> -1] | |
25 if len(matches) > 0: | |
26 sel = matches[0] | |
27 dat[sel] = (dat[sel][0],dat[sel][1],True) | |
28 if addNone: | |
29 dat.insert(0,('None - no Manhattan plot','0', False )) | |
30 return dat | |
31 | |
32 | |
33 def exec_after_process(app, inp_data, out_data, param_dict, tool, stdout, stderr): | |
34 """Sets the name of the data | |
35 <outputs> | |
36 <data format="pdf" name="allqq" /> | |
37 <data format="pdf" name="lowqq" parent="allqq"/> | |
38 </outputs> | |
39 """ | |
40 outfile = 'out_html' | |
41 job_name = param_dict.get( 'name', 'Manhattan QQ plots' ) | |
42 killme = string.punctuation + string.whitespace | |
43 trantab = string.maketrans(killme,'_'*len(killme)) | |
44 newname = '%s.html' % job_name.translate(trantab) | |
45 data = out_data[outfile] | |
46 data.name = newname | |
47 data.info='%s run at %s' % (job_name,timenow()) | |
48 out_data[outfile] = data | |
49 app.model.context.flush() | |
50 |