diff --git a/lib/galaxy/datatypes/images.py b/lib/galaxy/datatypes/images.py index b14278e5c7d..fe3ccfc8c7d 100644 --- a/lib/galaxy/datatypes/images.py +++ b/lib/galaxy/datatypes/images.py @@ -76,11 +76,44 @@ class Image( data.Data ): dataset.peek = 'Image in %s format (%s)' % ( dataset.extension, data.nice_size( dataset.get_size() ) ) dataset.blurb = 'image' +def create_applet_tag_peek( class_name, archive, params ): + text = """ + + + """ % ( class_name, archive ) + for name, value in params.iteritems(): + text += """""" % ( name, value ) + text += """ + + + + """ % ( class_name, archive ) + for name, value in params.iteritems(): + text += """""" % ( name, value ) + text += """ + + + +""" + return """

%s

""" % text + class Gmaj( data.Data ): """Class describing a GMAJ Applet""" file_ext = "gmaj.zip" def set_peek( self, dataset ): - dataset.peek = "

Your browser is not responding to the <applet> tag.

" + params = { + "bundle":"display?id=%s&tofile=yes&toext=.zip" % dataset.id, + "buttonlabel": "Launch GMAJ", + "nobutton": "false", + "urlpause" :"100", + "debug": "false", + } + class_name = "edu.psu.bx.gmaj.MajApplet.class" + archive = "/static/gmaj/gmaj.jar" + dataset.peek = create_applet_tag_peek( class_name, archive, params ) dataset.blurb = 'GMAJ Multiple Alignment Viewer' def display_peek(self, dataset): try: @@ -142,8 +175,16 @@ class Laj( data.Text ): """Class describing a LAJ Applet""" file_ext = "laj" def set_peek( self, dataset ): - export_url = "/history_add_to?"+urlencode({'history_id':dataset.history_id,'ext':'lav','name':'LAJ Output','info':'Added by LAJ','dbkey':dataset.dbkey}) - dataset.peek = "

" + params = { + "alignfile1": "display?id=%s" % dataset.id, + "buttonlabel": "Launch LAJ", + "title": "LAJ in Galaxy", + "posturl": "history_add_to?%s" % urlencode( { 'history_id': dataset.history_id, 'ext': 'lav', 'name': 'LAJ Output', 'info': 'Added by LAJ', 'dbkey': dataset.dbkey } ), + "noseq": "true" + } + class_name = "edu.psu.cse.bio.laj.LajApplet.class" + archive = "/static/laj/laj.jar" + dataset.peek = create_applet_tag_peek( class_name, archive, params ) dataset.blurb = 'LAJ Multiple Alignment Viewer' def display_peek(self, dataset): try: diff --git a/tools/visualization/LAJ_code.py b/tools/visualization/LAJ_code.py index 448f5593f11..5413fbbfacd 100644 --- a/tools/visualization/LAJ_code.py +++ b/tools/visualization/LAJ_code.py @@ -1,51 +1,39 @@ #post processing, add sequence and additional annoation info if available from urllib import urlencode +from galaxy.datatypes.images import create_applet_tag_peek + def exec_after_process(app, inp_data, out_data, param_dict, tool, stdout, stderr): - maf_input = None - seq_file1 = None - seq_file2 = None - exonfile = None - repeatfile = None - annotationfile = None - underlayfile = None - highlightfile = None - primary_data = out_data.items()[0][1] + + #default params for LAJ type + params = { + "alignfile1": "display?id=%s" % primary_data.id, + "buttonlabel": "Launch LAJ", + "title": "LAJ in Galaxy", + "posturl": "history_add_to?%s" % urlencode( { 'history_id': primary_data.history_id, 'ext': 'lav', 'name': 'LAJ Output', 'info': 'Added by LAJ', 'dbkey': primary_data.dbkey } ) + } for name,data in inp_data.items(): if name == "maf_input": - maf_input = "/display?id="+str(data.id) + params["alignfile1"] = "display?id=%s" % data.id elif name == "seq_file1" and data.state == data.states.OK and data.has_data(): - seq_file1 = "/display?id="+str(data.id) + params["file1seq1"] = "display?id=%s" % data.id elif name == "seq_file2" and data.state == data.states.OK and data.has_data(): - seq_file2 = "/display?id="+str(data.id) + params["file1seq2"] = "display?id=%s" % data.id elif name == "exonfile" and data.state == data.states.OK and data.has_data(): - exonfile = "/display?id="+str(data.id) + params["exonfile"] = "display?id=%s" % data.id elif name == "repeatfile" and data.state == data.states.OK and data.has_data(): - repeatfile = "/display?id="+str(data.id) + params["repeatfile"] = "display?id=%s" % data.id elif name == "annotationfile" and data.state == data.states.OK and data.has_data(): - annotationfile = "/display?id="+str(data.id) + params["annotationfile"] = "display?id=%s" % data.id elif name == "underlayfile" and data.state == data.states.OK and data.has_data(): - underlayfile = "/display?id="+str(data.id) + params["underlayfile"] = "display?id=%s" % data.id elif name == "highlightfile" and data.state == data.states.OK and data.has_data(): - highlightfile = "/display?id="+str(data.id) - export_url = "/history_add_to?"+urlencode({'history_id':primary_data.history_id,'ext':'lav','name':'LAJ Output','info':'Added by LAJ','dbkey':primary_data.dbkey}) - primary_data.peek = "

" - if seq_file1: - primary_data.peek = primary_data.peek + "" - if seq_file2: - primary_data.peek = primary_data.peek + "" - if exonfile: - primary_data.peek = primary_data.peek + "" - if repeatfile: - primary_data.peek = primary_data.peek + "" - if annotationfile: - primary_data.peek = primary_data.peek + "" - if underlayfile: - primary_data.peek = primary_data.peek + "" - if highlightfile: - primary_data.peek = primary_data.peek + "" + params["highlightfile"] = "display?id=%s" % data.id - if not seq_file1 and not seq_file2: - primary_data.peek = primary_data.peek + "" - primary_data.peek = primary_data.peek +"

" + if "file1seq1" not in params and "file1seq2" not in params: + params["noseq"] = "true" + + class_name = "edu.psu.cse.bio.laj.LajApplet.class" + archive = "/static/laj/laj.jar" + primary_data.peek = create_applet_tag_peek( class_name, archive, params ) primary_data.flush()