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
June 2012
- 1 participants
- 98 discussions
commit/galaxy-central: greg: Fix the DataTableManager to handle directories other than ~/tool-data.
by Bitbucket 14 Jun '12
by Bitbucket 14 Jun '12
14 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/b761471d7590/
changeset: b761471d7590
user: greg
date: 2012-06-14 20:33:21
summary: Fix the DataTableManager to handle directories other than ~/tool-data.
affected #: 4 files
diff -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e -r b761471d759097f03c0fb904e9543f02ed5096c9 lib/galaxy/jobs/deferred/genome_transfer.py
--- a/lib/galaxy/jobs/deferred/genome_transfer.py
+++ b/lib/galaxy/jobs/deferred/genome_transfer.py
@@ -34,7 +34,7 @@
self.tool = app.toolbox.tools_by_id['__GENOME_INDEX__']
self.sa_session = app.model.context.current
tdtman = ToolDataTableManager()
- xmltree = tdtman.load_from_config_file(app.config.tool_data_table_config_path)
+ xmltree = tdtman.load_from_config_file( app.config.tool_data_table_config_path, app.config.tool_data_path )
for node in xmltree:
table = node.get('name')
location = node.findall('file')[0].get('path')
diff -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e -r b761471d759097f03c0fb904e9543f02ed5096c9 lib/galaxy/tools/data/__init__.py
--- a/lib/galaxy/tools/data/__init__.py
+++ b/lib/galaxy/tools/data/__init__.py
@@ -24,7 +24,7 @@
return self.data_tables.__getitem__( key )
def __contains__( self, key ):
return self.data_tables.__contains__( key )
- def load_from_config_file( self, config_filename ):
+ def load_from_config_file( self, config_filename, tool_data_path ):
tree = util.parse_xml( config_filename )
root = tree.getroot()
table_elems = []
@@ -36,12 +36,12 @@
if table_elem_name and table_elem_name not in self.data_table_elem_names:
self.data_table_elem_names.append( table_elem_name )
self.data_table_elems.append( table_elem )
- table = tool_data_table_types[ type ]( table_elem )
+ table = tool_data_table_types[ type ]( table_elem, tool_data_path )
if table.name not in self.data_tables:
self.data_tables[ table.name ] = table
log.debug( "Loaded tool data table '%s'", table.name )
return table_elems
- def add_new_entries_from_config_file( self, config_filename, tool_data_table_config_path, persist=False ):
+ def add_new_entries_from_config_file( self, config_filename, tool_data_path, tool_data_table_config_path, persist=False ):
"""
This method is called when a tool shed repository that includes a tool_data_table_conf.xml.sample file is being
installed into a local galaxy instance. We have 2 cases to handle, files whose root tag is <tables>, for example:
@@ -64,7 +64,7 @@
# Make a copy of the current list of data_table_elem_names so we can persist later if changes to the config file are necessary.
original_data_table_elem_names = [ name for name in self.data_table_elem_names ]
if root.tag == 'tables':
- table_elems = self.load_from_config_file( config_filename )
+ table_elems = self.load_from_config_file( config_filename, tool_data_path )
else:
table_elems = []
type = root.get( 'type', 'tabular' )
@@ -74,7 +74,7 @@
if table_elem_name and table_elem_name not in self.data_table_elem_names:
self.data_table_elem_names.append( table_elem_name )
self.data_table_elems.append( root )
- table = tool_data_table_types[ type ]( root )
+ table = tool_data_table_types[ type ]( root, tool_data_path )
if table.name not in self.data_tables:
self.data_tables[ table.name ] = table
log.debug( "Added new tool data table '%s'", table.name )
@@ -97,8 +97,9 @@
os.chmod( full_path, 0644 )
class ToolDataTable( object ):
- def __init__( self, config_element ):
+ def __init__( self, config_element, tool_data_path ):
self.name = config_element.get( 'name' )
+ self.tool_data_path = tool_data_path
self.missing_index_file = None
class TabularToolDataTable( ToolDataTable ):
@@ -115,8 +116,8 @@
type_key = 'tabular'
- def __init__( self, config_element ):
- super( TabularToolDataTable, self ).__init__( config_element )
+ def __init__( self, config_element, tool_data_path ):
+ super( TabularToolDataTable, self ).__init__( config_element, tool_data_path )
self.configure_and_load( config_element )
def configure_and_load( self, config_element ):
"""
@@ -128,11 +129,24 @@
self.parse_column_spec( config_element )
# Read every file
all_rows = []
+ found = False
for file_element in config_element.findall( 'file' ):
filename = file_element.get( 'path' )
if os.path.exists( filename ):
+ found = True
all_rows.extend( self.parse_file_fields( open( filename ) ) )
else:
+ # Since the path attribute can include a hard-coded path to a specific directory
+ # (e.g., <file path="tool-data/cg_crr_files.loc" />) which may not be the same value
+ # as self.tool_data_path, we'll parse the path to get the filename and see if it is
+ # in self.tool_data_path.
+ file_path, file_name = os.path.split( filename )
+ if file_path and file_path != self.tool_data_path:
+ corrected_filename = os.path.join( self.tool_data_path, file_name )
+ if os.path.exists( corrected_filename ):
+ found = True
+ all_rows.extend( self.parse_file_fields( open( corrected_filename ) ) )
+ if not found:
self.missing_index_file = filename
log.warn( "Cannot find index file '%s' for tool data table '%s'" % ( filename, self.name ) )
self.data = all_rows
diff -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e -r b761471d759097f03c0fb904e9543f02ed5096c9 lib/galaxy/tools/genome_index/__init__.py
--- a/lib/galaxy/tools/genome_index/__init__.py
+++ b/lib/galaxy/tools/genome_index/__init__.py
@@ -67,7 +67,7 @@
if gitd:
destination = None
tdtman = ToolDataTableManager()
- xmltree = tdtman.load_from_config_file(app.config.tool_data_table_config_path)
+ xmltree = tdtman.load_from_config_file( app.config.tool_data_table_config_path, app.config.tool_data_path )
for node in xmltree:
table = node.get('name')
location = node.findall('file')[0].get('path')
diff -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e -r b761471d759097f03c0fb904e9543f02ed5096c9 lib/galaxy/webapps/community/controllers/common.py
--- a/lib/galaxy/webapps/community/controllers/common.py
+++ b/lib/galaxy/webapps/community/controllers/common.py
@@ -427,12 +427,12 @@
if datatypes_config:
metadata_dict = generate_datatypes_metadata( datatypes_config, metadata_dict )
sample_files, deleted_sample_files = get_list_of_copied_sample_files( repo, ctx, dir=work_dir )
+ if sample_files:
+ trans.app.config.tool_data_path = work_dir
# Handle the tool_data_table_conf.xml.sample file if it is included in the repository.
if 'tool_data_table_conf.xml.sample' in sample_files:
tool_data_table_config = copy_file_from_manifest( repo, ctx, 'tool_data_table_conf.xml.sample', work_dir )
error, correction_msg = handle_sample_tool_data_table_conf_file( trans.app, tool_data_table_config )
- if sample_files:
- trans.app.config.tool_data_path = work_dir
for filename in ctx:
# Find all tool configs.
ctx_file_name = strip_path( filename )
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: Add the ability to browse the installation directory of tool dependencies for installed tool shed repositories.
by Bitbucket 14 Jun '12
by Bitbucket 14 Jun '12
14 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/bef69fd3fcc1/
changeset: bef69fd3fcc1
user: greg
date: 2012-06-14 16:00:51
summary: Add the ability to browse the installation directory of tool dependencies for installed tool shed repositories.
affected #: 10 files
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -2740,7 +2740,13 @@
self.version = version
self.type = type
self.uninstalled = uninstalled
-
+ def installation_directory( self, app ):
+ return os.path.join( app.config.tool_dependency_dir,
+ self.name,
+ self.version,
+ self.tool_shed_repository.owner,
+ self.tool_shed_repository.name,
+ self.installed_changeset_revision )
class ToolVersion( object ):
def __init__( self, id=None, create_time=None, tool_id=None, tool_shed_repository=None ):
self.id = id
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e lib/galaxy/tool_shed/tool_dependencies/install_util.py
--- a/lib/galaxy/tool_shed/tool_dependencies/install_util.py
+++ b/lib/galaxy/tool_shed/tool_dependencies/install_util.py
@@ -41,7 +41,7 @@
sa_session.add( tool_dependency )
sa_session.flush()
return tool_dependency
-def get_install_dir( app, repository, installed_changeset_revision, package_name, package_version ):
+def get_tool_dependency_install_dir( app, repository, installed_changeset_revision, package_name, package_version ):
return os.path.abspath( os.path.join( app.config.tool_dependency_dir,
package_name,
package_version,
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e lib/galaxy/tools/deps/__init__.py
--- a/lib/galaxy/tools/deps/__init__.py
+++ b/lib/galaxy/tools/deps/__init__.py
@@ -46,7 +46,7 @@
if installed_tool_dependencies:
for installed_dependency in installed_tool_dependencies:
if not installed_dependency.uninstalled:
- if installed_dependency.name == name and installed_dependency.version == version and installed_dependency.type == type:
+ if installed_dependency.name==name and installed_dependency.version==version and installed_dependency.type==type:
break
for base_path in self.base_paths:
if installed_dependency:
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e lib/galaxy/util/shed_util.py
--- a/lib/galaxy/util/shed_util.py
+++ b/lib/galaxy/util/shed_util.py
@@ -956,6 +956,9 @@
file_name = strip_path( shed_tool_conf_dict[ 'config_filename' ] )
if shed_tool_conf == file_name:
return index, shed_tool_conf_dict
+def get_tool_dependency( trans, id ):
+ """Get a tool_dependency from the database via id"""
+ return trans.sa_session.query( trans.model.ToolDependency ).get( trans.security.decode_id( id ) )
def get_tool_panel_config_tool_path_install_dir( app, repository ):
# Return shed-related tool panel config, the tool_path configured in it, and the relative path to the directory where the
# repository is installed. This method assumes all repository tools are defined in a single shed-related tool panel config.
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e lib/galaxy/web/controllers/admin_toolshed.py
--- a/lib/galaxy/web/controllers/admin_toolshed.py
+++ b/lib/galaxy/web/controllers/admin_toolshed.py
@@ -2,7 +2,7 @@
from galaxy.web.controllers.admin import *
from galaxy.util.json import from_json_string, to_json_string
from galaxy.util.shed_util import *
-from galaxy.tool_shed.tool_dependencies.install_util import get_install_dir, not_installed
+from galaxy.tool_shed.tool_dependencies.install_util import get_tool_dependency_install_dir, not_installed
from galaxy.tool_shed.encoding_util import *
from galaxy import eggs, tools
@@ -148,6 +148,19 @@
return self.repository_list_grid( trans, **kwd )
@web.expose
@web.require_admin
+ def browse_tool_dependency( self, trans, **kwd ):
+ params = util.Params( kwd )
+ message = util.restore_text( params.get( 'message', '' ) )
+ status = params.get( 'status', 'done' )
+ tool_dependency = get_tool_dependency( trans, kwd[ 'id' ] )
+ repository = get_repository( trans, kwd[ 'repository_id' ] )
+ return trans.fill_template( '/admin/tool_shed_repository/browse_tool_dependency.mako',
+ repository=repository,
+ tool_dependency=tool_dependency,
+ message=message,
+ status=status )
+ @web.expose
+ @web.require_admin
def browse_tool_shed( self, trans, **kwd ):
tool_shed_url = kwd[ 'tool_shed_url' ]
galaxy_url = url_for( '/', qualified=True )
@@ -256,6 +269,7 @@
url = '%srepository/find_workflows?galaxy_url=%s&webapp=galaxy&no_reset=true' % ( tool_shed_url, galaxy_url )
return trans.response.send_redirect( url )
@web.json
+ @web.require_admin
def get_file_contents( self, trans, file_path ):
# Avoid caching
trans.response.headers['Pragma'] = 'no-cache'
@@ -341,7 +355,7 @@
for dependency_key, requirements_dict in tool_dependencies.items():
name = requirements_dict[ 'name' ]
version = requirements_dict[ 'version' ]
- install_dir = get_install_dir( trans.app, repository, repository.changeset_revision, name, version )
+ install_dir = get_tool_dependency_install_dir( trans.app, repository, repository.changeset_revision, name, version )
if not_installed( install_dir ):
filtered_tool_dependencies[ dependency_key ] = requirements_dict
tool_dependencies = filtered_tool_dependencies
@@ -585,6 +599,7 @@
message=message,
status=status )
@web.json
+ @web.require_admin
def open_folder( self, trans, folder_path ):
# Avoid caching
trans.response.headers['Pragma'] = 'no-cache'
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e templates/admin/tool_shed_repository/browse_repository.mako
--- a/templates/admin/tool_shed_repository/browse_repository.mako
+++ b/templates/admin/tool_shed_repository/browse_repository.mako
@@ -10,7 +10,7 @@
<%def name="javascripts()">
${parent.javascripts()}
${h.js( "ui.core", "jquery.dynatree" )}
- ${common_javascripts(repository)}
+ ${common_javascripts(repository.name, repository.repo_files_directory(trans.app))}
</%def><br/><br/>
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e templates/admin/tool_shed_repository/browse_tool_dependency.mako
--- /dev/null
+++ b/templates/admin/tool_shed_repository/browse_tool_dependency.mako
@@ -0,0 +1,62 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+<%namespace file="/admin/tool_shed_repository/common.mako" import="*" />
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "dynatree_skin/ui.dynatree" )}
+</%def>
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+ ${h.js( "ui.core", "jquery.dynatree" )}
+ ${common_javascripts(tool_dependency.name, tool_dependency.installation_directory( trans.app ))}
+</%def>
+
+<br/><br/>
+<ul class="manage-table-actions">
+ <li><a class="action-button" id="tool_dependency-${tool_dependency.id}-popup" class="menubutton">Repository Actions</a></li>
+ <div popupmenu="tool_dependency-${tool_dependency.id}-popup">
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}">Manage repository</a>
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='check_for_updates', id=trans.security.encode_id( repository.id ) )}">Get updates</a>
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='deactivate_or_uninstall_repository', id=trans.security.encode_id( repository.id ) )}">Deactivate or Uninstall</a>
+ %if repository.tool_dependencies:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Manage tool dependencies</a>
+ %endif
+ </div>
+</ul>
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+<div class="toolForm">
+ <div class="toolFormTitle">Browse tool dependency ${tool_dependency.name} installation directory</div>
+ <div class="toolFormBody">
+ <div class="form-row" >
+ <label>Tool shed repository:</label>
+ ${repository.name}
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row" >
+ <label>Tool shed repository changeset revision:</label>
+ ${repository.changeset_revision}
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row" >
+ <label>Tool dependency installation directory:</label>
+ ${tool_dependency.installation_directory( trans.app )}
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row" >
+ <label>Contents:</label>
+ <div id="tree" >
+ Loading...
+ </div>
+ <div style="clear: both"></div>
+ </div>
+ <div class="form-row">
+ <div id="file_contents" class="toolParamHelp" style="clear: both;background-color:#FAFAFA;"></div>
+ </div>
+ </div>
+</div>
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e templates/admin/tool_shed_repository/common.mako
--- a/templates/admin/tool_shed_repository/common.mako
+++ b/templates/admin/tool_shed_repository/common.mako
@@ -1,4 +1,4 @@
-<%def name="common_javascripts(repository)">
+<%def name="common_javascripts(title_text, directory_path)"><script type="text/javascript">
$(function(){
$("#tree").ajaxComplete(function(event, XMLHttpRequest, ajaxOptions) {
@@ -6,7 +6,7 @@
});
// --- Initialize sample trees
$("#tree").dynatree({
- title: "${repository.name}",
+ title: "${title_text}",
rootVisible: true,
minExpandLevel: 0, // 1: root node is not collapsible
persist: false,
@@ -22,7 +22,7 @@
// initAjax is hard to fake, so we pass the children as object array:
initAjax: {url: "${h.url_for( controller='admin_toolshed', action='open_folder' )}",
dataType: "json",
- data: { folder_path: "${repository.repo_files_directory(trans.app)}" },
+ data: { folder_path: "${directory_path}" },
},
onLazyRead: function(dtnode){
dtnode.appendAjax({
@@ -43,7 +43,7 @@
var cell = $("#file_contents");
var selected_value;
if (dtnode.data.key == 'root') {
- selected_value = "${repository.repo_files_directory(trans.app)}/";
+ selected_value = "${directory_path}/";
} else {
selected_value = dtnode.data.key;
};
@@ -66,221 +66,3 @@
});
</script></%def>
-
-<%def name="render_repository_contents( repository, can_reset_metadata=False )">
- <div class="toolForm">
- <div class="toolFormTitle">${repository.name}</div>
- <div class="toolFormBody">
- <%
- metadata = repository.metadata
- missing_tool_dependencies = repository.missing_tool_dependencies
- installed_tool_dependencies = repository.installed_tool_dependencies
- %>
- %if missing_tool_dependencies:
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Missing tool dependencies</i></td>
- </tr>
- </table>
- </div>
- <div style="clear: both"></div>
- <div class="form-row">
- <table class="grid">
- <tr>
- <td><b>name</b></td>
- <td><b>type</b></td>
- <td><b>version</b></td>
- </tr>
- %for name, requirements_dict in missing_tool_dependencies.items():
- <tr>
- <td>${requirements_dict[ 'name' ]}</td>
- <td>${requirements_dict[ 'type' ]}</td>
- <td>${requirements_dict[ 'version' ]}</td>
- </tr>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if installed_tool_dependencies:
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Installed tool dependencies</i></td>
- </tr>
- </table>
- </div>
- <div style="clear: both"></div>
- <div class="form-row">
- <table class="grid">
- <tr>
- <td><b>name</b></td>
- <td><b>type</b></td>
- <td><b>version</b></td>
- </tr>
- %for installed_tool_dependency in installed_tool_dependencies:
- <tr>
- <td>${installed_tool_dependency.name}</td>
- <td>${installed_tool_dependency.type}</td>
- <td>${installed_tool_dependency.version}</td>
- </tr>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if 'tools' in metadata:
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Tools</b><i> - click the name to view information about the tool</i></td>
- </tr>
- </table>
- </div>
- <div class="form-row">
- <% tool_dicts = metadata[ 'tools' ] %>
- <table class="grid">
- <tr>
- <td><b>name</b></td>
- <td><b>description</b></td>
- <td><b>version</b></td>
- <td><b>requirements</b></td>
- </tr>
- %for tool_dict in tool_dicts:
- <tr>
- <td>
- <a class="view-info" href="${h.url_for( controller='admin_toolshed', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), tool_id=tool_dict[ 'id' ] )}">
- ${tool_dict[ 'name' ]}
- </a>
- </td>
- <td>${tool_dict[ 'description' ]}</td>
- <td>${tool_dict[ 'version' ]}</td>
- <td>
- <%
- if 'requirements' in tool_dict:
- requirements = tool_dict[ 'requirements' ]
- else:
- requirements = None
- %>
- %if requirements:
- <%
- requirements_str = ''
- for requirement_dict in tool_dict[ 'requirements' ]:
- requirements_str += '%s (%s), ' % ( requirement_dict[ 'name' ], requirement_dict[ 'type' ] )
- requirements_str = requirements_str.rstrip( ', ' )
- %>
- ${requirements_str}
- %else:
- none
- %endif
- </td>
- </tr>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if 'workflows' in metadata:
- ## metadata[ 'workflows' ] is a list of tuples where each contained tuple is
- ## [ <relative path to the .ga file in the repository>, <exported workflow dict> ]
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Workflows</b><i> - click the name to import</i></td>
- </tr>
- </table>
- </div>
- <div style="clear: both"></div>
- <div class="form-row">
- <% workflow_tups = metadata[ 'workflows' ] %>
- <table class="grid">
- <tr>
- <td><b>name</b></td>
- <td><b>steps</b></td>
- <td><b>format-version</b></td>
- <td><b>annotation</b></td>
- </tr>
- <% index = 0 %>
- %for workflow_tup in workflow_tups:
- <%
- import os.path
- relative_path = workflow_tup[ 0 ]
- full_path = os.path.abspath( relative_path )
- workflow_dict = workflow_tup[ 1 ]
- workflow_name = workflow_dict[ 'name' ]
- ## Initially steps were not stored in the metadata record.
- steps = workflow_dict.get( 'steps', [] )
- format_version = workflow_dict[ 'format-version' ]
- annotation = workflow_dict[ 'annotation' ]
- %>
- <tr>
- <td>
- <div class="menubutton" style="float: left;" id="workflow-${index}-popup">
- ${workflow_name}
- <div popupmenu="workflow-${index}-popup">
- <a class="action-button" href="${h.url_for( controller='workflow', action='import_workflow', installed_repository_file=full_path, repository_id=trans.security.encode_id( repository.id ) )}">Import to Galaxy</a>
- </div>
- </div>
- </td>
- <td>
- %if steps:
- ${len( steps )}
- %else:
- unknown
- %endif
- </td>
- <td>${format_version}</td>
- <td>${annotation}</td>
- </tr>
- <% index += 1 %>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if 'datatypes' in metadata:
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Data types</b></td>
- </tr>
- </table>
- </div>
- <div style="clear: both"></div>
- <div class="form-row">
- <% datatypes_dicts = metadata[ 'datatypes' ] %>
- <table class="grid">
- <tr>
- <td><b>extension</b></td>
- <td><b>type</b></td>
- <td><b>mimetype</b></td>
- <td><b>subclass</b></td>
- </tr>
- %for datatypes_dict in datatypes_dicts:
- <tr>
- <td>${datatypes_dict.get( 'extension', ' ' )}</td>
- <td>${datatypes_dict.get( 'dtype', ' ' )}</td>
- <td>${datatypes_dict.get( 'mimetype', ' ' )}</td>
- <td>${datatypes_dict.get( 'subclass', ' ' )}</td>
- </tr>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if can_reset_metadata:
- <form name="set_metadata" action="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}" method="post">
- <div class="form-row">
- <div style="float: left; width: 250px; margin-right: 10px;">
- <input type="submit" name="set_metadata_button" value="Reset metadata"/>
- </div>
- <div class="toolParamHelp" style="clear: both;">
- Inspect the repository and reset the above attributes.
- </div>
- </div>
- </form>
- %endif
- </div>
- </div>
-</%def>
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e templates/admin/tool_shed_repository/manage_repository.mako
--- a/templates/admin/tool_shed_repository/manage_repository.mako
+++ b/templates/admin/tool_shed_repository/manage_repository.mako
@@ -64,5 +64,223 @@
</div></div><p/>
-${render_repository_contents( repository, can_reset_metadata=True )}
+<div class="toolForm">
+ <div class="toolFormTitle">${repository.name}</div>
+ <div class="toolFormBody">
+ <%
+ metadata = repository.metadata
+ missing_tool_dependencies = repository.missing_tool_dependencies
+ installed_tool_dependencies = repository.installed_tool_dependencies
+ %>
+ %if missing_tool_dependencies:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Missing tool dependencies</i></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>type</b></td>
+ <td><b>version</b></td>
+ </tr>
+ %for name, requirements_dict in missing_tool_dependencies.items():
+ <tr>
+ <td>${requirements_dict[ 'name' ]}</td>
+ <td>${requirements_dict[ 'type' ]}</td>
+ <td>${requirements_dict[ 'version' ]}</td>
+ </tr>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if installed_tool_dependencies:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Installed tool dependencies<i> - click the name to browse the dependency installation directory</i></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>type</b></td>
+ <td><b>version</b></td>
+ </tr>
+ %for installed_tool_dependency in installed_tool_dependencies:
+ <tr>
+ <td>
+ <a class="view-info" href="${h.url_for( controller='admin_toolshed', action='browse_tool_dependency', id=trans.security.encode_id( installed_tool_dependency.id ), repository_id=trans.security.encode_id( repository.id ) )}">
+ ${installed_tool_dependency.name}
+ </a>
+ </td>
+ <td>${installed_tool_dependency.type}</td>
+ <td>${installed_tool_dependency.version}</td>
+ </tr>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if 'tools' in metadata:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Tools</b><i> - click the name to view information about the tool</i></td>
+ </tr>
+ </table>
+ </div>
+ <div class="form-row">
+ <% tool_dicts = metadata[ 'tools' ] %>
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>description</b></td>
+ <td><b>version</b></td>
+ <td><b>requirements</b></td>
+ </tr>
+ %for tool_dict in tool_dicts:
+ <tr>
+ <td>
+ <a class="view-info" href="${h.url_for( controller='admin_toolshed', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), tool_id=tool_dict[ 'id' ] )}">
+ ${tool_dict[ 'name' ]}
+ </a>
+ </td>
+ <td>${tool_dict[ 'description' ]}</td>
+ <td>${tool_dict[ 'version' ]}</td>
+ <td>
+ <%
+ if 'requirements' in tool_dict:
+ requirements = tool_dict[ 'requirements' ]
+ else:
+ requirements = None
+ %>
+ %if requirements:
+ <%
+ requirements_str = ''
+ for requirement_dict in tool_dict[ 'requirements' ]:
+ requirements_str += '%s (%s), ' % ( requirement_dict[ 'name' ], requirement_dict[ 'type' ] )
+ requirements_str = requirements_str.rstrip( ', ' )
+ %>
+ ${requirements_str}
+ %else:
+ none
+ %endif
+ </td>
+ </tr>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if 'workflows' in metadata:
+ ## metadata[ 'workflows' ] is a list of tuples where each contained tuple is
+ ## [ <relative path to the .ga file in the repository>, <exported workflow dict> ]
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Workflows</b><i> - click the name to import</i></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <% workflow_tups = metadata[ 'workflows' ] %>
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>steps</b></td>
+ <td><b>format-version</b></td>
+ <td><b>annotation</b></td>
+ </tr>
+ <% index = 0 %>
+ %for workflow_tup in workflow_tups:
+ <%
+ import os.path
+ relative_path = workflow_tup[ 0 ]
+ full_path = os.path.abspath( relative_path )
+ workflow_dict = workflow_tup[ 1 ]
+ workflow_name = workflow_dict[ 'name' ]
+ ## Initially steps were not stored in the metadata record.
+ steps = workflow_dict.get( 'steps', [] )
+ format_version = workflow_dict[ 'format-version' ]
+ annotation = workflow_dict[ 'annotation' ]
+ %>
+ <tr>
+ <td>
+ <div class="menubutton" style="float: left;" id="workflow-${index}-popup">
+ ${workflow_name}
+ <div popupmenu="workflow-${index}-popup">
+ <a class="action-button" href="${h.url_for( controller='workflow', action='import_workflow', installed_repository_file=full_path, repository_id=trans.security.encode_id( repository.id ) )}">Import to Galaxy</a>
+ </div>
+ </div>
+ </td>
+ <td>
+ %if steps:
+ ${len( steps )}
+ %else:
+ unknown
+ %endif
+ </td>
+ <td>${format_version}</td>
+ <td>${annotation}</td>
+ </tr>
+ <% index += 1 %>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if 'datatypes' in metadata:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Data types</b></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <% datatypes_dicts = metadata[ 'datatypes' ] %>
+ <table class="grid">
+ <tr>
+ <td><b>extension</b></td>
+ <td><b>type</b></td>
+ <td><b>mimetype</b></td>
+ <td><b>subclass</b></td>
+ </tr>
+ %for datatypes_dict in datatypes_dicts:
+ <tr>
+ <td>${datatypes_dict.get( 'extension', ' ' )}</td>
+ <td>${datatypes_dict.get( 'dtype', ' ' )}</td>
+ <td>${datatypes_dict.get( 'mimetype', ' ' )}</td>
+ <td>${datatypes_dict.get( 'subclass', ' ' )}</td>
+ </tr>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if can_reset_metadata:
+ <form name="set_metadata" action="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}" method="post">
+ <div class="form-row">
+ <div style="float: left; width: 250px; margin-right: 10px;">
+ <input type="submit" name="set_metadata_button" value="Reset metadata"/>
+ </div>
+ <div class="toolParamHelp" style="clear: both;">
+ Inspect the repository and reset the above attributes.
+ </div>
+ </div>
+ </form>
+ %endif
+ </div>
+</div><p/>
diff -r b1f35669f93c4163cf803d64beb37a1cb0d5381c -r bef69fd3fcc191b9a9a4d140876a6ee932e9fc3e templates/admin/tool_shed_repository/manage_tool_dependencies.mako
--- a/templates/admin/tool_shed_repository/manage_tool_dependencies.mako
+++ b/templates/admin/tool_shed_repository/manage_tool_dependencies.mako
@@ -24,7 +24,7 @@
%endif
<div class="toolForm">
- <div class="toolFormTitle">${repository.name} repository's installed tool dependencies</div>
+ <div class="toolFormTitle">${repository.name} repository's tool dependencies</div><div class="toolFormBody"><div class="form-row"><table class="grid">
@@ -45,7 +45,18 @@
<tr><td bgcolor="#D8D8D8"><b>Name</b></td><td bgcolor="#D8D8D8">${name}</td></tr><tr><th>Version</th><td>${version}</td></tr><tr><th>Type</th><td>${type}</td></tr>
- <tr><th>Install directory</th><td>${install_dir}</td></tr>
+ <tr>
+ <th>Install directory</th>
+ <td>
+ %if uninstalled:
+ This dependency is not currently installed
+ %else:
+ <a class="view-info" href="${h.url_for( controller='admin_toolshed', action='browse_tool_dependency', id=trans.security.encode_id( tool_dependency.id ), repository_id=trans.security.encode_id( repository.id ) )}">
+ ${install_dir}
+ </a>
+ %endif
+ </td>
+ </tr><tr><th>Installed changeset revision</th><td>${installed_changeset_revision}</td></tr><tr><th>Uninstalled</th><td>${uninstalled}</td></tr>
%endfor
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
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/b1f35669f93c/
changeset: b1f35669f93c
user: greg
date: 2012-06-13 22:40:22
summary: Add baseline support for managin dependencies for tools included in installed tool shed repositories, enhance installed repository browsing to enable browsing files, and a bit of code cleanup.
affected #: 12 files
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c lib/galaxy/model/__init__.py
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -2665,7 +2665,12 @@
self.deleted = deleted
self.uninstalled = uninstalled
self.dist_to_shed = dist_to_shed
- def repo_path( self, app ):
+ def repo_files_directory( self, app ):
+ repo_path = self.repo_path( app )
+ if repo_path:
+ return os.path.join( app.config.root, repo_path, self.name )
+ return None
+ def repo_path( self, app ):
tool_shed_url = self.tool_shed
if tool_shed_url.find( ':' ) > 0:
# Eliminate the port, if any, since it will result in an invalid directory name.
@@ -2673,7 +2678,7 @@
tool_shed = tool_shed_url.rstrip( '/' )
for index, shed_tool_conf_dict in enumerate( app.toolbox.shed_tool_confs ):
tool_path = shed_tool_conf_dict[ 'tool_path' ]
- relative_path = os.path.join( tool_path, tool_shed, 'repos', self.owner, self.name, self.installed_changeset_revision )
+ relative_path = os.path.join( app.config.root, tool_path, tool_shed, 'repos', self.owner, self.name, self.installed_changeset_revision )
if os.path.exists( relative_path ):
return relative_path
return None
@@ -2686,6 +2691,46 @@
@property
def includes_workflows( self ):
return self.metadata and 'workflows' in self.metadata
+ @property
+ def installed_tool_dependencies( self ):
+ """Return the repository's tool dependencies that are currently installed."""
+ installed_dependencies = []
+ for tool_dependency in self.tool_dependencies:
+ if not tool_dependency.uninstalled:
+ installed_dependencies.append( tool_dependency )
+ return installed_dependencies
+ @property
+ def missing_tool_dependencies( self ):
+ """Return the repository's tool dependencies that are not currently installed."""
+ def add_missing_dependency( missing_dependencies_dict, name, version, type, installed_changeset_revision=None ):
+ missing_dependencies_dict[ name ] = dict( version=version,
+ type=type,
+ installed_changeset_revision=installed_changeset_revision )
+ return missing_dependencies_dict
+ missing_dependencies = {}
+ # Get the dependency information from the metadata for comparison against the installed tool dependencies.
+ tool_dependencies = self.metadata.get( 'tool_dependencies', None )
+ if tool_dependencies:
+ for dependency_key, requirements_dict in tool_dependencies.items():
+ name = requirements_dict[ 'name' ]
+ version = requirements_dict[ 'version' ]
+ type = requirements_dict[ 'type' ]
+ if self.tool_dependencies:
+ found = False
+ for installed_dependency in self.tool_dependencies:
+ if installed_dependency.name==name and installed_dependency.version==version and installed_dependency.type==type:
+ found = True
+ if installed_dependency.uninstalled:
+ missing_dependencies = add_missing_dependency( missing_dependencies,
+ installed_dependency.name,
+ installed_dependency.version,
+ installed_dependency.type,
+ installed_dependency.installed_changeset_revision )
+ break
+ if not found:
+ missing_dependencies = add_missing_dependency( missing_dependencies, name, version, type )
+ return missing_dependencies
+ return None
class ToolDependency( object ):
def __init__( self, tool_shed_repository_id=None, installed_changeset_revision=None, name=None, version=None, type=None, uninstalled=False ):
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -795,19 +795,15 @@
return tool_version.get_version_ids( self.app )
return []
@property
- def installed_tool_dependencies( self ):
- # If this tool is included in an installed tool shed repository and tool dependencies were installed along with the
- # tool shed repository, then this method will return the repository's ToolDependency records.
- if self.app.config.use_tool_dependencies:
- if self.tool_shed:
- tool_shed_repository = get_tool_shed_repository_by_shed_name_owner_changeset_revision( self.app,
- self.tool_shed,
- self.repository_name,
- self.repository_owner,
- self.installed_changeset_revision )
- if tool_shed_repository:
- return tool_shed_repository.tool_dependencies
- return None
+ def tool_shed_repository( self ):
+ # If this tool is included in an installed tool shed repository, return it.
+ if self.tool_shed:
+ return get_tool_shed_repository_by_shed_name_owner_changeset_revision( self.app,
+ self.tool_shed,
+ self.repository_name,
+ self.repository_owner,
+ self.installed_changeset_revision )
+ return None
def __get_job_run_config( self, run_configs, key, job_params=None ):
# Look through runners/handlers to find one with matching parameters.
available_configs = []
@@ -2333,6 +2329,10 @@
environment to include this tools requirements.
"""
commands = []
+ if self.tool_shed_repository:
+ installed_tool_dependencies = self.tool_shed_repository.tool_dependencies
+ else:
+ installed_tool_dependencies = None
for requirement in self.requirements:
# TODO: currently only supporting requirements of type package,
# need to implement some mechanism for mapping other types
@@ -2342,7 +2342,7 @@
script_file, base_path, version = self.app.toolbox.dependency_manager.find_dep( name=requirement.name,
version=requirement.version,
type=requirement.type,
- installed_tool_dependencies=self.installed_tool_dependencies )
+ installed_tool_dependencies=installed_tool_dependencies )
if script_file is None and base_path is None:
log.warn( "Failed to resolve dependency on '%s', ignoring", requirement.name )
elif script_file is None:
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c lib/galaxy/util/shed_util.py
--- a/lib/galaxy/util/shed_util.py
+++ b/lib/galaxy/util/shed_util.py
@@ -29,6 +29,7 @@
'"' : '"',
'&' : '&',
'\'' : ''' }
+MAX_CONTENT_SIZE = 32768
VALID_CHARS = set( string.letters + string.digits + "'\"-=_.()/+*^,:?!#[]%\\$@;{}" )
NOT_TOOL_CONFIGS = [ 'datatypes_conf.xml', 'tool_dependencies.xml' ]
@@ -881,6 +882,37 @@
fh.close()
return tmp_filename
return None
+def get_repository_file_contents( file_path ):
+ if is_gzip( file_path ):
+ to_html = to_html_str( '\ngzip compressed file\n' )
+ elif is_bz2( file_path ):
+ to_html = to_html_str( '\nbz2 compressed file\n' )
+ elif check_zip( file_path ):
+ to_html = to_html_str( '\nzip compressed file\n' )
+ elif check_binary( file_path ):
+ to_html = to_html_str( '\nBinary file\n' )
+ else:
+ to_html = ''
+ for i, line in enumerate( open( file_path ) ):
+ to_html = '%s%s' % ( to_html, to_html_str( line ) )
+ if len( to_html ) > MAX_CONTENT_SIZE:
+ large_str = '\nFile contents truncated because file size is larger than maximum viewing size of %s\n' % util.nice_size( MAX_CONTENT_SIZE )
+ to_html = '%s%s' % ( to_html, to_html_str( large_str ) )
+ break
+ return to_html
+def get_repository_files( trans, folder_path ):
+ contents = []
+ for item in os.listdir( folder_path ):
+ # Skip .hg directories
+ if str( item ).startswith( '.hg' ):
+ continue
+ if os.path.isdir( os.path.join( folder_path, item ) ):
+ # Append a '/' character so that our jquery dynatree will function properly.
+ item = '%s/' % item
+ contents.append( item )
+ if contents:
+ contents.sort()
+ return contents
def get_repository_owner( cleaned_repository_url ):
items = cleaned_repository_url.split( 'repos' )
repo_path = items[ 1 ]
@@ -1313,6 +1345,27 @@
if not os.path.exists( work_dir ):
os.makedirs( work_dir )
return work_dir
+def open_repository_files_folder( trans, folder_path ):
+ try:
+ files_list = get_repository_files( trans, folder_path )
+ except OSError, e:
+ if str( e ).find( 'No such file or directory' ) >= 0:
+ # We have a repository with no contents.
+ return []
+ folder_contents = []
+ for filename in files_list:
+ is_folder = False
+ if filename and filename[-1] == os.sep:
+ is_folder = True
+ if filename:
+ full_path = os.path.join( folder_path, filename )
+ node = { "title": filename,
+ "isFolder": is_folder,
+ "isLazy": is_folder,
+ "tooltip": full_path,
+ "key": full_path }
+ folder_contents.append( node )
+ return folder_contents
def panel_entry_per_tool( tool_section_dict ):
# Return True if tool_section_dict looks like this.
# {<Tool guid> : [{ tool_config : <tool_config_file>, id: <ToolSection id>, version : <ToolSection version>, name : <TooSection name>}]}
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c lib/galaxy/web/controllers/admin_toolshed.py
--- a/lib/galaxy/web/controllers/admin_toolshed.py
+++ b/lib/galaxy/web/controllers/admin_toolshed.py
@@ -174,40 +174,6 @@
return trans.response.send_redirect( url )
@web.expose
@web.require_admin
- def check_installed_tool_dependencies( self, trans, repository_id, relative_install_dir ):
- """See if any tool dependencies need to be installed."""
- tool_dependencies_missing = False
- repository = get_repository( trans, repository_id )
- if repository.includes_tool_dependencies:
- # Get the tool_dependencies.xml file from the repository.
- work_dir = make_tmp_directory()
- tool_dependencies_config = get_config_from_repository( trans.app,
- 'tool_dependencies.xml',
- repository,
- repository.changeset_revision,
- work_dir,
- install_dir=relative_install_dir )
- # Parse the tool_dependencies.xml config.
- tree = ElementTree.parse( tool_dependencies_config )
- root = tree.getroot()
- ElementInclude.include( root )
- fabric_version_checked = False
- for elem in root:
- if elem.tag == 'package':
- package_name = elem.get( 'name', None )
- package_version = elem.get( 'version', None )
- if package_name and package_version:
- install_dir = get_install_dir( trans.app, repository, repository.installed_changeset_revision, package_name, package_version )
- if not_installed( install_dir ):
- tool_dependencies_missing = True
- break
- try:
- shutil.rmtree( work_dir )
- except:
- pass
- return tool_dependencies_missing
- @web.expose
- @web.require_admin
def deactivate_or_uninstall_repository( self, trans, **kwd ):
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
@@ -289,6 +255,12 @@
galaxy_url = url_for( '/', qualified=True )
url = '%srepository/find_workflows?galaxy_url=%s&webapp=galaxy&no_reset=true' % ( tool_shed_url, galaxy_url )
return trans.response.send_redirect( url )
+ @web.json
+ def get_file_contents( self, trans, file_path ):
+ # Avoid caching
+ trans.response.headers['Pragma'] = 'no-cache'
+ trans.response.headers['Expires'] = '0'
+ return get_repository_file_contents( file_path )
@web.expose
@web.require_admin
def install_tool_dependencies( self, trans, **kwd ):
@@ -594,16 +566,32 @@
trans.sa_session.add( repository )
trans.sa_session.flush()
message = "Repository metadata has been reset."
- tool_dependencies_missing = self.check_installed_tool_dependencies( trans, repository_id, relative_install_dir )
return trans.fill_template( '/admin/tool_shed_repository/manage_repository.mako',
repository=repository,
description=description,
repo_files_dir=repo_files_dir,
- tool_dependencies_missing=tool_dependencies_missing,
message=message,
status=status )
@web.expose
@web.require_admin
+ def manage_tool_dependencies( self, trans, **kwd ):
+ params = util.Params( kwd )
+ message = util.restore_text( params.get( 'message', '' ) )
+ status = params.get( 'status', 'done' )
+ repository_id = kwd[ 'id' ]
+ repository = get_repository( trans, repository_id )
+ return trans.fill_template( '/admin/tool_shed_repository/manage_tool_dependencies.mako',
+ repository=repository,
+ message=message,
+ status=status )
+ @web.json
+ def open_folder( self, trans, folder_path ):
+ # Avoid caching
+ trans.response.headers['Pragma'] = 'no-cache'
+ trans.response.headers['Expires'] = '0'
+ return open_repository_files_folder( trans, folder_path )
+ @web.expose
+ @web.require_admin
def reinstall_repository( self, trans, **kwd ):
message = kwd.get( 'message', '' )
status = kwd.get( 'status', 'done' )
@@ -709,6 +697,8 @@
trans.sa_session.flush()
if install_tool_dependencies:
dependency_str = ' along with tool dependencies'
+ if error_message:
+ dependency_str += ', but with some errors installing the dependencies'
else:
dependency_str = ' without tool dependencies'
message += 'The <b>%s</b> repository has been reinstalled%s. ' % ( repository.name, dependency_str )
@@ -822,8 +812,7 @@
message = "The installed repository named '%s' has been updated to change set revision '%s'. " % ( name, latest_changeset_revision )
# See if any tool dependencies can be installed.
shed_tool_conf, tool_path, relative_install_dir = get_tool_panel_config_tool_path_install_dir( trans.app, repository )
- tool_dependencies_missing = self.check_installed_tool_dependencies( trans, trans.security.encode_id( repository.id ), relative_install_dir )
- if tool_dependencies_missing:
+ if repository.missing_tool_dependencies:
message += "Select <b>Install tool dependencies</b> from the repository's pop-up menu to install tool dependencies."
else:
message = "The directory containing the installed repository named '%s' cannot be found. " % name
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c lib/galaxy/webapps/community/controllers/repository.py
--- a/lib/galaxy/webapps/community/controllers/repository.py
+++ b/lib/galaxy/webapps/community/controllers/repository.py
@@ -2,7 +2,6 @@
from time import strftime
from datetime import date, datetime
from galaxy import util
-from galaxy.datatypes.checkers import *
from galaxy.web.base.controller import *
from galaxy.web.form_builder import CheckboxField
from galaxy.webapps.community import model
@@ -10,7 +9,8 @@
from galaxy.web.framework.helpers import time_ago, iff, grids
from galaxy.util.json import from_json_string, to_json_string
from galaxy.model.orm import *
-from galaxy.util.shed_util import get_changectx_for_changeset, get_configured_ui, make_tmp_directory, NOT_TOOL_CONFIGS, strip_path
+from galaxy.util.shed_util import get_changectx_for_changeset, get_configured_ui, get_repository_file_contents, make_tmp_directory, NOT_TOOL_CONFIGS
+from galaxy.util.shed_util import open_repository_files_folder, strip_path
from galaxy.tool_shed.encoding_util import *
from common import *
@@ -20,7 +20,6 @@
log = logging.getLogger( __name__ )
-MAX_CONTENT_SIZE = 32768
VALID_REPOSITORYNAME_RE = re.compile( "^[a-z0-9\_]+$" )
README_FILES = [ 'readme', 'read_me', 'install' ]
@@ -496,12 +495,10 @@
commit_message = util.restore_text( params.get( 'commit_message', 'Deleted selected files' ) )
repository = get_repository( trans, id )
repo = hg.repository( get_configured_ui(), repository.repo_path )
- current_working_dir = os.getcwd()
# Update repository files for browsing.
update_repository( repo )
is_malicious = changeset_is_malicious( trans, id, repository.tip )
return trans.fill_template( '/webapps/community/repository/browse_repository.mako',
- repo=repo,
repository=repository,
commit_message=commit_message,
is_malicious=is_malicious,
@@ -1016,37 +1013,7 @@
# Avoid caching
trans.response.headers['Pragma'] = 'no-cache'
trans.response.headers['Expires'] = '0'
- if is_gzip( file_path ):
- to_html = to_html_str( '\ngzip compressed file\n' )
- elif is_bz2( file_path ):
- to_html = to_html_str( '\nbz2 compressed file\n' )
- elif check_zip( file_path ):
- to_html = to_html_str( '\nzip compressed file\n' )
- elif check_binary( file_path ):
- to_html = to_html_str( '\nBinary file\n' )
- else:
- to_html = ''
- for i, line in enumerate( open( file_path ) ):
- to_html = '%s%s' % ( to_html, to_html_str( line ) )
- if len( to_html ) > MAX_CONTENT_SIZE:
- large_str = '\nFile contents truncated because file size is larger than maximum viewing size of %s\n' % util.nice_size( MAX_CONTENT_SIZE )
- to_html = '%s%s' % ( to_html, to_html_str( large_str ) )
- break
- return to_html
- def __get_files( self, trans, folder_path ):
- contents = []
- for item in os.listdir( folder_path ):
- # Skip .hg directories
- if str( item ).startswith( '.hg' ):
- continue
- if os.path.isdir( os.path.join( folder_path, item ) ):
- # Append a '/' character so that our jquery dynatree will
- # function properly.
- item = '%s/' % item
- contents.append( item )
- if contents:
- contents.sort()
- return contents
+ return get_repository_file_contents( file_path )
@web.expose
def get_readme( self, trans, **kwd ):
"""If the received changeset_revision includes a file named readme (case ignored), return it's contents."""
@@ -1558,34 +1525,13 @@
state.inputs = {}
return state
@web.json
- def open_folder( self, trans, repository_id, key ):
+ def open_folder( self, trans, folder_path ):
# The tool shed includes a repository source file browser, which currently depends upon
# copies of the hg repository file store in the repo_path for browsing.
# Avoid caching
trans.response.headers['Pragma'] = 'no-cache'
trans.response.headers['Expires'] = '0'
- repository = trans.sa_session.query( trans.model.Repository ).get( trans.security.decode_id( repository_id ) )
- folder_path = key
- try:
- files_list = self.__get_files( trans, folder_path )
- except OSError, e:
- if str( e ).find( 'No such file or directory' ) >= 0:
- # We have a repository with no contents.
- return []
- folder_contents = []
- for filename in files_list:
- is_folder = False
- if filename and filename[-1] == os.sep:
- is_folder = True
- if filename:
- full_path = os.path.join( folder_path, filename )
- node = { "title": filename,
- "isFolder": is_folder,
- "isLazy": is_folder,
- "tooltip": full_path,
- "key": full_path }
- folder_contents.append( node )
- return folder_contents
+ return open_repository_files_folder( trans, folder_path )
@web.expose
def preview_tools_in_changeset( self, trans, repository_id, **kwd ):
params = util.Params( kwd )
@@ -1769,7 +1715,6 @@
if params.get( 'select_files_to_delete_button', False ):
if selected_files_to_delete:
selected_files_to_delete = selected_files_to_delete.split( ',' )
- current_working_dir = os.getcwd()
# Get the current repository tip.
tip = repository.tip
for selected_file in selected_files_to_delete:
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/admin/tool_shed_repository/browse_repository.mako
--- a/templates/admin/tool_shed_repository/browse_repository.mako
+++ b/templates/admin/tool_shed_repository/browse_repository.mako
@@ -2,6 +2,17 @@
<%namespace file="/message.mako" import="render_msg" /><%namespace file="/admin/tool_shed_repository/common.mako" import="*" />
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "dynatree_skin/ui.dynatree" )}
+</%def>
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+ ${h.js( "ui.core", "jquery.dynatree" )}
+ ${common_javascripts(repository)}
+</%def>
+
<br/><br/><ul class="manage-table-actions"><li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li>
@@ -9,6 +20,9 @@
<a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}">Manage repository</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='check_for_updates', id=trans.security.encode_id( repository.id ) )}">Get updates</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='deactivate_or_uninstall_repository', id=trans.security.encode_id( repository.id ) )}">Deactivate or Uninstall</a>
+ %if repository.tool_dependencies:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Manage tool dependencies</a>
+ %endif
</div></ul>
@@ -16,4 +30,17 @@
${render_msg( message, status )}
%endif
-${render_metadata( repository, can_reset_metadata=False )}
+<div class="toolForm">
+ <div class="toolFormTitle">Browse ${repository.name} revision ${repository.changeset_revision} files</div>
+ <div class="toolFormBody">
+ <div class="form-row" >
+ <label>Contents:</label>
+ <div id="tree" >
+ Loading...
+ </div>
+ </div>
+ <div class="form-row">
+ <div id="file_contents" class="toolParamHelp" style="clear: both;background-color:#FAFAFA;"></div>
+ </div>
+ </div>
+</div>
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/admin/tool_shed_repository/common.mako
--- a/templates/admin/tool_shed_repository/common.mako
+++ b/templates/admin/tool_shed_repository/common.mako
@@ -1,154 +1,273 @@
-<%def name="render_metadata( repository, can_reset_metadata=False )">
+<%def name="common_javascripts(repository)">
+ <script type="text/javascript">
+ $(function(){
+ $("#tree").ajaxComplete(function(event, XMLHttpRequest, ajaxOptions) {
+ _log("debug", "ajaxComplete: %o", this); // dom element listening
+ });
+ // --- Initialize sample trees
+ $("#tree").dynatree({
+ title: "${repository.name}",
+ rootVisible: true,
+ minExpandLevel: 0, // 1: root node is not collapsible
+ persist: false,
+ checkbox: true,
+ selectMode: 3,
+ onPostInit: function(isReloading, isError) {
+ //alert("reloading: "+isReloading+", error:"+isError);
+ logMsg("onPostInit(%o, %o) - %o", isReloading, isError, this);
+ // Re-fire onActivate, so the text is updated
+ this.reactivate();
+ },
+ fx: { height: "toggle", duration: 200 },
+ // initAjax is hard to fake, so we pass the children as object array:
+ initAjax: {url: "${h.url_for( controller='admin_toolshed', action='open_folder' )}",
+ dataType: "json",
+ data: { folder_path: "${repository.repo_files_directory(trans.app)}" },
+ },
+ onLazyRead: function(dtnode){
+ dtnode.appendAjax({
+ url: "${h.url_for( controller='admin_toolshed', action='open_folder' )}",
+ dataType: "json",
+ data: { folder_path: dtnode.data.key },
+ });
+ },
+ onSelect: function(select, dtnode) {
+ // Display list of selected nodes
+ var selNodes = dtnode.tree.getSelectedNodes();
+ // convert to title/key array
+ var selKeys = $.map(selNodes, function(node) {
+ return node.data.key;
+ });
+ },
+ onActivate: function(dtnode) {
+ var cell = $("#file_contents");
+ var selected_value;
+ if (dtnode.data.key == 'root') {
+ selected_value = "${repository.repo_files_directory(trans.app)}/";
+ } else {
+ selected_value = dtnode.data.key;
+ };
+ if (selected_value.charAt(selected_value.length-1) != '/') {
+ // Make ajax call
+ $.ajax( {
+ type: "POST",
+ url: "${h.url_for( controller='admin_toolshed', action='get_file_contents' )}",
+ dataType: "json",
+ data: { file_path: selected_value },
+ success : function ( data ) {
+ cell.html( '<label>'+data+'</label>' )
+ }
+ });
+ } else {
+ cell.html( '' );
+ };
+ },
+ });
+ });
+ </script>
+</%def>
+
+<%def name="render_repository_contents( repository, can_reset_metadata=False )"><div class="toolForm">
- <div class="toolFormTitle">Repository contents</div>
+ <div class="toolFormTitle">${repository.name}</div><div class="toolFormBody">
- <% metadata = repository.metadata %>
- %if metadata:
- %if 'tools' in metadata:
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Tools</b><i> - click the name to view tool related information</i></td>
+ <%
+ metadata = repository.metadata
+ missing_tool_dependencies = repository.missing_tool_dependencies
+ installed_tool_dependencies = repository.installed_tool_dependencies
+ %>
+ %if missing_tool_dependencies:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Missing tool dependencies</i></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>type</b></td>
+ <td><b>version</b></td>
+ </tr>
+ %for name, requirements_dict in missing_tool_dependencies.items():
+ <tr>
+ <td>${requirements_dict[ 'name' ]}</td>
+ <td>${requirements_dict[ 'type' ]}</td>
+ <td>${requirements_dict[ 'version' ]}</td></tr>
- </table>
- </div>
- <div class="form-row">
- <% tool_dicts = metadata[ 'tools' ] %>
- <table class="grid">
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if installed_tool_dependencies:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Installed tool dependencies</i></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>type</b></td>
+ <td><b>version</b></td>
+ </tr>
+ %for installed_tool_dependency in installed_tool_dependencies:
<tr>
- <td><b>name</b></td>
- <td><b>description</b></td>
- <td><b>version</b></td>
- <td><b>requirements</b></td>
+ <td>${installed_tool_dependency.name}</td>
+ <td>${installed_tool_dependency.type}</td>
+ <td>${installed_tool_dependency.version}</td></tr>
- %for tool_dict in tool_dicts:
- <tr>
- <td>
- <a class="view-info" href="${h.url_for( controller='admin_toolshed', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), tool_id=tool_dict[ 'id' ] )}">
- ${tool_dict[ 'name' ]}
- </a>
- </td>
- <td>${tool_dict[ 'description' ]}</td>
- <td>${tool_dict[ 'version' ]}</td>
- <td>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if 'tools' in metadata:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Tools</b><i> - click the name to view information about the tool</i></td>
+ </tr>
+ </table>
+ </div>
+ <div class="form-row">
+ <% tool_dicts = metadata[ 'tools' ] %>
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>description</b></td>
+ <td><b>version</b></td>
+ <td><b>requirements</b></td>
+ </tr>
+ %for tool_dict in tool_dicts:
+ <tr>
+ <td>
+ <a class="view-info" href="${h.url_for( controller='admin_toolshed', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), tool_id=tool_dict[ 'id' ] )}">
+ ${tool_dict[ 'name' ]}
+ </a>
+ </td>
+ <td>${tool_dict[ 'description' ]}</td>
+ <td>${tool_dict[ 'version' ]}</td>
+ <td>
+ <%
+ if 'requirements' in tool_dict:
+ requirements = tool_dict[ 'requirements' ]
+ else:
+ requirements = None
+ %>
+ %if requirements:
<%
- if 'requirements' in tool_dict:
- requirements = tool_dict[ 'requirements' ]
- else:
- requirements = None
+ requirements_str = ''
+ for requirement_dict in tool_dict[ 'requirements' ]:
+ requirements_str += '%s (%s), ' % ( requirement_dict[ 'name' ], requirement_dict[ 'type' ] )
+ requirements_str = requirements_str.rstrip( ', ' )
%>
- %if requirements:
- <%
- requirements_str = ''
- for requirement_dict in tool_dict[ 'requirements' ]:
- requirements_str += '%s (%s), ' % ( requirement_dict[ 'name' ], requirement_dict[ 'type' ] )
- requirements_str = requirements_str.rstrip( ', ' )
- %>
- ${requirements_str}
- %else:
- none
- %endif
- </td>
- </tr>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if 'workflows' in metadata:
- ## metadata[ 'workflows' ] is a list of tuples where each contained tuple is
- ## [ <relative path to the .ga file in the repository>, <exported workflow dict> ]
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Workflows</b><i> - click the name to import</i></td>
+ ${requirements_str}
+ %else:
+ none
+ %endif
+ </td></tr>
- </table>
- </div>
- <div style="clear: both"></div>
- <div class="form-row">
- <% workflow_tups = metadata[ 'workflows' ] %>
- <table class="grid">
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if 'workflows' in metadata:
+ ## metadata[ 'workflows' ] is a list of tuples where each contained tuple is
+ ## [ <relative path to the .ga file in the repository>, <exported workflow dict> ]
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Workflows</b><i> - click the name to import</i></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <% workflow_tups = metadata[ 'workflows' ] %>
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>steps</b></td>
+ <td><b>format-version</b></td>
+ <td><b>annotation</b></td>
+ </tr>
+ <% index = 0 %>
+ %for workflow_tup in workflow_tups:
+ <%
+ import os.path
+ relative_path = workflow_tup[ 0 ]
+ full_path = os.path.abspath( relative_path )
+ workflow_dict = workflow_tup[ 1 ]
+ workflow_name = workflow_dict[ 'name' ]
+ ## Initially steps were not stored in the metadata record.
+ steps = workflow_dict.get( 'steps', [] )
+ format_version = workflow_dict[ 'format-version' ]
+ annotation = workflow_dict[ 'annotation' ]
+ %><tr>
- <td><b>name</b></td>
- <td><b>steps</b></td>
- <td><b>format-version</b></td>
- <td><b>annotation</b></td>
+ <td>
+ <div class="menubutton" style="float: left;" id="workflow-${index}-popup">
+ ${workflow_name}
+ <div popupmenu="workflow-${index}-popup">
+ <a class="action-button" href="${h.url_for( controller='workflow', action='import_workflow', installed_repository_file=full_path, repository_id=trans.security.encode_id( repository.id ) )}">Import to Galaxy</a>
+ </div>
+ </div>
+ </td>
+ <td>
+ %if steps:
+ ${len( steps )}
+ %else:
+ unknown
+ %endif
+ </td>
+ <td>${format_version}</td>
+ <td>${annotation}</td></tr>
- <% index = 0 %>
- %for workflow_tup in workflow_tups:
- <%
- import os.path
- relative_path = workflow_tup[ 0 ]
- full_path = os.path.abspath( relative_path )
- workflow_dict = workflow_tup[ 1 ]
- workflow_name = workflow_dict[ 'name' ]
- ## Initially steps were not stored in the metadata record.
- steps = workflow_dict.get( 'steps', [] )
- format_version = workflow_dict[ 'format-version' ]
- annotation = workflow_dict[ 'annotation' ]
- %>
- <tr>
- <td>
- <div class="menubutton" style="float: left;" id="workflow-${index}-popup">
- ${workflow_name}
- <div popupmenu="workflow-${index}-popup">
- <a class="action-button" href="${h.url_for( controller='workflow', action='import_workflow', installed_repository_file=full_path, repository_id=trans.security.encode_id( repository.id ) )}">Import to Galaxy</a>
- </div>
- </div>
- </td>
- <td>
- %if steps:
- ${len( steps )}
- %else:
- unknown
- %endif
- </td>
- <td>${format_version}</td>
- <td>${annotation}</td>
- </tr>
- <% index += 1 %>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
- %if 'datatypes' in metadata:
- <div class="form-row">
- <table width="100%">
- <tr bgcolor="#D8D8D8" width="100%">
- <td><b>Data types</b></td>
+ <% index += 1 %>
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ %endif
+ %if 'datatypes' in metadata:
+ <div class="form-row">
+ <table width="100%">
+ <tr bgcolor="#D8D8D8" width="100%">
+ <td><b>Data types</b></td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <% datatypes_dicts = metadata[ 'datatypes' ] %>
+ <table class="grid">
+ <tr>
+ <td><b>extension</b></td>
+ <td><b>type</b></td>
+ <td><b>mimetype</b></td>
+ <td><b>subclass</b></td>
+ </tr>
+ %for datatypes_dict in datatypes_dicts:
+ <tr>
+ <td>${datatypes_dict.get( 'extension', ' ' )}</td>
+ <td>${datatypes_dict.get( 'dtype', ' ' )}</td>
+ <td>${datatypes_dict.get( 'mimetype', ' ' )}</td>
+ <td>${datatypes_dict.get( 'subclass', ' ' )}</td></tr>
- </table>
- </div>
- <div style="clear: both"></div>
- <div class="form-row">
- <% datatypes_dicts = metadata[ 'datatypes' ] %>
- <table class="grid">
- <tr>
- <td><b>extension</b></td>
- <td><b>type</b></td>
- <td><b>mimetype</b></td>
- <td><b>subclass</b></td>
- </tr>
- %for datatypes_dict in datatypes_dicts:
- <%
- extension = datatypes_dict.get( 'extension', ' ' )
- dtype = datatypes_dict.get( 'dtype', ' ' )
- mimetype = datatypes_dict.get( 'mimetype', ' ' )
- subclass = datatypes_dict.get( 'subclass', ' ' )
- %>
- <tr>
- <td>${extension}</td>
- <td>${dtype}</td>
- <td>${mimetype}</td>
- <td>${subclass}</td>
- </tr>
- %endfor
- </table>
- </div>
- <div style="clear: both"></div>
- %endif
+ %endfor
+ </table>
+ </div>
+ <div style="clear: both"></div>
%endif
%if can_reset_metadata:
<form name="set_metadata" action="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}" method="post">
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/admin/tool_shed_repository/deactivate_or_uninstall_repository.mako
--- a/templates/admin/tool_shed_repository/deactivate_or_uninstall_repository.mako
+++ b/templates/admin/tool_shed_repository/deactivate_or_uninstall_repository.mako
@@ -6,9 +6,12 @@
<ul class="manage-table-actions"><li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li><div popupmenu="repository-${repository.id}-popup">
- <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository</a>
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository files</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}">Manage repository</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='check_for_updates', id=trans.security.encode_id( repository.id ) )}">Get updates</a>
+ %if repository.tool_dependencies:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Manage tool dependencies</a>
+ %endif
</div></ul>
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/admin/tool_shed_repository/manage_repository.mako
--- a/templates/admin/tool_shed_repository/manage_repository.mako
+++ b/templates/admin/tool_shed_repository/manage_repository.mako
@@ -6,13 +6,13 @@
<ul class="manage-table-actions"><li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li><div popupmenu="repository-${repository.id}-popup">
- <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository</a>
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository files</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='check_for_updates', id=trans.security.encode_id( repository.id ) )}">Get updates</a>
%if repository.includes_tools:
<a class="action-button" href="${h.url_for( controller='admin_toolshed', action='set_tool_versions', id=trans.security.encode_id( repository.id ) )}">Set tool versions</a>
%endif
- %if tool_dependencies_missing:
- <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='install_missing_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Install tool dependencies</a>
+ %if repository.tool_dependencies:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Manage tool dependencies</a>
%endif
<a class="action-button" href="${h.url_for( controller='admin_toolshed', action='deactivate_or_uninstall_repository', id=trans.security.encode_id( repository.id ) )}">Deactivate or Uninstall</a></div>
@@ -64,5 +64,5 @@
</div></div><p/>
-${render_metadata( repository, can_reset_metadata=True )}
+${render_repository_contents( repository, can_reset_metadata=True )}
<p/>
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/admin/tool_shed_repository/manage_tool_dependencies.mako
--- /dev/null
+++ b/templates/admin/tool_shed_repository/manage_tool_dependencies.mako
@@ -0,0 +1,56 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+<% import os %>
+
+<br/><br/>
+<ul class="manage-table-actions">
+ <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li>
+ <div popupmenu="repository-${repository.id}-popup">
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository files</a>
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='check_for_updates', id=trans.security.encode_id( repository.id ) )}">Get updates</a>
+ %if repository.includes_tools:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='set_tool_versions', id=trans.security.encode_id( repository.id ) )}">Set tool versions</a>
+ %endif
+ %if repository.missing_tool_dependencies:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='install_missing_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Install missing tool dependencies</a>
+ %endif
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='deactivate_or_uninstall_repository', id=trans.security.encode_id( repository.id ) )}">Deactivate or Uninstall</a>
+ </div>
+</ul>
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+<div class="toolForm">
+ <div class="toolFormTitle">${repository.name} repository's installed tool dependencies</div>
+ <div class="toolFormBody">
+ <div class="form-row">
+ <table class="grid">
+ %for tool_dependency in repository.tool_dependencies:
+ <%
+ name = tool_dependency.name
+ version = tool_dependency.version
+ type = tool_dependency.type
+ installed_changeset_revision = tool_dependency.installed_changeset_revision
+ uninstalled = tool_dependency.uninstalled
+ install_dir = os.path.abspath( os.path.join( trans.app.config.tool_dependency_dir,
+ name,
+ version,
+ repository.owner,
+ repository.name,
+ installed_changeset_revision ) )
+ %>
+ <tr><td bgcolor="#D8D8D8"><b>Name</b></td><td bgcolor="#D8D8D8">${name}</td></tr>
+ <tr><th>Version</th><td>${version}</td></tr>
+ <tr><th>Type</th><td>${type}</td></tr>
+ <tr><th>Install directory</th><td>${install_dir}</td></tr>
+ <tr><th>Installed changeset revision</th><td>${installed_changeset_revision}</td></tr>
+ <tr><th>Uninstalled</th><td>${uninstalled}</td></tr>
+ %endfor
+ </table>
+ <div style="clear: both"></div>
+ </div>
+ </div>
+</div>
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/admin/tool_shed_repository/view_tool_metadata.mako
--- a/templates/admin/tool_shed_repository/view_tool_metadata.mako
+++ b/templates/admin/tool_shed_repository/view_tool_metadata.mako
@@ -5,9 +5,12 @@
<ul class="manage-table-actions"><li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li><div popupmenu="repository-${repository.id}-popup">
- <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository</a>
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='browse_repository', id=trans.security.encode_id( repository.id ) )}">Browse repository files</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_repository', id=trans.security.encode_id( repository.id ) )}">Manage repository</a><a class="action-button" href="${h.url_for( controller='admin_toolshed', action='check_for_updates', id=trans.security.encode_id( repository.id ) )}">Get updates</a>
+ %if repository.tool_dependencies:
+ <a class="action-button" href="${h.url_for( controller='admin_toolshed', action='manage_tool_dependencies', id=trans.security.encode_id( repository.id ) )}">Manage tool dependencies</a>
+ %endif
<a class="action-button" href="${h.url_for( controller='admin_toolshed', action='deactivate_or_uninstall_repository', id=trans.security.encode_id( repository.id ) )}">Deactivate or Uninstall</a></div></ul>
@@ -95,15 +98,27 @@
requirements = None
%>
%if requirements:
- <%
- requirements_str = ''
- for requirement_dict in metadata[ 'requirements' ]:
- requirements_str += '%s (%s), ' % ( requirement_dict[ 'name' ], requirement_dict[ 'type' ] )
- requirements_str = requirements_str.rstrip( ', ' )
- %><div class="form-row"><label>Requirements:</label>
- ${requirements_str}
+ <table class="grid">
+ <tr>
+ <td><b>name</b></td>
+ <td><b>version</b></td>
+ <td><b>type</b></td>
+ </tr>
+ %for requirement_dict in requirements:
+ <%
+ requirement_name = requirement_dict[ 'name' ] or 'not provided'
+ requirement_version = requirement_dict[ 'version' ] or 'not provided'
+ requirement_type = requirement_dict[ 'type' ] or 'not provided'
+ %>
+ <tr>
+ <td>${requirement_name}</td>
+ <td>${requirement_version}</td>
+ <td>${requirement_type}</td>
+ </tr>
+ %endfor
+ </table><div style="clear: both"></div></div>
%endif
diff -r 599e16b18e34267a9563f47b1acaa234165482ea -r b1f35669f93c4163cf803d64beb37a1cb0d5381c templates/webapps/community/repository/common.mako
--- a/templates/webapps/community/repository/common.mako
+++ b/templates/webapps/community/repository/common.mako
@@ -22,13 +22,13 @@
// initAjax is hard to fake, so we pass the children as object array:
initAjax: {url: "${h.url_for( controller='repository', action='open_folder' )}",
dataType: "json",
- data: { repository_id: "${trans.security.encode_id( repository.id )}", key: "${repository.repo_path}" },
+ data: { folder_path: "${repository.repo_path}" },
},
onLazyRead: function(dtnode){
dtnode.appendAjax({
url: "${h.url_for( controller='repository', action='open_folder' )}",
dataType: "json",
- data: { repository_id: "${trans.security.encode_id( repository.id )}", key: dtnode.data.key },
+ data: { folder_path: dtnode.data.key },
});
},
onSelect: function(select, dtnode) {
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: Make migration script compatible with MySQL.
by Bitbucket 13 Jun '12
by Bitbucket 13 Jun '12
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/599e16b18e34/
changeset: 599e16b18e34
user: jgoecks
date: 2012-06-13 21:41:52
summary: Make migration script compatible with MySQL.
affected #: 1 file
diff -r ebd30e5e9120181833621fc9710c1066ad3f9aa7 -r 599e16b18e34267a9563f47b1acaa234165482ea lib/galaxy/model/migrate/versions/0095_hda_subsets.py
--- a/lib/galaxy/model/migrate/versions/0095_hda_subsets.py
+++ b/lib/galaxy/model/migrate/versions/0095_hda_subsets.py
@@ -17,8 +17,8 @@
HistoryDatasetAssociationSubset_table = Table( "history_dataset_association_subset", metadata,
Column( "id", Integer, primary_key=True ),
- Column( "history_dataset_association_id", Integer, ForeignKey( "history_dataset_association.id" ), index=True ),
- Column( "history_dataset_association_subset_id", Integer, ForeignKey( "history_dataset_association.id" ), index=True ),
+ Column( "history_dataset_association_id", Integer, ForeignKey( "history_dataset_association.id" ) ),
+ Column( "history_dataset_association_subset_id", Integer, ForeignKey( "history_dataset_association.id" ) ),
Column( "location", Unicode(255), index=True)
)
@@ -32,6 +32,16 @@
except Exception, e:
print str(e)
log.debug( "Creating history_dataset_association_subset table failed: %s" % str( e ) )
+
+ # Manually create indexes because they are too long for MySQL databases.
+ i1 = Index( "ix_hda_id", HistoryDatasetAssociationSubset_table.c.history_dataset_association_id )
+ i2 = Index( "ix_hda_subset_id", HistoryDatasetAssociationSubset_table.c.history_dataset_association_subset_id )
+ try:
+ i1.create()
+ i2.create()
+ except Exception, e:
+ print str(e)
+ log.debug( "Adding indices to table 'history_dataset_association_subset' table failed: %s" % str( e ) )
def downgrade():
metadata.reflect()
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
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/ebd30e5e9120/
changeset: ebd30e5e9120
user: jgoecks
date: 2012-06-13 18:57:41
summary: Improve dataset fetching in visualizations.
affected #: 3 files
diff -r 5a3c60aca201a3cefc1baef1f945043afc52a3be -r ebd30e5e9120181833621fc9710c1066ad3f9aa7 lib/galaxy/visualization/tracks/data_providers.py
--- a/lib/galaxy/visualization/tracks/data_providers.py
+++ b/lib/galaxy/visualization/tracks/data_providers.py
@@ -965,7 +965,7 @@
f = open( self.original_dataset.file_name )
return f, BigBedFile(file=f)
-class BigWigDataProvider (BBIDataProvider ):
+class BigWigDataProvider ( BBIDataProvider ):
def _get_dataset( self ):
if self.converted_dataset is not None:
f = open( self.converted_dataset.file_name )
diff -r 5a3c60aca201a3cefc1baef1f945043afc52a3be -r ebd30e5e9120181833621fc9710c1066ad3f9aa7 lib/galaxy/web/base/controller.py
--- a/lib/galaxy/web/base/controller.py
+++ b/lib/galaxy/web/base/controller.py
@@ -468,10 +468,7 @@
def pack_track( track_dict ):
dataset_id = track_dict['dataset_id']
hda_ldda = track_dict.get('hda_ldda', 'hda')
- if hda_ldda == "hda":
- dataset = self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
- else:
- dataset = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( dataset_id )
+ dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
try:
prefs = track_dict['prefs']
@@ -545,6 +542,13 @@
return config
+ def get_hda_or_ldda( self, trans, hda_ldda, dataset_id ):
+ """ Returns either HDA or LDDA for hda/ldda and id combination. """
+ if hda_ldda == "hda":
+ return self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
+ else:
+ return trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( dataset_id ) )
+
# -- Helper functions --
def _create_visualization( self, trans, title, type, dbkey, slug=None, annotation=None ):
diff -r 5a3c60aca201a3cefc1baef1f945043afc52a3be -r ebd30e5e9120181833621fc9710c1066ad3f9aa7 lib/galaxy/web/controllers/tracks.py
--- a/lib/galaxy/web/controllers/tracks.py
+++ b/lib/galaxy/web/controllers/tracks.py
@@ -177,17 +177,22 @@
@web.json
def add_track_async(self, trans, hda_id=None, ldda_id=None):
+ # Get dataset.
if hda_id:
hda_ldda = "hda"
- dataset = self.get_dataset( trans, hda_id, check_ownership=False, check_accessible=True )
+ dataset_id = hda_id
elif ldda_id:
hda_ldda = "ldda"
- dataset = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id ) )
+ dataset_id = ldda_id
+ dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
+
+ # Get data provider.
track_type, _ = dataset.datatype.get_track_type()
track_data_provider_class = get_data_provider( original_dataset=dataset )
track_data_provider = track_data_provider_class( original_dataset=dataset )
- track = {
+ # Get track definition.
+ return {
"track_type": track_type,
"name": dataset.name,
"hda_ldda": hda_ldda,
@@ -197,16 +202,17 @@
"tool": get_tool_def( trans, dataset ),
"tool_state": {}
}
- return track
@web.json
def bookmarks_from_dataset( self, trans, hda_id=None, ldda_id=None ):
if hda_id:
hda_ldda = "hda"
- dataset = self.get_dataset( trans, hda_id, check_ownership=False, check_accessible=True )
+ dataset_id = hda_id
elif ldda_id:
hda_ldda = "ldda"
- dataset = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id ) )
+ dataset_id = ldda_id
+ dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
+
rows = []
if isinstance( dataset.datatype, Bed ):
data = RawBedDataProvider( original_dataset=dataset ).get_iterator()
@@ -482,7 +488,7 @@
@web.require_login( "use Galaxy visualizations", use_panels=True )
def paramamonster( self, trans, hda_ldda, dataset_id ):
# Get dataset.
- dataset = self._get_dataset( trans, hda_ldda, dataset_id )
+ dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
return trans.fill_template_mako( "visualization/paramamonster.mako", dataset=dataset,
tool=self.app.toolbox.tools_by_id[ 'cufflinks' ].to_dict( trans, for_display=True ) )
@@ -491,7 +497,7 @@
@web.require_login( "use Galaxy visualizations", use_panels=True )
def circster( self, trans, hda_ldda, dataset_id ):
# Get dataset.
- dataset = self._get_dataset( trans, hda_ldda, dataset_id )
+ dataset = self.get_hda_or_ldda( trans, hda_ldda, dataset_id )
# Get genome info.
dbkey = dataset.dbkey
@@ -535,11 +541,4 @@
# Store msg.
data_sources_dict[ source_type ] = { "name" : data_source, "message": msg }
- return data_sources_dict
-
- def _get_dataset( self, trans, hda_ldda, dataset_id ):
- """ Returns either HDA or LDDA for hda/ldda and id combination. """
- if hda_ldda == "hda":
- return self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
- else:
- return trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( dataset_id ) )
\ No newline at end of file
+ return data_sources_dict
\ No newline at end of file
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: Updates to trackster to work with f93ecd917348 and 4fbd05095ca7.
by Bitbucket 13 Jun '12
by Bitbucket 13 Jun '12
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/5a3c60aca201/
changeset: 5a3c60aca201
user: jgoecks
date: 2012-06-13 18:29:20
summary: Updates to trackster to work with f93ecd917348 and 4fbd05095ca7.
affected #: 3 files
diff -r f93ecd917348aeef6332a6d441300ab505daad73 -r 5a3c60aca201a3cefc1baef1f945043afc52a3be lib/galaxy/web/controllers/tracks.py
--- a/lib/galaxy/web/controllers/tracks.py
+++ b/lib/galaxy/web/controllers/tracks.py
@@ -327,7 +327,7 @@
# Get datasources and check for messages.
data_sources = self._get_datasources( trans, dataset )
messages_list = [ data_source_dict[ 'message' ] for data_source_dict in data_sources.values() ]
- msg = _get_highest_priority_msg( messages_list )
+ msg = get_highest_priority_msg( messages_list )
if msg:
return msg
@@ -375,7 +375,7 @@
# Get datasources and check for messages.
data_sources = self._get_datasources( trans, dataset )
messages_list = [ data_source_dict[ 'message' ] for data_source_dict in data_sources.values() ]
- return_message = _get_highest_priority_msg( messages_list )
+ return_message = get_highest_priority_msg( messages_list )
if return_message:
return return_message
diff -r f93ecd917348aeef6332a6d441300ab505daad73 -r 5a3c60aca201a3cefc1baef1f945043afc52a3be templates/tracks/browser.mako
--- a/templates/tracks/browser.mako
+++ b/templates/tracks/browser.mako
@@ -42,22 +42,21 @@
<script type='text/javascript' src="${h.url_for('/static/scripts/excanvas.js')}"></script><![endif]-->
-${h.js( "galaxy.base", "galaxy.panels", "json2", "jquery", "jstorage", "jquery.event.drag", "jquery.event.hover","jquery.mousewheel", "jquery.autocomplete", "viz/visualization", "viz/trackster", "viz/trackster_ui", "jquery.ui.sortable.slider", "farbtastic" )}
+${h.js( "galaxy.base", "galaxy.panels", "json2", "jquery", "jstorage", "jquery.event.drag", "jquery.event.hover","jquery.mousewheel", "jquery.autocomplete", "mvc/data", "viz/visualization", "viz/trackster", "viz/trackster_ui", "jquery.ui.sortable.slider", "farbtastic" )}
<script type="text/javascript">
//
// Place URLs here so that url_for can be used to generate them.
//
galaxy_paths.set({
- visualization_url: "${h.url_for( action='save' )}"
+ visualization_url: "${h.url_for( action='save' )}",
+ run_tool_url: "${h.url_for( controller='/api/tools' )}"
});
var
add_track_async_url = "${h.url_for( action='add_track_async' )}",
add_datasets_url = "${h.url_for( action='list_current_history_datasets' )}",
default_data_url = "${h.url_for( action='data' )}",
- raw_data_url = "${h.url_for( action='raw_data' )}",
- run_tool_url = "${h.url_for( action='run_tool' )}",
- rerun_tool_url = "${h.url_for( action='rerun_tool' )}",
+ raw_data_url = "${h.url_for( action='raw_data' )}",
reference_url = "${h.url_for( action='reference' )}",
chrom_url = "${h.url_for( action='chroms' )}",
dataset_state_url = "${h.url_for( action='dataset_state' )}",
diff -r f93ecd917348aeef6332a6d441300ab505daad73 -r 5a3c60aca201a3cefc1baef1f945043afc52a3be templates/visualization/paramamonster.mako
--- a/templates/visualization/paramamonster.mako
+++ b/templates/visualization/paramamonster.mako
@@ -35,18 +35,42 @@
${parent.javascripts()}
${h.templates( "tool_link", "panel_section", "tool_search" )}
- ${h.js( "libs/d3", "viz/visualization", "viz/paramamonster", "mvc/tools" )}
+ ${h.js( "libs/d3", "mvc/data", "mvc/tools", "viz/visualization", "viz/paramamonster" )}
<script type="text/javascript">
+ var tool;
$(function() {
// -- Viz set up. --
- var tool = new Tool(JSON.parse('${ h.to_json_string( tool ) }')),
- tool_param_tree = new ToolParameterTree({ tool: tool }),
- tool_param_tree_view = new ToolParameterTreeView({ model: tool_param_tree });
+ tool = new Tool(JSON.parse('${ h.to_json_string( tool ) }'));
+ // HACK: need to replace \ with \\ due to simplejson bug.
+ var dataset = new Dataset(JSON.parse('${ h.to_json_string( dataset.get_api_value() ).replace('\\', '\\\\' ) }')),
+ paramamonster_viz = new ParamaMonsterVisualization({
+ tool: tool,
+ dataset: dataset
+ });
+ viz_view = new ParamaMonsterVisualizationView({ model: paramamonster_viz });
- tool_param_tree_view.render();
- $('#param-tree').append(tool_param_tree_view.$el);
+ viz_view.render();
+ $('.unified-panel-body').append(viz_view.$el);
+
+ // Tool testing.
+ var regions = [
+ new GenomeRegion({
+ chrom: 'chr19',
+ start: '10000',
+ end: '26000'
+ }),
+ new GenomeRegion({
+ chrom: 'chr19',
+ start: '30000',
+ end: '36000'
+ })
+ ];
+
+ $.when(tool.rerun(dataset, regions)).then(function(outputs) {
+ console.log(outputs);
+ });
});
</script></%def>
@@ -59,7 +83,5 @@
<div style="clear: both"></div></div><div class="unified-panel-body">
- <div id="param-tree"></div>
- <div id="tile-view"></div></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
commit/galaxy-central: jgoecks: Viz framework: (a) JavaScript support for running tools and enhancements to parameter viz.
by Bitbucket 13 Jun '12
by Bitbucket 13 Jun '12
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/f93ecd917348/
changeset: f93ecd917348
user: jgoecks
date: 2012-06-13 18:10:54
summary: Viz framework: (a) JavaScript support for running tools and enhancements to parameter viz.
affected #: 5 files
diff -r 7387d416d655e086ad3b792058069ea82ce23a3c -r f93ecd917348aeef6332a6d441300ab505daad73 static/scripts/mvc/data.js
--- /dev/null
+++ b/static/scripts/mvc/data.js
@@ -0,0 +1,16 @@
+/**
+ * A dataset. In Galaxy, datasets are associated with a history, so
+ * this object is also known as a HistoryDatasetAssociation.
+ */
+var Dataset = Backbone.Model.extend({
+ defaults: {
+ id: "",
+ type: "",
+ name: "",
+ hda_ldda: ""
+ }
+});
+
+var DatasetCollection = Backbone.Collection.extend({
+ model: Dataset
+});
\ No newline at end of file
diff -r 7387d416d655e086ad3b792058069ea82ce23a3c -r f93ecd917348aeef6332a6d441300ab505daad73 static/scripts/mvc/tools.js
--- a/static/scripts/mvc/tools.js
+++ b/static/scripts/mvc/tools.js
@@ -51,11 +51,78 @@
}
],
- urlRoot: galaxy_paths.attributes.root_path + 'api/tools',
+ urlRoot: galaxy_paths.get('tool_url'),
apply_search_results: function(results) {
( _.indexOf(results, this.attributes.id) !== -1 ? this.show() : this.hide() );
return this.is_visible();
+ },
+
+ /**
+ * Set a tool input's value.
+ */
+ set_input_value: function(name, value) {
+ this.get('inputs').find(function(input) {
+ return input.get('name') === name;
+ }).set('value', value);
+ },
+
+ /**
+ * Run tool; returns a Deferred that resolves to the tool's output(s).
+ */
+ run: function() {
+ return this._run()
+ },
+
+ /**
+ * Rerun tool using regions and a target dataset.
+ */
+ rerun: function(target_dataset, regions) {
+ return this._run({
+ action: 'rerun',
+ target_dataset_id: target_dataset.id,
+ regions: JSON.stringify(regions)
+ });
+ },
+
+ /**
+ * Run tool; returns a Deferred that resolves to the tool's output(s).
+ * NOTE: this method is a helper method and should not be called directly.
+ */
+ _run: function(additional_params) {
+ // Create payload.
+ var payload = _.extend({
+ tool_id: this.id
+ }, additional_params),
+ input_dict = {};
+ this.get('inputs').each(function(input) {
+ input_dict[input.get('name')] = input.get('value');
+ });
+ payload.inputs = input_dict;
+
+ // Because job may require indexing datasets, use server-side
+ // deferred to ensure that job is run. Also use deferred that
+ // resolves to outputs from tool.
+ var run_deferred = $.Deferred(),
+ ss_deferred = new ServerStateDeferred({
+ ajax_settings: {
+ url: this.urlRoot,
+ data: JSON.stringify(payload),
+ dataType: "json",
+ contentType: 'application/json',
+ type: "POST"
+ },
+ interval: 2000,
+ success_fn: function(response) {
+ return response !== "pending";
+ }
+ });
+
+ // Run job and resolve run_deferred to tool outputs.
+ $.when(ss_deferred.go()).then(function(result) {
+ run_deferred.resolve(new DatasetCollection().reset(result));
+ });
+ return run_deferred;
}
});
@@ -65,7 +132,9 @@
var ToolInput = Backbone.RelationalModel.extend({
defaults: {
name: null,
- type: null
+ label: null,
+ type: null,
+ value: null,
},
initialize: function() {
diff -r 7387d416d655e086ad3b792058069ea82ce23a3c -r f93ecd917348aeef6332a6d441300ab505daad73 static/scripts/viz/paramamonster.js
--- a/static/scripts/viz/paramamonster.js
+++ b/static/scripts/viz/paramamonster.js
@@ -38,15 +38,16 @@
var
param_samples = params_samples[index],
param = param_samples.get('param'),
- param_name = param.get('name'),
+ param_label = param.get('label'),
settings = param_samples.get('samples');
// Create leaves when last parameter setting is reached.
if (params_samples.length - 1 === index) {
return _.map(settings, function(setting) {
return {
- name: param_name + '=' + setting,
- param: param
+ name: param_label + '=' + setting,
+ param: param,
+ value: setting
}
});
}
@@ -54,8 +55,9 @@
// Recurse to handle other parameters.
return _.map(settings, function(setting) {
return {
- name: param_name + '=' + setting,
+ name: param_label + '=' + setting,
param: param,
+ value: setting,
children: create_tree_data(filtered_params_samples, index + 1)
}
});
@@ -94,104 +96,17 @@
});
/**
- * A track in a genome browser.
+ * ParamaMonster visualization model.
*/
-var Track = Backbone.Model.extend({
- defaults: {
- dataset: null
- }
-});
-
-var FeatureTrack = Track.extend({
- defaults: {
- track: null
- },
+var ParamaMonsterVisualization = Visualization.extend({
+ defaults: _.extend({}, Visualization.prototype.defaults, {
+ tool: null,
+ parameter_tree: null,
+ regions: null
+ }),
- /**
- * Draw FeatureTrack tile.
- * @param result result from server
- * @param cxt canvas context to draw on
- * @param mode mode to draw in
- * @param resolution view resolution
- * @param region region to draw
- * @param w_scale pixels per base
- * @param ref_seq reference sequence data
- */
- draw_tile: function(result, ctx, mode, resolution, region, w_scale, ref_seq) {
- var track = this,
- canvas = ctx.canvas,
- tile_low = region.get('start'),
- tile_high = region.get('end'),
- min_height = 25,
- left_offset = this.left_offset;
-
- // Drawing the summary tree (feature coverage histogram)
- if (mode === "summary_tree" || mode === "Histogram") {
- // Get summary tree data if necessary and set max if there is one.
- if (result.dataset_type !== "summary_tree") {
- var st_data = this.get_summary_tree_data(result.data, tile_low, tile_high, 200);
- if (result.max) {
- st_data.max = result.max;
- }
- result = st_data;
- }
- // Paint summary tree into canvas
- var painter = new painters.SummaryTreePainter(result, tile_low, tile_high, this.prefs);
- painter.draw(ctx, canvas.width, canvas.height, w_scale);
- return new SummaryTreeTile(track, tile_index, resolution, canvas, result.data, result.max);
- }
-
- // Handle row-by-row tracks
-
- // Preprocessing: filter features and determine whether all unfiltered features have been slotted.
- var
- filtered = [],
- slots = this.slotters[w_scale].slots;
- all_slotted = true;
- if ( result.data ) {
- var filters = this.filters_manager.filters;
- for (var i = 0, len = result.data.length; i < len; i++) {
- var feature = result.data[i];
- var hide_feature = false;
- var filter;
- for (var f = 0, flen = filters.length; f < flen; f++) {
- filter = filters[f];
- filter.update_attrs(feature);
- if (!filter.keep(feature)) {
- hide_feature = true;
- break;
- }
- }
- if (!hide_feature) {
- // Feature visible.
- filtered.push(feature);
- // Set flag if not slotted.
- if ( !(feature[0] in slots) ) {
- all_slotted = false;
- }
- }
- }
- }
-
- // Create painter.
- var filter_alpha_scaler = (this.filters_manager.alpha_filter ? new FilterScaler(this.filters_manager.alpha_filter) : null);
- var filter_height_scaler = (this.filters_manager.height_filter ? new FilterScaler(this.filters_manager.height_filter) : null);
- // HACK: ref_seq will only be defined for ReadTracks, and only the ReadPainter accepts that argument
- var painter = new (this.painter)(filtered, tile_low, tile_high, this.prefs, mode, filter_alpha_scaler, filter_height_scaler, ref_seq);
- var feature_mapper = null;
-
- // console.log(( tile_low - this.view.low ) * w_scale, tile_index, w_scale);
- ctx.fillStyle = this.prefs.block_color;
- ctx.font = ctx.canvas.manager.default_font;
- ctx.textAlign = "right";
-
- if (result.data) {
- // Draw features.
- feature_mapper = painter.draw(ctx, canvas.width, canvas.height, w_scale, slots);
- feature_mapper.translation = -left_offset;
- }
-
- return new FeatureTrackTile(track, tile_index, resolution, canvas, result.data, w_scale, mode, result.message, all_slotted, feature_mapper);
+ initialize: function(options) {
+ this.set('parameter_tree', new ToolParameterTree({ tool: this.get('tool') }));
}
});
@@ -207,7 +122,6 @@
className: 'tool-parameter-tree',
initialize: function(options) {
- this.model = options.model;
},
render: function() {
@@ -244,7 +158,32 @@
.attr("class", "node")
.attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; });
- // Set up behavior when node is clicked.
+ node.append("circle")
+ .attr("r", 4.5);
+
+ node.append("text")
+ .attr("dx", function(d) { return d.children ? -8 : 8; })
+ .attr("dy", 3)
+ .attr("text-anchor", function(d) { return d.children ? "end" : "start"; })
+ .text(function(d) { return d.name; });
+ }
+});
+
+var ParamaMonsterVisualizationView = Backbone.View.extend({
+ className: 'paramamonster',
+
+ initialize: function(options) {
+
+ },
+
+ render: function() {
+ // Set up tool parameter tree.
+ var tool_param_tree_view = new ToolParameterTreeView({ model: this.model.get('parameter_tree') });
+ tool_param_tree_view.render();
+ this.$el.append(tool_param_tree_view.$el);
+
+ // When node clicked in tree, run tool and show tiles.
+ var node = d3.select(tool_param_tree_view.$el[0]).selectAll("g.node")
node.on("click", function(d, i) {
console.log(d, i);
@@ -256,14 +195,6 @@
// Display tiles for region(s) of interest.
});
-
- node.append("circle")
- .attr("r", 4.5);
-
- node.append("text")
- .attr("dx", function(d) { return d.children ? -8 : 8; })
- .attr("dy", 3)
- .attr("text-anchor", function(d) { return d.children ? "end" : "start"; })
- .text(function(d) { return d.name; });
- }
+
+ },
});
\ No newline at end of file
diff -r 7387d416d655e086ad3b792058069ea82ce23a3c -r f93ecd917348aeef6332a6d441300ab505daad73 static/scripts/viz/visualization.js
--- a/static/scripts/viz/visualization.js
+++ b/static/scripts/viz/visualization.js
@@ -11,11 +11,10 @@
/**
* Implementation of a server-state based deferred. Server is repeatedly polled, and when
* condition is met, deferred is resolved.
- */
+ */
var ServerStateDeferred = Backbone.Model.extend({
defaults: {
- url: null,
- url_params: {},
+ ajax_settings: {},
interval: 1000,
success_fn: function(result) { return true; }
},
@@ -26,10 +25,11 @@
go: function() {
var deferred = $.Deferred(),
self = this,
+ ajax_settings = self.get('ajax_settings'),
success_fn = self.get('success_fn'),
interval = self.get('interval'),
_go = function() {
- $.getJSON(self.get('url'), self.get('url_params'), function(result) {
+ $.ajax(ajax_settings).success(function(result) {
if (success_fn(result)) {
// Result is good, so resolve.
deferred.resolve(result);
@@ -372,6 +372,14 @@
return this.get('chrom') + ":" + this.get('start') + "-" + this.get('end');
},
+ toJSON: function() {
+ return {
+ chrom: this.get('chrom'),
+ start: this.get('start'),
+ end: this.get('end')
+ }
+ },
+
/**
* Compute the type of overlap between this region and another region. The overlap is computed relative to the given/second region;
* hence, OVERLAP_START indicates that the first region overlaps the start (but not the end) of the second region.
@@ -495,19 +503,6 @@
});
/**
- * A dataset. In Galaxy, datasets are associated with a history, so
- * this object is also known as a HistoryDatasetAssociation.
- */
-var Dataset = Backbone.Model.extend({
- defaults: {
- id: "",
- type: "",
- name: "",
- hda_ldda: ""
- }
-});
-
-/**
* A histogram dataset.
*/
var HistogramDataset = Backbone.Model.extend({
diff -r 7387d416d655e086ad3b792058069ea82ce23a3c -r f93ecd917348aeef6332a6d441300ab505daad73 templates/base_panels.mako
--- a/templates/base_panels.mako
+++ b/templates/base_panels.mako
@@ -52,7 +52,8 @@
// Set up needed paths.
var galaxy_paths = new GalaxyPaths({
root_path: '${h.url_for( "/" )}',
- image_path: '${h.url_for( "/static/images" )}'
+ image_path: '${h.url_for( "/static/images" )}',
+ tool_url: '${h.url_for( controller="/api/tools" )}'
});
</script></%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
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/7387d416d655/
changeset: 7387d416d655
user: jgoecks
date: 2012-06-13 17:35:25
summary: Remove debugging statement.
affected #: 1 file
diff -r 7705869d2c7798dbd31b30d6a229cbc3b9ab3e87 -r 7387d416d655e086ad3b792058069ea82ce23a3c lib/galaxy/web/api/tools.py
--- a/lib/galaxy/web/api/tools.py
+++ b/lib/galaxy/web/api/tools.py
@@ -135,7 +135,6 @@
# Run tool on region if region is specificied.
run_on_regions = False
regions = from_json_string( payload.get( 'regions', None ) )
- print regions, payload
if regions:
if isinstance( regions, dict ):
# Regions is a single region.
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
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/7705869d2c77/
changeset: 7705869d2c77
user: jgoecks
date: 2012-06-13 17:34:09
summary: Method name updates related to 4fbd05095ca7
affected #: 1 file
diff -r 77ceb114bf57172579310a0b4347da0f5f46dec6 -r 7705869d2c7798dbd31b30d6a229cbc3b9ab3e87 lib/galaxy/web/controllers/tracks.py
--- a/lib/galaxy/web/controllers/tracks.py
+++ b/lib/galaxy/web/controllers/tracks.py
@@ -273,7 +273,7 @@
# Dataset check.
dataset = self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
- msg = self._check_dataset_state( trans, dataset )
+ msg = self.check_dataset_state( trans, dataset )
if msg:
return msg
@@ -301,7 +301,7 @@
# Dataset check.
dataset = self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
- msg = self._check_dataset_state( trans, dataset )
+ msg = self.check_dataset_state( trans, dataset )
if not msg:
msg = messages.DATA
@@ -320,7 +320,7 @@
dataset = self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
else:
dataset = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( dataset_id ) )
- msg = self._check_dataset_state( trans, dataset )
+ msg = self.check_dataset_state( trans, dataset )
if msg:
return msg
@@ -368,7 +368,7 @@
dataset = self.get_dataset( trans, dataset_id, check_ownership=False, check_accessible=True )
else:
dataset = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( dataset_id ) )
- msg = self._check_dataset_state( trans, dataset )
+ msg = self.check_dataset_state( trans, dataset )
if msg:
return msg
@@ -530,7 +530,7 @@
msg = None
else:
# Convert.
- msg = self._convert_dataset( trans, dataset, data_source )
+ msg = self.convert_dataset( trans, dataset, data_source )
# Store msg.
data_sources_dict[ source_type ] = { "name" : data_source, "message": msg }
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
13 Jun '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/77ceb114bf57/
changeset: 77ceb114bf57
user: dannon
date: 2012-06-13 17:31:00
summary: Initial commit of Galaxy Documentation.
affected #: 75 files
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/Makefile
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,153 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = build
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Galaxy.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Galaxy.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/Galaxy"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Galaxy"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/conf.py
--- /dev/null
+++ b/doc/source/conf.py
@@ -0,0 +1,254 @@
+# -*- coding: utf-8 -*-
+#
+# Galaxy documentation build configuration file, created by
+# sphinx-quickstart on Tue Mar 6 10:44:44 2012.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+
+####### REQUIRED GALAXY INCLUDES
+
+sys.path.append(os.path.join(os.getcwd(), '../../lib'))
+import galaxy
+from galaxy import eggs
+
+#######
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.viewcode']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+#configure default autodoc's action
+autodoc_default_flags = ['members', 'undoc-members']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Galaxy'
+copyright = u'2012, Galaxy Team'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+# version = '1'
+# The full version, including alpha/beta/rc tags.
+# release = '1'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further. For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents. If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar. Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it. The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'Galaxydoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+ ('index', 'Galaxy.tex', u'Galaxy Documentation',
+ u'Galaxy Team', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output --------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+ ('index', 'galaxy', u'Galaxy Documentation',
+ [u'Galaxy Team'], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output ------------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+# dir menu entry, description, category)
+texinfo_documents = [
+ ('index', 'Galaxy', u'Galaxy Documentation',
+ u'Galaxy Team', 'Galaxy', 'Data intensive biology for everyone.',
+ 'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/index.rst
--- /dev/null
+++ b/doc/source/index.rst
@@ -0,0 +1,29 @@
+Galaxy Documentation
+********************
+
+Galaxy is an open, web-based platform for accessible, reproducible, and
+transparent computational biomedical research.
+ - Accessible: Users without programming experience can easily specify
+ parameters and run tools and workflows.
+ - Reproducible: Galaxy captures information so that any user can repeat and
+ understand a complete computational analysis.
+ - Transparent: Users share and publish analyses via the web and create
+ Pages, interactive, web-based documents that describe a complete
+ analysis.
+
+Contents
+========
+.. toctree::
+ :maxdepth: 4
+
+ API Documentation <lib/galaxy.web.api>
+
+ Application Documentation <lib/galaxy>
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/fpconst.rst
--- /dev/null
+++ b/doc/source/lib/fpconst.rst
@@ -0,0 +1,7 @@
+fpconst Module
+==============
+
+.. automodule:: fpconst
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.actions.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.actions.rst
@@ -0,0 +1,11 @@
+actions Package
+===============
+
+:mod:`admin` Module
+-------------------
+
+.. automodule:: galaxy.actions.admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.datatypes.converters.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.datatypes.converters.rst
@@ -0,0 +1,251 @@
+converters Package
+==================
+
+:mod:`bed_to_genetrack_converter` Module
+----------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.bed_to_genetrack_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`bed_to_gff_converter` Module
+----------------------------------
+
+.. automodule:: galaxy.datatypes.converters.bed_to_gff_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`bedgraph_to_array_tree_converter` Module
+----------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.bedgraph_to_array_tree_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`bgzip` Module
+-------------------
+
+.. automodule:: galaxy.datatypes.converters.bgzip
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fasta_to_len` Module
+--------------------------
+
+.. automodule:: galaxy.datatypes.converters.fasta_to_len
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fasta_to_tabular_converter` Module
+----------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.fasta_to_tabular_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fastq_to_fqtoc` Module
+----------------------------
+
+.. automodule:: galaxy.datatypes.converters.fastq_to_fqtoc
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fastqsolexa_to_fasta_converter` Module
+--------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.fastqsolexa_to_fasta_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fastqsolexa_to_qual_converter` Module
+-------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.fastqsolexa_to_qual_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`gff_to_bed_converter` Module
+----------------------------------
+
+.. automodule:: galaxy.datatypes.converters.gff_to_bed_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`gff_to_interval_index_converter` Module
+---------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.gff_to_interval_index_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval_to_bed_converter` Module
+---------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.interval_to_bed_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval_to_bedstrict_converter` Module
+---------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.interval_to_bedstrict_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval_to_coverage` Module
+----------------------------------
+
+.. automodule:: galaxy.datatypes.converters.interval_to_coverage
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval_to_interval_index_converter` Module
+--------------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.interval_to_interval_index_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval_to_summary_tree_converter` Module
+------------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.interval_to_summary_tree_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval_to_tabix_converter` Module
+-----------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.interval_to_tabix_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`lped_to_fped_converter` Module
+------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.lped_to_fped_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`lped_to_pbed_converter` Module
+------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.lped_to_pbed_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`maf_to_fasta_converter` Module
+------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.maf_to_fasta_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`maf_to_interval_converter` Module
+---------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.maf_to_interval_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`pbed_ldreduced_converter` Module
+--------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.pbed_ldreduced_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`pbed_to_lped_converter` Module
+------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.pbed_to_lped_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`picard_interval_list_to_bed6_converter` Module
+----------------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.picard_interval_list_to_bed6_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sam_or_bam_to_summary_tree_converter` Module
+--------------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.sam_or_bam_to_summary_tree_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sam_to_bam` Module
+------------------------
+
+.. automodule:: galaxy.datatypes.converters.sam_to_bam
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`vcf_to_interval_index_converter` Module
+---------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.vcf_to_interval_index_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`vcf_to_summary_tree_converter` Module
+-------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.vcf_to_summary_tree_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`vcf_to_vcf_bgzip` Module
+------------------------------
+
+.. automodule:: galaxy.datatypes.converters.vcf_to_vcf_bgzip
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`wiggle_to_array_tree_converter` Module
+--------------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.wiggle_to_array_tree_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`wiggle_to_simple_converter` Module
+----------------------------------------
+
+.. automodule:: galaxy.datatypes.converters.wiggle_to_simple_converter
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.datatypes.display_applications.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.datatypes.display_applications.rst
@@ -0,0 +1,27 @@
+display_applications Package
+============================
+
+:mod:`application` Module
+-------------------------
+
+.. automodule:: galaxy.datatypes.display_applications.application
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`parameters` Module
+------------------------
+
+.. automodule:: galaxy.datatypes.display_applications.parameters
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`util` Module
+------------------
+
+.. automodule:: galaxy.datatypes.display_applications.util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.datatypes.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.datatypes.rst
@@ -0,0 +1,156 @@
+datatypes Package
+=================
+
+:mod:`assembly` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.assembly
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`binary` Module
+--------------------
+
+.. automodule:: galaxy.datatypes.binary
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`checkers` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.checkers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`chrominfo` Module
+-----------------------
+
+.. automodule:: galaxy.datatypes.chrominfo
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`coverage` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.coverage
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`data` Module
+------------------
+
+.. automodule:: galaxy.datatypes.data
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`genetics` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.genetics
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`images` Module
+--------------------
+
+.. automodule:: galaxy.datatypes.images
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`interval` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.interval
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`metadata` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.metadata
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`ngsindex` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.ngsindex
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`qualityscore` Module
+--------------------------
+
+.. automodule:: galaxy.datatypes.qualityscore
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`registry` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.registry
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sequence` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.sequence
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sniff` Module
+-------------------
+
+.. automodule:: galaxy.datatypes.sniff
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tabular` Module
+---------------------
+
+.. automodule:: galaxy.datatypes.tabular
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tracks` Module
+--------------------
+
+.. automodule:: galaxy.datatypes.tracks
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`xml` Module
+-----------------
+
+.. automodule:: galaxy.datatypes.xml
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.datatypes.converters
+ galaxy.datatypes.display_applications
+ galaxy.datatypes.util
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.datatypes.util.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.datatypes.util.rst
@@ -0,0 +1,27 @@
+util Package
+============
+
+:mod:`util` Package
+-------------------
+
+.. automodule:: galaxy.datatypes.util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`gff_util` Module
+----------------------
+
+.. automodule:: galaxy.datatypes.util.gff_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`image_util` Module
+------------------------
+
+.. automodule:: galaxy.datatypes.util.image_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.eggs.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.eggs.rst
@@ -0,0 +1,27 @@
+eggs Package
+============
+
+:mod:`eggs` Package
+-------------------
+
+.. automodule:: galaxy.eggs
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`dist` Module
+------------------
+
+.. automodule:: galaxy.eggs.dist
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`scramble` Module
+----------------------
+
+.. automodule:: galaxy.eggs.scramble
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.exceptions.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.exceptions.rst
@@ -0,0 +1,11 @@
+exceptions Package
+==================
+
+:mod:`exceptions` Package
+-------------------------
+
+.. automodule:: galaxy.exceptions
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.external_services.result_handlers.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.external_services.result_handlers.rst
@@ -0,0 +1,11 @@
+result_handlers Package
+=======================
+
+:mod:`basic` Module
+-------------------
+
+.. automodule:: galaxy.external_services.result_handlers.basic
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.external_services.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.external_services.rst
@@ -0,0 +1,34 @@
+external_services Package
+=========================
+
+:mod:`actions` Module
+---------------------
+
+.. automodule:: galaxy.external_services.actions
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`parameters` Module
+------------------------
+
+.. automodule:: galaxy.external_services.parameters
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`service` Module
+---------------------
+
+.. automodule:: galaxy.external_services.service
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.external_services.result_handlers
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.forms.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.forms.rst
@@ -0,0 +1,11 @@
+forms Package
+=============
+
+:mod:`forms` Module
+-------------------
+
+.. automodule:: galaxy.forms.forms
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.jobs.actions.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.jobs.actions.rst
@@ -0,0 +1,19 @@
+actions Package
+===============
+
+:mod:`actions` Package
+----------------------
+
+.. automodule:: galaxy.jobs.actions
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`post` Module
+------------------
+
+.. automodule:: galaxy.jobs.actions.post
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.jobs.deferred.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.jobs.deferred.rst
@@ -0,0 +1,51 @@
+deferred Package
+================
+
+:mod:`deferred` Package
+-----------------------
+
+.. automodule:: galaxy.jobs.deferred
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`data_transfer` Module
+---------------------------
+
+.. automodule:: galaxy.jobs.deferred.data_transfer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`genome_transfer` Module
+-----------------------------
+
+.. automodule:: galaxy.jobs.deferred.genome_transfer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`liftover_transfer` Module
+-------------------------------
+
+.. automodule:: galaxy.jobs.deferred.liftover_transfer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`manual_data_transfer` Module
+----------------------------------
+
+.. automodule:: galaxy.jobs.deferred.manual_data_transfer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`pacific_biosciences_smrt_portal` Module
+---------------------------------------------
+
+.. automodule:: galaxy.jobs.deferred.pacific_biosciences_smrt_portal
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.jobs.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.jobs.rst
@@ -0,0 +1,45 @@
+jobs Package
+============
+
+:mod:`jobs` Package
+-------------------
+
+.. automodule:: galaxy.jobs
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`handler` Module
+---------------------
+
+.. automodule:: galaxy.jobs.handler
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`manager` Module
+---------------------
+
+.. automodule:: galaxy.jobs.manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`transfer_manager` Module
+------------------------------
+
+.. automodule:: galaxy.jobs.transfer_manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.jobs.actions
+ galaxy.jobs.deferred
+ galaxy.jobs.runners
+ galaxy.jobs.splitters
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.jobs.runners.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.jobs.runners.rst
@@ -0,0 +1,59 @@
+runners Package
+===============
+
+:mod:`runners` Package
+----------------------
+
+.. automodule:: galaxy.jobs.runners
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`drmaa` Module
+-------------------
+
+.. automodule:: galaxy.jobs.runners.drmaa
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`local` Module
+-------------------
+
+.. automodule:: galaxy.jobs.runners.local
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`lwr` Module
+-----------------
+
+.. automodule:: galaxy.jobs.runners.lwr
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`pbs` Module
+-----------------
+
+.. automodule:: galaxy.jobs.runners.pbs
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sge` Module
+-----------------
+
+.. automodule:: galaxy.jobs.runners.sge
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tasks` Module
+-------------------
+
+.. automodule:: galaxy.jobs.runners.tasks
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.jobs.splitters.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.jobs.splitters.rst
@@ -0,0 +1,19 @@
+splitters Package
+=================
+
+:mod:`basic` Module
+-------------------
+
+.. automodule:: galaxy.jobs.splitters.basic
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`multi` Module
+-------------------
+
+.. automodule:: galaxy.jobs.splitters.multi
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.model.migrate.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.model.migrate.rst
@@ -0,0 +1,11 @@
+migrate Package
+===============
+
+:mod:`check` Module
+-------------------
+
+.. automodule:: galaxy.model.migrate.check
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.model.orm.ext.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.model.orm.ext.rst
@@ -0,0 +1,19 @@
+ext Package
+===========
+
+:mod:`ext` Package
+------------------
+
+.. automodule:: galaxy.model.orm.ext
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`assignmapper` Module
+--------------------------
+
+.. automodule:: galaxy.model.orm.ext.assignmapper
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.model.orm.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.model.orm.rst
@@ -0,0 +1,26 @@
+orm Package
+===========
+
+:mod:`orm` Package
+------------------
+
+.. automodule:: galaxy.model.orm
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`logging_connection_proxy` Module
+--------------------------------------
+
+.. automodule:: galaxy.model.orm.logging_connection_proxy
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.model.orm.ext
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.model.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.model.rst
@@ -0,0 +1,51 @@
+model Package
+=============
+
+:mod:`model` Package
+--------------------
+
+.. automodule:: galaxy.model
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`custom_types` Module
+--------------------------
+
+.. automodule:: galaxy.model.custom_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`item_attrs` Module
+------------------------
+
+.. automodule:: galaxy.model.item_attrs
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`mapping` Module
+---------------------
+
+.. automodule:: galaxy.model.mapping
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`mapping_tests` Module
+---------------------------
+
+.. automodule:: galaxy.model.mapping_tests
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.model.migrate
+ galaxy.model.orm
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.objectstore.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.objectstore.rst
@@ -0,0 +1,19 @@
+objectstore Package
+===================
+
+:mod:`objectstore` Package
+--------------------------
+
+.. automodule:: galaxy.objectstore
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`s3_multipart_upload` Module
+---------------------------------
+
+.. automodule:: galaxy.objectstore.s3_multipart_upload
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.openid.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.openid.rst
@@ -0,0 +1,19 @@
+openid Package
+==============
+
+:mod:`openid` Package
+---------------------
+
+.. automodule:: galaxy.openid
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`providers` Module
+-----------------------
+
+.. automodule:: galaxy.openid.providers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.quota.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.quota.rst
@@ -0,0 +1,11 @@
+quota Package
+=============
+
+:mod:`quota` Package
+--------------------
+
+.. automodule:: galaxy.quota
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.rst
@@ -0,0 +1,54 @@
+galaxy Package
+==============
+
+:mod:`galaxy` Package
+---------------------
+
+.. automodule:: galaxy
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`app` Module
+-----------------
+
+.. automodule:: galaxy.app
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`config` Module
+--------------------
+
+.. automodule:: galaxy.config
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.actions
+ galaxy.datatypes
+ galaxy.eggs
+ galaxy.exceptions
+ galaxy.external_services
+ galaxy.forms
+ galaxy.jobs
+ galaxy.model
+ galaxy.objectstore
+ galaxy.openid
+ galaxy.quota
+ galaxy.sample_tracking
+ galaxy.security
+ galaxy.tags
+ galaxy.tool_shed
+ galaxy.tools
+ galaxy.util
+ galaxy.visualization
+ galaxy.web
+ galaxy.webapps
+ galaxy.workflow
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.sample_tracking.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.sample_tracking.rst
@@ -0,0 +1,35 @@
+sample_tracking Package
+=======================
+
+:mod:`data_transfer` Module
+---------------------------
+
+.. automodule:: galaxy.sample_tracking.data_transfer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`external_service_types` Module
+------------------------------------
+
+.. automodule:: galaxy.sample_tracking.external_service_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`request_types` Module
+---------------------------
+
+.. automodule:: galaxy.sample_tracking.request_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sample` Module
+--------------------
+
+.. automodule:: galaxy.sample_tracking.sample
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.security.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.security.rst
@@ -0,0 +1,19 @@
+security Package
+================
+
+:mod:`security` Package
+-----------------------
+
+.. automodule:: galaxy.security
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`validate_user_input` Module
+---------------------------------
+
+.. automodule:: galaxy.security.validate_user_input
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tags.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tags.rst
@@ -0,0 +1,19 @@
+tags Package
+============
+
+:mod:`tags` Package
+-------------------
+
+.. automodule:: galaxy.tags
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tag_handler` Module
+-------------------------
+
+.. automodule:: galaxy.tags.tag_handler
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tool_shed.migrate.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tool_shed.migrate.rst
@@ -0,0 +1,19 @@
+migrate Package
+===============
+
+:mod:`check` Module
+-------------------
+
+.. automodule:: galaxy.tool_shed.migrate.check
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`common` Module
+--------------------
+
+.. automodule:: galaxy.tool_shed.migrate.common
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tool_shed.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tool_shed.rst
@@ -0,0 +1,51 @@
+tool_shed Package
+=================
+
+:mod:`tool_shed` Package
+------------------------
+
+.. automodule:: galaxy.tool_shed
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`encoding_util` Module
+---------------------------
+
+.. automodule:: galaxy.tool_shed.encoding_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`install_manager` Module
+-----------------------------
+
+.. automodule:: galaxy.tool_shed.install_manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tool_shed_registry` Module
+--------------------------------
+
+.. automodule:: galaxy.tool_shed.tool_shed_registry
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`update_manager` Module
+----------------------------
+
+.. automodule:: galaxy.tool_shed.update_manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.tool_shed.migrate
+ galaxy.tool_shed.tool_dependencies
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tool_shed.tool_dependencies.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tool_shed.tool_dependencies.rst
@@ -0,0 +1,27 @@
+tool_dependencies Package
+=========================
+
+:mod:`common_util` Module
+-------------------------
+
+.. automodule:: galaxy.tool_shed.tool_dependencies.common_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fabric_util` Module
+-------------------------
+
+.. automodule:: galaxy.tool_shed.tool_dependencies.fabric_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`install_util` Module
+--------------------------
+
+.. automodule:: galaxy.tool_shed.tool_dependencies.install_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.actions.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.actions.rst
@@ -0,0 +1,51 @@
+actions Package
+===============
+
+:mod:`actions` Package
+----------------------
+
+.. automodule:: galaxy.tools.actions
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`history_imp_exp` Module
+-----------------------------
+
+.. automodule:: galaxy.tools.actions.history_imp_exp
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`index_genome` Module
+--------------------------
+
+.. automodule:: galaxy.tools.actions.index_genome
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`metadata` Module
+----------------------
+
+.. automodule:: galaxy.tools.actions.metadata
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`upload` Module
+--------------------
+
+.. automodule:: galaxy.tools.actions.upload
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`upload_common` Module
+---------------------------
+
+.. automodule:: galaxy.tools.actions.upload_common
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.data.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.data.rst
@@ -0,0 +1,11 @@
+data Package
+============
+
+:mod:`data` Package
+-------------------
+
+.. automodule:: galaxy.tools.data
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.deps.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.deps.rst
@@ -0,0 +1,19 @@
+deps Package
+============
+
+:mod:`deps` Package
+-------------------
+
+.. automodule:: galaxy.tools.deps
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tests` Module
+-------------------
+
+.. automodule:: galaxy.tools.deps.tests
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.genome_index.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.genome_index.rst
@@ -0,0 +1,19 @@
+genome_index Package
+====================
+
+:mod:`genome_index` Package
+---------------------------
+
+.. automodule:: galaxy.tools.genome_index
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`index_genome` Module
+--------------------------
+
+.. automodule:: galaxy.tools.genome_index.index_genome
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.imp_exp.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.imp_exp.rst
@@ -0,0 +1,27 @@
+imp_exp Package
+===============
+
+:mod:`imp_exp` Package
+----------------------
+
+.. automodule:: galaxy.tools.imp_exp
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`export_history` Module
+----------------------------
+
+.. automodule:: galaxy.tools.imp_exp.export_history
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`unpack_tar_gz_archive` Module
+-----------------------------------
+
+.. automodule:: galaxy.tools.imp_exp.unpack_tar_gz_archive
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.parameters.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.parameters.rst
@@ -0,0 +1,67 @@
+parameters Package
+==================
+
+:mod:`parameters` Package
+-------------------------
+
+.. automodule:: galaxy.tools.parameters
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`basic` Module
+-------------------
+
+.. automodule:: galaxy.tools.parameters.basic
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`dynamic_options` Module
+-----------------------------
+
+.. automodule:: galaxy.tools.parameters.dynamic_options
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`grouping` Module
+----------------------
+
+.. automodule:: galaxy.tools.parameters.grouping
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`input_translation` Module
+-------------------------------
+
+.. automodule:: galaxy.tools.parameters.input_translation
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`output` Module
+--------------------
+
+.. automodule:: galaxy.tools.parameters.output
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sanitize` Module
+----------------------
+
+.. automodule:: galaxy.tools.parameters.sanitize
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`validation` Module
+------------------------
+
+.. automodule:: galaxy.tools.parameters.validation
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.rst
@@ -0,0 +1,41 @@
+tools Package
+=============
+
+:mod:`tools` Package
+--------------------
+
+.. automodule:: galaxy.tools
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`exception_handling` Module
+--------------------------------
+
+.. automodule:: galaxy.tools.exception_handling
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`test` Module
+------------------
+
+.. automodule:: galaxy.tools.test
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.tools.actions
+ galaxy.tools.data
+ galaxy.tools.deps
+ galaxy.tools.genome_index
+ galaxy.tools.imp_exp
+ galaxy.tools.parameters
+ galaxy.tools.search
+ galaxy.tools.util
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.search.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.search.rst
@@ -0,0 +1,11 @@
+search Package
+==============
+
+:mod:`search` Package
+---------------------
+
+.. automodule:: galaxy.tools.search
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.util.galaxyops.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.util.galaxyops.rst
@@ -0,0 +1,11 @@
+galaxyops Package
+=================
+
+:mod:`galaxyops` Package
+------------------------
+
+.. automodule:: galaxy.tools.util.galaxyops
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.tools.util.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.tools.util.rst
@@ -0,0 +1,34 @@
+util Package
+============
+
+:mod:`util` Package
+-------------------
+
+.. automodule:: galaxy.tools.util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`hyphy_util` Module
+------------------------
+
+.. automodule:: galaxy.tools.util.hyphy_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`maf_utilities` Module
+---------------------------
+
+.. automodule:: galaxy.tools.util.maf_utilities
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.tools.util.galaxyops
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.util.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.util.rst
@@ -0,0 +1,139 @@
+util Package
+============
+
+:mod:`util` Package
+-------------------
+
+.. automodule:: galaxy.util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`aliaspickler` Module
+--------------------------
+
+.. automodule:: galaxy.util.aliaspickler
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`bunch` Module
+-------------------
+
+.. automodule:: galaxy.util.bunch
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`expressions` Module
+-------------------------
+
+.. automodule:: galaxy.util.expressions
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`hash_util` Module
+-----------------------
+
+.. automodule:: galaxy.util.hash_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`heartbeat` Module
+-----------------------
+
+.. automodule:: galaxy.util.heartbeat
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`inflection` Module
+------------------------
+
+.. automodule:: galaxy.util.inflection
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`json` Module
+------------------
+
+.. automodule:: galaxy.util.json
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`lrucache` Module
+----------------------
+
+.. automodule:: galaxy.util.lrucache
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`memdump` Module
+---------------------
+
+.. automodule:: galaxy.util.memdump
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`none_like` Module
+-----------------------
+
+.. automodule:: galaxy.util.none_like
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`odict` Module
+-------------------
+
+.. automodule:: galaxy.util.odict
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sanitize_html` Module
+---------------------------
+
+.. automodule:: galaxy.util.sanitize_html
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`shed_util` Module
+-----------------------
+
+.. automodule:: galaxy.util.shed_util
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`streamball` Module
+------------------------
+
+.. automodule:: galaxy.util.streamball
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`template` Module
+----------------------
+
+.. automodule:: galaxy.util.template
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`topsort` Module
+---------------------
+
+.. automodule:: galaxy.util.topsort
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.visualization.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.visualization.rst
@@ -0,0 +1,26 @@
+visualization Package
+=====================
+
+:mod:`visualization` Package
+----------------------------
+
+.. automodule:: galaxy.visualization
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`genomes` Module
+---------------------
+
+.. automodule:: galaxy.visualization.genomes
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.visualization.tracks
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.visualization.tracks.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.visualization.tracks.rst
@@ -0,0 +1,35 @@
+tracks Package
+==============
+
+:mod:`tracks` Package
+---------------------
+
+.. automodule:: galaxy.visualization.tracks
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`data_providers` Module
+----------------------------
+
+.. automodule:: galaxy.visualization.tracks.data_providers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`summary` Module
+---------------------
+
+.. automodule:: galaxy.visualization.tracks.summary
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`visual_analytics` Module
+------------------------------
+
+.. automodule:: galaxy.visualization.tracks.visual_analytics
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.api.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.api.rst
@@ -0,0 +1,352 @@
+Galaxy API Documentation
+************************
+
+Background
+==========
+In addition to being accessible through a web interface, Galaxy can now also be
+accessed programmatically, through shell scripts and other programs. The web
+interface is appropriate for things like exploratory analysis, visualization,
+construction of workflows, and rerunning workflows on new datasets.
+
+The web interface is less suitable for things like
+ - Connecting a Galaxy instance directly to your sequencer and running
+ workflows whenever data is ready
+ - Running a workflow against multiple datasets (which can be done with the
+ web interface, but is tedious)
+ - When the analysis involves complex control, such as looping and
+ branching.
+
+The Galaxy API addresses these and other situations by exposing Galaxy
+internals through an additional interface, known as an Application Programming
+Interface, or API.
+
+Quickstart
+==========
+
+Set the following option in universe_wsgi.ini and start the server::
+
+ enable_api = True
+
+Log in as your user, navigate to the API Keys page in the User menu, and
+generate a new API key. Make a note of the API key, and then pull up a
+terminal. Now we'll use the display.py script in your galaxy/scripts/api
+directory for a short example::
+
+ % ./display.py my_key http://localhost:4096/api/histories
+ Collection Members
+ ------------------
+ #1: /api/histories/8c49be448cfe29bc
+ name: Unnamed history
+ id: 8c49be448cfe29bc
+ #2: /api/histories/33b43b4e7093c91f
+ name: output test
+ id: 33b43b4e7093c91f
+
+The result is a Collection of the histories of the user specified by the API
+key (you). To look at the details of a particular history, say #1 above, do
+the following::
+
+ % ./display.py my_key http://localhost:4096/api/histories/8c49be448cfe29bc
+ Member Information
+ ------------------
+ state_details: {'ok': 1, 'failed_metadata': 0, 'upload': 0, 'discarded': 0, 'running': 0, 'setting_metadata': 0, 'error': 0, 'new': 0, 'queued': 0, 'empty': 0}
+ state: ok
+ contents_url: /api/histories/8c49be448cfe29bc/contents
+ id: 8c49be448cfe29bc
+ name: Unnamed history
+
+This gives detailed information about the specific member in question, in this
+case the History. To view history contents, do the following::
+
+
+ % ./display.py my_key http://localhost:4096/api/histories/8c49be448cfe29bc/contents
+ Collection Members
+ ------------------
+ #1: /api/histories/8c49be448cfe29bc/contents/6f91353f3eb0fa4a
+ name: Pasted Entry
+ type: file
+ id: 6f91353f3eb0fa4a
+
+What we have here is another Collection of items containing all of the datasets
+in this particular history. Finally, to view details of a particular dataset
+in this collection, execute the following::
+
+ % ./display.py my_key http://localhost:4096/api/histories/8c49be448cfe29bc/contents/6f91353f3eb0f…
+ Member Information
+ ------------------
+ misc_blurb: 1 line
+ name: Pasted Entry
+ data_type: txt
+ deleted: False
+ file_name: /Users/yoplait/work/galaxy-stock/database/files/000/dataset_82.dat
+ state: ok
+ download_url: /datasets/6f91353f3eb0fa4a/display?to_ext=txt
+ visible: True
+ genome_build: ?
+ model_class: HistoryDatasetAssociation
+ file_size: 17
+ metadata_data_lines: 1
+ id: 6f91353f3eb0fa4a
+ misc_info: uploaded txt file
+ metadata_dbkey: ?
+
+And now you've successfully used the API to request and select a history,
+browse the contents of that history, and then look at detailed information
+about a particular dataset.
+
+For a more comprehensive Data Library example, set the following option in your
+universe_wsgi.ini as well, and restart galaxy again::
+
+ admin_users = you(a)example.org
+ library_import_dir = /path/to/some/directory
+
+In the directory you specified for 'library_import_dir', create some
+subdirectories, and put (or symlink) files to import into Galaxy into those
+subdirectories.
+
+In Galaxy, create an account that matches the address you put in 'admin_users',
+then browse to that user's preferences and generate a new API Key. Copy the
+key to your clipboard and then use these scripts::
+
+ % ./display.py my_key http://localhost:4096/api/libraries
+ Collection Members
+ ------------------
+
+ 0 elements in collection
+
+ % ./library_create_library.py my_key http://localhost:4096/api/libraries api_test 'API Test Library'
+ Response
+ --------
+ /api/libraries/f3f73e481f432006
+ name: api_test
+ id: f3f73e481f432006
+
+ % ./display.py my_key http://localhost:4096/api/libraries
+ Collection Members
+ ------------------
+ /api/libraries/f3f73e481f432006
+ name: api_test
+ id: f3f73e481f432006
+
+ % ./display.py my_key http://localhost:4096/api/libraries/f3f73e481f432006
+ Member Information
+ ------------------
+ synopsis: None
+ contents_url: /api/libraries/f3f73e481f432006/contents
+ description: API Test Library
+ name: api_test
+
+ % ./display.py my_key http://localhost:4096/api/libraries/f3f73e481f432006/contents
+ Collection Members
+ ------------------
+ /api/libraries/f3f73e481f432006/contents/28202595c0d2591f61ddda595d2c3670
+ name: /
+ type: folder
+ id: 28202595c0d2591f61ddda595d2c3670
+
+ % ./library_create_folder.py my_key http://localhost:4096/api/libraries/f3f73e481f432006/contents 28202595c0d2591f61ddda595d2c3670 api_test_folder1 'API Test Folder 1'
+ Response
+ --------
+ /api/libraries/f3f73e481f432006/contents/28202595c0d2591fa4f9089d2303fd89
+ name: api_test_folder1
+ id: 28202595c0d2591fa4f9089d2303fd89
+
+ % ./library_upload_from_import_dir.py my_key http://localhost:4096/api/libraries/f3f73e481f432006/contents 28202595c0d2591fa4f9089d2303fd89 bed bed hg19
+ Response
+ --------
+ /api/libraries/f3f73e481f432006/contents/e9ef7fdb2db87d7b
+ name: 2.bed
+ id: e9ef7fdb2db87d7b
+ /api/libraries/f3f73e481f432006/contents/3b7f6a31f80a5018
+ name: 3.bed
+ id: 3b7f6a31f80a5018
+
+ % ./display.py my_key http://localhost:4096/api/libraries/f3f73e481f432006/contents
+ Collection Members
+ ------------------
+ /api/libraries/f3f73e481f432006/contents/28202595c0d2591f61ddda595d2c3670
+ name: /
+ type: folder
+ id: 28202595c0d2591f61ddda595d2c3670
+ /api/libraries/f3f73e481f432006/contents/28202595c0d2591fa4f9089d2303fd89
+ name: /api_test_folder1
+ type: folder
+ id: 28202595c0d2591fa4f9089d2303fd89
+ /api/libraries/f3f73e481f432006/contents/e9ef7fdb2db87d7b
+ name: /api_test_folder1/2.bed
+ type: file
+ id: e9ef7fdb2db87d7b
+ /api/libraries/f3f73e481f432006/contents/3b7f6a31f80a5018
+ name: /api_test_folder1/3.bed
+ type: file
+ id: 3b7f6a31f80a5018
+
+ % ./display.py my_key http://localhost:4096/api/libraries/f3f73e481f432006/contents/e9ef7fdb2db87…
+ Member Information
+ ------------------
+ misc_blurb: 68 regions
+ metadata_endCol: 3
+ data_type: bed
+ metadata_columns: 6
+ metadata_nameCol: 4
+ uploaded_by: nate@...
+ metadata_strandCol: 6
+ name: 2.bed
+ genome_build: hg19
+ metadata_comment_lines: None
+ metadata_startCol: 2
+ metadata_chromCol: 1
+ file_size: 4272
+ metadata_data_lines: 68
+ message:
+ metadata_dbkey: hg19
+ misc_info: uploaded bed file
+ date_uploaded: 2010-06-22T17:01:51.266119
+ metadata_column_types: str, int, int, str, int, str
+
+Other parameters are valid when uploading, they are the same parameters as are
+used in the web form, like 'link_data_only' and etc.
+
+The request and response format should be considered alpha and are subject to change.
+
+
+API Controllers
+===============
+
+:mod:`datasets` Module
+----------------------
+
+.. automodule:: galaxy.web.api.datasets
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`forms` Module
+-------------------
+
+.. automodule:: galaxy.web.api.forms
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`genomes` Module
+---------------------
+
+.. automodule:: galaxy.web.api.genomes
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`histories` Module
+-----------------------
+
+.. automodule:: galaxy.web.api.histories
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`history_contents` Module
+------------------------------
+
+.. automodule:: galaxy.web.api.history_contents
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`libraries` Module
+-----------------------
+
+.. automodule:: galaxy.web.api.libraries
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`library_contents` Module
+------------------------------
+
+.. automodule:: galaxy.web.api.library_contents
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`permissions` Module
+-------------------------
+
+.. automodule:: galaxy.web.api.permissions
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`quotas` Module
+--------------------
+
+.. automodule:: galaxy.web.api.quotas
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`request_types` Module
+---------------------------
+
+.. automodule:: galaxy.web.api.request_types
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`requests` Module
+----------------------
+
+.. automodule:: galaxy.web.api.requests
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`roles` Module
+-------------------
+
+.. automodule:: galaxy.web.api.roles
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`samples` Module
+---------------------
+
+.. automodule:: galaxy.web.api.samples
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tools` Module
+-------------------
+
+.. automodule:: galaxy.web.api.tools
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`users` Module
+-------------------
+
+.. automodule:: galaxy.web.api.users
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`visualizations` Module
+----------------------------
+
+.. automodule:: galaxy.web.api.visualizations
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`workflows` Module
+-----------------------
+
+.. automodule:: galaxy.web.api.workflows
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.base.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.base.rst
@@ -0,0 +1,11 @@
+base Package
+============
+
+:mod:`controller` Module
+------------------------
+
+.. automodule:: galaxy.web.base.controller
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.controllers.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.controllers.rst
@@ -0,0 +1,235 @@
+controllers Package
+===================
+
+:mod:`controllers` Package
+--------------------------
+
+.. automodule:: galaxy.web.controllers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`admin` Module
+-------------------
+
+.. automodule:: galaxy.web.controllers.admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`admin_toolshed` Module
+----------------------------
+
+.. automodule:: galaxy.web.controllers.admin_toolshed
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`async` Module
+-------------------
+
+.. automodule:: galaxy.web.controllers.async
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`cloud` Module
+-------------------
+
+.. automodule:: galaxy.web.controllers.cloud
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`data_admin` Module
+------------------------
+
+.. automodule:: galaxy.web.controllers.data_admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`dataset` Module
+---------------------
+
+.. automodule:: galaxy.web.controllers.dataset
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`error` Module
+-------------------
+
+.. automodule:: galaxy.web.controllers.error
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`external_service` Module
+------------------------------
+
+.. automodule:: galaxy.web.controllers.external_service
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`external_services` Module
+-------------------------------
+
+.. automodule:: galaxy.web.controllers.external_services
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`forms` Module
+-------------------
+
+.. automodule:: galaxy.web.controllers.forms
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`history` Module
+---------------------
+
+.. automodule:: galaxy.web.controllers.history
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`library` Module
+---------------------
+
+.. automodule:: galaxy.web.controllers.library
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`library_admin` Module
+---------------------------
+
+.. automodule:: galaxy.web.controllers.library_admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`library_common` Module
+----------------------------
+
+.. automodule:: galaxy.web.controllers.library_common
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`mobile` Module
+--------------------
+
+.. automodule:: galaxy.web.controllers.mobile
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`page` Module
+------------------
+
+.. automodule:: galaxy.web.controllers.page
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`request_type` Module
+--------------------------
+
+.. automodule:: galaxy.web.controllers.request_type
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`requests` Module
+----------------------
+
+.. automodule:: galaxy.web.controllers.requests
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`requests_admin` Module
+----------------------------
+
+.. automodule:: galaxy.web.controllers.requests_admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`requests_common` Module
+-----------------------------
+
+.. automodule:: galaxy.web.controllers.requests_common
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`root` Module
+------------------
+
+.. automodule:: galaxy.web.controllers.root
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tag` Module
+-----------------
+
+.. automodule:: galaxy.web.controllers.tag
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tool_runner` Module
+-------------------------
+
+.. automodule:: galaxy.web.controllers.tool_runner
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`tracks` Module
+--------------------
+
+.. automodule:: galaxy.web.controllers.tracks
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`ucsc_proxy` Module
+------------------------
+
+.. automodule:: galaxy.web.controllers.ucsc_proxy
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`user` Module
+------------------
+
+.. automodule:: galaxy.web.controllers.user
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`visualization` Module
+---------------------------
+
+.. automodule:: galaxy.web.controllers.visualization
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`workflow` Module
+----------------------
+
+.. automodule:: galaxy.web.controllers.workflow
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.framework.helpers.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.framework.helpers.rst
@@ -0,0 +1,19 @@
+helpers Package
+===============
+
+:mod:`helpers` Package
+----------------------
+
+.. automodule:: galaxy.web.framework.helpers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`grids` Module
+-------------------
+
+.. automodule:: galaxy.web.framework.helpers.grids
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.framework.middleware.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.framework.middleware.rst
@@ -0,0 +1,51 @@
+middleware Package
+==================
+
+:mod:`middleware` Package
+-------------------------
+
+.. automodule:: galaxy.web.framework.middleware
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`profile` Module
+---------------------
+
+.. automodule:: galaxy.web.framework.middleware.profile
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`remoteuser` Module
+------------------------
+
+.. automodule:: galaxy.web.framework.middleware.remoteuser
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`static` Module
+--------------------
+
+.. automodule:: galaxy.web.framework.middleware.static
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`translogger` Module
+-------------------------
+
+.. automodule:: galaxy.web.framework.middleware.translogger
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`xforwardedhost` Module
+----------------------------
+
+.. automodule:: galaxy.web.framework.middleware.xforwardedhost
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.framework.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.framework.rst
@@ -0,0 +1,35 @@
+framework Package
+=================
+
+:mod:`framework` Package
+------------------------
+
+.. automodule:: galaxy.web.framework
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`base` Module
+------------------
+
+.. automodule:: galaxy.web.framework.base
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`openid_manager` Module
+----------------------------
+
+.. automodule:: galaxy.web.framework.openid_manager
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.web.framework.helpers
+ galaxy.web.framework.middleware
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.rst
@@ -0,0 +1,46 @@
+web Package
+===========
+
+:mod:`web` Package
+------------------
+
+.. automodule:: galaxy.web
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`buildapp` Module
+----------------------
+
+.. automodule:: galaxy.web.buildapp
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`form_builder` Module
+--------------------------
+
+.. automodule:: galaxy.web.form_builder
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`params` Module
+--------------------
+
+.. automodule:: galaxy.web.params
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.web.api
+ galaxy.web.base
+ galaxy.web.controllers
+ galaxy.web.framework
+ galaxy.web.security
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.web.security.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.web.security.rst
@@ -0,0 +1,11 @@
+security Package
+================
+
+:mod:`security` Package
+-----------------------
+
+.. automodule:: galaxy.web.security
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.controllers.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.controllers.rst
@@ -0,0 +1,59 @@
+controllers Package
+===================
+
+:mod:`controllers` Package
+--------------------------
+
+.. automodule:: galaxy.webapps.community.controllers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`admin` Module
+-------------------
+
+.. automodule:: galaxy.webapps.community.controllers.admin
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`common` Module
+--------------------
+
+.. automodule:: galaxy.webapps.community.controllers.common
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`hg` Module
+----------------
+
+.. automodule:: galaxy.webapps.community.controllers.hg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`repository` Module
+------------------------
+
+.. automodule:: galaxy.webapps.community.controllers.repository
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`upload` Module
+--------------------
+
+.. automodule:: galaxy.webapps.community.controllers.upload
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`workflow` Module
+----------------------
+
+.. automodule:: galaxy.webapps.community.controllers.workflow
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.framework.middleware.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.framework.middleware.rst
@@ -0,0 +1,19 @@
+middleware Package
+==================
+
+:mod:`middleware` Package
+-------------------------
+
+.. automodule:: galaxy.webapps.community.framework.middleware
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`hg` Module
+----------------
+
+.. automodule:: galaxy.webapps.community.framework.middleware.hg
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.framework.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.framework.rst
@@ -0,0 +1,18 @@
+framework Package
+=================
+
+:mod:`framework` Package
+------------------------
+
+.. automodule:: galaxy.webapps.community.framework
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.webapps.community.framework.middleware
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.model.migrate.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.model.migrate.rst
@@ -0,0 +1,11 @@
+migrate Package
+===============
+
+:mod:`check` Module
+-------------------
+
+.. automodule:: galaxy.webapps.community.model.migrate.check
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.model.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.model.rst
@@ -0,0 +1,26 @@
+model Package
+=============
+
+:mod:`model` Package
+--------------------
+
+.. automodule:: galaxy.webapps.community.model
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`mapping` Module
+---------------------
+
+.. automodule:: galaxy.webapps.community.model.mapping
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.webapps.community.model.migrate
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.rst
@@ -0,0 +1,45 @@
+community Package
+=================
+
+:mod:`community` Package
+------------------------
+
+.. automodule:: galaxy.webapps.community
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`app` Module
+-----------------
+
+.. automodule:: galaxy.webapps.community.app
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`buildapp` Module
+----------------------
+
+.. automodule:: galaxy.webapps.community.buildapp
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`config` Module
+--------------------
+
+.. automodule:: galaxy.webapps.community.config
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.webapps.community.controllers
+ galaxy.webapps.community.framework
+ galaxy.webapps.community.model
+ galaxy.webapps.community.security
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.community.security.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.community.security.rst
@@ -0,0 +1,11 @@
+security Package
+================
+
+:mod:`security` Package
+-----------------------
+
+.. automodule:: galaxy.webapps.community.security
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.demo_sequencer.controllers.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.demo_sequencer.controllers.rst
@@ -0,0 +1,19 @@
+controllers Package
+===================
+
+:mod:`controllers` Package
+--------------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.controllers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`common` Module
+--------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.controllers.common
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.demo_sequencer.framework.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.demo_sequencer.framework.rst
@@ -0,0 +1,11 @@
+framework Package
+=================
+
+:mod:`framework` Package
+------------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.framework
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.demo_sequencer.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.demo_sequencer.rst
@@ -0,0 +1,51 @@
+demo_sequencer Package
+======================
+
+:mod:`demo_sequencer` Package
+-----------------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`app` Module
+-----------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.app
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`buildapp` Module
+----------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.buildapp
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`config` Module
+--------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.config
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`registry` Module
+----------------------
+
+.. automodule:: galaxy.webapps.demo_sequencer.registry
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.webapps.demo_sequencer.controllers
+ galaxy.webapps.demo_sequencer.framework
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.reports.controllers.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.reports.controllers.rst
@@ -0,0 +1,59 @@
+controllers Package
+===================
+
+:mod:`controllers` Package
+--------------------------
+
+.. automodule:: galaxy.webapps.reports.controllers
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`jobs` Module
+------------------
+
+.. automodule:: galaxy.webapps.reports.controllers.jobs
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`root` Module
+------------------
+
+.. automodule:: galaxy.webapps.reports.controllers.root
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sample_tracking` Module
+-----------------------------
+
+.. automodule:: galaxy.webapps.reports.controllers.sample_tracking
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`system` Module
+--------------------
+
+.. automodule:: galaxy.webapps.reports.controllers.system
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`users` Module
+-------------------
+
+.. automodule:: galaxy.webapps.reports.controllers.users
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`workflows` Module
+-----------------------
+
+.. automodule:: galaxy.webapps.reports.controllers.workflows
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.reports.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.reports.rst
@@ -0,0 +1,42 @@
+reports Package
+===============
+
+:mod:`reports` Package
+----------------------
+
+.. automodule:: galaxy.webapps.reports
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`app` Module
+-----------------
+
+.. automodule:: galaxy.webapps.reports.app
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`buildapp` Module
+----------------------
+
+.. automodule:: galaxy.webapps.reports.buildapp
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`config` Module
+--------------------
+
+.. automodule:: galaxy.webapps.reports.config
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.webapps.reports.controllers
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.webapps.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.webapps.rst
@@ -0,0 +1,20 @@
+webapps Package
+===============
+
+:mod:`webapps` Package
+----------------------
+
+.. automodule:: galaxy.webapps
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy.webapps.community
+ galaxy.webapps.demo_sequencer
+ galaxy.webapps.reports
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy.workflow.rst
--- /dev/null
+++ b/doc/source/lib/galaxy.workflow.rst
@@ -0,0 +1,11 @@
+workflow Package
+================
+
+:mod:`modules` Module
+---------------------
+
+.. automodule:: galaxy.workflow.modules
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy_utils.rst
--- /dev/null
+++ b/doc/source/lib/galaxy_utils.rst
@@ -0,0 +1,10 @@
+galaxy_utils Package
+====================
+
+Subpackages
+-----------
+
+.. toctree::
+
+ galaxy_utils.sequence
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/galaxy_utils.sequence.rst
--- /dev/null
+++ b/doc/source/lib/galaxy_utils.sequence.rst
@@ -0,0 +1,43 @@
+sequence Package
+================
+
+:mod:`fasta` Module
+-------------------
+
+.. automodule:: galaxy_utils.sequence.fasta
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`fastq` Module
+-------------------
+
+.. automodule:: galaxy_utils.sequence.fastq
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`sequence` Module
+----------------------
+
+.. automodule:: galaxy_utils.sequence.sequence
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`transform` Module
+-----------------------
+
+.. automodule:: galaxy_utils.sequence.transform
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
+:mod:`vcf` Module
+-----------------
+
+.. automodule:: galaxy_utils.sequence.vcf
+ :members:
+ :undoc-members:
+ :show-inheritance:
+
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/log_tempfile.rst
--- /dev/null
+++ b/doc/source/lib/log_tempfile.rst
@@ -0,0 +1,7 @@
+log_tempfile Module
+===================
+
+.. automodule:: log_tempfile
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/mimeparse.rst
--- /dev/null
+++ b/doc/source/lib/mimeparse.rst
@@ -0,0 +1,7 @@
+mimeparse Module
+================
+
+.. automodule:: mimeparse
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/modules.rst
--- /dev/null
+++ b/doc/source/lib/modules.rst
@@ -0,0 +1,13 @@
+lib
+===
+
+.. toctree::
+ :maxdepth: 4
+
+ fpconst
+ galaxy
+ galaxy_utils
+ log_tempfile
+ mimeparse
+ pkg_resources
+ psyco_full
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/pkg_resources.rst
--- /dev/null
+++ b/doc/source/lib/pkg_resources.rst
@@ -0,0 +1,7 @@
+pkg_resources Module
+====================
+
+.. automodule:: pkg_resources
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff -r 4fbd05095ca70adf740ed635451c0ec876635f50 -r 77ceb114bf57172579310a0b4347da0f5f46dec6 doc/source/lib/psyco_full.rst
--- /dev/null
+++ b/doc/source/lib/psyco_full.rst
@@ -0,0 +1,7 @@
+psyco_full Module
+=================
+
+.. automodule:: psyco_full
+ :members:
+ :undoc-members:
+ :show-inheritance:
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