Mercurial > repos > george-weingart > lefse
diff format_input_selector.py @ 0:e7cd19afda2e draft
Lefse
author | george-weingart |
---|---|
date | Tue, 13 May 2014 21:57:00 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/format_input_selector.py Tue May 13 21:57:00 2014 -0400 @@ -0,0 +1,77 @@ +from galaxy import datatypes,model +import sys,string,time + + +def timenow(): + """return current time as a string + """ + return time.strftime('%d/%m/%Y %H:%M:%S', time.localtime(time.time())) + +def get_opt(data): + return [('r','r',False),('c','c',False)] + +def red(st,l): + if len(st) <= l: return st + l1,l2 = l/2,l/2 + return st[:l1]+".."+st[len(st)-l2:] + +def get_row_names(data,t): + if data == "": return [] + max_len =38 + fname = data.dataset.file_name + opt = [] + rc = '' +# lines = [(red(v.split()[0],max_len),'%s' % str(v.split()[0]),False) for i,v in enumerate(open(fname))] + if t == 'b': lines = [(red(v.split()[0],max_len),'%d' % (i+1),False) for i,v in enumerate(open(fname)) if len(v.split()) > 3 ] + else: lines = [(red(v.split()[0],max_len),'%d' % (i+1),False) for i,v in enumerate(open(fname))] + return sorted(opt+lines) + +def get_cols(data,t,c): + if data == "": return [] + max_len =32 + fname = data.dataset.file_name + opt = [] + if c != 'cl': + opt.append(('no '+c,'%d' % -1,False)) + if t == 'c': + rc = '' + lines = [(red((rc+"#"+str(i+1)+":"+v[0]),max_len),'%d' % (i+1),False) for i,v in enumerate(zip(*[line.split() for line in open(fname)]))] + else: + rc = '' + lines = [(red((rc+"#"+str(i+1)+":"+v.split()[0]),max_len),'%d' % (i+1),False) for i,v in enumerate(open(fname))] + return opt+lines + +""" +def get_phecols(i,addNone,hint): + hint = hint.lower() + fname = i.dataset.file_name + try: + f = open(fname,'r') + except: + return [('get_phecols unable to open file "%s"' % fname,'None',False),] + header = f.next() + h = header.strip().split() + dat = [(x,'%d' % i,False) for i,x in enumerate(h)] + matches = [i for i,x in enumerate(h) if x.lower().find(hint) <> -1] + if len(matches) > 0: + sel = matches[0] + dat[sel] = (dat[sel][0],dat[sel][1],True) + if addNone: + dat.insert(0,('None - no Manhattan plot','0', False )) + return dat +""" + + +""" +def exec_after_process(app, inp_data, out_data, param_dict, tool, stdout, stderr): + outfile = 'out_html' + job_name = param_dict.get( 'name', 'Manhattan QQ plots' ) + killme = string.punctuation + string.whitespace + trantab = string.maketrans(killme,'_'*len(killme)) + newname = '%s.html' % job_name.translate(trantab) + data = out_data[outfile] + data.name = newname + data.info='%s run at %s' % (job_name,timenow()) + out_data[outfile] = data + app.model.context.flush() +"""