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 = """
+
+
+
+"""
+ return """
""" % text
+
class Gmaj( data.Data ):
"""Class describing a GMAJ Applet"""
file_ext = "gmaj.zip"
def set_peek( self, dataset ):
- dataset.peek = ""
+ 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 "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()