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

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

import galaxy-central

行番号 
1from galaxy import app
2import galaxy.util,string,os,glob,time
3
4librepos = '/usr/local/galaxy/data/rg/library'
5myrepos = '/home/rerla/galaxy'
6
7
8#Provides Upload tool with access to list of available builds
9
10builds = []
11#Read build names and keys from galaxy.util
12for dbkey, build_name in galaxy.util.dbnames:
13    builds.append((build_name,dbkey,False))
14
15def timenow():
16    """return current time as a string
17    """
18    return time.strftime('%d/%m/%Y %H:%M:%S', time.localtime(time.time()))
19
20#Return available builds
21def get_available_builds(defval='hg18'):
22    for i,x in enumerate(builds):
23        if x[1] == defval:
24           x = list(x)
25           x[2] = True
26           builds[i] = tuple(x)
27    return builds
28
29#return available datasets for build
30def get_available_data( file_type_dir, build='hg18' ):
31    #we need to allow switching of builds, and properly set in post run hook
32    import_files = [('Use the History file chosen below','',True),]
33    flist = glob.glob(os.path.join(librepos,file_type_dir,'*.ped')) 
34    maplist = glob.glob(os.path.join(librepos,file_type_dir,'*.map'))
35    maplist = [os.path.splitext(x)[0] for x in maplist] # get unique filenames
36    mapdict = dict(zip(maplist,maplist))
37    flist = [os.path.splitext(x)[0] for x in flist] # get unique filenames
38    flist = list(set(flist)) # remove dupes 
39    flist = [x for x in flist if mapdict.get(x,None)]
40    flist.sort()
41    for i, data in enumerate( flist ):
42        #import_files.append( (os.path.split(data)[-1], os.path.split(data)[-1], False) )
43        import_files.append((data,data, False) )
44    if len(import_files) < 1:
45        import_files = [('No %s data available - please choose a History file below'
46                             % file_type_dir,'',True),]
47    return import_files
48
49def get_available_outexts(uid):
50    userId = uid
51    print 'userId=',userId
52    flib = os.path.join(librepos,userId,'fped')
53    plib = os.path.join(librepos,userId,'lped')
54    e = [('Fbat style (header row has marker names)',flib,False),('Linkage style (separate .map file)',plib,True)]
55    return e
56
57def getcols(fname="/usr/local/galaxy/data/camp2007/camp2007.xls"):
58   """return column names other than chr offset as a select list"""
59   head = open(fname,'r').next()
60   c = head.strip().split()
61   res = [(cname,'%d' % n,False) for n,cname in enumerate(c)]
62   for i in range(4):
63     x,y,z = res[i]
64     res[i] = (x,y,True) # set first couple as selected
65   return res
66
67   
68def exec_after_process(app, inp_data, out_data, param_dict, tool, stdout, stderr):
69    """Sets the name of the html output file - that's all we need
70    for a html file result set
71    """
72    ts = '%s%s' % (string.punctuation,string.whitespace)
73    ptran =  string.maketrans(ts,'_'*len(ts))
74    job_name = param_dict.get( 'title', 'LD_Plot' )
75    job_name = job_name.encode().translate(ptran)
76    ofname = 'out_file1'
77    data = out_data[ofname]
78    newname = job_name
79    data.name = '%s.html' % newname
80    info = '%s created by rgHaploView at %s' % (job_name,timenow())
81    out_data[ofname] = data
82    app.model.context.flush()
83
84
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。