galaxy-commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
January 2013
- 1 participants
- 160 discussions
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/eb4dac39eed5/
changeset: eb4dac39eed5
user: dan
date: 2013-01-07 17:07:52
summary: Enhance Tool.check_and_update_param_values_helper() to check that the type of value provided is valid for the input parameter currently declared. Fixes issue where a server error would occur within workflows when parameter's type has changed to a non-compatible one: e.g. conditional group changed to dataset input.
affected #: 1 file
diff -r f93f509ca0c2a21acdf0ed17615d1caf839dcb98 -r eb4dac39eed53cc0ef1550ee63486358fd53ad59 lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -2181,7 +2181,12 @@
self.check_and_update_param_values_helper( input.cases[current].inputs, group_values, trans, messages, context, prefix )
else:
# Regular tool parameter, no recursion needed
- pass
+ try:
+ #this will fail when a parameter's type has changed to a non-compatible one: e.g. conditional group changed to dataset input
+ input.value_from_basic( values[ input.name ], trans.app, ignore_errors=False )
+ except:
+ messages[ input.name ] = "Value no longer valid for '%s%s', replaced with default" % ( prefix, input.label )
+ values[ input.name ] = input.get_initial_value( trans, context )
def handle_unvalidated_param_values( self, input_values, app ):
"""
Find any instances of `UnvalidatedValue` within input_values and
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: greg: Handle tool panel locations appropriately for tool shed repositories and repository dependencies being installed or reinstalled into Galaxy.
by Bitbucket 04 Jan '13
by Bitbucket 04 Jan '13
04 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/f93f509ca0c2/
changeset: f93f509ca0c2
user: greg
date: 2013-01-04 22:10:26
summary: Handle tool panel locations appropriately for tool shed repositories and repository dependencies being installed or reinstalled into Galaxy.
affected #: 2 files
diff -r 8fe64f73835cd19274dcac65c935187d426b18ba -r f93f509ca0c2a21acdf0ed17615d1caf839dcb98 lib/galaxy/util/shed_util.py
--- a/lib/galaxy/util/shed_util.py
+++ b/lib/galaxy/util/shed_util.py
@@ -5,6 +5,7 @@
from galaxy.util.json import from_json_string, to_json_string
from galaxy.webapps.community.util import container_util
import shed_util_common as suc
+import galaxy.tools
from galaxy.tools.search import ToolBoxSearch
from galaxy.tool_shed.tool_dependencies.install_util import create_or_update_tool_dependency, install_package, set_environment
from galaxy.tool_shed import encoding_util
@@ -175,14 +176,17 @@
# Attempt to ensure we're copying an appropriate file.
if is_data_index_sample_file( filename ):
suc.copy_sample_file( app, filename, dest_path=dest_path )
-def create_repository_dependency_objects( trans, tool_path, tool_shed_url, repo_info_dicts, reinstalling=False, install_repository_dependencies=False ):
+def create_repository_dependency_objects( trans, tool_path, tool_shed_url, repo_info_dicts, reinstalling=False, install_repository_dependencies=False,
+ no_changes_checked=False, tool_panel_section=None, new_tool_panel_section=None ):
"""
Discover all repository dependencies and make sure all tool_shed_repository and associated repository_dependency records exist as well as
the dependency relationships between installed repositories. This method is called when new repositories are being installed into a Galaxy
instance and when uninstalled repositories are being reinstalled.
"""
message = ''
+ # There will be a one-to-one mapping between items in created_or_updated_tool_shed_repositories and tool_panel_section_keys.
created_or_updated_tool_shed_repositories = []
+ tool_panel_section_keys = []
# Repositories will be filtered (e.g., if already installed, etc), so filter the associated repo_info_dicts accordingly.
filtered_repo_info_dicts = []
if install_repository_dependencies:
@@ -204,6 +208,11 @@
installed_tool_shed_repository, installed_changeset_revision = \
repository_was_previously_installed( trans, tool_shed_url, name, repo_info_tuple, clone_dir )
if installed_tool_shed_repository:
+ tool_section, new_tool_panel_section, tool_panel_section_key = handle_tool_panel_selection( trans=trans,
+ metadata=installed_tool_shed_repository.metadata,
+ no_changes_checked=no_changes_checked,
+ tool_panel_section=tool_panel_section,
+ new_tool_panel_section=new_tool_panel_section )
if reinstalling or install_repository_dependencies:
if installed_tool_shed_repository.status in [ trans.model.ToolShedRepository.installation_status.ERROR,
trans.model.ToolShedRepository.installation_status.UNINSTALLED ]:
@@ -217,22 +226,23 @@
# There is a repository already installed which is a dependency of the repository being reinstalled.
can_update = False
else:
- # An attempt is being made to install a tool shed repository into a Galaxy instance when the same repository was previously installed.
- message += "Revision <b>%s</b> of tool shed repository <b>%s</b> owned by <b>%s</b> " % ( changeset_revision, name, repository_owner )
- if installed_changeset_revision != changeset_revision:
- message += "was previously installed using changeset revision <b>%s</b>. " % installed_changeset_revision
- else:
- message += "was previously installed. "
- if installed_tool_shed_repository.uninstalled:
- message += "The repository has been uninstalled, however, so reinstall the original repository instead of installing it again. "
- elif installed_tool_shed_repository.deleted:
- message += "The repository has been deactivated, however, so activate the original repository instead of installing it again. "
- if installed_changeset_revision != changeset_revision:
- message += "You can get the latest updates for the repository using the <b>Get updates</b> option from the repository's "
- message += "<b>Repository Actions</b> pop-up menu. "
if len( all_repo_info_dicts ) == 1:
+ # An attempt is being made to install a tool shed repository into a Galaxy instance when the same repository was previously installed.
+ message += "Revision <b>%s</b> of tool shed repository <b>%s</b> owned by <b>%s</b> " % ( changeset_revision, name, repository_owner )
+ if installed_changeset_revision != changeset_revision:
+ message += "was previously installed using changeset revision <b>%s</b>. " % installed_changeset_revision
+ else:
+ message += "was previously installed. "
+ if installed_tool_shed_repository.uninstalled:
+ message += "The repository has been uninstalled, however, so reinstall the original repository instead of installing it again. "
+ elif installed_tool_shed_repository.deleted:
+ message += "The repository has been deactivated, however, so activate the original repository instead of installing it again. "
+ if installed_changeset_revision != changeset_revision:
+ message += "You can get the latest updates for the repository using the <b>Get updates</b> option from the repository's "
+ message += "<b>Repository Actions</b> pop-up menu. "
created_or_updated_tool_shed_repositories.append( installed_tool_shed_repository )
- return created_or_updated_tool_shed_repositories, all_repo_info_dicts, filtered_repo_info_dicts, message
+ tool_panel_section_keys.append( tool_panel_section_key )
+ return created_or_updated_tool_shed_repositories, tool_panel_section_keys, all_repo_info_dicts, filtered_repo_info_dicts, message
else:
can_update = True
else:
@@ -243,6 +253,36 @@
metadata_dict={}
dist_to_shed = False
if can_update:
+ if reinstalling or install_repository_dependencies:
+ # Get the repository metadata to see where it was previously located in the tool panel.
+ installed_tool_shed_repository = suc.get_repository_for_dependency_relationship( app=trans.app,
+ tool_shed=tool_shed_url,
+ name=name,
+ owner=repository_owner,
+ changeset_revision=changeset_revision )
+ if installed_tool_shed_repository:
+ tool_section, new_tool_panel_section, tool_panel_section_key = \
+ handle_tool_panel_selection( trans=trans,
+ metadata=installed_tool_shed_repository.metadata,
+ no_changes_checked=no_changes_checked,
+ tool_panel_section=tool_panel_section,
+ new_tool_panel_section=new_tool_panel_section )
+ else:
+ if new_tool_panel_section:
+ section_id = new_tool_panel_section.lower().replace( ' ', '_' )
+ tool_panel_section_key = 'section_%s' % str( section_id )
+ elif tool_panel_section:
+ tool_panel_section_key = 'section_%s' % tool_panel_section
+ else:
+ tool_panel_section_key = None
+ else:
+ if new_tool_panel_section:
+ section_id = new_tool_panel_section.lower().replace( ' ', '_' )
+ tool_panel_section_key = 'section_%s' % str( section_id )
+ elif tool_panel_section:
+ tool_panel_section_key = 'section_%s' % tool_panel_section
+ else:
+ tool_panel_section_key = None
tool_shed_repository = suc.create_or_update_tool_shed_repository( app=trans.app,
name=name,
description=description,
@@ -255,8 +295,9 @@
owner=repository_owner,
dist_to_shed=False )
created_or_updated_tool_shed_repositories.append( tool_shed_repository )
+ tool_panel_section_keys.append( tool_panel_section_key )
filtered_repo_info_dicts.append( encoding_util.tool_shed_encode( repo_info_dict ) )
- return created_or_updated_tool_shed_repositories, all_repo_info_dicts, filtered_repo_info_dicts, message
+ return created_or_updated_tool_shed_repositories, tool_panel_section_keys, all_repo_info_dicts, filtered_repo_info_dicts, message
def create_repository_dict_for_proprietary_datatypes( tool_shed, name, owner, installed_changeset_revision, tool_dicts, converter_path=None, display_path=None ):
return dict( tool_shed=tool_shed,
repository_name=name,
@@ -836,6 +877,60 @@
app.model.ToolDependency.installation_status.ERROR ]:
installed_tool_dependencies.append( tool_dependency )
return installed_tool_dependencies
+def handle_tool_panel_selection( trans, metadata, no_changes_checked, tool_panel_section, new_tool_panel_section ):
+ """Handle the selected tool panel location for loading tools included in tool shed repositories when installing or reinstalling them."""
+ # Get the location in the tool panel in which each tool was originally loaded.
+ tool_section = None
+ tool_panel_section_key = None
+ if 'tools' in metadata:
+ if 'tool_panel_section' in metadata:
+ tool_panel_dict = metadata[ 'tool_panel_section' ]
+ if not tool_panel_dict:
+ tool_panel_dict = generate_tool_panel_dict_for_new_install( metadata[ 'tools' ] )
+ else:
+ tool_panel_dict = generate_tool_panel_dict_for_new_install( metadata[ 'tools' ] )
+ # This forces everything to be loaded into the same section (or no section) in the tool panel.
+ tool_section_dicts = tool_panel_dict[ tool_panel_dict.keys()[ 0 ] ]
+ tool_section_dict = tool_section_dicts[ 0 ]
+ original_section_id = tool_section_dict[ 'id' ]
+ original_section_name = tool_section_dict[ 'name' ]
+ if no_changes_checked:
+ if original_section_id:
+ tool_panel_section_key = 'section_%s' % str( original_section_id )
+ if tool_panel_section_key in trans.app.toolbox.tool_panel:
+ tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
+ else:
+ # The section in which the tool was originally loaded used to be in the tool panel, but no longer is.
+ elem = Element( 'section' )
+ elem.attrib[ 'name' ] = original_section_name
+ elem.attrib[ 'id' ] = original_section_id
+ elem.attrib[ 'version' ] = ''
+ tool_section = galaxy.tools.ToolSection( elem )
+ trans.app.toolbox.tool_panel[ tool_panel_section_key ] = tool_section
+ else:
+ # The user elected to change the tool panel section to contain the tools.
+ if new_tool_panel_section:
+ section_id = new_tool_panel_section.lower().replace( ' ', '_' )
+ tool_panel_section_key = 'section_%s' % str( section_id )
+ if tool_panel_section_key in trans.app.toolbox.tool_panel:
+ # Appending a tool to an existing section in trans.app.toolbox.tool_panel
+ log.debug( "Appending to tool panel section: %s" % new_tool_panel_section )
+ tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
+ else:
+ # Appending a new section to trans.app.toolbox.tool_panel
+ log.debug( "Loading new tool panel section: %s" % new_tool_panel_section )
+ elem = Element( 'section' )
+ elem.attrib[ 'name' ] = new_tool_panel_section
+ elem.attrib[ 'id' ] = section_id
+ elem.attrib[ 'version' ] = ''
+ tool_section = galaxy.tools.ToolSection( elem )
+ trans.app.toolbox.tool_panel[ tool_panel_section_key ] = tool_section
+ elif tool_panel_section:
+ tool_panel_section_key = 'section_%s' % tool_panel_section
+ tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
+ else:
+ tool_section = None
+ return tool_section, new_tool_panel_section, tool_panel_section_key
def handle_tool_versions( app, tool_version_dicts, tool_shed_repository ):
"""
Using the list of tool_version_dicts retrieved from the tool shed (one per changeset revison up to the currently installed changeset revision),
diff -r 8fe64f73835cd19274dcac65c935187d426b18ba -r f93f509ca0c2a21acdf0ed17615d1caf839dcb98 lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
--- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
+++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
@@ -396,7 +396,7 @@
if operation == "activate or reinstall":
repository = suc.get_installed_tool_shed_repository( trans, kwd[ 'id' ] )
if repository.uninstalled:
- if repository.includes_tools:
+ if repository.includes_tools or repository.has_repository_dependencies:
# Only allow selecting a different section in the tool panel if the repository was uninstalled.
return trans.response.send_redirect( web.url_for( controller='admin_toolshed',
action='reselect_tool_panel_section',
@@ -835,17 +835,19 @@
@web.require_admin
def install_tool_shed_repositories( self, trans, tool_shed_repositories, reinstalling=False, **kwd ):
"""Install specified tool shed repositories."""
- repo_info_dicts = util.listify( kwd[ 'repo_info_dicts' ] )
tool_path = kwd[ 'tool_path' ]
includes_tool_dependencies = util.string_as_bool( kwd[ 'includes_tool_dependencies' ] )
install_tool_dependencies = CheckboxField.is_checked( kwd.get( 'install_tool_dependencies', '' ) )
- tool_panel_section_key = kwd.get( 'tool_panel_section_key', None )
- if tool_panel_section_key:
- tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
- else:
- tool_section = None
- for tup in zip( tool_shed_repositories, repo_info_dicts ):
- tool_shed_repository, repo_info_dict = tup
+ # There must be a one-to-one mapping between items in the 3 lists:tool_shed_repositories, tool_panel_section_keys, repo_info_dicts.
+ tool_panel_section_keys = util.listify( kwd[ 'tool_panel_section_keys' ] )
+ repo_info_dicts = util.listify( kwd[ 'repo_info_dicts' ] )
+ for index, tool_shed_repository in enumerate( tool_shed_repositories ):
+ repo_info_dict = repo_info_dicts[ index ]
+ tool_panel_section_key = tool_panel_section_keys[ index ]
+ if tool_panel_section_key:
+ tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
+ else:
+ tool_section = None
if isinstance( repo_info_dict, basestring ):
repo_info_dict = encoding_util.tool_shed_decode( repo_info_dict )
# Clone each repository to the configured location.
@@ -1021,13 +1023,17 @@
encoded_kwd = kwd[ 'encoded_kwd' ]
decoded_kwd = encoding_util.tool_shed_decode( encoded_kwd )
tsr_ids = decoded_kwd[ 'tool_shed_repository_ids' ]
+ tool_panel_section_keys = decoded_kwd[ 'tool_panel_section_keys' ]
+ filtered_tool_panel_section_keys = []
repositories_for_installation = []
- for tsr_id in tsr_ids:
+ for index, tsr_id in enumerate( tsr_ids ):
repository = trans.sa_session.query( trans.model.ToolShedRepository ).get( trans.security.decode_id( tsr_id ) )
if repository.status in [ trans.model.ToolShedRepository.installation_status.NEW,
trans.model.ToolShedRepository.installation_status.UNINSTALLED ]:
repositories_for_installation.append( repository )
+ filtered_tool_panel_section_keys.append( tool_panel_section_keys[ index ] )
if repositories_for_installation:
+ decoded_kwd[ 'tool_panel_section_keys' ] = filtered_tool_panel_section_keys
self.install_tool_shed_repositories( trans, repositories_for_installation, reinstalling=reinstalling, **decoded_kwd )
else:
kwd[ 'message' ] = 'All selected tool shed repositories are already installed.'
@@ -1154,6 +1160,7 @@
# Every repository will be installed into the same tool panel section or all will be installed outside of any sections.
new_tool_panel_section = kwd.get( 'new_tool_panel_section', '' )
tool_panel_section = kwd.get( 'tool_panel_section', '' )
+ tool_panel_section_keys = []
# One or more repositories may include tools, but not necessarily all of them.
includes_tools = util.string_as_bool( kwd.get( 'includes_tools', False ) )
includes_tool_dependencies = util.string_as_bool( kwd.get( 'includes_tool_dependencies', False ) )
@@ -1191,13 +1198,16 @@
else:
install_tool_dependencies = False
tool_path = suc.get_tool_path_by_shed_tool_conf_filename( trans, shed_tool_conf )
- created_or_updated_tool_shed_repositories, repo_info_dicts, filtered_repo_info_dicts, message = \
+ created_or_updated_tool_shed_repositories, tool_panel_section_keys, repo_info_dicts, filtered_repo_info_dicts, message = \
shed_util.create_repository_dependency_objects( trans,
tool_path,
tool_shed_url,
repo_info_dicts,
reinstalling=False,
- install_repository_dependencies=install_repository_dependencies )
+ install_repository_dependencies=install_repository_dependencies,
+ no_changes_checked=False,
+ tool_panel_section=tool_panel_section,
+ new_tool_panel_section=new_tool_panel_section )
if message and len( repo_info_dicts ) == 1:
installed_tool_shed_repository = created_or_updated_tool_shed_repositories[ 0 ]
message+= 'Click <a href="%s">here</a> to manage the repository. ' % \
@@ -1235,6 +1245,10 @@
tool_panel_section_key = None
tool_section = None
tsrids_list = [ trans.security.encode_id( tsr.id ) for tsr in created_or_updated_tool_shed_repositories ]
+ # Create a one-to-one mapping of tool shed repository id and tool panel section key. All tools contained in the repositories
+ # being installed will be loaded into the same section in the tool panel.
+ for tsr in created_or_updated_tool_shed_repositories:
+ tool_panel_section_keys.append( tool_panel_section_key )
new_kwd = dict( includes_tools=includes_tools,
includes_repository_dependencies=includes_repository_dependencies,
install_repository_dependencies=install_repository_dependencies,
@@ -1245,7 +1259,8 @@
shed_tool_conf=shed_tool_conf,
status=status,
tool_path=tool_path,
- tool_panel_section_key=tool_panel_section_key,
+
+ tool_panel_section_keys=tool_panel_section_keys,
tool_shed_repository_ids=tsrids_list,
tool_shed_url=tool_shed_url )
encoded_kwd = encoding_util.tool_shed_encode( new_kwd )
@@ -1369,66 +1384,25 @@
no_changes_checked = CheckboxField.is_checked( no_changes )
install_repository_dependencies = CheckboxField.is_checked( kwd.get( 'install_repository_dependencies', '' ) )
install_tool_dependencies = CheckboxField.is_checked( kwd.get( 'install_tool_dependencies', '' ) )
- new_tool_panel_section = kwd.get( 'new_tool_panel_section', '' )
- tool_panel_section = kwd.get( 'tool_panel_section', '' )
shed_tool_conf, tool_path, relative_install_dir = suc.get_tool_panel_config_tool_path_install_dir( trans.app, tool_shed_repository )
repository_clone_url = suc.generate_clone_url_for_installed_repository( trans.app, tool_shed_repository )
clone_dir = os.path.join( tool_path, shed_util.generate_tool_path( repository_clone_url, tool_shed_repository.installed_changeset_revision ) )
relative_install_dir = os.path.join( clone_dir, tool_shed_repository.name )
tool_shed_url = suc.get_url_from_repository_tool_shed( trans.app, tool_shed_repository )
tool_section = None
+ tool_panel_section = kwd.get( 'tool_panel_section', '' )
+ new_tool_panel_section = kwd.get( 'new_tool_panel_section', '' )
tool_panel_section_key = None
+ tool_panel_section_keys = []
metadata = tool_shed_repository.metadata
if tool_shed_repository.includes_tools:
- # Get the location in the tool panel in which each tool was originally loaded.
- if 'tool_panel_section' in metadata:
- tool_panel_dict = metadata[ 'tool_panel_section' ]
- if not tool_panel_dict:
- tool_panel_dict = shed_util.generate_tool_panel_dict_for_new_install( metadata[ 'tools' ] )
- else:
- tool_panel_dict = shed_util.generate_tool_panel_dict_for_new_install( metadata[ 'tools' ] )
- # Fix this to handle the case where the tools are distributed across in more than 1 ToolSection - this assumes everything was loaded into 1
- # section (or no section) in the tool panel.
- tool_section_dicts = tool_panel_dict[ tool_panel_dict.keys()[ 0 ] ]
- tool_section_dict = tool_section_dicts[ 0 ]
- original_section_id = tool_section_dict[ 'id' ]
- original_section_name = tool_section_dict[ 'name' ]
- if no_changes_checked:
- if original_section_id:
- tool_panel_section_key = 'section_%s' % str( original_section_id )
- if tool_panel_section_key in trans.app.toolbox.tool_panel:
- tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
- else:
- # The section in which the tool was originally loaded used to be in the tool panel, but no longer is.
- elem = Element( 'section' )
- elem.attrib[ 'name' ] = original_section_name
- elem.attrib[ 'id' ] = original_section_id
- elem.attrib[ 'version' ] = ''
- tool_section = tools.ToolSection( elem )
- trans.app.toolbox.tool_panel[ tool_panel_section_key ] = tool_section
- else:
- # The user elected to change the tool panel section to contain the tools.
- if new_tool_panel_section:
- section_id = new_tool_panel_section.lower().replace( ' ', '_' )
- tool_panel_section_key = 'section_%s' % str( section_id )
- if tool_panel_section_key in trans.app.toolbox.tool_panel:
- # Appending a tool to an existing section in trans.app.toolbox.tool_panel
- log.debug( "Appending to tool panel section: %s" % new_tool_panel_section )
- tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
- else:
- # Appending a new section to trans.app.toolbox.tool_panel
- log.debug( "Loading new tool panel section: %s" % new_tool_panel_section )
- elem = Element( 'section' )
- elem.attrib[ 'name' ] = new_tool_panel_section
- elem.attrib[ 'id' ] = section_id
- elem.attrib[ 'version' ] = ''
- tool_section = tools.ToolSection( elem )
- trans.app.toolbox.tool_panel[ tool_panel_section_key ] = tool_section
- elif tool_panel_section:
- tool_panel_section_key = 'section_%s' % tool_panel_section
- tool_section = trans.app.toolbox.tool_panel[ tool_panel_section_key ]
- else:
- tool_section = None
+ # Handle the selected tool panel location for loading tools included in the tool shed repository.
+ tool_section, new_tool_panel_section, tool_panel_section_key = \
+ shed_util.handle_tool_panel_selection( trans=trans,
+ metadata=metadata,
+ no_changes_checked=no_changes_checked,
+ tool_panel_section=tool_panel_section,
+ new_tool_panel_section=new_tool_panel_section )
# The repository's status must be updated from 'Uninstall' to 'New' when initiating reinstall so the repository_installation_updater will function.
tool_shed_repository = suc.create_or_update_tool_shed_repository( trans.app,
tool_shed_repository.name,
@@ -1471,22 +1445,31 @@
repo_info_dict = encoding_util.tool_shed_encode( repo_info_dict )
repo_info_dicts.append( repo_info_dict )
# Make sure all tool_shed_repository records exist.
- created_or_updated_tool_shed_repositories = [ tool_shed_repository ]
if install_repository_dependencies:
# This is a bit screwy because filtered_repo_info_dicts in this block is a list of tool_shed_encoded dictionaries, but
# in the associated else block, it is a list of unencoded dictionaries - not sure if this should be corrected...
- created_or_updated_tool_shed_repositories, repo_info_dicts, filtered_repo_info_dicts, message = \
+ created_or_updated_tool_shed_repositories, tool_panel_section_keys, repo_info_dicts, filtered_repo_info_dicts, message = \
shed_util.create_repository_dependency_objects( trans,
tool_path,
tool_shed_url,
repo_info_dicts,
reinstalling=True,
- install_repository_dependencies=install_repository_dependencies )
+ install_repository_dependencies=install_repository_dependencies,
+ no_changes_checked=no_changes_checked,
+ tool_panel_section=tool_panel_section,
+ new_tool_panel_section=new_tool_panel_section )
if len( created_or_updated_tool_shed_repositories ) > 1:
# Build repository dependency relationships.
suc.build_repository_dependency_relationships( trans, repo_info_dicts, created_or_updated_tool_shed_repositories )
else:
filtered_repo_info_dicts = [ repo_info_dict for repo_info_dict in repo_info_dicts ]
+ created_or_updated_tool_shed_repositories = [ tool_shed_repository ]
+ tool_panel_section_keys.append( tool_panel_section_key )
+ # Defaulot the selected tool panel location for loading tools included in each newly installed required tool shed repository to the location
+ # selected for the repository selected for reinstallation.
+ for index, tps_key in enumerate( tool_panel_section_keys ):
+ if tps_key is None:
+ tool_panel_section_keys[ index ] = tool_panel_section_key
encoded_repository_ids = [ trans.security.encode_id( r.id ) for r in created_or_updated_tool_shed_repositories ]
new_kwd = dict( includes_tool_dependencies=tool_shed_repository.includes_tool_dependencies,
includes_tools=tool_shed_repository.includes_tools,
@@ -1498,7 +1481,7 @@
status=status,
tool_panel_section=tool_panel_section,
tool_path=tool_path,
- tool_panel_section_key=tool_panel_section_key,
+ tool_panel_section_keys=tool_panel_section_keys,
tool_shed_repository_ids=encoded_repository_ids,
tool_shed_url=tool_shed_url )
encoded_kwd = encoding_util.tool_shed_encode( new_kwd )
@@ -1530,6 +1513,7 @@
@web.expose
@web.require_admin
def reselect_tool_panel_section( self, trans, **kwd ):
+ """Select or change the tool panel section to contain the tools included in the tool shed repositories being reinstalled."""
message = ''
repository_id = kwd[ 'id' ]
tool_shed_repository = suc.get_installed_tool_shed_repository( trans, repository_id )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/8fe64f73835c/
changeset: 8fe64f73835c
user: james_taylor
date: 2013-01-04 20:42:28
summary: remove trailing comma
affected #: 1 file
diff -r 312ba8a948a1c678bea807f4a0d3320af8363968 -r 8fe64f73835cd19274dcac65c935187d426b18ba templates/root/index.mako
--- a/templates/root/index.mako
+++ b/templates/root/index.mako
@@ -76,7 +76,7 @@
if( navigator.userAgent.match( /(iPhone|iPod|iPad)/i ) ) {
$("iframe").parent().css( {
"overflow": "scroll",
- "-webkit-overflow-scrolling": "touch",
+ "-webkit-overflow-scrolling": "touch"
})
}
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: james_taylor: Fix for scrolling on iOS (thanks Carrie Ganote!)
by Bitbucket 04 Jan '13
by Bitbucket 04 Jan '13
04 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/312ba8a948a1/
changeset: 312ba8a948a1
user: james_taylor
date: 2013-01-04 20:38:06
summary: Fix for scrolling on iOS (thanks Carrie Ganote!)
affected #: 1 file
diff -r 8676b55d191c6742e6e7b8864e47918719314f78 -r 312ba8a948a1c678bea807f4a0d3320af8363968 templates/root/index.mako
--- a/templates/root/index.mako
+++ b/templates/root/index.mako
@@ -71,6 +71,15 @@
galaxy_main.location = "${h.url_for( controller='history', action='import_archive' )}";
}
});
+
+ // Fix iFrame scrolling on iOS
+ if( navigator.userAgent.match( /(iPhone|iPod|iPad)/i ) ) {
+ $("iframe").parent().css( {
+ "overflow": "scroll",
+ "-webkit-overflow-scrolling": "touch",
+ })
+ }
+
});
</script></%def>
@@ -118,7 +127,9 @@
center_url = h.url_for( '/static/welcome.html' )
%>
- <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${center_url}"></iframe>
+ <div style="position: absolute; width: 100%; height: 100%">
+ <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${center_url}"></iframe>
+ </div></%def>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
04 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/8676b55d191c/
changeset: 8676b55d191c
user: jgoecks
date: 2013-01-04 18:07:38
summary: Improve wording for item sharing.
affected #: 1 file
diff -r ad04a8d066e7092fb73d5469f1935196923b8ab3 -r 8676b55d191c6742e6e7b8864e47918719314f78 templates/sharing_base.mako
--- a/templates/sharing_base.mako
+++ b/templates/sharing_base.mako
@@ -142,7 +142,7 @@
</form>
%else:
## User has a public username, so private sharing and publishing options.
- <h3>Making ${item_class_name} Accessible via Link and Publishing It</h3>
+ <h3>Make ${item_class_name} Accessible via Link and Publish It</h3><div>
%if item.importable:
@@ -214,7 +214,7 @@
##
## Sharing with Galaxy users.
##
- <h3>Sharing ${item_class_name} with Specific Users</h3>
+ <h3>Share ${item_class_name} with Individual Users</h3><div>
%if item.users_shared_with:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: inithello: Tool shed functional tests for repositories with invalid tools, functional test enhancement for repositories with workflows.
by Bitbucket 04 Jan '13
by Bitbucket 04 Jan '13
04 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/ad04a8d066e7/
changeset: ad04a8d066e7
user: inithello
date: 2013-01-04 17:30:11
summary: Tool shed functional tests for repositories with invalid tools, functional test enhancement for repositories with workflows.
affected #: 9 files
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/base/twilltestcase.py
--- a/test/tool_shed/base/twilltestcase.py
+++ b/test/tool_shed/base/twilltestcase.py
@@ -97,7 +97,7 @@
Loop through each tool dictionary in the repository metadata associated with the received changeset_revision.
For each of these, check for a tools attribute, and load the tool metadata page if it exists, then display that tool's page.
'''
- repository_metadata = test_db_util.get_repository_metadata_by_repository_id_changeset_revision( repository.id, changeset_revision )
+ repository_metadata = self.get_repository_metadata_by_changeset_revision( repository, changeset_revision )
metadata = repository_metadata.metadata
if 'tools' not in metadata:
raise AssertionError( 'No tools in %s revision %s.' % ( repository.name, changeset_revision ) )
@@ -118,10 +118,9 @@
strings_not_displayed=[] )
def check_repository_invalid_tools_for_changeset_revision( self, repository, changeset_revision, strings_displayed=[], strings_not_displayed=[] ):
'''Load the invalid tool page for each invalid tool associated with this changeset revision and verify the received error messages.'''
- repository_metadata = test_db_util.get_repository_metadata_by_repository_id_changeset_revision( repository.id, changeset_revision )
+ repository_metadata = self.get_repository_metadata_by_changeset_revision( repository, changeset_revision )
metadata = repository_metadata.metadata
- if 'invalid_tools' not in metadata:
- return
+ assert 'invalid_tools' in metadata, 'Metadata for changeset revision %s does not define invalid tools' % changeset_revision
for tool_xml in metadata[ 'invalid_tools' ]:
self.load_invalid_tool_page( repository,
tool_xml=tool_xml,
@@ -396,9 +395,11 @@
def get_repository_metadata( self, repository ):
return [ metadata_revision for metadata_revision in repository.metadata_revisions ]
def get_repository_metadata_by_changeset_revision( self, repository, changeset_revision ):
- for metadata_revision in repository.metadata_revisions:
+ found = None
+ for metadata_revision in self.get_repository_metadata( repository ):
if metadata_revision.changeset_revision == changeset_revision:
- return metadata_revision
+ found = metadata_revision
+ return found
def get_repository_metadata_revisions( self, repository ):
return [ str( repository_metadata.changeset_revision ) for repository_metadata in repository.metadata_revisions ]
def get_repository_tip( self, repository ):
@@ -484,6 +485,8 @@
if not changeset_revision:
changeset_revision = self.get_repository_tip( repository )
metadata = self.get_repository_metadata_by_changeset_revision( repository, changeset_revision )
+ if not metadata:
+ raise AssertionError( 'Metadata not found for changeset revision %s.' % changeset_revision )
url = '/repository/generate_workflow_image?repository_metadata_id=%s&workflow_name=%s' % \
( self.security.encode_id( metadata.id ), tool_shed_encode( workflow_name ) )
self.visit_url( url )
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/functional/test_0000_basic_repository_features.py
--- a/test/tool_shed/functional/test_0000_basic_repository_features.py
+++ b/test/tool_shed/functional/test_0000_basic_repository_features.py
@@ -2,8 +2,8 @@
import tool_shed.base.test_db_util as test_db_util
repository_name = 'filtering_0000'
-repository_description = "Galaxy's filtering tool"
-repository_long_description = "Long description of Galaxy's filtering tool"
+repository_description = "Galaxy's filtering tool for test 0000"
+repository_long_description = "Long description of Galaxy's filtering tool for test 0000"
class TestBasicRepositoryFeatures( ShedTwillTestCase ):
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/functional/test_0060_workflows.py
--- a/test/tool_shed/functional/test_0060_workflows.py
+++ b/test/tool_shed/functional/test_0060_workflows.py
@@ -2,9 +2,8 @@
import tool_shed.base.test_db_util as test_db_util
repository_name = 'filtering_0060'
-repository_description = "Galaxy's filtering tool"
-repository_long_description = "Long description of Galaxy's filtering tool"
-workflow_repository_name = 'filtering_workflow_0060'
+repository_description="Galaxy's filtering tool for test 0060"
+repository_long_description="Long description of Galaxy's filtering tool for test 0060"
workflow_filename = 'Workflow_for_0060_filter_workflow_repository.ga'
workflow_name = 'Workflow for 0060_filter_workflow_repository'
@@ -54,6 +53,7 @@
'filtering/filtering_2.2.0.tar',
commit_message="Uploaded filtering 2.2.0",
remove_repo_files_not_in_tar='No' )
+# raise Exception( self.get_repository_tip( repository ) )
self.load_workflow_image_in_tool_shed( repository, workflow_name, strings_not_displayed=[ '#EBBCB2' ] )
def test_0025_verify_repository_metadata( self ):
'''Verify that resetting the metadata does not change it.'''
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/functional/test_0070_invalid_tool.py
--- a/test/tool_shed/functional/test_0070_invalid_tool.py
+++ b/test/tool_shed/functional/test_0070_invalid_tool.py
@@ -1,12 +1,13 @@
from tool_shed.base.twilltestcase import ShedTwillTestCase, common, os
import tool_shed.base.test_db_util as test_db_util
-repository_name = 'freebayes_0070'
-repository_description = "Galaxy's freebayes tool"
-repository_long_description = "Long description of Galaxy's freebayes tool"
+repository_name = 'bismark_0070'
+repository_description = "Galaxy's bismark wrapper"
+repository_long_description = "Long description of Galaxy's bismark wrapper"
+category_name = 'Test 0070 Invalid Tool Revisions'
-class TestFreebayesRepository( ShedTwillTestCase ):
- '''Testing freebayes with tool data table entries, .loc files, and tool dependencies.'''
+class TestBismarkRepository( ShedTwillTestCase ):
+ '''Testing bismark with valid and invalid tool entries.'''
def test_0000_create_or_login_admin_user( self ):
"""Create necessary user accounts and login as an admin user."""
self.logout()
@@ -19,14 +20,11 @@
admin_user = test_db_util.get_user( common.admin_email )
assert admin_user is not None, 'Problem retrieving user with email %s from the database' % admin_email
admin_user_private_role = test_db_util.get_private_role( admin_user )
- def test_0005_create_category( self ):
- """Create a category for this test suite"""
- self.create_category( name='Test 0070 Repository With Invalid Tool', description='Tests for a repository with an invalid tool.' )
- def test_0010_create_test_repository_and_upload_tool_xml( self ):
- '''Create and populate a freebayes repository. After this test, it should contain one valid tool and one invalid tool.'''
+ def test_0005_create_category_and_repository( self ):
+ """Create a category for this test suite, then create and populate a bismark repository. It should contain at least one each valid and invalid tool."""
+ category = self.create_category( name=category_name, description='Tests for a repository with invalid tool revisions.' )
self.logout()
self.login( email=common.test_user_1_email, username=common.test_user_1_name )
- category = test_db_util.get_category_by_name( 'Test 0070 Repository With Invalid Tool' )
repository = self.get_or_create_repository( name=repository_name,
description=repository_description,
long_description=repository_long_description,
@@ -34,20 +32,18 @@
category_id=self.security.encode_id( category.id ),
strings_displayed=[] )
self.upload_file( repository,
- 'freebayes/freebayes.xml',
+ 'bismark/bismark.tar',
valid_tools_only=False,
strings_displayed=[],
- commit_message='Uploaded the tool xml.' )
+ commit_message='Uploaded the tool tarball.' )
+ self.display_manage_repository_page( repository, strings_displayed=[ 'Invalid tools' ] )
+ invalid_revision = self.get_repository_tip( repository )
self.upload_file( repository,
- 'filtering/filtering_1.1.0.tar',
- valid_tools_only=False,
+ 'bismark/bismark_methylation_extractor.xml',
+ valid_tools_only=False,
strings_displayed=[],
- commit_message='Uploaded the tool xml.',
- remove_repo_files_not_in_tar='No' )
- self.display_manage_repository_page( repository, strings_displayed=[ 'Valid tools', 'Invalid tools' ] )
- changeset_revision = self.get_repository_tip( repository )
- self.check_repository_tools_for_changeset_revision( repository, changeset_revision )
- self.check_repository_invalid_tools_for_changeset_revision( repository,
- changeset_revision,
- strings_displayed=[ 'requires an entry' ],
- strings_not_displayed=[] )
+ remove_repo_files_not_in_tar='No',
+ commit_message='Uploaded an updated tool xml.' )
+ valid_revision = self.get_repository_tip( repository )
+ self.check_repository_tools_for_changeset_revision( repository, valid_revision )
+ self.check_repository_invalid_tools_for_changeset_revision( repository, invalid_revision )
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/functional/test_1060_install_repository_with_workflow.py
--- a/test/tool_shed/functional/test_1060_install_repository_with_workflow.py
+++ b/test/tool_shed/functional/test_1060_install_repository_with_workflow.py
@@ -2,8 +2,8 @@
import tool_shed.base.test_db_util as test_db_util
repository_name = 'filtering_0060'
-repository_description = "Galaxy's filtering tool"
-repository_long_description = "Long description of Galaxy's filtering tool"
+repository_description="Galaxy's filtering tool for test 0060",
+repository_long_description="Long description of Galaxy's filtering tool for test 0060",
workflow_filename = 'Workflow_for_0060_filter_workflow_repository.ga'
workflow_name = 'Workflow for 0060_filter_workflow_repository'
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/functional/test_1070_invalid_tool.py
--- a/test/tool_shed/functional/test_1070_invalid_tool.py
+++ b/test/tool_shed/functional/test_1070_invalid_tool.py
@@ -1,9 +1,10 @@
from tool_shed.base.twilltestcase import ShedTwillTestCase, common, os
import tool_shed.base.test_db_util as test_db_util
-repository_name = 'freebayes_0070'
-repository_description = "Galaxy's freebayes tool"
-repository_long_description = "Long description of Galaxy's freebayes tool"
+repository_name = 'bismark_0070'
+repository_description = "Galaxy's bismark wrapper"
+repository_long_description = "Long description of Galaxy's bismark wrapper"
+category_name = 'Test 0070 Invalid Tool Revisions'
class TestFreebayesRepository( ShedTwillTestCase ):
'''Testing freebayes with tool data table entries, .loc files, and tool dependencies.'''
@@ -26,11 +27,11 @@
admin_user_private_role = test_db_util.get_private_role( admin_user )
def test_0005_ensure_existence_of_repository_and_category( self ):
'''Create freebayes repository and upload only freebayes.xml. This should result in an error message and invalid tool.'''
- self.create_category( name='Test 0070 Repository With Invalid Tool',
- description='Tests for a repository with an invalid tool.' )
+ self.create_category( name=category_name,
+ description='Test 1070 for a repository with an invalid tool.' )
self.logout()
self.login( email=common.test_user_1_email, username=common.test_user_1_name )
- category = test_db_util.get_category_by_name( 'Test 0070 Repository With Invalid Tool' )
+ category = test_db_util.get_category_by_name( category_name )
repository = self.get_or_create_repository( name=repository_name,
description=repository_description,
long_description=repository_long_description,
@@ -39,27 +40,29 @@
strings_displayed=[] )
if self.repository_is_new( repository ):
self.upload_file( repository,
- 'freebayes/freebayes.xml',
+ 'bismark/bismark.tar',
valid_tools_only=False,
- commit_message='Uploaded the invalid tool xml.' )
+ strings_displayed=[],
+ commit_message='Uploaded the tool tarball.' )
self.upload_file( repository,
- 'filtering/filtering_1.1.0.tar',
- valid_tools_only=False,
- commit_message='Uploaded the valid tool xml.',
- remove_repo_files_not_in_tar='No' )
+ 'bismark/bismark_methylation_extractor.xml',
+ valid_tools_only=False,
+ strings_displayed=[],
+ remove_repo_files_not_in_tar='No',
+ commit_message='Uploaded an updated tool xml.' )
def test_0010_browse_tool_shed( self ):
- """Browse the available tool sheds in this Galaxy instance and preview the freebayes repository."""
+ """Browse the available tool sheds in this Galaxy instance and preview the bismark repository."""
self.galaxy_logout()
self.galaxy_login( email=common.admin_email, username=common.admin_username )
- self.browse_tool_shed( url=self.url, strings_displayed=[ 'Test 0070 Repository With Invalid Tool' ] )
- category = test_db_util.get_category_by_name( 'Test 0070 Repository With Invalid Tool' )
+ self.browse_tool_shed( url=self.url, strings_displayed=[ category_name ] )
+ category = test_db_util.get_category_by_name( category_name )
self.browse_category( category, strings_displayed=[ repository_name ] )
self.preview_repository_in_tool_shed( repository_name, common.test_user_1_name, strings_displayed=[ repository_name ] )
def test_0015_install_freebayes_repository( self ):
'''Install the test repository without installing tool dependencies.'''
self.install_repository( repository_name,
common.test_user_1_name,
- 'Test 0070 Repository With Invalid Tool',
+ category_name,
install_tool_dependencies=False,
new_tool_panel_section='test_1070' )
installed_repository = test_db_util.get_installed_repository_by_name_owner( repository_name, common.test_user_1_name )
@@ -70,11 +73,9 @@
installed_repository.installed_changeset_revision ]
self.display_galaxy_browse_repositories_page( strings_displayed=strings_displayed )
self.display_installed_repository_manage_page( installed_repository,
- strings_displayed=[ 'simple expressions', 'Invalid tools' ],
- strings_not_displayed=[ 'variant detector' ] )
+ strings_displayed=[ 'methylation extractor', 'Invalid tools' ],
+ strings_not_displayed=[ 'bisulfite mapper' ] )
self.verify_tool_metadata_for_installed_repository( installed_repository )
self.update_installed_repository( installed_repository, strings_displayed=[ "there are no updates available" ] )
- assert 'invalid_tools' in installed_repository.metadata, 'No invalid tools were defined in %s.' % installed_repository.name
- def test_0020_verify_installed_repository_metadata( self ):
- '''Verify that resetting the metadata on an installed repository does not change the metadata.'''
- self.verify_installed_repository_metadata_unchanged( repository_name, common.test_user_1_name )
+ assert 'invalid_tools' in installed_repository.metadata, 'No invalid tools were defined in %s.' % \
+ installed_repository.name
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/functional/test_1200_uninstall_and_reinstall_basic_repository.py
--- a/test/tool_shed/functional/test_1200_uninstall_and_reinstall_basic_repository.py
+++ b/test/tool_shed/functional/test_1200_uninstall_and_reinstall_basic_repository.py
@@ -27,8 +27,8 @@
self.logout()
self.login( email=common.test_user_1_email, username=common.test_user_1_name )
repository = self.get_or_create_repository( name='filtering_0000',
- description="Galaxy's filtering tool",
- long_description="Long description of Galaxy's filtering tool",
+ description="Galaxy's filtering tool for test 0000",
+ long_description="Long description of Galaxy's filtering tool for test 0000",
owner=common.test_user_1_name,
category_id=self.security.encode_id( category.id ) )
if self.repository_is_new( repository ):
@@ -56,8 +56,8 @@
installed_repository = test_db_util.get_installed_repository_by_name_owner( 'filtering_0000', common.test_user_1_name )
self.uninstall_repository( installed_repository, remove_from_disk=True )
strings_not_displayed = [ installed_repository.name,
- installed_repository.description,
- installed_repository.installed_changeset_revision ]
+ installed_repository.description,
+ installed_repository.installed_changeset_revision ]
self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed )
def test_0020_reinstall_filtering_repository( self ):
'''Reinstall the filtering repository.'''
@@ -77,8 +77,8 @@
installed_repository = test_db_util.get_installed_repository_by_name_owner( 'filtering_0000', common.test_user_1_name )
self.uninstall_repository( installed_repository, remove_from_disk=False )
strings_not_displayed = [ installed_repository.name,
- installed_repository.description,
- installed_repository.installed_changeset_revision ]
+ installed_repository.description,
+ installed_repository.installed_changeset_revision ]
self.display_galaxy_browse_repositories_page( strings_not_displayed=strings_not_displayed )
def test_0030_reactivate_filtering_repository( self ):
'''Reactivate the filtering repository and verify that it now shows up in the list of installed repositories.'''
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/test_data/bismark/bismark.tar
Binary file test/tool_shed/test_data/bismark/bismark.tar has changed
diff -r eb67f0b3555df7e249c2d8715d75c598dc25055b -r ad04a8d066e7092fb73d5469f1935196923b8ab3 test/tool_shed/test_data/bismark/bismark_methylation_extractor.xml
--- /dev/null
+++ b/test/tool_shed/test_data/bismark/bismark_methylation_extractor.xml
@@ -0,0 +1,306 @@
+<tool id="bismark_methylation_extractor" name="Bismark" version="0.7.7.3">
+ <!-- Wrapper compatible with Bismark version 0.7.7 -->
+ <description>methylation extractor</description>
+ <!--<version_command>bismark_methylation_extractor version</version_command>-->
+ <requirements>
+ <requirement type="set_environment">SCRIPT_PATH</requirement>
+ <requirement type="package" version="0.12.8">bowtie</requirement>
+ <requirement type="package" version="2.0.0-beta7">bowtie2</requirement>
+ </requirements>
+ <parallelism method="basic"></parallelism>
+ <command interpreter="python">
+ bismark_methylation_extractor.py
+
+ --infile $input
+
+ --bismark_path \$SCRIPT_PATH
+
+ #if $singlePaired.sPaired == "single":
+ --single-end
+ #else:
+ --paired-end
+ $no_overlap
+ #end if
+
+ #if str($ignore_bps) != "0":
+ --ignore $ignore_bps
+ #end if
+
+ #if $report:
+ --report-file $o_report
+ #end if
+
+ #if $comprehensive:
+ --comprehensive
+ #end if
+
+ #if $merge_non_cpg:
+ --merge-non-cpg
+ #end if
+
+ #if $compress:
+ --compress $compressed_output
+ #else:
+ #if $comprehensive == False and $merge_non_cpg == False:
+ ##twelfe files
+ --cpg_ot $cpg_ot
+ --chg_ot $chg_ot
+ --chh_ot $chh_ot
+ --cpg_ctot $cpg_ctot
+ --chg_ctot $chg_ctot
+ --chh_ctot $chh_ctot
+ --cpg_ob $cpg_ob
+ --chg_ob $chg_ob
+ --chh_ob $chh_ob
+ --cpg_ctob $cpg_ctob
+ --chg_ctob $chg_ctob
+ --chh_ctob $chh_ctob
+ #elif $merge_non_cpg and $comprehensive:
+ ## two files
+ --non_cpg_context $non_cpg_context
+ --cpg_context $cpg_context
+ #elif $comprehensive:
+ ## three files
+ --cpg_context $cpg_context
+ --chg_context $chg_context
+ --chh_context $chh_context
+ #elif $merge_non_cpg:
+ ## eight files
+ --non_cpg_context_ctot $non_cpg_context_ctot
+ --non_cpg_context_ot $non_cpg_context_ot
+ --non_cpg_context_ob $non_cpg_context_ob
+ --non_cpg_context_ctob $non_cpg_context_ctob
+ --cpg_ot $cpg_ot
+ --cpg_ctot $cpg_ctot
+ --cpg_ob $cpg_ob
+ --cpg_ctob $cpg_ctob
+ #end if
+ ## end compress
+ #end if
+
+ </command>
+ <inputs>
+ <!-- Input Parameters -->
+ <param name="input" type="data" format="sam" label="SAM file from Bismark bisulfid mapper" />
+ <conditional name="singlePaired">
+ <param name="sPaired" type="select" label="Is this library mate-paired?">
+ <option value="single">Single-end</option>
+ <option value="paired">Paired-end</option>
+ </param>
+ <when value="single" />
+ <when value="paired">
+ <param name="no_overlap" type="boolean" truevalue="--no-overlap" falsevalue="" checked="False" label="This option avoids scoring overlapping methylation calls twice, in case of overlapping read one and read two" help="" />
+ </when>
+ </conditional>
+
+ <param name="ignore_bps" type="integer" value="0" label="Ignore the first N bp when processing the methylation call string" />
+ <param name="comprehensive" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Merge all four possible strand-specific methylation info
+into context-dependent output files" help="" />
+ <param name="merge_non_cpg" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Merge all non-CpG contexts into one file" help="This will produce eight strand-specific output files, or two output files in comprehensive mode." />
+ <param name="report" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Short methylation summary output" />
+ <param name="compress" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Compress all result files and output one single file" />
+
+ </inputs>
+ <outputs>
+ <!--
+ OT – original top strand
+ CTOT – complementary to original top strand
+ OB – original bottom strand
+ CTOB – complementary to original bottom strand
+ -->
+ <data format="tabular" name="o_report" label="${tool.name} on ${on_string}: Report file">
+ <filter> ( report is True ) </filter>
+ </data>
+
+ <!-- default output 12 files -->
+ <data format="tabular" name="cpg_ot" label="${tool.name} on ${on_string}: CpG original top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chg_ot" label="${tool.name} on ${on_string}: CHG original top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chh_ot" label="${tool.name} on ${on_string}: CHH original top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="cpg_ctot" label="${tool.name} on ${on_string}: CpG complementary to top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chg_ctot" label="${tool.name} on ${on_string}: CHG complementary to top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chh_ctot" label="${tool.name} on ${on_string}: CHH complementary to top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+
+ <data format="tabular" name="cpg_ob" label="${tool.name} on ${on_string}: CpG original bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chg_ob" label="${tool.name} on ${on_string}: CHG original bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chh_ob" label="${tool.name} on ${on_string}: CHH original bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="cpg_ctob" label="${tool.name} on ${on_string}: CpG complementary to bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chg_ctob" label="${tool.name} on ${on_string}: CHG complementary to bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chh_ctob" label="${tool.name} on ${on_string}: CHH complementary to bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_CpG == False) </filter>
+ </data>
+
+ <!-- Context-dependent methylation output files (comprehensive option) -->
+ <data format="tabular" name="cpg_context" label="${tool.name} on ${on_string}: CpG context dependent">
+ <filter> ( compress == False and comprehensive) </filter>
+ </data>
+ <data format="tabular" name="chg_context" label="${tool.name} on ${on_string}: CHG context dependent">
+ <filter> ( compress == False and comprehensive and merge_non_CpG == False) </filter>
+ </data>
+ <data format="tabular" name="chh_context" label="${tool.name} on ${on_string}: CHH context dependent">
+ <filter> ( compress == False and comprehensive and merge_non_CpG == False) </filter>
+ </data>
+
+ <data format="tabular" name="non_cpg_context" label="${tool.name} on ${on_string}: Non CpG context dependent">
+ <filter> ( compress == False and comprehensive and merge_non_cpg) </filter>
+ </data>
+
+ <data format="tabular" name="non_cpg_context_ot" label="${tool.name} on ${on_string}: Non CpG context dependent on original top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_cpg) </filter>
+ </data>
+ <data format="tabular" name="non_cpg_context_ctot" label="${tool.name} on ${on_string}: Non CpG context dependent on complementary to top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_cpg) </filter>
+ </data>
+ <data format="tabular" name="non_cpg_context_ob" label="${tool.name} on ${on_string}: Non CpG context dependent on bottom top strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_cpg) </filter>
+ </data>
+ <data format="tabular" name="non_cpg_context_ctob" label="${tool.name} on ${on_string}: Non CpG context dependent on complementary to bottom strand">
+ <filter> ( compress == False and comprehensive == False and merge_non_cpg) </filter>
+ </data>
+
+ <data format="gzipped" name="compressed_output" label="${tool.name} on ${on_string}: Result archive.">
+ <filter> ( compress ) </filter>
+ </data>
+ </outputs>
+
+ <tests>
+ </tests>
+
+ <help>
+
+**What it does**
+
+The following is a brief description of all options to control the Bismark_
+methylation extractor. The script reads in a bisulfite read alignment results file
+produced by the Bismark bisulfite mapper and extracts the methylation information
+for individual cytosines. This information is found in the methylation call field
+which can contain the following characters:
+
+
+ - X = for methylated C in CHG context (was protected)
+ - x = for not methylated C CHG (was converted)
+ - H = for methylated C in CHH context (was protected)
+ - h = for not methylated C in CHH context (was converted)
+ - Z = for methylated C in CpG context (was protected)
+ - z = for not methylated C in CpG context (was converted)
+ - . = for any bases not involving cytosines
+
+
+The methylation extractor outputs result files for cytosines in CpG, CHG and CHH
+context (this distinction is actually already made in Bismark itself). As the methylation
+information for every C analysed can produce files which easily have tens or even hundreds of
+millions of lines, file sizes can become very large and more difficult to handle. The C
+methylation info additionally splits cytosine methylation calls up into one of the four possible
+strands a given bisulfite read aligned against:
+
+ - OT = original top strand
+ - CTOT = complementary to original top strand
+
+ - OB = original bottom strand
+ - CTOB = complementary to original bottom strand
+
+Thus, by default twelve individual output files are being generated per input file (unless
+--comprehensive is specified, see below). The output files can be imported into a genome
+viewer, such as SeqMonk, and re-combined into a single data group if desired (in fact
+unless the bisulfite reads were generated preserving directionality it doesn't make any
+sense to look at the data in a strand-specific manner). Strand-specific output files can
+optionally be skipped, in which case only three output files for CpG, CHG or CHH context
+will be generated. For both the strand-specific and comprehensive outputs there is also
+the option to merge both non-CpG contexts (CHG and CHH) into one single non-CpG context.
+
+
+.. _Bismark: http://www.bioinformatics.babraham.ac.uk/projects/bismark/
+
+
+It is developed by Krueger F and Andrews SR. at the Babraham Institute. Krueger F, Andrews SR. (2011) Bismark: a flexible aligner and methylation caller for Bisulfite-Seq applications. Bioinformatics, 27, 1571-2.
+
+-------
+
+**Bismark settings**
+
+All of the options have a default value. You can change any of them. If any Bismark function is missing please contact the tool author or your Galaxy admin.
+
+------
+
+**Outputs**
+
+The output files are in the following format (tab delimited)::
+
+
+ Column Description
+ -------- --------------------------------------------------------
+ 1 seq-ID
+ 2 strand
+ 3 chromosome
+ 4 position
+ 5 methylation call
+
+
+ * Methylated cytosines receive a '+' orientation,
+ * Unmethylated cytosines receive a '-' orientation.
+
+------
+
+**OPTIONS**
+
+Input::
+
+ -s/--single-end Input file(s) are Bismark result file(s) generated from single-end
+ read data. Specifying either --single-end or --paired-end is
+ mandatory.
+
+ -p/--paired-end Input file(s) are Bismark result file(s) generated from paired-end
+ read data. Specifying either --paired-end or --single-end is
+ mandatory.
+
+ --no_overlap For paired-end reads it is theoretically possible that read_1 and
+ read_2 overlap. This option avoids scoring overlapping methylation
+ calls twice. Whilst this removes a bias towards more methylation calls
+ towards the center of sequenced fragments it can de facto remove
+ a good proportion of the data.
+
+ --ignore INT Ignore the first INT bp at the 5' end of each read when processing the
+ methylation call string. This can remove e.g. a restriction enzyme site
+ at the start of each read.
+
+Output::
+
+ --comprehensive Specifying this option will merge all four possible strand-specific
+ methylation info into context-dependent output files. The default
+ contexts are:
+ - CpG context
+ - CHG context
+ - CHH context
+
+ --merge_non_CpG This will produce two output files (in --comprehensive mode) or eight
+ strand-specific output files (default) for Cs in
+ - CpG context
+ - non-CpG context
+
+ --report Prints out a short methylation summary as well as the paramaters used to run
+ this script.
+
+
+ </help>
+</tool>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
04 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/eb67f0b3555d/
changeset: eb67f0b3555d
user: carlfeberhard
date: 2013-01-04 16:57:18
summary: history panel: panel was not showing deleted datasets when a dataset was purged (even when set to 'include deleted datasets') - fix by using purge_async; history panel: fix history-options menu checkbox with new font awesome class format; pack scripts
affected #: 6 files
diff -r 564c49962741608b073e9c3fb87b57f7e8aa454b -r eb67f0b3555df7e249c2d8715d75c598dc25055b static/scripts/mvc/dataset/hda-edit.js
--- a/static/scripts/mvc/dataset/hda-edit.js
+++ b/static/scripts/mvc/dataset/hda-edit.js
@@ -32,6 +32,38 @@
];
},
+ /** Set up js behaviors, event handlers for elements within the given container.
+ * Overridden from hda-base.
+ * @param {jQuery} $container jq object that contains the elements to process (defaults to this.$el)
+ */
+ _setUpBehaviors : function( $container ){
+ //TODO: ideally this would be a DELETE call to the api
+ // using purge async for now
+ HDABaseView.prototype._setUpBehaviors.call( this, $container );
+
+ // use purge_async with an ajax call
+ var hdaView = this,
+ purge_url = this.urls.purge,
+ purge_link = $container.find( '#historyItemPurger-' + this.model.get( 'id' ) );
+ if( purge_link ){
+ //TODO: remove href from template
+ purge_link.attr( 'href', [ "javascript", "void(0)" ].join( ':' ) );
+ purge_link.click( function( event ){
+ //TODO??: confirm?
+ var ajaxPromise = jQuery.ajax( purge_url );
+ ajaxPromise.success( function( message, status, responseObj ){
+ hdaView.model.set( 'purged', true );
+ });
+ ajaxPromise.error( function( error, status, message ){
+ //TODO: Exception messages are hidden within error page
+ //!NOTE: that includes the 'Removal of datasets by users is not allowed in this Galaxy instance.'
+ alert( '(' + error.status + ') Unable to purge this dataset:\n' + message );
+ });
+ });
+ }
+ //TODO: same with undelete_async
+ },
+
// ......................................................................... RENDER WARNINGS
/** Render any hda warnings including: is deleted, is purged, is hidden.
* Overrides _render_warnings to include links to further actions (undelete, etc.)).
diff -r 564c49962741608b073e9c3fb87b57f7e8aa454b -r eb67f0b3555df7e249c2d8715d75c598dc25055b static/scripts/packed/mvc/dataset/hda-edit.js
--- a/static/scripts/packed/mvc/dataset/hda-edit.js
+++ b/static/scripts/packed/mvc/dataset/hda-edit.js
@@ -1,1 +1,1 @@
-var HDAEditView=HDABaseView.extend(LoggableMixin).extend({initialize:function(a){HDABaseView.prototype.initialize.call(this,a);this.defaultPrimaryActionButtonRenderers=[this._render_showParamsButton,this._render_rerunButton]},_render_warnings:function(){return $(jQuery.trim(HDABaseView.templates.messages(_.extend(this.model.toJSON(),{urls:this.urls}))))},_render_titleButtons:function(){var a=$('<div class="historyItemButtons"></div>');a.append(this._render_displayButton());a.append(this._render_editButton());a.append(this._render_deleteButton());return a},_render_editButton:function(){if((this.model.get("state")===HistoryDatasetAssociation.STATES.UPLOAD)||(this.model.get("state")===HistoryDatasetAssociation.STATES.NOT_VIEWABLE)||(!this.model.get("accessible"))){this.editButton=null;return null}var c=this.model.get("purged"),a=this.model.get("deleted"),b={title:_l("Edit Attributes"),href:this.urls.edit,target:"galaxy_main",icon_class:"edit"};if(a||c){b.enabled=false;if(c){b.title=_l("Cannot edit attributes of datasets removed from disk")}else{if(a){b.title=_l("Undelete dataset to edit attributes")}}}this.editButton=new IconButtonView({model:new IconButton(b)});return this.editButton.render().$el},_render_deleteButton:function(){if((this.model.get("state")===HistoryDatasetAssociation.STATES.NOT_VIEWABLE)||(!this.model.get("accessible"))){this.deleteButton=null;return null}var a=this,b=a.urls["delete"],c={title:_l("Delete"),href:b,id:"historyItemDeleter-"+this.model.get("id"),icon_class:"delete",on_click:function(){$.ajax({url:b,type:"POST",error:function(){a.$el.show()},success:function(){a.model.set({deleted:true})}})}};if(this.model.get("deleted")||this.model.get("purged")){c={title:_l("Dataset is already deleted"),icon_class:"delete",enabled:false}}this.deleteButton=new IconButtonView({model:new IconButton(c)});return this.deleteButton.render().$el},_render_hdaSummary:function(){var a=_.extend(this.model.toJSON(),{urls:this.urls});if(this.model.get("metadata_dbkey")==="?"&&!this.model.isDeletedOrPurged()){_.extend(a,{dbkey_unknown_and_editable:true})}return HDABaseView.templates.hdaSummary(a)},_render_errButton:function(){if(this.model.get("state")!==HistoryDatasetAssociation.STATES.ERROR){this.errButton=null;return null}this.errButton=new IconButtonView({model:new IconButton({title:_l("View or report this error"),href:this.urls.report_error,target:"galaxy_main",icon_class:"bug"})});return this.errButton.render().$el},_render_rerunButton:function(){this.rerunButton=new IconButtonView({model:new IconButton({title:_l("Run this job again"),href:this.urls.rerun,target:"galaxy_main",icon_class:"arrow-circle"})});return this.rerunButton.render().$el},_render_visualizationsButton:function(){var c=this.model.get("dbkey"),a=this.model.get("visualizations"),f=this.urls.visualization,d={},g={dataset_id:this.model.get("id"),hda_ldda:"hda"};if(c){g.dbkey=c}if(!(this.model.hasData())||!(a&&a.length)||!(f)){this.visualizationsButton=null;return null}this.visualizationsButton=new IconButtonView({model:new IconButton({title:_l("Visualize"),href:f,icon_class:"chart_curve"})});var b=this.visualizationsButton.render().$el;b.addClass("visualize-icon");function e(h){switch(h){case"trackster":return create_trackster_action_fn(f,g,c);case"scatterplot":return create_scatterplot_action_fn(f,g);default:return function(){window.parent.location=f+"/"+h+"?"+$.param(g)}}}if(a.length===1){b.attr("title",a[0]);b.click(e(a[0]))}else{_.each(a,function(i){var h=i.charAt(0).toUpperCase()+i.slice(1);d[_l(h)]=e(i)});make_popupmenu(b,d)}return b},_render_secondaryActionButtons:function(b){var c=$("<div/>"),a=this;c.attr("style","float: right;").attr("id","secondary-actions-"+this.model.get("id"));_.each(b,function(d){c.append(d.call(a))});return c},_render_tagButton:function(){if(!(this.model.hasData())||(!this.urls.tags.get)){this.tagButton=null;return null}this.tagButton=new IconButtonView({model:new IconButton({title:_l("Edit dataset tags"),target:"galaxy_main",href:this.urls.tags.get,icon_class:"tags"})});return this.tagButton.render().$el},_render_annotateButton:function(){if(!(this.model.hasData())||(!this.urls.annotation.get)){this.annotateButton=null;return null}this.annotateButton=new IconButtonView({model:new IconButton({title:_l("Edit dataset annotation"),target:"galaxy_main",icon_class:"annotate"})});return this.annotateButton.render().$el},_render_tagArea:function(){if(!this.urls.tags.set){return null}return $(HDAEditView.templates.tagArea(_.extend(this.model.toJSON(),{urls:this.urls})))},_render_annotationArea:function(){if(!this.urls.annotation.get){return null}return $(HDAEditView.templates.annotationArea(_.extend(this.model.toJSON(),{urls:this.urls})))},_render_body_error:function(a){HDABaseView.prototype._render_body_error.call(this,a);var b=a.find("#primary-actions-"+this.model.get("id"));b.prepend(this._render_errButton())},_render_body_ok:function(a){a.append(this._render_hdaSummary());if(this.model.isDeletedOrPurged()){a.append(this._render_primaryActionButtons([this._render_downloadButton,this._render_showParamsButton,this._render_rerunButton]));return}a.append(this._render_primaryActionButtons([this._render_downloadButton,this._render_showParamsButton,this._render_rerunButton,this._render_visualizationsButton]));a.append(this._render_secondaryActionButtons([this._render_tagButton,this._render_annotateButton]));a.append('<div class="clear"/>');a.append(this._render_tagArea());a.append(this._render_annotationArea());a.append(this._render_displayApps());a.append(this._render_peek())},events:{"click .historyItemTitle":"toggleBodyVisibility","click a.icon-button.tags":"loadAndDisplayTags","click a.icon-button.annotate":"loadAndDisplayAnnotation"},loadAndDisplayTags:function(b){this.log(this+".loadAndDisplayTags",b);var c=this.$el.find(".tag-area"),a=c.find(".tag-elt");if(c.is(":hidden")){if(!jQuery.trim(a.html())){$.ajax({url:this.urls.tags.get,error:function(){alert(_l("Tagging failed"))},success:function(d){a.html(d);a.find(".tooltip").tooltip();c.slideDown("fast")}})}else{c.slideDown("fast")}}else{c.slideUp("fast")}return false},loadAndDisplayAnnotation:function(b){this.log(this+".loadAndDisplayAnnotation",b);var d=this.$el.find(".annotation-area"),c=d.find(".annotation-elt"),a=this.urls.annotation.set;if(d.is(":hidden")){if(!jQuery.trim(c.html())){$.ajax({url:this.urls.annotation.get,error:function(){alert(_l("Annotations failed"))},success:function(e){if(e===""){e="<em>"+_l("Describe or add notes to dataset")+"</em>"}c.html(e);d.find(".tooltip").tooltip();async_save_text(c.attr("id"),c.attr("id"),a,"new_annotation",18,true,4);d.slideDown("fast")}})}else{d.slideDown("fast")}}else{d.slideUp("fast")}return false},toString:function(){var a=(this.model)?(this.model+""):("(no model)");return"HDAView("+a+")"}});HDAEditView.templates={tagArea:Handlebars.templates["template-hda-tagArea"],annotationArea:Handlebars.templates["template-hda-annotationArea"]};function create_scatterplot_action_fn(a,b){action=function(){var d=$(window.parent.document).find("iframe#galaxy_main"),c=a+"/scatterplot?"+$.param(b);d.attr("src",c);$("div.popmenu-wrapper").remove();return false};return action}function create_trackster_action_fn(a,c,b){return function(){var d={};if(b){d["f-dbkey"]=b}$.ajax({url:a+"/list_tracks?"+$.param(d),dataType:"html",error:function(){alert(_l("Could not add this dataset to browser")+".")},success:function(e){var f=window.parent;f.show_modal(_l("View Data in a New or Saved Visualization"),"",{Cancel:function(){f.hide_modal()},"View in saved visualization":function(){f.show_modal(_l("Add Data to Saved Visualization"),e,{Cancel:function(){f.hide_modal()},"Add to visualization":function(){$(f.document).find("input[name=id]:checked").each(function(){var g=$(this).val();c.id=g;f.location=a+"/trackster?"+$.param(c)})}})},"View in new visualization":function(){f.location=a+"/trackster?"+$.param(c)}})}});return false}};
\ No newline at end of file
+var HDAEditView=HDABaseView.extend(LoggableMixin).extend({initialize:function(a){HDABaseView.prototype.initialize.call(this,a);this.defaultPrimaryActionButtonRenderers=[this._render_showParamsButton,this._render_rerunButton]},_setUpBehaviors:function(c){HDABaseView.prototype._setUpBehaviors.call(this,c);var a=this,b=this.urls.purge,d=c.find("#historyItemPurger-"+this.model.get("id"));if(d){d.attr("href",["javascript","void(0)"].join(":"));d.click(function(e){var f=jQuery.ajax(b);f.success(function(i,g,h){a.model.set("purged",true)});f.error(function(h,g,i){alert("("+h.status+") Unable to purge this dataset:\n"+i)})})}},_render_warnings:function(){return $(jQuery.trim(HDABaseView.templates.messages(_.extend(this.model.toJSON(),{urls:this.urls}))))},_render_titleButtons:function(){var a=$('<div class="historyItemButtons"></div>');a.append(this._render_displayButton());a.append(this._render_editButton());a.append(this._render_deleteButton());return a},_render_editButton:function(){if((this.model.get("state")===HistoryDatasetAssociation.STATES.UPLOAD)||(this.model.get("state")===HistoryDatasetAssociation.STATES.NOT_VIEWABLE)||(!this.model.get("accessible"))){this.editButton=null;return null}var c=this.model.get("purged"),a=this.model.get("deleted"),b={title:_l("Edit Attributes"),href:this.urls.edit,target:"galaxy_main",icon_class:"edit"};if(a||c){b.enabled=false;if(c){b.title=_l("Cannot edit attributes of datasets removed from disk")}else{if(a){b.title=_l("Undelete dataset to edit attributes")}}}this.editButton=new IconButtonView({model:new IconButton(b)});return this.editButton.render().$el},_render_deleteButton:function(){if((this.model.get("state")===HistoryDatasetAssociation.STATES.NOT_VIEWABLE)||(!this.model.get("accessible"))){this.deleteButton=null;return null}var a=this,b=a.urls["delete"],c={title:_l("Delete"),href:b,id:"historyItemDeleter-"+this.model.get("id"),icon_class:"delete",on_click:function(){$.ajax({url:b,type:"POST",error:function(){a.$el.show()},success:function(){a.model.set({deleted:true})}})}};if(this.model.get("deleted")||this.model.get("purged")){c={title:_l("Dataset is already deleted"),icon_class:"delete",enabled:false}}this.deleteButton=new IconButtonView({model:new IconButton(c)});return this.deleteButton.render().$el},_render_hdaSummary:function(){var a=_.extend(this.model.toJSON(),{urls:this.urls});if(this.model.get("metadata_dbkey")==="?"&&!this.model.isDeletedOrPurged()){_.extend(a,{dbkey_unknown_and_editable:true})}return HDABaseView.templates.hdaSummary(a)},_render_errButton:function(){if(this.model.get("state")!==HistoryDatasetAssociation.STATES.ERROR){this.errButton=null;return null}this.errButton=new IconButtonView({model:new IconButton({title:_l("View or report this error"),href:this.urls.report_error,target:"galaxy_main",icon_class:"bug"})});return this.errButton.render().$el},_render_rerunButton:function(){this.rerunButton=new IconButtonView({model:new IconButton({title:_l("Run this job again"),href:this.urls.rerun,target:"galaxy_main",icon_class:"arrow-circle"})});return this.rerunButton.render().$el},_render_visualizationsButton:function(){var c=this.model.get("dbkey"),a=this.model.get("visualizations"),f=this.urls.visualization,d={},g={dataset_id:this.model.get("id"),hda_ldda:"hda"};if(c){g.dbkey=c}if(!(this.model.hasData())||!(a&&a.length)||!(f)){this.visualizationsButton=null;return null}this.visualizationsButton=new IconButtonView({model:new IconButton({title:_l("Visualize"),href:f,icon_class:"chart_curve"})});var b=this.visualizationsButton.render().$el;b.addClass("visualize-icon");function e(h){switch(h){case"trackster":return create_trackster_action_fn(f,g,c);case"scatterplot":return create_scatterplot_action_fn(f,g);default:return function(){window.parent.location=f+"/"+h+"?"+$.param(g)}}}if(a.length===1){b.attr("title",a[0]);b.click(e(a[0]))}else{_.each(a,function(i){var h=i.charAt(0).toUpperCase()+i.slice(1);d[_l(h)]=e(i)});make_popupmenu(b,d)}return b},_render_secondaryActionButtons:function(b){var c=$("<div/>"),a=this;c.attr("style","float: right;").attr("id","secondary-actions-"+this.model.get("id"));_.each(b,function(d){c.append(d.call(a))});return c},_render_tagButton:function(){if(!(this.model.hasData())||(!this.urls.tags.get)){this.tagButton=null;return null}this.tagButton=new IconButtonView({model:new IconButton({title:_l("Edit dataset tags"),target:"galaxy_main",href:this.urls.tags.get,icon_class:"tags"})});return this.tagButton.render().$el},_render_annotateButton:function(){if(!(this.model.hasData())||(!this.urls.annotation.get)){this.annotateButton=null;return null}this.annotateButton=new IconButtonView({model:new IconButton({title:_l("Edit dataset annotation"),target:"galaxy_main",icon_class:"annotate"})});return this.annotateButton.render().$el},_render_tagArea:function(){if(!this.urls.tags.set){return null}return $(HDAEditView.templates.tagArea(_.extend(this.model.toJSON(),{urls:this.urls})))},_render_annotationArea:function(){if(!this.urls.annotation.get){return null}return $(HDAEditView.templates.annotationArea(_.extend(this.model.toJSON(),{urls:this.urls})))},_render_body_error:function(a){HDABaseView.prototype._render_body_error.call(this,a);var b=a.find("#primary-actions-"+this.model.get("id"));b.prepend(this._render_errButton())},_render_body_ok:function(a){a.append(this._render_hdaSummary());if(this.model.isDeletedOrPurged()){a.append(this._render_primaryActionButtons([this._render_downloadButton,this._render_showParamsButton,this._render_rerunButton]));return}a.append(this._render_primaryActionButtons([this._render_downloadButton,this._render_showParamsButton,this._render_rerunButton,this._render_visualizationsButton]));a.append(this._render_secondaryActionButtons([this._render_tagButton,this._render_annotateButton]));a.append('<div class="clear"/>');a.append(this._render_tagArea());a.append(this._render_annotationArea());a.append(this._render_displayApps());a.append(this._render_peek())},events:{"click .historyItemTitle":"toggleBodyVisibility","click a.icon-button.tags":"loadAndDisplayTags","click a.icon-button.annotate":"loadAndDisplayAnnotation"},loadAndDisplayTags:function(b){this.log(this+".loadAndDisplayTags",b);var c=this.$el.find(".tag-area"),a=c.find(".tag-elt");if(c.is(":hidden")){if(!jQuery.trim(a.html())){$.ajax({url:this.urls.tags.get,error:function(){alert(_l("Tagging failed"))},success:function(d){a.html(d);a.find(".tooltip").tooltip();c.slideDown("fast")}})}else{c.slideDown("fast")}}else{c.slideUp("fast")}return false},loadAndDisplayAnnotation:function(b){this.log(this+".loadAndDisplayAnnotation",b);var d=this.$el.find(".annotation-area"),c=d.find(".annotation-elt"),a=this.urls.annotation.set;if(d.is(":hidden")){if(!jQuery.trim(c.html())){$.ajax({url:this.urls.annotation.get,error:function(){alert(_l("Annotations failed"))},success:function(e){if(e===""){e="<em>"+_l("Describe or add notes to dataset")+"</em>"}c.html(e);d.find(".tooltip").tooltip();async_save_text(c.attr("id"),c.attr("id"),a,"new_annotation",18,true,4);d.slideDown("fast")}})}else{d.slideDown("fast")}}else{d.slideUp("fast")}return false},toString:function(){var a=(this.model)?(this.model+""):("(no model)");return"HDAView("+a+")"}});HDAEditView.templates={tagArea:Handlebars.templates["template-hda-tagArea"],annotationArea:Handlebars.templates["template-hda-annotationArea"]};function create_scatterplot_action_fn(a,b){action=function(){var d=$(window.parent.document).find("iframe#galaxy_main"),c=a+"/scatterplot?"+$.param(b);d.attr("src",c);$("div.popmenu-wrapper").remove();return false};return action}function create_trackster_action_fn(a,c,b){return function(){var d={};if(b){d["f-dbkey"]=b}$.ajax({url:a+"/list_tracks?"+$.param(d),dataType:"html",error:function(){alert(_l("Could not add this dataset to browser")+".")},success:function(e){var f=window.parent;f.show_modal(_l("View Data in a New or Saved Visualization"),"",{Cancel:function(){f.hide_modal()},"View in saved visualization":function(){f.show_modal(_l("Add Data to Saved Visualization"),e,{Cancel:function(){f.hide_modal()},"Add to visualization":function(){$(f.document).find("input[name=id]:checked").each(function(){var g=$(this).val();c.id=g;f.location=a+"/trackster?"+$.param(c)})}})},"View in new visualization":function(){f.location=a+"/trackster?"+$.param(c)}})}});return false}};
\ No newline at end of file
diff -r 564c49962741608b073e9c3fb87b57f7e8aa454b -r eb67f0b3555df7e249c2d8715d75c598dc25055b static/scripts/packed/templates/compiled/template-popupmenu-menu.js
--- a/static/scripts/packed/templates/compiled/template-popupmenu-menu.js
+++ b/static/scripts/packed/templates/compiled/template-popupmenu-menu.js
@@ -1,1 +1,1 @@
-(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-popupmenu-menu"]=b(function(f,s,q,l,x){q=q||f.helpers;var r="",i,h,d="function",c=this.escapeExpression,p=this;function o(B,A){var y="",z;y+="\n ";z=B.options;z=q.each.call(B,z,{hash:{},inverse:p.noop,fn:p.program(2,n,A)});if(z||z===0){y+=z}y+="\n";return y}function n(B,A){var y="",z;y+="\n ";z=B.divider;z=q["if"].call(B,z,{hash:{},inverse:p.program(5,k,A),fn:p.program(3,m,A)});if(z||z===0){y+=z}y+="\n ";return y}function m(z,y){return'\n <li class="divider"></li>\n '}function k(B,A){var y="",z;y+="\n ";z=B.header;z=q["if"].call(B,z,{hash:{},inverse:p.program(8,g,A),fn:p.program(6,j,A)});if(z||z===0){y+=z}y+="\n ";return y}function j(C,B){var z="",A,y;z+='\n <li class="head"><a href=""javascript:void(0);">';y=q.html;if(y){A=y.call(C,{hash:{}})}else{A=C.html;A=typeof A===d?A():A}if(A||A===0){z+=A}z+="</a></li>\n ";return z}function g(C,B){var z="",A,y;z+="\n ";z+='\n <li><a href="';A=C.href;A=q["if"].call(C,A,{hash:{},inverse:p.program(11,w,B),fn:p.program(9,e,B)});if(A||A===0){z+=A}z+='"\n ';A=C.href;A=q["if"].call(C,A,{hash:{},inverse:p.noop,fn:p.program(13,v,B)});if(A||A===0){z+=A}z+=' class="popupmenu-option">\n ';A=C.checked;A=q["if"].call(C,A,{hash:{},inverse:p.noop,fn:p.program(15,u,B)});if(A||A===0){z+=A}z+="\n ";y=q.html;if(y){A=y.call(C,{hash:{}})}else{A=C.html;A=typeof A===d?A():A}if(A||A===0){z+=A}z+="\n </a></li>\n ";return z}function e(B,A){var z,y;y=q.href;if(y){z=y.call(B,{hash:{}})}else{z=B.href;z=typeof z===d?z():z}return c(z)}function w(z,y){return"javascript:void(0);"}function v(C,B){var z="",A,y;z+='target="';y=q.target;if(y){A=y.call(C,{hash:{}})}else{A=C.target;A=typeof A===d?A():A}z+=c(A)+'"';return z}function u(z,y){return'<span class="ficon ok"></span>'}function t(z,y){return"\n <li>No Options.</li>\n"}r+='<ul id="';h=q.id;if(h){i=h.call(s,{hash:{}})}else{i=s.id;i=typeof i===d?i():i}r+=c(i)+'-menu" class="dropdown-menu">\n';i=s.options;i=i==null||i===false?i:i.length;i=q["if"].call(s,i,{hash:{},inverse:p.program(17,t,x),fn:p.program(1,o,x)});if(i||i===0){r+=i}r+="\n</ul>";return r})})();
\ No newline at end of file
+(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-popupmenu-menu"]=b(function(f,s,q,l,x){q=q||f.helpers;var r="",i,h,d="function",c=this.escapeExpression,p=this;function o(B,A){var y="",z;y+="\n ";z=B.options;z=q.each.call(B,z,{hash:{},inverse:p.noop,fn:p.program(2,n,A)});if(z||z===0){y+=z}y+="\n";return y}function n(B,A){var y="",z;y+="\n ";z=B.divider;z=q["if"].call(B,z,{hash:{},inverse:p.program(5,k,A),fn:p.program(3,m,A)});if(z||z===0){y+=z}y+="\n ";return y}function m(z,y){return'\n <li class="divider"></li>\n '}function k(B,A){var y="",z;y+="\n ";z=B.header;z=q["if"].call(B,z,{hash:{},inverse:p.program(8,g,A),fn:p.program(6,j,A)});if(z||z===0){y+=z}y+="\n ";return y}function j(C,B){var z="",A,y;z+='\n <li class="head"><a href=""javascript:void(0);">';y=q.html;if(y){A=y.call(C,{hash:{}})}else{A=C.html;A=typeof A===d?A():A}if(A||A===0){z+=A}z+="</a></li>\n ";return z}function g(C,B){var z="",A,y;z+="\n ";z+='\n <li><a href="';A=C.href;A=q["if"].call(C,A,{hash:{},inverse:p.program(11,w,B),fn:p.program(9,e,B)});if(A||A===0){z+=A}z+='"\n ';A=C.href;A=q["if"].call(C,A,{hash:{},inverse:p.noop,fn:p.program(13,v,B)});if(A||A===0){z+=A}z+=' class="popupmenu-option">\n ';A=C.checked;A=q["if"].call(C,A,{hash:{},inverse:p.noop,fn:p.program(15,u,B)});if(A||A===0){z+=A}z+="\n ";y=q.html;if(y){A=y.call(C,{hash:{}})}else{A=C.html;A=typeof A===d?A():A}if(A||A===0){z+=A}z+="\n </a></li>\n ";return z}function e(B,A){var z,y;y=q.href;if(y){z=y.call(B,{hash:{}})}else{z=B.href;z=typeof z===d?z():z}return c(z)}function w(z,y){return"javascript:void(0);"}function v(C,B){var z="",A,y;z+='target="';y=q.target;if(y){A=y.call(C,{hash:{}})}else{A=C.target;A=typeof A===d?A():A}z+=c(A)+'"';return z}function u(z,y){return'<span class="fa-icon-ok"></span>'}function t(z,y){return"\n <li>No Options.</li>\n"}r+='<ul id="';h=q.id;if(h){i=h.call(s,{hash:{}})}else{i=s.id;i=typeof i===d?i():i}r+=c(i)+'-menu" class="dropdown-menu">\n';i=s.options;i=i==null||i===false?i:i.length;i=q["if"].call(s,i,{hash:{},inverse:p.program(17,t,x),fn:p.program(1,o,x)});if(i||i===0){r+=i}r+="\n</ul>";return r})})();
\ No newline at end of file
diff -r 564c49962741608b073e9c3fb87b57f7e8aa454b -r eb67f0b3555df7e249c2d8715d75c598dc25055b static/scripts/templates/compiled/template-popupmenu-menu.js
--- a/static/scripts/templates/compiled/template-popupmenu-menu.js
+++ b/static/scripts/templates/compiled/template-popupmenu-menu.js
@@ -96,7 +96,7 @@
function program15(depth0,data) {
- return "<span class=\"ficon ok\"></span>";}
+ return "<span class=\"fa-icon-ok\"></span>";}
function program17(depth0,data) {
diff -r 564c49962741608b073e9c3fb87b57f7e8aa454b -r eb67f0b3555df7e249c2d8715d75c598dc25055b static/scripts/templates/ui-templates.html
--- a/static/scripts/templates/ui-templates.html
+++ b/static/scripts/templates/ui-templates.html
@@ -30,7 +30,7 @@
{{!NOTE: changed from # to void fn }}
<li><a href="{{#if href }}{{ href }}{{else}}javascript:void(0);{{/if}}"
{{#if href }}target="{{ target }}"{{/if}} class="popupmenu-option">
- {{#if checked }}<span class="ficon ok"></span>{{/if}}
+ {{#if checked }}<span class="fa-icon-ok"></span>{{/if}}
{{{ html }}}
</a></li>
{{/if}}
diff -r 564c49962741608b073e9c3fb87b57f7e8aa454b -r eb67f0b3555df7e249c2d8715d75c598dc25055b templates/root/alternate_history.mako
--- a/templates/root/alternate_history.mako
+++ b/templates/root/alternate_history.mako
@@ -124,7 +124,9 @@
url_dict = {
# ................................................................ warning message links
- 'purge' : h.url_for( controller='dataset', action='purge',
+ #'purge' : h.url_for( controller='dataset', action='purge',
+ # dataset_id=encoded_id_template ),
+ 'purge' : h.url_for( controller='dataset', action='purge_async',
dataset_id=encoded_id_template ),
#TODO: hide (via api)
'unhide' : h.url_for( controller='dataset', action='unhide',
@@ -143,7 +145,6 @@
dataset_id=encoded_id_template ),
#TODO: via api
- #TODO: show deleted handled by history
'delete' : h.url_for( controller='dataset', action='delete_async', dataset_id=encoded_id_template ),
# ................................................................ download links (and associated meta files),
@@ -203,7 +204,6 @@
<%def name="get_hdas( history_id, hdas )"><%
#BUG: one inaccessible dataset will error entire list
-
if not hdas:
return '[]'
# rather just use the history.id (wo the datasets), but...
@@ -256,7 +256,6 @@
"mvc/dataset/hda-model",
"mvc/dataset/hda-base",
"mvc/dataset/hda-edit",
- ##"mvc/dataset/hda-readonly",
##"mvc/tags", "mvc/annotations"
@@ -302,9 +301,15 @@
$(function(){
galaxyPageSetUp();
- //Galaxy.historyFrame = window;
- var debugging = ( new PersistantStorage( '__history_panel' ).get( 'debugging' ) || false );
+ //NOTE: for debugging on non-local instances (main/test)
+ // 1. load history panel in own tab
+ // 2. from console: new PersistantStorage( '__history_panel' ).set( 'debugging', true )
+ // -> history panel and hdas will display console logs in console
+ var debugging = false;
+ if( jQuery.jStorage.get( '__history_panel' ) ){
+ debugging = new PersistantStorage( '__history_panel' ).get( 'debugging' );
+ }
// ostensibly, this is the App
// LOAD INITIAL DATA IN THIS PAGE - since we're already sending it...
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: greg: Make sure metata is set for repositories in the tool shed that contain only invalid tools.
by Bitbucket 04 Jan '13
by Bitbucket 04 Jan '13
04 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/564c49962741/
changeset: 564c49962741
user: greg
date: 2013-01-04 15:17:47
summary: Make sure metata is set for repositories in the tool shed that contain only invalid tools.
affected #: 1 file
diff -r 8d7d70348e526c64168392501922aa56f45d0a84 -r 564c49962741608b073e9c3fb87b57f7e8aa454b lib/galaxy/util/shed_util_common.py
--- a/lib/galaxy/util/shed_util_common.py
+++ b/lib/galaxy/util/shed_util_common.py
@@ -1056,6 +1056,7 @@
tool, valid, error_message = load_tool_from_config( app, full_path )
if tool is None:
if not valid:
+ invalid_tool_configs.append( name )
invalid_file_tups.append( ( name, error_message ) )
else:
invalid_files_and_errors_tups = check_tool_input_params( app, files_dir, name, tool, sample_file_copy_paths )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jgoecks: Fix bugs that prevented creating a Circster visualization from a dataset.
by Bitbucket 03 Jan '13
by Bitbucket 03 Jan '13
03 Jan '13
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/8d7d70348e52/
changeset: 8d7d70348e52
user: jgoecks
date: 2013-01-04 04:07:55
summary: Fix bugs that prevented creating a Circster visualization from a dataset.
affected #: 1 file
diff -r d7475647cbb6a1c70218049fadc24ed1651d845a -r 8d7d70348e526c64168392501922aa56f45d0a84 lib/galaxy/webapps/galaxy/controllers/visualization.py
--- a/lib/galaxy/webapps/galaxy/controllers/visualization.py
+++ b/lib/galaxy/webapps/galaxy/controllers/visualization.py
@@ -725,12 +725,25 @@
Display a circster visualization.
"""
+ # Get dataset to add.
+ if dataset_id:
+ dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
+
# Get/create vis.
if id:
# Display existing viz.
vis = self.get_visualization( trans, id, check_ownership=False, check_accessible=True )
else:
# Create new viz.
+ if not dbkey:
+ # If dbkey not specified, use dataset's dbkey.
+ dbkey = dataset.dbkey
+ if not dbkey or dbkey == '?':
+ # Circster requires a valid dbkey.
+ return trans.show_error_message( "You must set the dataset's dbkey to view it. You can set "
+ "a dataset's dbkey by clicking on the pencil icon and editing "
+ "its attributes.", use_panels=True )
+
vis = self.create_visualization( trans, type="genome", dbkey=dbkey, save=False )
# Get the vis config and work with it from here on out. Working with the
@@ -739,12 +752,10 @@
viz_config = self.get_visualization_config( trans, vis )
# Add dataset if specified.
- if dataset_id:
- dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
+ if dataset:
viz_config[ 'tracks' ].append( self.get_new_track_config( trans, dataset ) )
# Get genome info.
- dbkey = viz_config[ 'dbkey' ]
chroms_info = self.app.genomes.chroms( trans, dbkey=dbkey )
genome = { 'dbkey': dbkey, 'chroms_info': chroms_info }
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
12 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/de91f945a824/
changeset: de91f945a824
user: natefoo
date: 2013-01-03 22:29:11
summary: Backed out 9ec94e5d6a28
affected #: 1 file
<HgDiff de91f945a824:4c96179f6fe1 ['lib/galaxy/jobs/runners/lwr.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/de8a5f5e064e/
changeset: de8a5f5e064e
user: natefoo
date: 2013-01-03 22:29:41
summary: backout 2f5544be71d1
affected #: 1 file
<HgDiff de8a5f5e064e:de91f945a824 ['lib/galaxy/jobs/runners/lwr.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/b78fc8715c33/
changeset: b78fc8715c33
user: natefoo
date: 2013-01-03 22:30:07
summary: Backout 875ac898df00
affected #: 2 files
<HgDiff b78fc8715c33:de8a5f5e064e ['lib/galaxy/jobs/runners/lwr.py']><HgDiff b78fc8715c33:de8a5f5e064e ['lib/galaxy/jobs/runners/lwr_client/__init__.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/09152e37a3e5/
changeset: 09152e37a3e5
user: natefoo
date: 2013-01-03 22:30:21
summary: backout 6265bf3f27ad
affected #: 1 file
<HgDiff 09152e37a3e5:b78fc8715c33 ['lib/galaxy/jobs/runners/lwr_client/__init__.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/01ac1286291b/
changeset: 01ac1286291b
user: natefoo
date: 2013-01-03 22:30:32
summary: backout 5822038f8c96
affected #: 3 files
<HgDiff 01ac1286291b:09152e37a3e5 ['lib/galaxy/jobs/runners/__init__.py']><HgDiff 01ac1286291b:09152e37a3e5 ['lib/galaxy/jobs/runners/lwr.py']><HgDiff 01ac1286291b:09152e37a3e5 ['lib/galaxy/jobs/runners/lwr_client/__init__.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/1e8a57a3004d/
changeset: 1e8a57a3004d
user: natefoo
date: 2013-01-03 22:30:42
summary: backout 50c1edba7fe0
affected #: 1 file
<HgDiff 1e8a57a3004d:01ac1286291b ['lib/galaxy/jobs/runners/lwr_client/__init__.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/77e141b92b59/
changeset: 77e141b92b59
user: natefoo
date: 2013-01-03 22:32:06
summary: backout 93dd6202175a
affected #: 2 files
<HgDiff 77e141b92b59:1e8a57a3004d ['lib/galaxy/jobs/runners/lwr.py']><HgDiff 77e141b92b59:1e8a57a3004d ['lib/galaxy/jobs/runners/lwr_client/__init__.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/f5477485ee0c/
changeset: f5477485ee0c
user: natefoo
date: 2013-01-03 22:32:17
summary: backout e4adc9ad0bb7
affected #: 1 file
<HgDiff f5477485ee0c:77e141b92b59 ['lib/galaxy/jobs/runners/lwr.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/9ca4a534c126/
changeset: 9ca4a534c126
user: natefoo
date: 2013-01-03 22:32:29
summary: backout e6676636cfe7
affected #: 1 file
<HgDiff 9ca4a534c126:f5477485ee0c ['lib/galaxy/jobs/runners/lwr.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/adb5231d1a5c/
changeset: adb5231d1a5c
user: natefoo
date: 2013-01-03 22:32:43
summary: backout 8c6cf637058a
affected #: 1 file
<HgDiff adb5231d1a5c:9ca4a534c126 ['lib/galaxy/jobs/runners/lwr.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/c382028a4f5b/
changeset: c382028a4f5b
user: natefoo
date: 2013-01-03 22:32:55
summary: backout ab827b2c7907
affected #: 1 file
<HgDiff c382028a4f5b:adb5231d1a5c ['lib/galaxy/jobs/runners/__init__.py']>
https://bitbucket.org/galaxy/galaxy-central/changeset/d7475647cbb6/
changeset: d7475647cbb6
user: natefoo
date: 2013-01-03 22:34:40
summary: merge
affected #: 1 file
<HgDiff d7475647cbb6:c382028a4f5b ['templates/workflow/editor.mako']>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0