[hg] galaxy 3182: Changed machine image manipulation link to 'Ma...
by Greg Von Kuster
details: http://www.bx.psu.edu/hg/galaxy/rev/add56c970e9c
changeset: 3182:add56c970e9c
user: Enis Afgan <afgane(a)gmail.com>
date: Thu Dec 17 07:21:38 2009 -0500
description:
Changed machine image manipulation link to 'Manage machine images' under admin interface.
diffstat:
templates/admin/index.mako | 3 +--
templates/cloud/list_images.mako | 23 +++++++++++------------
2 files changed, 12 insertions(+), 14 deletions(-)
diffs (54 lines):
diff -r e905ef22c648 -r add56c970e9c templates/admin/index.mako
--- a/templates/admin/index.mako Tue Dec 15 19:18:22 2009 -0500
+++ b/templates/admin/index.mako Thu Dec 17 07:21:38 2009 -0500
@@ -127,8 +127,7 @@
</div>
<div class="toolSectionBody">
<div class="toolSectionBg">
- <div class="toolTitle"><a href="${h.url_for( controller='cloud', action='list_machine_images' )}" target="galaxy_main">List machine images</a></div>
- <div class="toolTitle"><a href="${h.url_for( controller='cloud', action='add_new_image' )}" target="galaxy_main">Add machine image</a></div>
+ <div class="toolTitle"><a href="${h.url_for( controller='cloud', action='list_machine_images' )}" target="galaxy_main">Manage machine images</a></div>
</div>
</div>
</div>
diff -r e905ef22c648 -r add56c970e9c templates/cloud/list_images.mako
--- a/templates/cloud/list_images.mako Tue Dec 15 19:18:22 2009 -0500
+++ b/templates/cloud/list_images.mako Thu Dec 17 07:21:38 2009 -0500
@@ -16,9 +16,17 @@
</div>
%endif
+<h2>List of registered machine images:</h2>
+<ul class="manage-table-actions">
+ <li>
+ <a class="action-button" href="${h.url_for( controller='cloud', action='add_new_image' )}" target="galaxy_main">
+ <img src="${h.url_for('/static/images/silk/add.png')}" />
+ <span>Add machine image</span>
+ </a>
+ </li>
+</ul>
+
%if images:
- <h2>List of registered machine images:</h2>
-
<table class="mange-table colored" border="0" cellspacing="0" cellpadding="0" width="100%">
<colgroup width="2%"></colgroup>
<colgroup width="10%"></colgroup>
@@ -78,15 +86,6 @@
</tr>
%endfor
</table>
-
- <p /></p><a href="${h.url_for( controller='cloud', action='add_new_image' )}" target="galaxy_main">Add another machine image</a>
%else:
<h3>There are no registered machine images.</h3><br />
- <a href="${h.url_for( controller='cloud', action='add_new_image' )}" target="galaxy_main">Add machine image now?</a>
-
-%endif
-
-
-
-
-
+%endif
\ No newline at end of file
12 years, 6 months
[hg] galaxy 3174: Make code easier to read and more secure: repl...
by Greg Von Kuster
details: http://www.bx.psu.edu/hg/galaxy/rev/4b0e9e727dbf
changeset: 3174:4b0e9e727dbf
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Mon Dec 14 10:33:39 2009 -0500
description:
Make code easier to read and more secure: replace eval() with getattr().
diffstat:
lib/galaxy/web/framework/helpers/grids.py | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diffs (13 lines):
diff -r f7dee0438854 -r 4b0e9e727dbf lib/galaxy/web/framework/helpers/grids.py
--- a/lib/galaxy/web/framework/helpers/grids.py Fri Dec 11 11:11:15 2009 -0500
+++ b/lib/galaxy/web/framework/helpers/grids.py Mon Dec 14 10:33:39 2009 -0500
@@ -334,8 +334,7 @@
return query
def get_filter( self, column_filter ):
""" Returns a SQLAlchemy criterion derived from column_filter. """
- # This is a pretty ugly way to get the key attribute of model_class. TODO: Can this be fixed?
- model_class_key_field = eval( "self.model_class." + self.key )
+ model_class_key_field = getattr( self.model_class, self.key )
if isinstance( column_filter, basestring ):
return func.lower( model_class_key_field ).like( "%" + column_filter.lower() + "%" )
12 years, 6 months
[hg] galaxy 3176: Fix for grib buttons
by Greg Von Kuster
details: http://www.bx.psu.edu/hg/galaxy/rev/580ba7051984
changeset: 3176:580ba7051984
user: James Taylor <james(a)jamestaylor.org>
date: Mon Dec 14 12:41:27 2009 -0500
description:
Fix for grib buttons
diffstat:
templates/grid_base.mako | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diffs (24 lines):
diff -r ef075ec1445a -r 580ba7051984 templates/grid_base.mako
--- a/templates/grid_base.mako Mon Dec 14 12:17:01 2009 -0500
+++ b/templates/grid_base.mako Mon Dec 14 12:41:27 2009 -0500
@@ -854,11 +854,18 @@
# Attach popup menu?
if column.attach_popup and cellnum == 0:
id = 'grid-%d-popup' % i
+ # Determine appropriate class
+ cls = ""
+ if column.attach_popup or href:
+ cls = "menubutton"
+ if column.attach_popup and href:
+ cls = "menubutton split"
+
%>
%if href:
- <td><div id="${id}" class="menubutton split" style="float: left;"><a class="label" href="${href}">${v}</a></td>
+ <td><div id="${id}" class="${cls}" style="float: left;"><a class="label" href="${href}">${v}</a></td>
%else:
- <td><div id="${id}" class="menubutton">${v}</div></td>
+ <td><div id="${id}" class="${cls}">${v}</div></td>
%endif
%endfor
%endif
12 years, 6 months
[hg] galaxy 3175: Fix various popup button issues. When there is...
by Greg Von Kuster
details: http://www.bx.psu.edu/hg/galaxy/rev/ef075ec1445a
changeset: 3175:ef075ec1445a
user: James Taylor <james(a)jamestaylor.org>
date: Mon Dec 14 12:17:01 2009 -0500
description:
Fix various popup button issues. When there is no popup, button will be correctly sized (no extra space on right). When there is only a popup, entire button area is clickable. Combo buttons are mostly unchanged except that the popup click area is larger (anything to the right of the separator bar. An image is used so the arrow has a consistent shape and size across browsers.
diffstat:
static/images/ddarrowsplit.png |
static/june_2007_style/base.css.tmpl | 37 ++++--------------
static/june_2007_style/blue/base.css | 14 ++----
static/june_2007_style/blue/panel_layout.css | 5 +-
static/june_2007_style/panel_layout.css.tmpl | 9 +++-
static/scripts/galaxy.base.js | 2 +-
templates/grid_base.mako | 11 ++---
templates/root/index.mako | 2 +-
templates/workflow/list.mako | 6 +--
9 files changed, 33 insertions(+), 53 deletions(-)
diffs (212 lines):
diff -r 4b0e9e727dbf -r ef075ec1445a static/images/ddarrowsplit.png
Binary file static/images/ddarrowsplit.png has changed
diff -r 4b0e9e727dbf -r ef075ec1445a static/june_2007_style/base.css.tmpl
--- a/static/june_2007_style/base.css.tmpl Mon Dec 14 10:33:39 2009 -0500
+++ b/static/june_2007_style/base.css.tmpl Mon Dec 14 12:17:01 2009 -0500
@@ -451,31 +451,17 @@
padding: 3px 0.5em;
margin: -3px -0.5em;
- padding-right: 1.5em;
- .label, .arrow {
+ .label {
position: relative;
display: block;
- }
-
- .label {
border-right: none;
}
-
- .arrow {
- padding-left: 2px;
- width: 1em;
- position: absolute;
- top: 0;
- right: 5px;
- height: 100%;
- }
-
- .arrow > span {
- display: inline-block;
- padding-top: 3px;
- }
-
+}
+
+.menubutton.popup {
+ padding-right: 1.5em;
+ background: url(../images/dropdownarrow.png) no-repeat right 8px;
}
.menubutton:hover {
@@ -487,17 +473,12 @@
## A split menu button, the main button has an action, the arrow causes the
## popup menu to appear
-.menubutton.split {
+.menubutton.popup.split {
padding-right: 2em;
- .arrow {
- border-left: solid transparent 1px;
- }
}
-.menubutton.split:hover {
- .arrow {
- border-left: solid #aaaaaa 1px;
- }
+.menubutton.popup.split:hover {
+ background: url(../images/ddarrowsplit.png) no-repeat right -38px;
}
## Popup menu styles
diff -r 4b0e9e727dbf -r ef075ec1445a static/june_2007_style/blue/base.css
--- a/static/june_2007_style/blue/base.css Mon Dec 14 10:33:39 2009 -0500
+++ b/static/june_2007_style/blue/base.css Mon Dec 14 12:17:01 2009 -0500
@@ -77,16 +77,12 @@
.action-button > *{vertical-align:middle;}
.action-button:hover{color:black;background:#dddddd;}
.action-button:active{color:white;background:#aaaaaa;}
-.menubutton{display:inline-block;cursor:pointer;position:relative;user-select:none;-moz-user-select:none;-webkit-user-select:none;border:solid transparent 1px;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em;padding:3px 0.5em;margin:-3px -0.5em;padding-right:1.5em;}
-.menubutton .label,.menubutton .arrow{position:relative;display:block;}
-.menubutton .label{border-right:none;}
-.menubutton .arrow{padding-left:2px;width:1em;position:absolute;top:0;right:5px;height:100%;}
-.menubutton .arrow > span{display:inline-block;padding-top:3px;}
+.menubutton{display:inline-block;cursor:pointer;position:relative;user-select:none;-moz-user-select:none;-webkit-user-select:none;border:solid transparent 1px;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em;padding:3px 0.5em;margin:-3px -0.5em;}
+.menubutton .label{position:relative;display:block;border-right:none;}
+.menubutton.popup{padding-right:1.5em;background:url(../images/dropdownarrow.png) no-repeat right 8px;}
.menubutton:hover{border-color:#aaaaaa;}
-.menubutton.split{padding-right:2em;}
-.menubutton.split .arrow{border-left:solid transparent 1px;}
-.menubutton.split:hover{}
-.menubutton.split:hover .arrow{border-left:solid #aaaaaa 1px;}
+.menubutton.popup.split{padding-right:2em;}
+.menubutton.popup.split:hover{background:url(../images/ddarrowsplit.png) no-repeat right -38px;}
.overlay-border{position:absolute;top:0;left:0;height:100%;width:100%;padding:1em;margin:-1em;background-color:rgba(0,0,0,0.5);-moz-border-radius:1em;-webkit-border-radius:1em;z-index:-1;}
div.popmenu-wrapper{position:absolute;top:100%;z-index:20000;}
div.popmenu-wrapper ul{display:block;margin:0;padding:0;background:white;color:#333;font-weight:bold;font-style:normal;white-space:nowrap;border:solid #aaaaaa 1px;padding:3px 0;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em;user-select:none;-moz-user-select:none;-webkit-user-select:none;}
diff -r 4b0e9e727dbf -r ef075ec1445a static/june_2007_style/blue/panel_layout.css
--- a/static/june_2007_style/blue/panel_layout.css Mon Dec 14 10:33:39 2009 -0500
+++ b/static/june_2007_style/blue/panel_layout.css Mon Dec 14 12:17:01 2009 -0500
@@ -25,8 +25,9 @@
.menu-bg{background:#C1C9E5 url(menu_bg.png) top repeat-x;}
div.unified-panel-body{position:absolute;top:2em;bottom:0;width:100%;margin-top:1px;}
.panel-header-button{color:#333;text-decoration:none;display:inline-block;cursor:pointer;margin:-1px;padding:1px;padding-right:0.5em;padding-left:0.5em;-moz-border-radius:0.5em;-webkit-border-radius:0.5em;border-radius:0.5em;background:#bbb;}
-.panel-header-button:hover{color:black;background:#aaaaaa;}
-.panel-header-button:active{color:white;background:#aaaaaa;}
+.panel-header-button.popup{padding-right:1.75em;background:url(../images/dropdownarrow.png) no-repeat right 7px;}
+.panel-header-button:hover{color:black;background-color:#aaaaaa;}
+.panel-header-button:active{color:white;background-color:#aaaaaa;}
#overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:20000;}
.dialog-box-container{position:relative;margin-top:80px;margin-right:auto;margin-left:auto;}
.dialog-box-wrapper{position:relative;padding:1em;background-color:rgba(0,0,0,0.5);-moz-border-radius:1em;-webkit-border-radius:1em;}
diff -r 4b0e9e727dbf -r ef075ec1445a static/june_2007_style/panel_layout.css.tmpl
--- a/static/june_2007_style/panel_layout.css.tmpl Mon Dec 14 10:33:39 2009 -0500
+++ b/static/june_2007_style/panel_layout.css.tmpl Mon Dec 14 12:17:01 2009 -0500
@@ -152,14 +152,19 @@
background: #bbb;
}
+.panel-header-button.popup {
+ padding-right: 1.75em;
+ background: url(../images/dropdownarrow.png) no-repeat right 7px;
+}
+
.panel-header-button:hover {
color: black;
- background: #aaaaaa;
+ background-color: #aaaaaa;
}
.panel-header-button:active {
color: white;
- background: #aaaaaa;
+ background-color: #aaaaaa;
}
#overlay {
diff -r 4b0e9e727dbf -r ef075ec1445a static/scripts/galaxy.base.js
--- a/static/scripts/galaxy.base.js Mon Dec 14 10:33:39 2009 -0500
+++ b/static/scripts/galaxy.base.js Mon Dec 14 12:17:01 2009 -0500
@@ -44,7 +44,7 @@
var b = $( "#" + $(this).attr( 'popupmenu' ) );
make_popupmenu( b, options );
$(this).remove();
- b.show();
+ b.addClass( "popup" ).show();
});
}
diff -r 4b0e9e727dbf -r ef075ec1445a templates/grid_base.mako
--- a/templates/grid_base.mako Mon Dec 14 10:33:39 2009 -0500
+++ b/templates/grid_base.mako Mon Dec 14 12:17:01 2009 -0500
@@ -210,7 +210,7 @@
var b = $( "#" + $(this).attr( 'popupmenu' ) );
make_popupmenu( b, options );
$(this).remove();
- b.show();
+ b.addClass( "popup" ).show();
});
}
@@ -847,19 +847,18 @@
%>
%for cellnum, v in enumerate( value ):
<%
+ id = ""
# Handle non-ascii chars.
if isinstance(v, str):
v = unicode(v, 'utf-8')
# Attach popup menu?
if column.attach_popup and cellnum == 0:
- extra = '<a id="grid-%d-popup" class="arrow" style="display: none;"><span>▼</span></a>' % i
- else:
- extra = ""
+ id = 'grid-%d-popup' % i
%>
%if href:
- <td><div class="menubutton split" style="float: left;"><a class="label" href="${href}">${v}</a>${extra}</td>
+ <td><div id="${id}" class="menubutton split" style="float: left;"><a class="label" href="${href}">${v}</a></td>
%else:
- <td >${v}${extra}</td>
+ <td><div id="${id}" class="menubutton">${v}</div></td>
%endif
%endfor
%endif
diff -r 4b0e9e727dbf -r ef075ec1445a templates/root/index.mako
--- a/templates/root/index.mako Mon Dec 14 10:33:39 2009 -0500
+++ b/templates/root/index.mako Mon Dec 14 12:17:01 2009 -0500
@@ -102,7 +102,7 @@
<div class="unified-panel-header" unselectable="on">
<div class="unified-panel-header-inner">
<div style="float: right">
- <a id="history-options-button" class='panel-header-button' href="${h.url_for( controller='root', action='history_options' )}" target="galaxy_main"><span style="padding:0 20px 0 5px;background:url(${h.url_for( '/static/images/dropdownarrow.png')}) no-repeat right center;">${_('Options')}</span></a>
+ <a id="history-options-button" class='panel-header-button popup' href="${h.url_for( controller='root', action='history_options' )}" target="galaxy_main">${_('Options')}</a>
</div>
<div class="panel-header-text">${_('History')}</div>
</div>
diff -r 4b0e9e727dbf -r ef075ec1445a templates/workflow/list.mako
--- a/templates/workflow/list.mako Mon Dec 14 10:33:39 2009 -0500
+++ b/templates/workflow/list.mako Mon Dec 14 12:17:01 2009 -0500
@@ -37,8 +37,7 @@
%for i, workflow in enumerate( workflows ):
<tr>
<td>
- <div class="menubutton" style="float: left;">
- <a id="wf-${i}-popup" class="arrow" style="display: none;"><span>▼</span></a>
+ <div class="menubutton" style="float: left;" id="wf-${i}-popup">
${workflow.name}
</div>
</td>
@@ -77,8 +76,7 @@
<% workflow = association.stored_workflow %>
<tr>
<td>
- <a href="${h.url_for( action='run', id=trans.security.encode_id(workflow.id) )}">${workflow.name}</a>
- <a id="shared-${i}-popup" class="popup-arrow" style="display: none;">▼</a>
+ <a class="menubutton" id="shared-${i}-popup" href="${h.url_for( action='run', id=trans.security.encode_id(workflow.id) )}">${workflow.name}</a>
</td>
<td>${workflow.user.email}</td>
<td>${len(workflow.latest_workflow.steps)}</td>
12 years, 6 months
[hg] galaxy 3177: Updating histogram functional test output, whi...
by Greg Von Kuster
details: http://www.bx.psu.edu/hg/galaxy/rev/b628cfc8a5d1
changeset: 3177:b628cfc8a5d1
user: guru
date: Mon Dec 14 15:17:13 2009 -0500
description:
Updating histogram functional test output, which had changed as a result of R version upgrade.
diffstat:
test-data/histogram_out1.pdf | 89 +++++++++++++++++++++++++-------------------
tools/plotting/histogram2.xml | 2 +-
2 files changed, 51 insertions(+), 40 deletions(-)
diffs (194 lines):
diff -r 580ba7051984 -r b628cfc8a5d1 test-data/histogram_out1.pdf
--- a/test-data/histogram_out1.pdf Mon Dec 14 12:41:27 2009 -0500
+++ b/test-data/histogram_out1.pdf Mon Dec 14 15:17:13 2009 -0500
@@ -1,11 +1,11 @@
-%PDF-1.1
+%PDF-1.4
%âãÏÓ\r
1 0 obj
<<
-/CreationDate (D:20080404084132)
-/ModDate (D:20080404084132)
+/CreationDate (D:20091214150037)
+/ModDate (D:20091214150037)
/Title (R Graphics Output)
-/Producer (R 2.6.2)
+/Producer (R 2.10.0)
/Creator (R)
>>
endobj
@@ -17,23 +17,15 @@
endobj
5 0 obj
<<
-/Type /Font
-/Subtype /Type1
-/Name /F1
-/BaseFont /ZapfDingbats
+/Type /Page
+/Parent 3 0 R
+/Contents 6 0 R
+/Resources 4 0 R
>>
endobj
6 0 obj
<<
-/Type /Page
-/Parent 3 0 R
-/Contents 7 0 R
-/Resources 4 0 R
->>
-endobj
-7 0 obj
-<<
-/Length 8 0 R
+/Length 7 0 R
>>
stream
q
@@ -41,7 +33,11 @@
BT
0.000 0.000 0.000 rg
/F3 1 Tf 14.00 0.00 -0.00 14.00 267.78 541.45 Tm (Histogram) Tj
+ET
+BT
/F2 1 Tf 12.00 0.00 -0.00 12.00 295.06 18.72 Tm (V1) Tj
+ET
+BT
/F2 1 Tf 0.00 12.00 -12.00 0.00 12.96 275.20 Tm (Density) Tj
ET
Q q
@@ -60,9 +56,17 @@
BT
0.000 0.000 0.000 rg
/F2 1 Tf 12.00 0.00 -0.00 12.00 70.39 47.52 Tm (55) Tj
+ET
+BT
/F2 1 Tf 12.00 0.00 -0.00 12.00 183.06 47.52 Tm (60) Tj
+ET
+BT
/F2 1 Tf 12.00 0.00 -0.00 12.00 295.73 47.52 Tm (65) Tj
+ET
+BT
/F2 1 Tf 12.00 0.00 -0.00 12.00 408.39 47.52 Tm (70) Tj
+ET
+BT
/F2 1 Tf 12.00 0.00 -0.00 12.00 521.06 47.52 Tm (75) Tj
ET
59.04 89.87 m 59.04 500.53 l S
@@ -73,9 +77,17 @@
59.04 500.53 m 51.84 500.53 l S
BT
/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 78.19 Tm (0.00) Tj
+ET
+BT
/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 180.86 Tm (0.02) Tj
+ET
+BT
/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 283.52 Tm (0.04) Tj
+ET
+BT
/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 386.19 Tm (0.06) Tj
+ET
+BT
/F2 1 Tf 0.00 12.00 -12.00 0.00 41.76 488.86 Tm (0.08) Tj
ET
Q q 59.04 73.44 486.72 443.52 re W n
@@ -466,14 +478,14 @@
Q
endstream
endobj
-8 0 obj
-7357
+7 0 obj
+7417
endobj
3 0 obj
<<
/Type /Pages
/Kids [
-6 0 R
+5 0 R
]
/Count 1
/MediaBox [0 0 576 576]
@@ -482,11 +494,11 @@
4 0 obj
<<
/ProcSet [/PDF /Text]
-/Font << /F1 5 0 R /F2 10 0 R /F3 11 0 R >>
+/Font <</F2 9 0 R /F3 10 0 R >>
/ExtGState << >>
>>
endobj
-9 0 obj
+8 0 obj
<<
/Type /Encoding
/BaseEncoding /WinAnsiEncoding
@@ -495,40 +507,39 @@
/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space]
>>
endobj
-10 0 obj <<
+9 0 obj <<
/Type /Font
/Subtype /Type1
/Name /F2
/BaseFont /Helvetica
-/Encoding 9 0 R
+/Encoding 8 0 R
>> endobj
-11 0 obj <<
+10 0 obj <<
/Type /Font
/Subtype /Type1
/Name /F3
/BaseFont /Helvetica-Bold
-/Encoding 9 0 R
+/Encoding 8 0 R
>> endobj
xref
-0 12
+0 11
0000000000 65535 f
0000000021 00000 n
-0000000163 00000 n
-0000007805 00000 n
-0000007888 00000 n
-0000000212 00000 n
-0000000295 00000 n
-0000000375 00000 n
-0000007785 00000 n
-0000007992 00000 n
-0000008249 00000 n
-0000008346 00000 n
+0000000164 00000 n
+0000007783 00000 n
+0000007866 00000 n
+0000000213 00000 n
+0000000293 00000 n
+0000007763 00000 n
+0000007958 00000 n
+0000008215 00000 n
+0000008311 00000 n
trailer
<<
-/Size 12
+/Size 11
/Info 1 0 R
/Root 2 0 R
>>
startxref
-8448
+8413
%%EOF
diff -r 580ba7051984 -r b628cfc8a5d1 tools/plotting/histogram2.xml
--- a/tools/plotting/histogram2.xml Mon Dec 14 12:41:27 2009 -0500
+++ b/tools/plotting/histogram2.xml Mon Dec 14 15:17:13 2009 -0500
@@ -1,4 +1,4 @@
-<tool id="histogram_rpy" name="Histogram" version="1.0.1">
+<tool id="histogram_rpy" name="Histogram" version="1.0.2">
<description>of a numeric column</description>
<command interpreter="python">histogram.py $input $out_file1 $numerical_column "$title" "$xlab" $breaks $density</command>
<inputs>
12 years, 6 months
[hg] galaxy 3178: Visualization tweaks, grid links work again (n...
by Greg Von Kuster
details: http://www.bx.psu.edu/hg/galaxy/rev/86cbda1bcf67
changeset: 3178:86cbda1bcf67
user: James Taylor <james(a)jamestaylor.org>
date: Mon Dec 14 21:14:53 2009 -0500
description:
Visualization tweaks, grid links work again (not perfect though), tracks now line up with no extra shims, now shows scrollbar for track area
diffstat:
lib/galaxy/web/controllers/visualization.py | 1 -
static/scripts/trackster.js | 8 +++-
static/trackster.css | 40 ++++++++++++-------
templates/grid_base.mako | 10 ++++-
templates/tracks/browser.mako | 25 ++++++++----
5 files changed, 56 insertions(+), 28 deletions(-)
diffs (246 lines):
diff -r b628cfc8a5d1 -r 86cbda1bcf67 lib/galaxy/web/controllers/visualization.py
--- a/lib/galaxy/web/controllers/visualization.py Mon Dec 14 15:17:13 2009 -0500
+++ b/lib/galaxy/web/controllers/visualization.py Mon Dec 14 21:14:53 2009 -0500
@@ -5,7 +5,6 @@
class VisualizationListGrid( grids.Grid ):
# Grid definition
- use_panels = True
title = "Visualizations"
model_class = model.Visualization
default_sort_key = "-create_time"
diff -r b628cfc8a5d1 -r 86cbda1bcf67 static/scripts/trackster.js
--- a/static/scripts/trackster.js Mon Dec 14 15:17:13 2009 -0500
+++ b/static/scripts/trackster.js Mon Dec 14 21:14:53 2009 -0500
@@ -122,8 +122,8 @@
for ( var i = 0, len = this.tracks.length; i < len; i++ ) {
this.tracks[i].draw();
}
- $("#bottom-spacer").remove();
- $("#viewport").append('<div id="bottom-spacer" style="height: 200px;"></div>');
+ //$("#bottom-spacer").remove();
+ //$("#viewport").append('<div id="bottom-spacer" style="height: 200px;"></div>');
},
zoom_in: function ( point ) {
if (this.max_high === 0 || this.high - this.low < 30) {
@@ -181,6 +181,7 @@
var w_scale = this.content_div.width() / range;
+ var max_height = 20;
var tile_element;
// Index of first tile that overlaps visible region
var tile_index = Math.floor( low / resolution / DENSITY );
@@ -200,12 +201,15 @@
});
// Our responsibility to move the element to the new parent
parent_element.append( cached );
+ max_height = Math.max( max_height, cached.height() );
} else {
tile_element = this.draw_tile( resolution, tile_index, parent_element, w_scale );
if ( tile_element ) {
this.tile_cache.set(key, tile_element);
+ max_height = Math.max( max_height, tile_element.height() );
}
}
+ this.content_div.css( "height", max_height );
tile_index += 1;
}
}
diff -r b628cfc8a5d1 -r 86cbda1bcf67 static/trackster.css
--- a/static/trackster.css Mon Dec 14 15:17:13 2009 -0500
+++ b/static/trackster.css Mon Dec 14 21:14:53 2009 -0500
@@ -1,14 +1,18 @@
+body, html {
+ height: 100%;
+}
+
body {
margin: 0 0;
padding: 0;
font-family: verdana;
font-size: 12px;
- overflow-y: hidden;
+ overflow: hidden;
+ background: #eeeeee;
}
#content {
width: 100%;
- height: 100%;
}
#center {
@@ -29,22 +33,23 @@
border-left: 1px solid green;
border-right: 1px solid red; } /* debugging */
#nav {
- padding: 0.5em 0;
- background:#cccccc;
- background-image:url(style/panel_header_bg.png);
- background-position:top center;
- background-repeat:repeat-x;border-top:solid #999 1px;
+ padding: 0 0;
color:#333;font-weight:bold;
}
#nav-controls {
text-align: center;
+ background:#cccccc;
+ background-image:url(style/panel_header_bg.png);
+ background-position:top center;
+ background-repeat:repeat-x;
+ padding-bottom: 5px;
}
#nav-controls a {
color: white;
padding: 0.1em 0.4em;
- margin: 0 0.1em;
+ margin: 0 0;
text-decoration: none;
background: black;
-webkit-border-radius: 1em;
@@ -55,6 +60,7 @@
width: 100%;
margin: 0px;
color: white;
+ margin-top: 10px;
}
#overview-viewport {
@@ -63,8 +69,9 @@
/* border-top: solid #666 1px;*/
/* border-bottom: solid #aaa 1px;*/
background: white;
- border: solid gray 1px;
- margin: 5px;
+ border-top: solid gray 1px;
+ border-bottom: solid gray 1px;
+ margin: 5px 0;
}
#overview-box {
position: absolute;
@@ -75,7 +82,7 @@
}
#viewport {
- overflow: hidden;
+ overflow-x: hidden;
background-color: #fff;
/* overflow: scroll;*/
/* border-bottom: 2px solid black;*/
@@ -96,13 +103,15 @@
}
.track {
-/* border-top: solid gray 1px; */
-/* border-bottom: solid gray 1px; */
+ /* border-top: solid #DDDDDD 1px; */
+ /* border-bottom: solid #DDDDDD 1px; */
+ background: white;
}
.track-header {
- text-align: center;
- padding: 2px 0;
+ text-align: left;
+ padding: 4px;
+ color: #666;
}
.track-content {
@@ -138,4 +147,5 @@
#nav-labeltrack {
border-top: solid #999 1px;
+ border-bottom: solid #999 1px;
}
diff -r b628cfc8a5d1 -r 86cbda1bcf67 templates/grid_base.mako
--- a/templates/grid_base.mako Mon Dec 14 15:17:13 2009 -0500
+++ b/templates/grid_base.mako Mon Dec 14 21:14:53 2009 -0500
@@ -203,7 +203,15 @@
target = $(this).attr( "target" );
options[ $(this).text() ] = function() {
if ( !confirmtext || confirm( confirmtext ) ) {
- do_operation_from_href(href);
+ if ( href.indexOf( "operation" ) > -1 ) {
+ do_operation_from_href(href);
+ } else {
+ var f = window;
+ if ( target == "_parent" ) {
+ f = window.parent;
+ }
+ f.location = href;
+ }
}
};
});
diff -r b628cfc8a5d1 -r 86cbda1bcf67 templates/tracks/browser.mako
--- a/templates/tracks/browser.mako Mon Dec 14 15:17:13 2009 -0500
+++ b/templates/tracks/browser.mako Mon Dec 14 21:14:53 2009 -0500
@@ -33,6 +33,7 @@
} else {
view.zoom_out();
}
+ e.preventDefault();
});
$(document).bind("dblclick", function( e ) {
@@ -53,20 +54,23 @@
// To adjust the size of the viewport to fit the fixed-height footer
$(window).resize( function( e ) {
- $("#viewport").height( $(window).height() - 120 );
+ $("#content").height( $(window).height() - $("#nav-container").height() );
+ $("#viewport-container").height( $("#content").height() - $("#top-labeltrack").height() - $("#nav-labeltrack").height() );
view.redraw();
});
+
+ $(window).resize();
$("#viewport").bind( "dragstart", function( e ) {
this.original_low = view.low;
this.current_height = e.clientY;
this.current_x = e.offsetX;
}).bind( "drag", function( e ) {
+ var container = $(this).parent();
var delta = e.offsetX - this.current_x;
- var new_scroll = $(this).scrollTop() - (e.clientY - this.current_height);
-
- if ( new_scroll < $(this).get(0).scrollHeight - $(this).height() - 200) {
- $(this).scrollTop(new_scroll);
+ var new_scroll = container.scrollTop() - (e.clientY - this.current_height);
+ if ( new_scroll < container.get(0).scrollHeight - container.height() ) {
+ container.scrollTop(new_scroll);
}
this.current_height = e.clientY;
@@ -101,10 +105,13 @@
<div id="content">
<div id="top-labeltrack"></div>
- <div id="viewport"></div>
+ <div id="viewport-container" style="overflow-x: hidden; overflow-y: auto;">
+ <div id="viewport"></div>
+ </div>
+ <div id="nav-labeltrack"></div>
</div>
<div id="nav-container">
- <div id="nav-labeltrack"></div>
+ ## <div style="height: 5px; border-top: solid #ccc 1px"></div>
<div id="nav">
<div id="overview">
<div id="overview-viewport">
@@ -116,9 +123,9 @@
<select id="chrom" name="chrom" style="width: 15em;">
<option value="">Loading</option>
</select>
- <input id="low" size="12" />:<input id="high" size="12" />
+ <input id="low" size="12" />:<input id="high" size="12" />
## <input type="hidden" name="dataset_ids" value="${dataset_ids}" />
- <input type="hidden" name="id" value="${id}" />
+ <input type="hidden" name="id" value="${id}" />
<a href="#" onclick="javascript:view.zoom_in();view.redraw();">+</a>
<a href="#" onclick="javascript:view.zoom_out();view.redraw();">-</a>
</form>
12 years, 6 months
Re: [galaxy-dev] order of multiple output datasets
by Alexander Rose
Hi,
i overlook something...
there is a try... except block in lib/galaxy/tools/__init__.py (line ~810)
try:
assert type( out_data ) is types.DictType
return 'tool_executed.mako', dict( out_data=out_data )
except:
return 'message.mako', dict( message_type='error', message=out_data, refresh_frames=[] )
which checks if the output data is of type dict - but I changed the output data to odict...
this assertion works
assert isinstance( out_data, odict )
Alex
----- "Alexander Rose" <alexander.rose(a)weirdbyte.de> schrieb:
> Von: "Alexander Rose" <alexander.rose(a)weirdbyte.de>
> An: "galaxy-dev" <galaxy-dev(a)lists.bx.psu.edu>
> Gesendet: Freitag, 18. Dezember 2009 17:02:15 GMT +01:00 Amsterdam/Berlin/Bern/Rom/Stockholm/Wien
> Betreff: [galaxy-dev] order of multiple output datasets
>
> Hi,
>
> (i'm using current galaxy_dist r3173:f7dee0438854)
>
> when you have a tool in galaxy that creates multiple output datasets,
> the order in which you define them in the xml file is not preserved in
> the history.
>
> I believe this is because galaxy collects the output objects in a
> dict. I made some changes (see the diff below) to use an odict()
> instead.
>
> However this works only partially, the tool gets executed and the
> order of the output datasets is preserved, but instead of the message
> you normally see after executing a tool an error is raised (see
> below).
>
> I don't know what went wrong and where, I particularly don't
> understand how the message.mako template works.
>
>
> Alex
>
>
> * Error
>
> URL: http://127.0.0.1:8080/tool_runner/index
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/WebError-0.8a-py2.5.egg/weberror/evalexception/middleware.py',
> line 364 in respond
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Paste-1.6-py2.5.egg/paste/debug/prints.py',
> line 98 in __call__
> environ, self.app)
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Paste-1.6-py2.5.egg/paste/wsgilib.py',
> line 539 in intercept_output
> app_iter = application(environ, replacement_start_response)
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Beaker-1.4-py2.5.egg/beaker/middleware.py',
> line 152 in __call__
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Paste-1.6-py2.5.egg/paste/recursive.py',
> line 80 in __call__
> return self.application(environ, start_response)
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Paste-1.6-py2.5.egg/paste/httpexceptions.py',
> line 632 in __call__
> return self.application(environ, start_response)
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/web/framework/base.py',
> line 125 in __call__
> body = self.call_body_method( method, trans, kwargs )
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/web/framework/base.py',
> line 144 in call_body_method
> return method( trans, **kwargs )
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/web/controllers/tool_runner.py',
> line 59 in index
> return trans.fill_template( template, history=history,
> toolbox=toolbox, tool=tool, util=util, add_frame=add_frame, **vars )
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/web/framework/__init__.py',
> line 593 in fill_template
> return self.fill_template_mako( filename, **kwargs )
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/web/framework/__init__.py',
> line 604 in fill_template_mako
> return template.render( **data )
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Mako-0.2.5-py2.5.egg/mako/template.py',
> line 133 in render
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Mako-0.2.5-py2.5.egg/mako/runtime.py',
> line 364 in _render
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Mako-0.2.5-py2.5.egg/mako/runtime.py',
> line 381 in _render_context
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Mako-0.2.5-py2.5.egg/mako/runtime.py',
> line 414 in _exec_template
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/database/compiled_templates/base.mako.py',
> line 37 in render_body
> __M_writer(unicode(next.body()))
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/eggs/py2.5-noplatform/Mako-0.2.5-py2.5.egg/mako/runtime.py',
> line 255 in <lambda>
> File
> '/Users/alexrose/mc-galaxy/galaxy_dist/database/compiled_templates/message.mako.py',
> line 45 in render_body
> __M_writer(unicode(_(message)))
> File
> '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/gettext.py',
> line 400 in ugettext
> tmsg = self._catalog.get(message, missing)
> TypeError: unhashable instance
>
>
> * Diff
>
> Index:
> /Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/tools/__init__.py
> --- a/lib/galaxy/tools/__init__.py Wed Dec 16 17:10:05 2009 +0100
> +++ b/lib/galaxy/tools/__init__.py Fri Dec 18 16:20:53 2009 +0100
> @@ -427,7 +427,7 @@
> # Parse tool help
> self.parse_help( root )
> # Description of outputs produced by an invocation of the
> tool
> - self.outputs = {}
> + self.outputs = odict()
> out_elem = root.find("outputs")
> if out_elem:
> for data_elem in out_elem.findall("data"):
> Index:
> /Users/alexrose/mc-galaxy/galaxy_dist/lib/galaxy/tools/actions/__init__.py
> --- a/lib/galaxy/tools/actions/__init__.py Wed Dec 16 17:10:05 2009
> +0100
> +++ b/lib/galaxy/tools/actions/__init__.py Fri Dec 18 16:20:53 2009
> +0100
> @@ -7,6 +7,7 @@
> from galaxy.jobs import JOB_OK
> import galaxy.tools
> from types import *
> +from galaxy.util.odict import odict
>
> import logging
> log = logging.getLogger( __name__ )
> @@ -117,7 +118,7 @@
> input_values[ input.name ] =
> galaxy.tools.SelectToolParameterWrapper( input, input_values[
> input.name ], tool.app, other_values = incoming )
> else:
> input_values[ input.name ] =
> galaxy.tools.InputValueWrapper( input, input_values[ input.name ],
> incoming )
> - out_data = {}
> + out_data = odict()
> # Collect any input datasets from the incoming parameters
> inp_data = self.collect_input_datasets( tool, incoming, trans
> )
>
> _______________________________________________
> galaxy-dev mailing list
> galaxy-dev(a)lists.bx.psu.edu
> http://lists.bx.psu.edu/listinfo/galaxy-dev
12 years, 6 months
Re: [galaxy-dev] how to add genome build?
by Greg Von Kuster
Hello Yuri,
The Extract Genomic DNA tool uses the alignseq.loc file in the ~tool-
data directory for finding the builds. This is a tab-delimited file
that points to either alignment data or sequence data. You should
add something like
seq mt3 /opt/local/var/genome/mt3
( tab delimited )
to your local copy of this file, and the tool should work with this
build.
To ensure fast response to questions like this, please send to the
distribution list rather than my personal email address.
On Dec 9, 2009, at 5:39 PM, Yuri Bendana wrote:
> Hi Greg,
>
> I modified builds.txt for now and added:
>
> mt3 Medicago truncatula v3
>
> It now appears in the dropdown, great! I also have this in faseq.loc:
>
> mt3 /opt/local/var/genome/mt3
>
> This is the directory where my genome fasta files are located.
> However when I try to get sequence from the genome using the
> Extract Genomic DNA tool, I get this error:
>
> "Sequences are not currently available for the specified build."
>
> No other errors appear in paster.log. What am I missing?
>
> thanks,
>
> yuri
>
> On Tue, Dec 8, 2009 at 10:40 AM, Greg Von Kuster <greg(a)bx.psu.edu>
> wrote:
> Hello Yuri,
>
> You are correct, new genomes can be specified by modifing the $
> {GALAXY_ROOT}/tool-data/shared/ucsc/builds.txt. This file is
> generated using a script found at ${GALAXY_ROOT}/cron/
> updateucsc.sh. If this script is executed on a normal basis, it
> will be useful to instead add the required information to $
> {GALAXY_ROOT}/tool-data/shared/ucsc/manual_builds.txt before
> running the script (otherwise each time the script is run, the
> changes to build.txt will be lost). See ${GALAXY_ROOT}/cron/
> README.txt for more information as well as the headers of each data
> file.
>
>
>
> On Dec 2, 2009, at 9:54 PM, Yuri Bendana wrote:
>
> I recently installed Galaxy and am pleasantly surprised how easy it
> is to get up and running. The screencasts and wiki are very
> helpful. One thing I can't figure out is how to add a Medicago
> genome to the Database/Build dropdown that appears when I try to
> edit my query attributes (it looks like the same builds appear in
> the Genome dropdown on the Get Data->Upload page). I thought
> adding the genome directory to the tools-data/faseq.loc file might
> work but doesn't seem to. I noticed that the build list displayed
> is stored in tool-data/shared/ucsc/builds.txt and it looks like it
> gets updated by a cron script. I would like to use the Fetch
> Sequences -> Extract Genomic DNA tool on my local genomes.
>
> thanks,
>
> yuri
> _______________________________________________
> galaxy-dev mailing list
>
> galaxy-dev(a)lists.bx.psu.edu
> http://lists.bx.psu.edu/listinfo/galaxy-dev
>
> Greg Von Kuster
> Galaxy Development Team
> greg(a)bx.psu.edu
>
>
>
>
Greg Von Kuster
Galaxy Development Team
greg(a)bx.psu.edu
12 years, 6 months
Data uploading - CSFASTA
by Juan Perin
I'm attempting to upload a 7GB csfasta file into galaxy by pointing at a local file system path within the Admin interface using the dataset management forms. I am unable to get this to work. It worked fine for other large file tipes (fastq), but this is failing for me and I can't figure out why. The only error i'm finding is partial:
Traceback (most recent call last): File "/home/perin/galaxy-dist/tools/data_source/upload.py", line 308, in ? __main__() File "/home/perin/galaxy-dist/tools/data_source/upload.py", line 300, in __main__ add_file( dataset, json_file, output_pat
Any ideas?
Juan Perin
12 years, 6 months
local galaxy - very slow - more information (long)
by Assaf Gordon
Hello,
As I wrote in my previous email, I'm trying to find reasons for my local Galaxy slowness.
First,
I'd like to say that the public galaxy (http://main.g2.bx.psu.edu/) is blazingly fast.
I'm curious as to how you did it, and what are differences between yours and my galaxy.
Is it a special postgresql configuration, apache configuration or galaxy options ?
It is faster than mine, and I'm sure your database is substantially bigger than my local database.
Any tips would be highly appreciated.
So far I have found two possible reasons for the slowness.
Minor reason is the number of datasets in the current history.
A history with many datasets causes tools to appear slow.
An empty history (or with just few items) allows tools to appear fast.
You can dismiss this as 'obvious' because each tool needs to enumerate possible inputs for the HTML <form>,
But on my local galaxy, A history with 100 items it takes upto 7 seconds to display the tool's form.
On the public galaxy it takes just 3 seconds, and that's why I'm curious to the optimizations you have.
But even 3 seconds is much more than the instantaneous display of tools if the history is empty.
You can try this out:
History with 100 items: http://main.g2.bx.psu.edu/history/imp?id=762ca4b287ff6fdf
History with 60 items: http://main.g2.bx.psu.edu/history/imp?id=3466aa4202c8e460
History with 1 item: http://main.g2.bx.psu.edu/history/imp?id=e1e13f98a402aaa2
As a 'control' for testing this issue, try clicking on a tool that doesn't require listing of input datasets (e.g. "Build Custom Track" in the "Graph/Display Data" category). It will display instantly regardless of how many items there are in the current history.
Please remember that 100 items is not unheard of: running a workflow with 25 steps on 4 FASTQ files will give you 100 items - this is a common scenario in our lab.
A bigger problem (IMHO) is the new set-metadata mechanism, especially in tabular.py which scans the entire file.
Try (cautiously) to upload the following file:
http://cancan.cshl.edu/labmembers/gordon/files/big_fake_tabular_file.txt.gz
It is a tabular file with 700,000 lines and 150 columns.
Compressed size is 89MB, uncompressed size is 300MB.
Uploading it to (my) galaxy takes less than a minute,
Then galaxy starts an uncompress job which takes couple of seconds,
and then galaxy spends thirty minutes (!!) at 100% CPU.
This is one of Galaxy's threads, not some external process.
Looking at the heartbeat log, the only thread which is not waiting on a lock is this:
==============
Thread 1098774864, <Thread(Thread-2, started)>:
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "/usr/lib/python2.5/threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/gordon/temp/slowgalaxy/lib/galaxy/jobs/runners/local.py", line 46, in run_next
self.run_job( job_wrapper )
File "/home/gordon/temp/slowgalaxy/lib/galaxy/jobs/runners/local.py", line 122, in run_job
job_wrapper.finish( stdout, stderr )
File "/home/gordon/temp/slowgalaxy/lib/galaxy/jobs/__init__.py", line 541, in finish
dataset.set_meta( overwrite = False )
File "/home/gordon/temp/slowgalaxy/lib/galaxy/model/__init__.py", line 546, in set_meta
return self.datatype.set_meta( self, **kwd )
File "/home/gordon/temp/slowgalaxy/lib/galaxy/datatypes/tabular.py", line 111, in set_meta
column_type = guess_column_type( field )
File "/home/gordon/temp/slowgalaxy/lib/galaxy/datatypes/tabular.py", line 91, in guess_column_type
if is_column_type[column_type]( column_text ):
File "/home/gordon/temp/slowgalaxy/lib/galaxy/datatypes/tabular.py", line 80, in is_list
return "," in column_text
==============
The other threads are in "waiter.acquire()", "sock.accept()" or "_sleep(delay)" states.
The active threads loops around tabular.py, in the method "set_meta".
Now,
On my galaxy, it brings the entire server to a grinding halt.
Could be a mis-configuration on my part, or some lock issue, or maybe something bad with mysql/postgres.
But the fact is, once such a metadata thread is started, galaxy stops responding almost completely.
Refreshing the web page takes minutes(!), and sometimes apache just chokes and says:
====
"Bad Gateway
The proxy server received an invalid response from an upstream server."
=====
The 'set-metadata' is also activated when creating a new file (e.g. try "remove beginning of file" on this big file - it will take another half an hour), and when changing file types.
Another issue with this set-metadata mechanism, is that the 'job' is considered 'ok' (in the job table), but the dataset is still marked 'running' (in the 'dataset' table).
My users were complaining that their jobs are running for a long time (telling me they *are* looking at the history and seeing the item as yellow), while I tell them that it's impossible :) because the 'galaxy reports' page says no jobs are running (and there are indeed no external processes running).
If I kill galaxy during this stage (which I did couple of times), the dataset is in limbo: it remains 'running' in the 'dataset' table, but will never get into 'ok' (even though the file content is OK and the job is completed).
That's what I've found so far.
Thank you for reading,
I'd appreciate any suggestion or solution.
-gordon
12 years, 6 months