root/galaxy-central/tools/rgenetics/rgManQQ_code.py @ 2

リビジョン 2, 1.5 KB (コミッタ: hatakeyama, 14 年 前)

import galaxy-central

行番号 
1from galaxy import datatypes,model
2import sys,string,time
3
4
5def 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
11def 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
33def 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
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。