diff tools/rgenetics/rgManQQ_code.py @ 0:9071e359b9a3

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:37:19 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/rgenetics/rgManQQ_code.py	Fri Mar 09 19:37:19 2012 -0500
@@ -0,0 +1,50 @@
+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_phecols(i,addNone,hint):
+   """ 
+   return a list of phenotype columns for a multi-select list
+   """
+   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):
+    """Sets the name of the data
+       <outputs>
+       <data format="pdf" name="allqq" />
+       <data format="pdf" name="lowqq" parent="allqq"/>
+    </outputs>
+    """
+    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()
+