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
October 2011
- 1 participants
- 109 discussions
2 new changesets in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/2b683b63de2e/
changeset: 2b683b63de2e
user: John Duddy
date: 2011-10-14 23:03:56
summary: Fix API code errors, add ability to set ldda associations, fixed misc error in util
affected #: 4 files (-1 bytes)
--- a/lib/galaxy/util/__init__.py Fri Oct 14 15:20:12 2011 -0400
+++ b/lib/galaxy/util/__init__.py Fri Oct 14 14:03:56 2011 -0700
@@ -133,6 +133,8 @@
def restore_text(text):
"""Restores sanitized text"""
+ if not text:
+ return text
for key, value in mapped_chars.items():
text = text.replace(value, key)
return text
--- a/lib/galaxy/web/api/histories.py Fri Oct 14 15:20:12 2011 -0400
+++ b/lib/galaxy/web/api/histories.py Fri Oct 14 14:03:56 2011 -0700
@@ -88,9 +88,10 @@
state = states.QUEUED
elif summary[states.OK] == num_sets:
state = states.OK
+ item['state_details'] = summary
item['contents_url'] = url_for( 'history_contents', history_id=history_id )
+
item['state'] = state
- item['state_details'] = summary
except Exception, e:
item = "Error in history API at showing history detail"
log.error(item + ": %s" % str(e))
--- a/lib/galaxy/web/api/history_contents.py Fri Oct 14 15:20:12 2011 -0400
+++ b/lib/galaxy/web/api/history_contents.py Fri Oct 14 14:03:56 2011 -0700
@@ -14,7 +14,7 @@
log = logging.getLogger( __name__ )
-class HistoryContentsController( BaseAPIController, UsesHistoryDatasetAssociation, UsesHistory ):
+class HistoryContentsController( BaseAPIController, UsesHistoryDatasetAssociation, UsesHistory, UsesLibrary, UsesLibraryItems ):
@web.expose_api
def index( self, trans, history_id, **kwd ):
@@ -85,7 +85,7 @@
if from_ld_id:
try:
- ld = get_library_content_for_access( trans, from_ld_id )
+ ld = self.get_library_dataset( trans, from_ld_id, check_ownership=False, check_accessible=False )
assert type( ld ) is trans.app.model.LibraryDataset, "Library content id ( %s ) is not a dataset" % from_ld_id
except AssertionError, e:
trans.response.status = 400
--- a/lib/galaxy/web/api/library_contents.py Fri Oct 14 15:20:12 2011 -0400
+++ b/lib/galaxy/web/api/library_contents.py Fri Oct 14 14:03:56 2011 -0700
@@ -75,9 +75,9 @@
"""
class_name, content_id = self.__decode_library_content_id( trans, id )
if class_name == 'LibraryFolder':
- content = self.get_library_folder( trans, content_id, check_ownership=False, check_accessibility=True )
+ content = self.get_library_folder( trans, content_id, check_ownership=False, check_accessible=True )
else:
- content = self.get_library_dataset( trans, content_id, check_ownership=False, check_accessibility=True )
+ content = self.get_library_dataset( trans, content_id, check_ownership=False, check_accessible=True )
return self.encode_all_ids( trans, content.get_api_value( view='element' ) )
@web.expose_api
@@ -100,9 +100,10 @@
return "Missing requred 'folder_id' parameter."
else:
folder_id = payload.pop( 'folder_id' )
+ class_name, folder_id = self.__decode_library_content_id( trans, folder_id )
try:
# security is checked in the downstream controller
- parent = self.get_library_folder( trans, folder_id, check_ownership=False, check_accessibility=False )
+ parent = self.get_library_folder( trans, folder_id, check_ownership=False, check_accessible=False )
except Exception, e:
return str( e )
# The rest of the security happens in the library_common controller.
@@ -128,6 +129,23 @@
url = url_for( 'library_content', library_id=library_id, id=encoded_id ) ) )
return rval
+ @web.expose_api
+ def update( self, trans, id, library_id, payload, **kwd ):
+ """
+ PUT /api/libraries/{encoded_library_id}/contents/{encoded_content_type_and_id}
+ Sets relationships among items
+ """
+ if 'converted_dataset_id' in payload:
+ converted_id = payload.pop( 'converted_dataset_id' )
+ content = self.get_library_dataset( trans, id, check_ownership=False, check_accessible=False )
+ content_conv = self.get_library_dataset( trans, converted_id, check_ownership=False, check_accessible=False )
+ assoc = trans.app.model.ImplicitlyConvertedDatasetAssociation( parent = content.library_dataset_dataset_association,
+ dataset = content_conv.library_dataset_dataset_association,
+ file_type = content_conv.library_dataset_dataset_association.extension,
+ metadata_safe = True )
+ trans.sa_session.add( assoc )
+ trans.sa_session.flush()
+
def __decode_library_content_id( self, trans, content_id ):
if ( len( content_id ) % 16 == 0 ):
return 'LibraryDataset', content_id
http://bitbucket.org/galaxy/galaxy-central/changeset/91d5661608b9/
changeset: 91d5661608b9
user: John Duddy
date: 2011-10-14 23:05:15
summary: Correct indentation, only access summary if it is set!
affected #: 1 file (-1 bytes)
--- a/lib/galaxy/web/api/histories.py Fri Oct 14 14:03:56 2011 -0700
+++ b/lib/galaxy/web/api/histories.py Fri Oct 14 14:05:15 2011 -0700
@@ -88,9 +88,8 @@
state = states.QUEUED
elif summary[states.OK] == num_sets:
state = states.OK
- item['state_details'] = summary
+ item['state_details'] = summary
item['contents_url'] = url_for( 'history_contents', history_id=history_id )
-
item['state'] = state
except Exception, e:
item = "Error in history API at showing history detail"
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
20 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/3d1dafee5c62/
changeset: 3d1dafee5c62
user: greg
date: 2011-10-20 22:57:09
summary: Fixes for searching for and installing tools from a tool shed. The value of the webapp request parameter is heavily used throughout this process, and has been added to all grid forms that include operation buttons.
affected #: 9 files (-1 bytes)
--- a/lib/galaxy/web/controllers/admin.py Thu Oct 20 16:38:14 2011 -0400
+++ b/lib/galaxy/web/controllers/admin.py Thu Oct 20 16:57:09 2011 -0400
@@ -708,7 +708,7 @@
def browse_tool_shed( self, trans, **kwd ):
tool_shed_url = kwd[ 'tool_shed_url' ]
galaxy_url = trans.request.host
- url = '%s/repository/browse_downloadable_repositories?galaxy_url=%s&webapp=galaxy' % ( tool_shed_url, galaxy_url )
+ url = '%s/repository/browse_valid_repositories?galaxy_url=%s&webapp=galaxy' % ( tool_shed_url, galaxy_url )
return trans.response.send_redirect( url )
@web.expose
@web.require_admin
--- a/lib/galaxy/webapps/community/controllers/repository.py Thu Oct 20 16:38:14 2011 -0400
+++ b/lib/galaxy/webapps/community/controllers/repository.py Thu Oct 20 16:57:09 2011 -0400
@@ -183,7 +183,7 @@
.outerjoin( model.RepositoryCategoryAssociation.table ) \
.outerjoin( model.Category.table )
-class DownloadableRepositoryListGrid( RepositoryListGrid ):
+class ValidRepositoryListGrid( RepositoryListGrid ):
class RevisionColumn( grids.GridColumn ):
def __init__( self, col_name ):
grids.GridColumn.__init__( self, col_name )
@@ -196,7 +196,7 @@
if len( select_field.options ) > 1:
return select_field.get_html()
return repository.revision
- title = "Downloadable repositories"
+ title = "Valid repositories"
columns = [
RepositoryListGrid.NameColumn( "Name",
key="name",
@@ -210,11 +210,6 @@
attach_popup=False,
key="User.username" )
]
- columns.append( grids.MulticolFilterColumn( "Search repository name, description",
- cols_to_filter=[ columns[0], columns[1] ],
- key="free-text-search",
- visible=False,
- filterable="standard" ) )
operations = []
def build_initial_query( self, trans, **kwd ):
return trans.sa_session.query( self.model_class ) \
@@ -237,7 +232,7 @@
return repository_metadata.repository.user.username
return 'no user'
# Grid definition
- title = "Matched repositories"
+ title = "Repositories with matching tools"
model_class = model.RepositoryMetadata
template='/webapps/community/repository/grid.mako'
default_sort_key = "Repository.name"
@@ -282,21 +277,19 @@
.filter( self.model_class.table.c.repository_id == 0 )
class InstallMatchedRepositoryListGrid( MatchedRepositoryListGrid ):
- # Grid definition
- title = "Repositories that contain tools matching search criteria"
columns = [ col for col in MatchedRepositoryListGrid.columns ]
# Override the NameColumn
columns[ 0 ] = MatchedRepositoryListGrid.NameColumn( "Name",
link=( lambda item: dict( operation="view_or_manage_repository",
id=item.id,
webapp="galaxy" ) ),
- attach_popup=True )
+ attach_popup=False )
class RepositoryController( BaseUIController, ItemRatings ):
install_matched_repository_list_grid = InstallMatchedRepositoryListGrid()
matched_repository_list_grid = MatchedRepositoryListGrid()
- downloadable_repository_list_grid = DownloadableRepositoryListGrid()
+ valid_repository_list_grid = ValidRepositoryListGrid()
repository_list_grid = RepositoryListGrid()
category_list_grid = CategoryListGrid()
@@ -340,7 +333,7 @@
# Render the list view
return self.category_list_grid( trans, **kwd )
@web.expose
- def browse_downloadable_repositories( self, trans, **kwd ):
+ def browse_valid_repositories( self, trans, **kwd ):
webapp = kwd.get( 'webapp', 'community' )
galaxy_url = kwd.get( 'galaxy_url', None )
if galaxy_url:
@@ -352,6 +345,7 @@
repository = get_repository( trans, repository_id )
return trans.response.send_redirect( web.url_for( controller='repository',
action='preview_tools_in_changeset',
+ webapp=webapp,
repository_id=repository_id,
changeset_revision=repository.tip ) )
# The changeset_revision_select_field in the RepositoryListGrid performs a refresh_on_change
@@ -371,16 +365,16 @@
webapp=webapp,
repository_id=trans.security.encode_id( repository.id ),
changeset_revision=v ) )
- url_args = dict( action='browse_downloadable_repositories',
+ url_args = dict( action='browse_valid_repositories',
operation='preview_tools_in_changeset',
webapp=webapp,
repository_id=repository_id )
- self.downloadable_repository_list_grid.operations = [ grids.GridOperation( "Preview and install",
- url_args=url_args,
- allow_multiple=False,
- async_compatible=False ) ]
+ self.valid_repository_list_grid.operations = [ grids.GridOperation( "Preview and install",
+ url_args=url_args,
+ allow_multiple=False,
+ async_compatible=False ) ]
# Render the list view
- return self.downloadable_repository_list_grid( trans, **kwd )
+ return self.valid_repository_list_grid( trans, **kwd )
@web.expose
def find_tools( self, trans, **kwd ):
params = util.Params( kwd )
@@ -391,38 +385,35 @@
if galaxy_url:
trans.set_cookie( galaxy_url, name='toolshedgalaxyurl' )
if 'operation' in kwd:
- operation = kwd[ 'operation' ].lower()
- is_admin = trans.user_is_admin()
- if operation == "view_or_manage_repository":
- # The received id is a RepositoryMetadata id, so we have to get the repository id.
- repository_metadata = get_repository_metadata_by_id( trans, kwd[ 'id' ] )
- repository_id = trans.security.encode_id( repository_metadata.repository.id )
- repository = get_repository( trans, repository_id )
- kwd[ 'id' ] = repository_id
- kwd[ 'changeset_revision' ] = repository_metadata.changeset_revision
- if webapp == 'community' and ( is_admin or repository.user == trans.user ):
- a = 'manage_repository'
- else:
- a = 'view_repository'
- return trans.response.send_redirect( web.url_for( controller='repository',
- action=a,
- **kwd ) )
- if operation == "install":
- repo_info_dict = {}
- galaxy_url = trans.get_cookie( name='toolshedgalaxyurl' )
- # TODO: support https in the following url.
- url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s&webapp=%s' % ( galaxy_url, trans.request.host, webapp )
- repository_metadata_ids = util.listify( kwd[ 'id' ] )
- for repository_metadata_id in repository_metadata_ids:
- repository_metadata = get_repository_metadata_by_id( trans, repository_metadata_id )
- repository = get_repository( trans, trans.security.encode_id( repository_metadata.repository_id ) )
- repository_id = trans.security.encode_id( repository.id )
- changeset_revision = repository_metadata.changeset_revision
- repository_clone_url = generate_clone_url( trans, repository_id )
- repo_info_dict[ repository.name ] = ( repository.description, repository_clone_url, changeset_revision )
- encoded_repo_info_dict = self.__encode( repo_info_dict )
- url += '&repo_info_dict=%s' % encoded_repo_info_dict
- return trans.response.send_redirect( url )
+ item_id = kwd.get( 'id', '' )
+ if item_id:
+ operation = kwd[ 'operation' ].lower()
+ is_admin = trans.user_is_admin()
+ if operation == "view_or_manage_repository":
+ # The received id is a RepositoryMetadata id, so we have to get the repository id.
+ repository_metadata = get_repository_metadata_by_id( trans, item_id )
+ repository_id = trans.security.encode_id( repository_metadata.repository.id )
+ repository = get_repository( trans, repository_id )
+ kwd[ 'id' ] = repository_id
+ kwd[ 'changeset_revision' ] = repository_metadata.changeset_revision
+ if webapp == 'community' and ( is_admin or repository.user == trans.user ):
+ a = 'manage_repository'
+ else:
+ a = 'view_repository'
+ return trans.response.send_redirect( web.url_for( controller='repository',
+ action=a,
+ **kwd ) )
+ if operation == "install":
+ galaxy_url = trans.get_cookie( name='toolshedgalaxyurl' )
+ encoded_repo_info_dict = self.__encode_repo_info_dict( trans, webapp, util.listify( item_id ) )
+ # TODO: support https in the following url.
+ url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s&webapp=%s&repo_info_dict=%s' % \
+ ( galaxy_url, trans.request.host, webapp, encoded_repo_info_dict )
+ return trans.response.send_redirect( url )
+ else:
+ # This can only occur when there is a multi-select grid with check boxes and an operation,
+ # and the user clicked the operation button without checking any of the check boxes.
+ return trans.show_error_message( "No items were selected." )
tool_ids = [ item.lower() for item in util.listify( kwd.get( 'tool_id', '' ) ) ]
tool_names = [ item.lower() for item in util.listify( kwd.get( 'tool_name', '' ) ) ]
tool_versions = [ item.lower() for item in util.listify( kwd.get( 'tool_version', '' ) ) ]
@@ -436,7 +427,12 @@
kwd[ 'match_tuples' ] = match_tuples
# Render the list view
if webapp == 'galaxy':
- # Our request originated from a Galaxy instance.
+ # Our initial request originated from a Galaxy instance.
+ global_actions = [ grids.GridAction( "Browse valid repositories",
+ dict( controller='repository', action='browse_valid_repositories', webapp=webapp ) ),
+ grids.GridAction( "Search for valid tools",
+ dict( controller='repository', action='find_tools', webapp=webapp ) ) ]
+ self.install_matched_repository_list_grid.global_actions = global_actions
install_url_args = dict( controller='repository', action='find_tools', webapp=webapp )
operations = [ grids.GridOperation( "Install", url_args=install_url_args, allow_multiple=True, async_compatible=False ) ]
self.install_matched_repository_list_grid.operations = operations
@@ -583,8 +579,21 @@
if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name, tool_version=tool_version ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
return match_tuples
- def __encode( self, repo_info_dict ):
- value = simplejson.dumps( repo_info_dict )
+ def __encode_repo_info_dict( self, trans, webapp, repository_metadata_ids ):
+ repo_info_dict = {}
+ for repository_metadata_id in repository_metadata_ids:
+ repository_metadata = get_repository_metadata_by_id( trans, repository_metadata_id )
+ repository = get_repository( trans, trans.security.encode_id( repository_metadata.repository_id ) )
+ repository_id = trans.security.encode_id( repository.id )
+ changeset_revision = repository_metadata.changeset_revision
+ repository_clone_url = generate_clone_url( trans, repository_id )
+ repo_info_dict[ repository.name ] = ( repository.description, repository_clone_url, changeset_revision )
+ return self.__encode( repo_info_dict )
+ def __encode( self, val ):
+ if isinstance( val, dict ):
+ value = simplejson.dumps( val )
+ else:
+ value = val
a = hmac_new( 'ToolShedAndGalaxyMustHaveThisSameKey', value )
b = binascii.hexlify( value )
return "%s:%s" % ( a, b )
@@ -620,14 +629,18 @@
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
+ webapp = params.get( 'webapp', 'community' )
galaxy_url = trans.get_cookie( name='toolshedgalaxyurl' )
+ repository_clone_url = generate_clone_url( trans, repository_id )
repository = get_repository( trans, repository_id )
changeset_revision = util.restore_text( params.get( 'changeset_revision', repository.tip ) )
+ repo_info_dict = {}
+ repo_info_dict[ repository.name ] = ( repository.description, repository_clone_url, changeset_revision )
+ encoded_repo_info_dict = self.__encode( repo_info_dict )
# Redirect back to local Galaxy to perform install.
- repository_clone_url = generate_clone_url( trans, repository_id )
# TODO: support https in the following url.
- url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s&name=%s&description=%s&repository_clone_url=%s&changeset_revision=%s' % \
- ( galaxy_url, trans.request.host, repository.name, repository.description, repository_clone_url, changeset_revision )
+ url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s&repo_info_dict=%s' % \
+ ( galaxy_url, trans.request.host, encoded_repo_info_dict )
return trans.response.send_redirect( url )
@web.expose
def check_for_updates( self, trans, **kwd ):
--- a/templates/grid_base.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/grid_base.mako Thu Oct 20 16:57:09 2011 -0400
@@ -777,6 +777,7 @@
show_item_checkboxes = True
%><form action="${url()}" method="post" onsubmit="return false;">
+ <input type="hidden" name="webapp" value="${webapp}"/><table id="grid-table" class="grid"><thead id="grid-table-header"><tr>
--- a/templates/webapps/community/repository/find_tools.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/webapps/community/repository/find_tools.mako Thu Oct 20 16:57:09 2011 -0400
@@ -10,6 +10,13 @@
%><%inherit file="${inherit(context)}"/>
+%if webapp == 'galaxy':
+ <br/><br/>
+ <ul class="manage-table-actions">
+ <li><a class="action-button" href="${h.url_for( controller='repository', action='browse_valid_repositories', webapp=webapp )}">Browse valid repositories</a></li>
+ </ul>
+%endif
+
%if message:
${render_msg( message, status )}
%endif
--- a/templates/webapps/community/repository/preview_tools_in_changeset.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/webapps/community/repository/preview_tools_in_changeset.mako Thu Oct 20 16:57:09 2011 -0400
@@ -64,7 +64,12 @@
<br/><br/><ul class="manage-table-actions">
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ <li><a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a></li>
+ <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Tool Shed Actions</a></li>
+ <div popupmenu="repository-${repository.id}-popup">
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_valid_repositories', webapp=webapp )}">Browse valid repositories</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='find_tools', webapp=webapp )}">Search for valid tools</a>
+ </div></ul>
%if message:
--- a/templates/webapps/community/repository/tool_form.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/webapps/community/repository/tool_form.mako Thu Oct 20 16:57:09 2011 -0400
@@ -111,7 +111,12 @@
<br/><br/><ul class="manage-table-actions">
%if webapp == 'galaxy':
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ <li><a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a></li>
+ <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Tool Shed Actions</a></li>
+ <div popupmenu="repository-${repository.id}-popup">
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_valid_repositories', webapp=webapp )}">Browse valid repositories</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='find_tools', webapp=webapp )}">Search for valid tools</a>
+ </div>
%else:
%if is_new:
<a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
--- a/templates/webapps/community/repository/view_repository.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/webapps/community/repository/view_repository.mako Thu Oct 20 16:57:09 2011 -0400
@@ -94,7 +94,12 @@
</div>
%endif
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ <li><a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a></li>
+ <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Tool Shed Actions</a></li>
+ <div popupmenu="repository-${repository.id}-popup">
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_valid_repositories', webapp=webapp )}">Browse valid repositories</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='find_tools', webapp=webapp )}">Search for valid tools</a>
+ </div>
%endif
</ul>
--- a/templates/webapps/community/repository/view_tool_metadata.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/webapps/community/repository/view_tool_metadata.mako Thu Oct 20 16:57:09 2011 -0400
@@ -34,7 +34,12 @@
<br/><br/><ul class="manage-table-actions">
%if webapp == 'galaxy':
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ <li><a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a></li>
+ <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Tool Shed Actions</a></li>
+ <div popupmenu="repository-${repository.id}-popup">
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_valid_repositories', webapp=webapp )}">Browse valid repositories</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='find_tools', webapp=webapp )}">Search for valid tools</a>
+ </div>
%else:
%if is_new:
<a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
--- a/templates/webapps/galaxy/admin/tool_sheds.mako Thu Oct 20 16:38:14 2011 -0400
+++ b/templates/webapps/galaxy/admin/tool_sheds.mako Thu Oct 20 16:57:09 2011 -0400
@@ -16,7 +16,7 @@
<div class="toolFormTitle">Accessible Galaxy tool sheds</div><div class="toolFormBody"><div class="form-row">
- <table cellspacing="0" cellpadding="0" border="0" width="100%" class="grid" id="library-grid">
+ <table class="grid"><% shed_id = 0 %>
%for name, url in trans.app.tool_shed_registry.tool_sheds.items():
<tr class="libraryTitle">
@@ -25,7 +25,7 @@
<a class="view-info" href="${h.url_for( controller='admin', action='browse_tool_shed', tool_shed_url=url )}">${name}</a></div><div popupmenu="dataset-${shed_id}-popup">
- <a class="action-button" href="${h.url_for( controller='admin', action='browse_tool_shed', tool_shed_url=url )}">Browse downloadable repositories</a>
+ <a class="action-button" href="${h.url_for( controller='admin', action='browse_tool_shed', tool_shed_url=url )}">Browse valid repositories</a><a class="action-button" href="${h.url_for( controller='admin', action='find_tools_in_tool_shed', tool_shed_url=url )}">Search for valid tools</a></div></td>
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
20 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/8227055957e5/
changeset: 8227055957e5
user: dan
date: 2011-10-20 22:38:14
summary: Update sff extractor to version 0.2.10.
affected #: 2 files (-1 bytes)
--- a/tools/filters/sff_extract.py Thu Oct 20 10:24:19 2011 -0400
+++ b/tools/filters/sff_extract.py Thu Oct 20 16:38:14 2011 -0400
@@ -27,7 +27,7 @@
__author__ = 'Jose Blanca and Bastien Chevreux'
__copyright__ = 'Copyright 2008, Jose Blanca, COMAV, and Bastien Chevreux'
__license__ = 'GPLv3 or later'
-__version__ = '0.2.8'
+__version__ = '0.2.10'
__email__ = 'jblanca(a)btc.upv.es'
__status__ = 'beta'
@@ -298,7 +298,8 @@
#we check that we're removing the asked tag
if tag is not None and tag != last_tag:
- raise RuntimeError("The given xml tag wasn't the last one in the file")
+ etxt=join('The given xml tag (',tag,') was not the last one in the file');
+ raise RuntimeError(etxt)
# while we are at it: also remove all white spaces in that line :-)
i -= 1
@@ -843,7 +844,7 @@
if len(boundaries) == 3:
# case: mask char on both sides of sequence
#print "bounds3"
- data['clip_adapter_left']=1+boundaries[0][1]
+ data['clip_adapter_left']=boundaries[0][1]
data['clip_adapter_right']=boundaries[2][0]
elif len(boundaries) == 2:
# case: mask char left or right of sequence
@@ -851,7 +852,7 @@
if maskedseq[0] == maskchar :
# case: mask char left
#print "left"
- data['clip_adapter_left']=1+boundaries[0][1]
+ data['clip_adapter_left']=boundaries[0][1]
else:
# case: mask char right
#print "right"
@@ -1192,7 +1193,11 @@
'''
left, right = return_merged_clips(data)
seq = data['bases']
- new_seq = ''.join((seq[:left-1].lower(), seq[left-1:right], seq[right:].lower()))
+ if left >= right:
+ new_seq = seq.lower()
+ else:
+ new_seq = ''.join((seq[:left-1].lower(), seq[left-1:right], seq[right:].lower()))
+
return new_seq
def clip_read(data):
@@ -1209,14 +1214,14 @@
-def tests_for_ssaha(linker_fname):
+def tests_for_ssaha():
'''Tests whether SSAHA2 can be successfully called.'''
try:
print "Testing whether SSAHA2 is installed and can be launched ... ",
sys.stdout.flush()
fh = open('/dev/null', 'w')
- retcode = subprocess.call(["ssaha2", "-v"], stdout = fh)
+ retcode = subprocess.call(["ssaha2"], stdout = fh)
fh.close()
print "ok."
except :
@@ -1247,6 +1252,8 @@
'''Launches SSAHA2 on the linker and query file, string SSAHA2 output
into the output filehandle'''
+ tests_for_ssaha()
+
try:
print "Searching linker sequences with SSAHA2 (this may take a while) ... ",
sys.stdout.flush()
--- a/tools/filters/sff_extractor.xml Thu Oct 20 10:24:19 2011 -0400
+++ b/tools/filters/sff_extractor.xml Thu Oct 20 16:38:14 2011 -0400
@@ -1,4 +1,4 @@
-<tool id="Sff_extractor" name="SFF converter" version="1.0.0">
+<tool id="Sff_extractor" name="SFF converter" version="1.0.1"><description></description><command interpreter="python">
#if str($fastq_output) == "fastq_false" #sff_extract.py $clip --seq_file=$out_file3 --qual_file=$out_file4 --xml_file=$out_file2 $input
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
20 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/070513d25b63/
changeset: 070513d25b63
user: dan
date: 2011-10-20 16:24:19
summary: First pass at updating GATK tools to version 1.2. Changes are not backwards compatible with workflows. Still considered BETA, and so future changes are like to also not be backwards compatible.
affected #: 20 files (-1 bytes)
--- a/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains Thu Oct 20 10:03:28 2011 -0400
+++ b/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains Thu Oct 20 10:24:19 2011 -0400
@@ -10,4 +10,4 @@
UnifiedGenotyper - % confidently called bases of callable loci 100.000
UnifiedGenotyper - Actual calls made 1
TraversalEngine - Total runtime
-TraversalEngine - 0 reads were filtered out during traversal out of 10 total (0.00%)
\ No newline at end of file
+TraversalEngine - 0 reads were filtered out during traversal out of 20 total (0.00%)
--- a/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf Thu Oct 20 10:03:28 2011 -0400
+++ b/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf Thu Oct 20 10:24:19 2011 -0400
@@ -21,7 +21,8 @@
##INFO=<ID=MQRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities">
##INFO=<ID=QD,Number=1,Type=Float,Description="Variant Confidence/Quality by Depth">
##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read position bias">
-##INFO=<ID=SB,Number=1,Type=Float,Description="Strand Bias">
-##UnifiedGenotyper="analysis_type=UnifiedGenotyper input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/gatk_input_0.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/gatk_input.fasta rodBind=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/input_dbsnp_0.bed] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false DBSNP=null downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false genotype_likelihoods_model=BOTH p_nonref_model=EXACT heterozygosity=0.0010 pcr_error_rate=1.0E-4 genotyping_mode=DISCOVERY output_mode=EMIT_ALL_CONFIDENT_SITES standard_min_confidence_threshold_for_calling=4.0 standard_min_confidence_threshold_for_emitting=4.0 noSLOD=false assume_single_sample_reads=null abort_at_too_much_coverage=-1 min_base_quality_score=17 min_mapping_quality_score=20 max_deletion_fraction=-1.0 min_indel_count_for_genotyping=2 indel_heterozygosity=1.25E-4 indelGapContinuationPenalty=10.0 indelGapOpenPenalty=3.0 indelHaplotypeSize=80 doContextDependentGapPenalties=true getGapPenaltiesFromData=false indel_recal_file=indel.recal_data.csv indelDebug=false dovit=false GSA_PRODUCTION_ONLY=false exactCalculation=LINEAR_EXPERIMENTAL ignoreSNPAlleles=false output_all_callable_bases=false genotype=false out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub debug_file=null metrics_file=null annotation=[]"
+##UnifiedGenotyper="analysis_type=UnifiedGenotyper input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input_0.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=4 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false genotype_likelihoods_model=BOTH p_nonref_model=EXACT heterozygosity=0.0010 pcr_error_rate=1.0E-4 genotyping_mode=DISCOVERY output_mode=EMIT_ALL_CONFIDENT_SITES standard_min_confidence_threshold_for_calling=0.0 standard_min_confidence_threshold_for_emitting=4.0 computeSLOD=false alleles=(RodBinding name= source=UNBOUND) assume_single_sample_reads=null abort_at_too_much_coverage=-1 min_base_quality_score=17 min_mapping_quality_score=20 max_deletion_fraction=-1.0 min_indel_count_for_genotyping=2 indel_heterozygosity=1.25E-4 indelGapContinuationPenalty=10.0 indelGapOpenPenalty=3.0 indelHaplotypeSize=80 doContextDependentGapPenalties=true getGapPenaltiesFromData=false indel_recal_file=indel.recal_data.csv indelDebug=false dovit=false GSA_PRODUCTION_ONLY=false exactCalculation=LINEAR_EXPERIMENTAL ignoreSNPAlleles=false output_all_callable_bases=false genotype=false dbsnp=(RodBinding name=dbsnp source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/input_dbsnp_0.vcf) out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub debug_file=null annotation=[]"
+##contig=<ID=phiX174,length=5386>
+##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 37.27 . AC=0;AF=0.00;AN=2;DP=10;MQ=37.74;MQ0=0 GT:DP:GQ:PL 0/0:7:0:0,0,0
+phiX174 1443 . AC . 0 . DB;DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
--- a/test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf Thu Oct 20 10:03:28 2011 -0400
+++ b/test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf Thu Oct 20 10:24:19 2011 -0400
@@ -22,8 +22,10 @@
##INFO=<ID=MQRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities">
##INFO=<ID=QD,Number=1,Type=Float,Description="Variant Confidence/Quality by Depth">
##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read position bias">
-##INFO=<ID=SB,Number=1,Type=Float,Description="Strand Bias">
-##UnifiedGenotyper="analysis_type=UnifiedGenotyper input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/gatk_input_0.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/gatk_input.fasta rodBind=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/input_dbsnp_0.bed] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false DBSNP=null downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false genotype_likelihoods_model=BOTH p_nonref_model=EXACT heterozygosity=0.0010 pcr_error_rate=1.0E-4 genotyping_mode=DISCOVERY output_mode=EMIT_ALL_CONFIDENT_SITES standard_min_confidence_threshold_for_calling=4.0 standard_min_confidence_threshold_for_emitting=4.0 noSLOD=false assume_single_sample_reads=null abort_at_too_much_coverage=-1 min_base_quality_score=17 min_mapping_quality_score=20 max_deletion_fraction=-1.0 min_indel_count_for_genotyping=2 indel_heterozygosity=1.25E-4 indelGapContinuationPenalty=10.0 indelGapOpenPenalty=3.0 indelHaplotypeSize=80 doContextDependentGapPenalties=true getGapPenaltiesFromData=false indel_recal_file=indel.recal_data.csv indelDebug=false dovit=false GSA_PRODUCTION_ONLY=false exactCalculation=LINEAR_EXPERIMENTAL ignoreSNPAlleles=false output_all_callable_bases=false genotype=false out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub debug_file=null metrics_file=null annotation=[]"
-##VariantAnnotator="analysis_type=VariantAnnotator input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/gatk_input.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/gatk_input.fasta rodBind=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/input_variant.vcf, /var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/input_dbsnp_0.bed] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false DBSNP=null downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sampleName=null annotation=[AlleleBalance, BaseQualityRankSumTest, DepthOfCoverage, HomopolymerRun, MappingQualityRankSumTest, MappingQualityZero, QualByDepth, RMSMappingQuality, SpanningDeletions, HaplotypeScore] group=[] expression=[] useAllAnnotations=false list=false assume_single_sample_reads=null vcfContainsOnlyIndels=false"
+##UnifiedGenotyper="analysis_type=UnifiedGenotyper input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input_0.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=4 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false genotype_likelihoods_model=BOTH p_nonref_model=EXACT heterozygosity=0.0010 pcr_error_rate=1.0E-4 genotyping_mode=DISCOVERY output_mode=EMIT_ALL_CONFIDENT_SITES standard_min_confidence_threshold_for_calling=0.0 standard_min_confidence_threshold_for_emitting=4.0 computeSLOD=false alleles=(RodBinding name= source=UNBOUND) assume_single_sample_reads=null abort_at_too_much_coverage=-1 min_base_quality_score=17 min_mapping_quality_score=20 max_deletion_fraction=-1.0 min_indel_count_for_genotyping=2 indel_heterozygosity=1.25E-4 indelGapContinuationPenalty=10.0 indelGapOpenPenalty=3.0 indelHaplotypeSize=80 doContextDependentGapPenalties=true getGapPenaltiesFromData=false indel_recal_file=indel.recal_data.csv indelDebug=false dovit=false GSA_PRODUCTION_ONLY=false exactCalculation=LINEAR_EXPERIMENTAL ignoreSNPAlleles=false output_all_callable_bases=false genotype=false dbsnp=(RodBinding name=dbsnp source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/input_dbsnp_0.vcf) out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub debug_file=null annotation=[]"
+##VariantAnnotator="analysis_type=VariantAnnotator input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false variant=(RodBinding name=variant source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/input_variant.vcf) snpEffFile=(RodBinding name= source=UNBOUND) dbsnp=(RodBinding name=dbsnp source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/input_dbsnp_dbsnp.vcf) comp=[] resource=[] out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub annotation=[SpanningDeletions, MappingQualityZero, AlleleBalance, RMSMappingQuality, HaplotypeScore, HomopolymerRun, DepthOfCoverage, MappingQualityRankSumTest, BaseQualityRankSumTest, QualByDepth] group=[] expression=[] useAllAnnotations=false list=false assume_single_sample_reads=null vcfContainsOnlyIndels=false"
+##contig=<ID=phiX174,length=5386>
+##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
+##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 37.27 . AC=0;AF=0.00;AN=2;DP=10;MQ=37.74;MQ0=0 GT:DP:GQ:PL 0/0:7:0:0,0,0
+phiX174 1443 . AC . 0 . DB;DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
--- a/test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf Thu Oct 20 10:03:28 2011 -0400
+++ b/test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf Thu Oct 20 10:24:19 2011 -0400
@@ -1,5 +1,5 @@
##fileformat=VCFv4.1
-##CombineVariants="analysis_type=CombineVariants input_file=[] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpNWtPhs/gatk_input.fasta rodBind=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpNWtPhs/input_variant_from_variant_annotator.vcf] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false DBSNP=null downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub genotypemergeoption=PRIORITIZE filteredrecordsmergetype=KEEP_IF_ANY_UNFILTERED rod_priority_list=from_variant_annotator printComplexMerges=false filteredAreUncalled=false minimalVCF=false setKey=set assumeIdenticalSamples=false minimumN=1 masterMerge=false mergeInfoWithMaxAC=false"
+##CombineVariants="analysis_type=CombineVariants input_file=[] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false variant=[(RodBinding name=from_variant_annotator source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/input_variant_from_variant_annotator.vcf)] out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub genotypemergeoption=PRIORITIZE filteredrecordsmergetype=KEEP_IF_ANY_UNFILTERED rod_priority_list=from_variant_annotator printComplexMerges=false filteredAreUncalled=false minimalVCF=false setKey=set assumeIdenticalSamples=false minimumN=1 mergeInfoWithMaxAC=false"
##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth (only filtered reads used for calling)">
##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype Quality">
@@ -23,9 +23,11 @@
##INFO=<ID=MQRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities">
##INFO=<ID=QD,Number=1,Type=Float,Description="Variant Confidence/Quality by Depth">
##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read position bias">
-##INFO=<ID=SB,Number=1,Type=Float,Description="Strand Bias">
##INFO=<ID=set,Number=1,Type=String,Description="Source VCF for the merged record in CombineVariants">
-##UnifiedGenotyper="analysis_type=UnifiedGenotyper input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/gatk_input_0.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/gatk_input.fasta rodBind=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpXqIddV/input_dbsnp_0.bed] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false DBSNP=null downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false genotype_likelihoods_model=BOTH p_nonref_model=EXACT heterozygosity=0.0010 pcr_error_rate=1.0E-4 genotyping_mode=DISCOVERY output_mode=EMIT_ALL_CONFIDENT_SITES standard_min_confidence_threshold_for_calling=4.0 standard_min_confidence_threshold_for_emitting=4.0 noSLOD=false assume_single_sample_reads=null abort_at_too_much_coverage=-1 min_base_quality_score=17 min_mapping_quality_score=20 max_deletion_fraction=-1.0 min_indel_count_for_genotyping=2 indel_heterozygosity=1.25E-4 indelGapContinuationPenalty=10.0 indelGapOpenPenalty=3.0 indelHaplotypeSize=80 doContextDependentGapPenalties=true getGapPenaltiesFromData=false indel_recal_file=indel.recal_data.csv indelDebug=false dovit=false GSA_PRODUCTION_ONLY=false exactCalculation=LINEAR_EXPERIMENTAL ignoreSNPAlleles=false output_all_callable_bases=false genotype=false out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub debug_file=null metrics_file=null annotation=[]"
-##VariantAnnotator="analysis_type=VariantAnnotator input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/gatk_input.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/gatk_input.fasta rodBind=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/input_variant.vcf, /var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmpYvqW3G/input_dbsnp_0.bed] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false DBSNP=null downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sampleName=null annotation=[AlleleBalance, BaseQualityRankSumTest, DepthOfCoverage, HomopolymerRun, MappingQualityRankSumTest, MappingQualityZero, QualByDepth, RMSMappingQuality, SpanningDeletions, HaplotypeScore] group=[] expression=[] useAllAnnotations=false list=false assume_single_sample_reads=null vcfContainsOnlyIndels=false"
+##UnifiedGenotyper="analysis_type=UnifiedGenotyper input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input_0.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=4 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false genotype_likelihoods_model=BOTH p_nonref_model=EXACT heterozygosity=0.0010 pcr_error_rate=1.0E-4 genotyping_mode=DISCOVERY output_mode=EMIT_ALL_CONFIDENT_SITES standard_min_confidence_threshold_for_calling=0.0 standard_min_confidence_threshold_for_emitting=4.0 computeSLOD=false alleles=(RodBinding name= source=UNBOUND) assume_single_sample_reads=null abort_at_too_much_coverage=-1 min_base_quality_score=17 min_mapping_quality_score=20 max_deletion_fraction=-1.0 min_indel_count_for_genotyping=2 indel_heterozygosity=1.25E-4 indelGapContinuationPenalty=10.0 indelGapOpenPenalty=3.0 indelHaplotypeSize=80 doContextDependentGapPenalties=true getGapPenaltiesFromData=false indel_recal_file=indel.recal_data.csv indelDebug=false dovit=false GSA_PRODUCTION_ONLY=false exactCalculation=LINEAR_EXPERIMENTAL ignoreSNPAlleles=false output_all_callable_bases=false genotype=false dbsnp=(RodBinding name=dbsnp source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/input_dbsnp_0.vcf) out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub debug_file=null annotation=[]"
+##VariantAnnotator="analysis_type=VariantAnnotator input_file=[/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.bam] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false variant=(RodBinding name=variant source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/input_variant.vcf) snpEffFile=(RodBinding name= source=UNBOUND) dbsnp=(RodBinding name=dbsnp source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/input_dbsnp_dbsnp.vcf) comp=[] resource=[] out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub annotation=[SpanningDeletions, MappingQualityZero, AlleleBalance, RMSMappingQuality, HaplotypeScore, HomopolymerRun, DepthOfCoverage, MappingQualityRankSumTest, BaseQualityRankSumTest, QualByDepth] group=[] expression=[] useAllAnnotations=false list=false assume_single_sample_reads=null vcfContainsOnlyIndels=false"
+##contig=<ID=phiX174,length=5386>
+##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
+##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . . PASS AC=0;AF=0.00;AN=2;DP=10;MQ=37.74;MQ0=0;set=ReferenceInAll GT:DP:GQ:PL 0/0:7:0:0,0,0
+phiX174 1443 . AC . . PASS AC=0;AF=0.00;AN=0;DB;DP=10;MQ=37.74;MQ0=0;QD=0.00;set=ReferenceInAll GT:DP:PL ./.:10:0,0,0
--- a/test-data/gatk/gatk_variant_eval/gatk_variant_eval_out_1.tabular Thu Oct 20 10:03:28 2011 -0400
+++ b/test-data/gatk/gatk_variant_eval/gatk_variant_eval_out_1.tabular Thu Oct 20 10:24:19 2011 -0400
@@ -1,36 +1,36 @@
-##:GATKReport.v0.1 CompOverlap : The overlap between eval and comp sites
-CompOverlap CompRod EvalRod JexlExpression Novelty nEvalVariants nCompVariants novelSites nVariantsAtComp compRate nConcordant concordantRate
-CompOverlap dbsnp eval none all 0 0 0 0 0.00000000 0 0.00000000
-CompOverlap dbsnp eval none known 0 0 0 0 0.00000000 0 0.00000000
-CompOverlap dbsnp eval none novel 0 0 0 0 0.00000000 0 0.00000000
+##:GATKReport.v0.2 CompOverlap : The overlap between eval and comp sites
+CompOverlap CompRod EvalRod JexlExpression Novelty nEvalVariants novelSites nVariantsAtComp compRate nConcordant concordantRate
+CompOverlap dbsnp input_0 none all 0 0 0 0.00000000 0 0.00000000
+CompOverlap dbsnp input_0 none known 0 0 0 0.00000000 0 0.00000000
+CompOverlap dbsnp input_0 none novel 0 0 0 0.00000000 0 0.00000000
-##:GATKReport.v0.1 CountVariants : Counts different classes of variants in the sample
-CountVariants CompRod EvalRod JexlExpression Novelty nProcessedLoci nCalledLoci nRefLoci nVariantLoci variantRate variantRatePerBp nSNPs nMNPs nInsertions nDeletions nComplex nNoCalls nHets nHomRef nHomVar nSingletons nHomDerived heterozygosity heterozygosityPerBp hetHomRatio indelRate indelRatePerBp deletionInsertionRatio
-CountVariants dbsnp eval none all 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 0 1 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-CountVariants dbsnp eval none known 5386 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-CountVariants dbsnp eval none novel 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 0 1 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
+##:GATKReport.v0.2 CountVariants : Counts different classes of variants in the sample
+CountVariants CompRod EvalRod JexlExpression Novelty nProcessedLoci nCalledLoci nRefLoci nVariantLoci variantRate variantRatePerBp nSNPs nMNPs nInsertions nDeletions nComplex nMixed nNoCalls nHets nHomRef nHomVar nSingletons nHomDerived heterozygosity heterozygosityPerBp hetHomRatio indelRate indelRatePerBp deletionInsertionRatio
+CountVariants dbsnp input_0 none all 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 1 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
+CountVariants dbsnp input_0 none known 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 1 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
+CountVariants dbsnp input_0 none novel 5386 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-##:GATKReport.v0.1 SimpleMetricsByAC.metrics : TiTv by allele count
+##:GATKReport.v0.2 SimpleMetricsByAC.metrics : TiTv by allele count
SimpleMetricsByAC.metrics CompRod EvalRod JexlExpression Novelty row AC nTi nTv n TiTv
-SimpleMetricsByAC.metrics dbsnp eval none all ac0 0 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none all ac1 1 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none all ac2 2 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none known ac0 0 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none known ac1 1 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none known ac2 2 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none novel ac0 0 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none novel ac1 1 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp eval none novel ac2 2 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none all ac0 0 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none all ac1 1 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none all ac2 2 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none known ac0 0 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none known ac1 1 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none known ac2 2 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none novel ac0 0 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none novel ac1 1 0 0 0 0.0
+SimpleMetricsByAC.metrics dbsnp input_0 none novel ac2 2 0 0 0 0.0
-##:GATKReport.v0.1 TiTvVariantEvaluator : Ti/Tv Variant Evaluator
-TiTvVariantEvaluator CompRod EvalRod JexlExpression Novelty nTi nTv tiTvRatio nTiInComp nTvInComp TiTvRatioStandard nTiDerived nTvDerived tiTvDerivedRatio
-TiTvVariantEvaluator dbsnp eval none all 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
-TiTvVariantEvaluator dbsnp eval none known 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
-TiTvVariantEvaluator dbsnp eval none novel 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
+##:GATKReport.v0.2 TiTvVariantEvaluator : Ti/Tv Variant Evaluator
+TiTvVariantEvaluator CompRod EvalRod JexlExpression Novelty nTi nTv tiTvRatio nTiInComp nTvInComp TiTvRatioStandard nTiDerived nTvDerived tiTvDerivedRatio
+TiTvVariantEvaluator dbsnp input_0 none all 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
+TiTvVariantEvaluator dbsnp input_0 none known 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
+TiTvVariantEvaluator dbsnp input_0 none novel 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
-##:GATKReport.v0.1 ValidationReport : Assess site accuracy and sensitivity of callset against follow-up validation assay
-ValidationReport CompRod EvalRod JexlExpression Novelty nComp TP FP FN TN sensitivity specificity PPV FDR CompMonoEvalNoCall CompMonoEvalFiltered CompMonoEvalMono CompMonoEvalPoly CompPolyEvalNoCall CompPolyEvalFiltered CompPolyEvalMono CompPolyEvalPoly CompFiltered nDifferentAlleleSites
-ValidationReport dbsnp eval none all 0 0 0 0 0 NaN 100.00000000 NaN NaN 0 0 0 0 0 0 0 0 0 0
-ValidationReport dbsnp eval none known 0 0 0 0 0 NaN 100.00000000 NaN NaN 0 0 0 0 0 0 0 0 0 0
-ValidationReport dbsnp eval none novel 0 0 0 0 0 NaN 100.00000000 NaN NaN 0 0 0 0 0 0 0 0 0 0
+##:GATKReport.v0.2 ValidationReport : Assess site accuracy and sensitivity of callset against follow-up validation assay
+ValidationReport CompRod EvalRod JexlExpression Novelty nComp TP FP FN TN sensitivity specificity PPV FDR CompMonoEvalNoCall CompMonoEvalFiltered CompMonoEvalMono CompMonoEvalPoly CompPolyEvalNoCall CompPolyEvalFiltered CompPolyEvalMono CompPolyEvalPoly CompFiltered nDifferentAlleleSites
+ValidationReport dbsnp input_0 none all 43 0 0 0 43 NaN 100.00000000 NaN NaN 42 0 1 0 0 0 0 0 0 0
+ValidationReport dbsnp input_0 none known 1 0 0 0 1 NaN 100.00000000 NaN NaN 0 0 1 0 0 0 0 0 0 0
+ValidationReport dbsnp input_0 none novel 42 0 0 0 42 NaN 100.00000000 NaN NaN 42 0 0 0 0 0 0 0 0 0
--- a/tools/gatk/analyze_covariates.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/analyze_covariates.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,7 +1,10 @@
-<tool id="gatk_analyze_covariates" name="Analyze Covariates" version="0.0.2">
+<tool id="gatk_analyze_covariates" name="Analyze Covariates" version="0.0.3"><description>- draw plots</description>
-<command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements>
+ <command interpreter="python">gatk_wrapper.py
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
--html_report_from_directory "${output_html}" "${output_html.files_path}"
-p 'java
--- a/tools/gatk/count_covariates.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/count_covariates.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,7 +1,10 @@
-<tool id="gatk_count_covariates" name="Count Covariates" version="0.0.2">
+<tool id="gatk_count_covariates" name="Count Covariates" version="0.0.3"><description>on BAM files</description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
-d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
-d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
@@ -35,7 +38,7 @@
#set $snp_dataset_provided = True
#end if
#set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
+ -d "--knownSites:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
#if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
-p '--rodToIntervalTrackName "${rod_bind_name}"'
#end if
--- a/tools/gatk/indel_realigner.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/indel_realigner.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,7 +1,10 @@
-<tool id="gatk_indel_realigner" name="Indel Realigner" version="0.0.2">
+<tool id="gatk_indel_realigner" name="Indel Realigner" version="0.0.3"><description>- perform local realignment</description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
-d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
-d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
@@ -26,7 +29,7 @@
#set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
#end if
#set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
+ -d "-known:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
#if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
-p '--rodToIntervalTrackName "${rod_bind_name}"'
#end if
@@ -104,7 +107,7 @@
<when value="cached"><param name="input_bam" type="data" format="bam" label="BAM file"><validator type="unspecified_build" />
- <validator type="dataset_metadata_in_file" filename="picard_index.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select -->
+ <validator type="dataset_metadata_in_data_table" table_name="picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select --></param><param name="ref_file" type="select" label="Using reference genome"><options from_data_table="picard_indexes">
@@ -114,7 +117,11 @@
</when><when value="history"><!-- FIX ME!!!! --><param name="input_bam" type="data" format="bam" label="BAM file" />
- <param name="ref_file" type="data" format="fasta" label="Using reference file" />
+ <param name="ref_file" type="data" format="fasta" label="Using reference file">
+ <options>
+ <filter type="data_meta" key="dbkey" ref="input_bam" /><!-- FIX ME!!!! -->
+ </options>
+ </param></when></conditional><param name="target_intervals" type="data" format="gatk_interval,bed,picard_interval_list" label="Restrict realignment to provided intervals" />
@@ -277,7 +284,7 @@
<param name="input_bam" value="gatk/fake_phiX_reads_1.bam" ftype="bam" /><param name="rod_bind_type_selector" value="snps" /><param name="rodToIntervalTrackName" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" /><param name="lod_threshold" value="5.0" /><param name="knowns_only" /><param name="gatk_param_type_selector" value="basic" />
--- a/tools/gatk/realigner_target_creator.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/realigner_target_creator.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,7 +1,10 @@
-<tool id="gatk_realigner_target_creator" name="Realigner Target Creator" version="0.0.2">
+<tool id="gatk_realigner_target_creator" name="Realigner Target Creator" version="0.0.3"><description>for use in local realignment</description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
-d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
-d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
@@ -23,7 +26,7 @@
#set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
#end if
#set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
+ -d "-known:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
#if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
-p '--rodToIntervalTrackName "${rod_bind_name}"'
#end if
@@ -92,7 +95,7 @@
<when value="cached"><param name="input_bam" type="data" format="bam" label="BAM file"><validator type="unspecified_build" />
- <validator type="dataset_metadata_in_file" filename="picard_index.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select -->
+ <validator type="dataset_metadata_in_data_table" table_name="picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select --></param><param name="ref_file" type="select" label="Using reference genome"><options from_data_table="picard_indexes">
@@ -100,9 +103,13 @@
</options></param></when>
- <when value="history"><!-- FIX ME!!!! -->
+ <when value="history"><param name="input_bam" type="data" format="bam" label="BAM file" />
- <param name="ref_file" type="data" format="fasta" label="Using reference file" />
+ <param name="ref_file" type="data" format="fasta" label="Using reference file">
+ <options>
+ <filter type="data_meta" key="dbkey" ref="input_bam" /><!-- FIX ME!!!! -->
+ </options>
+ </param></when></conditional>
@@ -115,20 +122,20 @@
<option value="custom">Custom</option></param><when value="dbsnp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when><when value="snps">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when><when value="indels">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when><when value="custom"><param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when></conditional>
@@ -254,9 +261,13 @@
<param name="input_bam" value="gatk/fake_phiX_reads_1.bam" ftype="bam" /><param name="rod_bind_type_selector" value="dbsnp" /><param name="rodToIntervalTrackName" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" /><param name="gatk_param_type_selector" value="basic" />
- <param name="analysis_param_type_selector" value="basic" />
+ <param name="analysis_param_type_selector" value="advanced" />
+ <param name="windowSize" value="10" />
+ <param name="mismatchFraction" value="0.15" />
+ <param name="minReadsAtLocus" value="4" />
+ <param name="maxIntervalSize" value="500" /><output name="output_interval" file="gatk/gatk_realigner_target_creator/gatk_realigner_target_creator_out_1.gatk_interval" /><output name="output_log" file="gatk/gatk_realigner_target_creator/gatk_realigner_target_creator_out_1.log.contains" compare="contains"/></test>
--- a/tools/gatk/table_recalibration.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/table_recalibration.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,7 +1,10 @@
-<tool id="gatk_table_recalibration" name="Table Recalibration" version="0.0.2">
+<tool id="gatk_table_recalibration" name="Table Recalibration" version="0.0.3"><description>on BAM files</description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
-d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
-d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
@@ -120,7 +123,7 @@
<when value="cached"><param name="input_bam" type="data" format="bam" label="BAM file"><validator type="unspecified_build" />
- <validator type="dataset_metadata_in_file" filename="picard_index.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select -->
+ <validator type="dataset_metadata_in_data_table" table_name="picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select --></param><param name="ref_file" type="select" label="Using reference genome"><options from_data_table="picard_indexes">
--- a/tools/gatk/unified_genotyper.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/unified_genotyper.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,9 +1,14 @@
-<tool id="gatk_unified_genotyper" name="Unified Genotyper" version="0.0.2">
+<tool id="gatk_unified_genotyper" name="Unified Genotyper" version="0.0.3"><description>SNP and indel caller</description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
#for $i, $input_bam in enumerate( $reference_source.input_bams ):
+ ${dir( $input_bam.input_bam )}
+ ${dir( $input_bam.input_bam.dataset )}
-d "-I" "${input_bam.input_bam}" "${input_bam.input_bam.ext}" "gatk_input_${i}"
-d "" "${input_bam.input_bam.metadata.bam_index}" "bam_index" "gatk_input_${i}" ##hardcode galaxy ext type as bam_index
#end for
@@ -11,12 +16,14 @@
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "UnifiedGenotyper"
--num_threads 4 ##hard coded, for now
- -o "${output_vcf}"
+ --out "${output_vcf}"
+ --metrics_file "${output_metrics}"
-et "NO_ET" ##ET no phone home
##-log "${output_log}" ##don't use this to log to file, instead directly capture stdout
#if $reference_source.reference_source_selector != "history":
-R "${reference_source.ref_file.fields.path}"
#end if
+ --genotype_likelihoods_model "${genotype_likelihoods_model}"
--standard_min_confidence_threshold_for_calling "${standard_min_confidence_threshold_for_calling}"
--standard_min_confidence_threshold_for_emitting "${standard_min_confidence_threshold_for_emitting}"
'
@@ -28,7 +35,7 @@
#set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
#end if
#set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
+ -d "--dbsnp:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
#if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
-p '--rodToIntervalTrackName "${rod_bind_name}"'
#end if
@@ -81,13 +88,15 @@
##start analysis specific options
#if $analysis_param_type.analysis_param_type_selector == "advanced":
-p '
- --genotype_likelihoods_model "${analysis_param_type.genotype_likelihoods_model}"
--p_nonref_model "${analysis_param_type.p_nonref_model}"
--heterozygosity "${analysis_param_type.heterozygosity}"
--pcr_error_rate "${analysis_param_type.pcr_error_rate}"
- --genotyping_mode "${analysis_param_type.genotyping_mode}"
+ --genotyping_mode "${analysis_param_type.genotyping_mode_type.genotyping_mode}"
+ #if str( $analysis_param_type.genotyping_mode_type.genotyping_mode ) == 'GENOTYPE_GIVEN_ALLELES':
+ --alleles "${analysis_param_type.genotyping_mode_type.input_alleles_rod}"
+ #end if
--output_mode "${analysis_param_type.output_mode}"
- ${analysis_param_type.noSLOD}
+ ${analysis_param_type.compute_SLOD}
--min_base_quality_score "${analysis_param_type.min_base_quality_score}"
--min_mapping_quality_score "${analysis_param_type.min_mapping_quality_score}"
--max_deletion_fraction "${analysis_param_type.max_deletion_fraction}"
@@ -120,7 +129,7 @@
<repeat name="input_bams" title="Sample BAM file" min="1"><param name="input_bam" type="data" format="bam" label="BAM file"><validator type="unspecified_build" />
- <validator type="dataset_metadata_in_file" filename="picard_index.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select -->
+ <validator type="dataset_metadata_in_data_table" table_name="picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select --></param></repeat><param name="ref_file" type="select" label="Using reference genome">
@@ -146,25 +155,31 @@
<option value="custom">Custom</option></param><when value="dbsnp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when><when value="snps">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when><when value="indels">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when><when value="custom"><param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
+ <param name="input_rod" type="data" format="vcf" label="ROD file" /><param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" /></when></conditional></repeat>
+ <param name="genotype_likelihoods_model" type="select" label="Genotype likelihoods calculation model to employ">
+ <option value="BOTH" selected="True">BOTH</option>
+ <option value="SNP">SNP</option>
+ <option value="INDEL">INDEL</option>
+ </param>
+
<param name="standard_min_confidence_threshold_for_calling" type="float" value="30.0" label="The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be called" /><param name="standard_min_confidence_threshold_for_emitting" type="float" value="30.0" label="The minimum phred-scaled confidence threshold at which variants not at 'trigger' track sites should be emitted (and filtered if less than the calling threshold)" />
@@ -271,27 +286,30 @@
<!-- Do nothing here --></when><when value="advanced">
- <param name="genotype_likelihoods_model" type="select" label="Genotype likelihoods calculation model to employ">
- <option value="BOTH" selected="True">BOTH</option>
- <option value="SNP">SNP</option>
- <option value="INDEL">INDEL</option>
- </param><param name="p_nonref_model" type="select" label="Non-reference probability calculation model to employ"><option value="EXACT" selected="True">EXACT</option><option value="GRID_SEARCH">GRID_SEARCH</option></param><param name="heterozygosity" type="float" value="1e-3" label="Heterozygosity value used to compute prior likelihoods for any locus" /><param name="pcr_error_rate" type="float" value="1e-4" label="The PCR error rate to be used for computing fragment-based likelihoods" />
- <param name="genotyping_mode" type="select" label="How to determine the alternate allele to use for genotyping">
- <option value="DISCOVERY" selected="True">DISCOVERY</option>
- <option value="GENOTYPE_GIVEN_ALLELES">GENOTYPE_GIVEN_ALLELES</option>
- </param>
+ <conditional name="genotyping_mode_type">
+ <param name="genotyping_mode" type="select" label="How to determine the alternate allele to use for genotyping">
+ <option value="DISCOVERY" selected="True">DISCOVERY</option>
+ <option value="GENOTYPE_GIVEN_ALLELES">GENOTYPE_GIVEN_ALLELES</option>
+ </param>
+ <when value="DISCOVERY">
+ <!-- Do nothing here -->
+ </when>
+ <when value="GENOTYPE_GIVEN_ALLELES">
+ <param name="input_alleles_rod" type="data" format="vcf" label="Alleles ROD file" />
+ </when>
+ </conditional><param name="output_mode" type="select" label="Should we output confident genotypes (i.e. including ref calls) or just the variants?"><option value="EMIT_VARIANTS_ONLY" selected="True">EMIT_VARIANTS_ONLY</option><option value="EMIT_ALL_CONFIDENT_SITES">EMIT_ALL_CONFIDENT_SITES</option><option value="EMIT_ALL_SITES">EMIT_ALL_SITES</option></param>
- <param name="noSLOD" type="boolean" truevalue="--noSLOD" falsevalue="" label="Do not calculate the SLOD" />
+ <param name="compute_SLOD" type="boolean" truevalue="--computeSLOD" falsevalue="" label="Compute the SLOD" /><param name="min_base_quality_score" type="integer" value="17" label="Minimum base quality required to consider a base for calling" /><param name="min_mapping_quality_score" type="integer" value="20" label="Minimum read mapping quality required to consider a read for calling" /><param name="max_deletion_fraction" type="float" value="0.05" label="Maximum fraction of reads with deletions spanning this locus for it to be callable" help="to disable, set to < 0 or > 1" />
@@ -302,16 +320,35 @@
<param name="indelHaplotypeSize" type="integer" value="80" label="Indel haplotype size" /><param name="doContextDependentGapPenalties" type="boolean" truevalue="--doContextDependentGapPenalties" falsevalue="" label="Vary gap penalties by context" /><param name="annotation" type="select" multiple="True" display="checkboxes" label="Annotation Types">
- <option value="AlleleBalance">AlleleBalance</option>
- <option value="BaseQualityRankSumTest">BaseQualityRankSumTest</option>
- <option value="DepthOfCoverage">DepthOfCoverage</option>
- <option value="HomopolymerRun">HomopolymerRun</option>
- <option value="MappingQualityRankSumTest">MappingQualityRankSumTest</option>
- <option value="MappingQualityZero">MappingQualityZero</option>
- <option value="QualByDepth">QualByDepth</option>
- <option value="RMSMappingQuality">RMSMappingQuality</option>
- <option value="SpanningDeletions">SpanningDeletions</option>
- <option value="HaplotypeScore">HaplotypeScore</option>
+ <option value="ChromosomeCounts"/>
+ <option value="IndelType"/>
+ <option value="SpanningDeletions"/>
+ <option value="HardyWeinberg"/>
+ <option value="NBaseCount"/>
+ <option value="MappingQualityZero"/>
+ <option value="AlleleBalance"/>
+ <option value="BaseCounts"/>
+ <option value="LowMQ"/>
+ <option value="InbreedingCoeff"/>
+ <option value="RMSMappingQuality"/>
+ <option value="HaplotypeScore"/>
+ <option value="TechnologyComposition"/>
+ <option value="SampleList"/>
+ <option value="FisherStrand"/>
+ <option value="HomopolymerRun"/>
+ <option value="DepthOfCoverage"/>
+ <option value="SnpEff"/>
+ <option value="MappingQualityZeroFraction"/>
+ <option value="GCContent"/>
+ <option value="MappingQualityRankSumTest"/>
+ <option value="ReadPosRankSumTest"/>
+ <option value="BaseQualityRankSumTest"/>
+ <option value="QualByDepth"/>
+ <option value="SBByDepth"/>
+ <option value="ReadDepthAndAllelicFractionBySample"/>
+ <option value="AlleleBalanceBySample"/>
+ <option value="DepthPerAlleleBySample"/>
+ <option value="MappingQualityZeroBySample"/></param><param name="group" type="select" multiple="True" display="checkboxes" label="Annotation Interfaces/Groups"><option value="Standard">Standard</option>
@@ -324,6 +361,7 @@
</inputs><outputs><data format="vcf" name="output_vcf" label="${tool.name} on ${on_string} (VCF)" />
+ <data format="txt" name="output_metrics" label="${tool.name} on ${on_string} (metrics)" /><data format="txt" name="output_log" label="${tool.name} on ${on_string} (log)" /></outputs><!-- FIXME! <trackster_conf/> -->
@@ -333,9 +371,9 @@
<param name="ref_file" value="phiX.fasta" ftype="fasta" /><param name="input_bam" value="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" /><param name="rod_bind_type_selector" value="dbsnp" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" /><param name="rodToIntervalTrackName" />
- <param name="standard_min_confidence_threshold_for_calling" value="4" />
+ <param name="standard_min_confidence_threshold_for_calling" value="0" /><param name="standard_min_confidence_threshold_for_emitting" value="4" /><param name="gatk_param_type_selector" value="basic" /><param name="analysis_param_type_selector" value="advanced" />
@@ -345,7 +383,7 @@
<param name="pcr_error_rate" value="0.0001" /><param name="genotyping_mode" value="DISCOVERY" /><param name="output_mode" value="EMIT_ALL_CONFIDENT_SITES" />
- <param name="noSLOD" />
+ <param name="compute_SLOD" /><param name="min_base_quality_score" value="17" /><param name="min_mapping_quality_score" value="20" /><param name="max_deletion_fraction" value="-1" />
@@ -357,8 +395,9 @@
<param name="doContextDependentGapPenalties" /><!-- <param name="annotation" value="" /><param name="group" value="" /> -->
- <output name="output_vcf" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf" lines_diff="2"/>
- <output name="output_log" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains" compare="contains"/>
+ <output name="output_vcf" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf" lines_diff="4" />
+ <output name="output_metrics" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.metrics" />
+ <output name="output_log" file="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.log.contains" compare="contains" /></test></tests><help>
--- a/tools/gatk/variant_annotator.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variant_annotator.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,13 +1,16 @@
-<tool id="gatk_variant_annotator" name="Variant Annotator" version="0.0.1">
+<tool id="gatk_variant_annotator" name="Variant Annotator" version="0.0.2"><description></description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
#if str( $reference_source.input_bam ) != "None":
-d "-I" "${reference_source.input_bam}" "${reference_source.input_bam.ext}" "gatk_input"
-d "" "${reference_source.input_bam.metadata.bam_index}" "bam_index" "gatk_input" ##hardcode galaxy ext type as bam_index
#end if
- -d "-B:variant,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
+ -d "--variant" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
-p 'java
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "VariantAnnotator"
@@ -35,26 +38,40 @@
## #end if
## #end for
## #end for
- #if str( $reference_source.input_variant_name ):
- --sampleName "${reference_source.input_variant_name}"
- #end if
${reference_source.input_variant_bti}
'
- #set $rod_binding_names = dict()
- #for $rod_binding in $rod_bind:
- #if str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'custom':
- #set $rod_bind_name = $rod_binding.rod_bind_type.custom_rod_name
- #elif str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'comp':
- #set $rod_bind_name = "comp" + str( $rod_binding.rod_bind_type.custom_rod_name )
- #else
- #set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
+ #for $rod_binding in $comp_rod_bind:
+ -d "--comp:${rod_binding.comp_rod_name},%(file_type)s" "${rod_binding.comp_input_rod}" "${rod_binding.comp_input_rod.ext}" "input_comp_${rod_binding.comp_rod_name}"
+ #if str( $rod_binding.comp_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${rod_binding.comp_rod_name}"'
#end if
- #set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
- #if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
- -p '--rodToIntervalTrackName "${rod_bind_name}"'
+ #end for
+
+ #if str( $dbsnp_rod_bind_type.dbsnp_rod_bind_type_selector ) == 'set_dbsnp':
+ -d "--dbsnp:${dbsnp_rod_bind_type.dbsnp_rod_name},%(file_type)s" "${dbsnp_rod_bind_type.dbsnp_input_rod}" "${dbsnp_rod_bind_type.dbsnp_input_rod.ext}" "input_dbsnp_${dbsnp_rod_bind_type.dbsnp_rod_name}"
+ #if str( $dbsnp_rod_bind_type.dbsnp_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${dbsnp_rod_bind_type.dbsnp_rod_name}"'
#end if
+ #end if
+
+
+ #for $rod_binding in $resource_rod_bind:
+ -d "--resource:${rod_binding.resource_rod_name},%(file_type)s" "${rod_binding.resource_input_rod}" "${rod_binding.resource_input_rod.ext}" "input_resource_${rod_binding.resource_rod_name}"
+ #if str( $rod_binding.resource_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${rod_binding.resource_rod_name}"'
+ #end if
+ #end for
+
+ #if str( $snpEff_rod_bind_type.snpEff_rod_bind_type_selector ) == 'set_snpEff':
+ -d "--snpEff:${snpEff_rod_bind_type.snpEff_rod_name},%(file_type)s" "${snpEff_rod_bind_type.snpEff_input_rod}" "${snpEff_rod_bind_type.snpEff_input_rod.ext}" "input_snpEff_${snpEff_rod_bind_type.snpEff_rod_name}"
+ #if str( $snpEff_rod_bind_type.snpEff_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${snpEff_rod_bind_type.snpEff_rod_name}"'
+ #end if
+ #end if
+
+ #for $expression in $expressions:
+ -p '--expression "${expression.expression}"'
#end for
##start standard gatk options
@@ -101,16 +118,13 @@
#end if
##end standard gatk options
- ##start analysis specific options
- #if $analysis_param_type.analysis_param_type_selector == "advanced":
- -p '
- #if $analysis_param_type.group.value:
- #for $annotation_group in str( $analysis_param_type.group ).split( ',' ):
- --group "${annotation_group}"
- #end for
- #end if
+ -p '
+ #if $annotation_group.value:
+ #for $group in str( $annotation_group ).split( ',' ):
+ --group "${group}"
+ #end for
+ #end if
'
- #end if
</command><inputs><conditional name="reference_source">
@@ -119,12 +133,11 @@
<option value="history">History</option></param><when value="cached">
- <param name="input_variant" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
- <param name="input_variant_name" type="text" value="" label="Variant Name" help="Not needed for VCF inputs."/>
+ <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" /><param name="input_variant_bti" type="boolean" truevalue="-BTI variant" falsevalue="" label="Increase efficiency for small variant files." /><param name="input_bam" type="data" format="bam" label="BAM file" optional="True" help="Not needed for all annotations." ><validator type="unspecified_build" />
- <validator type="dataset_metadata_in_file" filename="picard_index.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select -->
+ <validator type="dataset_metadata_in_data_table" table_name="picard_indexes" metadata_name="dbkey" metadata_column="dbkey" message="Sequences are not currently available for the specified build." /><!-- fixme!!! this needs to be a select --></param><param name="ref_file" type="select" label="Using reference genome"><options from_data_table="picard_indexes">
@@ -133,8 +146,7 @@
</param></when><when value="history"><!-- FIX ME!!!! -->
- <param name="input_variant" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
- <param name="input_variant_name" type="text" value="" label="Variant Name" help="Not needed for VCF inputs."/>
+ <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" /><param name="input_variant_bti" type="boolean" truevalue="-BTI variant" falsevalue="" label="Increase efficiency for small variant files." /><param name="input_bam" type="data" format="bam" label="BAM file" optional="True" /><param name="ref_file" type="data" format="fasta" label="Using reference file" />
@@ -151,90 +163,83 @@
<when value="choose"><param name="annotations" type="select" multiple="True" display="checkboxes" label="Annotations to apply" ><!-- might we want to load the available annotations from an external configuration file, since additional ones can be added to local installs? -->
- <option value="AlleleBalance" />
- <option value="BaseQualityRankSumTest" />
- <option value="DepthOfCoverage" />
- <option value="HomopolymerRun" />
- <option value="MappingQualityRankSumTest" />
- <option value="MappingQualityZero" />
- <option value="QualByDepth" />
- <option value="RMSMappingQuality" />
- <option value="SpanningDeletions" />
- <option value="HaplotypeScore" />
- <!-- annotations below were pulled from list option -->
- <option value="ChromosomeCounts" />
- <option value="IndelType" />
- <option value="HardyWeinberg" />
- <option value="BaseCounts" />
- <option value="LowMQ" />
- <option value="FisherStrand" />
- <option value="GenomicAnnotation" />
- <option value="GCContent" />
- <option value="ReadPosRankSumTest" />
- <option value="SBByDepth" />
- <option value="ReadDepthAndAllelicFractionBySample" />
- <option value="AlleleBalanceBySample" />
- <option value="DepthPerAlleleBySample" />
- <option value="MappingQualityZeroBySample" />
- <option value="NBaseCount" />
- <option value="GLstats" />
- <option value="SampleList" />
- <option value="MappingQualityZeroFraction" />
+ <option value="ChromosomeCounts"/>
+ <option value="IndelType"/>
+ <option value="SpanningDeletions"/>
+ <option value="HardyWeinberg"/>
+ <option value="NBaseCount"/>
+ <option value="MappingQualityZero"/>
+ <option value="AlleleBalance"/>
+ <option value="BaseCounts"/>
+ <option value="LowMQ"/>
+ <option value="InbreedingCoeff"/>
+ <option value="RMSMappingQuality"/>
+ <option value="HaplotypeScore"/>
+ <option value="TechnologyComposition"/>
+ <option value="SampleList"/>
+ <option value="FisherStrand"/>
+ <option value="HomopolymerRun"/>
+ <option value="DepthOfCoverage"/>
+ <option value="SnpEff"/>
+ <option value="MappingQualityZeroFraction"/>
+ <option value="GCContent"/>
+ <option value="MappingQualityRankSumTest"/>
+ <option value="ReadPosRankSumTest"/>
+ <option value="BaseQualityRankSumTest"/>
+ <option value="QualByDepth"/>
+ <option value="SBByDepth"/>
+ <option value="ReadDepthAndAllelicFractionBySample"/>
+ <option value="AlleleBalanceBySample"/>
+ <option value="DepthPerAlleleBySample"/>
+ <option value="MappingQualityZeroBySample"/></param></when></conditional>
- <!-- <repeat name="additional_annotations" title="Additional annotation">
- <conditional name="additional_annotation_type">
- <param name="additional_annotation_type_selector" type="select" label="Choose annotation type">
- <option value="SnpEff">snpEff</option>
- </param>
- <when value="SnpEff">
- <param name="snpEffFile" type="data" format="snpEff" label="snpEff output file" />
- </when>
- </conditional>
- </repeat> -->
- <repeat name="rod_bind" title="Binding for reference-ordered data">
- <conditional name="rod_bind_type">
- <param name="rod_bind_type_selector" type="select" label="Binding Type">
- <option value="variant">Variants</option>
- <option value="dbsnp">dbSNP</option>
- <option value="snps">SNPs</option>
- <option value="comp" selected="True">Comps</option>
- <option value="indels">INDELs</option>
- <option value="mask">Mask</option>
- <option value="custom">Custom</option>
- </param>
- <when value="variant">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="Variant ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="comp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp" label="ROD file" />
- <param name="custom_rod_name" type="text" value="Unnamed" label="ROD Name"/>
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="dbsnp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="snps">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="indels">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="mask">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="custom">
- <param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- </conditional>
+
+ <repeat name="comp_rod_bind" title="Binding for reference-ordered comparison data">
+ <param name="comp_input_rod" type="data" format="vcf" label="ROD file" />
+ <param name="comp_rod_name" type="text" value="Unnamed" label="ROD Name"/>
+ <param name="comp_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ </repeat>
+
+ <conditional name="dbsnp_rod_bind_type">
+ <param name="dbsnp_rod_bind_type_selector" type="select" label="Provide a dbSNP reference-ordered data file">
+ <option value="set_dbsnp" selected="True">Set dbSNP</option>
+ <option value="exclude_dbsnp">Don't set dbSNP</option>
+ </param>
+ <when value="exclude_dbsnp">
+ <!-- Do nothing here -->
+ </when>
+ <when value="set_dbsnp">
+ <param name="dbsnp_input_rod" type="data" format="vcf" label="ROD file" />
+ <param name="dbsnp_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ <param name="dbsnp_rod_name" type="hidden" value="dbsnp" label="ROD Name"/>
+ </when>
+ </conditional>
+
+ <repeat name="resource_rod_bind" title="Binding for reference-ordered resource data">
+ <param name="resource_input_rod" type="data" format="vcf" label="ROD file" />
+ <param name="resource_rod_name" type="text" value="Unnamed" label="ROD Name"/>
+ <param name="resource_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ </repeat>
+
+ <conditional name="snpEff_rod_bind_type">
+ <param name="snpEff_rod_bind_type_selector" type="select" label="Provide a snpEff reference-ordered data file">
+ <option value="set_snpEff">Set snpEff</option>
+ <option value="exclude_snpEff" selected="True">Don't set snpEff</option>
+ </param>
+ <when value="exclude_snpEff">
+ <!-- Do nothing here -->
+ </when>
+ <when value="set_snpEff">
+ <param name="snpEff_input_rod" type="data" format="vcf" label="ROD file" />
+ <param name="snpEff_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ <param name="snpEff_rod_name" type="hidden" value="snpEff" label="ROD Name"/>
+ </when>
+ </conditional>
+
+ <repeat name="expressions" title="Expression">
+ <param name="expression" type="text" value="" label="Expression"/></repeat><conditional name="gatk_param_type">
@@ -328,23 +333,14 @@
</when></conditional>
- <conditional name="analysis_param_type">
- <param name="analysis_param_type_selector" type="select" label="Basic or Advanced Analysis options">
- <option value="basic" selected="True">Basic</option>
- <option value="advanced">Advanced</option>
- </param>
- <when value="basic">
- <!-- Do nothing here -->
- </when>
- <when value="advanced">
- <param name="group" type="select" multiple="True" display="checkboxes" label="annotation interfaces/groups to apply to variant calls">
- <option value="Standard">Standard</option>
- <option value="Experimental">Experimental</option>
- <option value="WorkInProgress">WorkInProgress</option>
- </param>
-
- </when>
- </conditional>
+ <param name="annotation_group" type="select" multiple="True" display="checkboxes" label="annotation interfaces/groups to apply to variant calls">
+ <option value="RodRequiringAnnotation">RodRequiringAnnotation</option>
+ <option value="Standard">Standard</option>
+ <option value="Experimental">Experimental</option>
+ <option value="WorkInProgress">WorkInProgress</option>
+ <option value="RankSumTest">RankSumTest</option>
+ </param>
+
</inputs><outputs><data format="vcf" name="output_vcf" label="${tool.name} on ${on_string} (Variant File)" />
@@ -356,17 +352,20 @@
<param name="ref_file" value="phiX.fasta" ftype="fasta" /><param name="input_bam" value="gatk/gatk_table_recalibration/gatk_table_recalibration_out_1.bam" ftype="bam" /><param name="input_variant" value="gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf" ftype="vcf" />
+ <param name="input_variant_bti" /><param name="annotations_type_selector" value="choose" /><param name="annotations" value="AlleleBalance,BaseQualityRankSumTest,DepthOfCoverage,HomopolymerRun,MappingQualityRankSumTest,MappingQualityZero,QualByDepth,RMSMappingQuality,SpanningDeletions,HaplotypeScore" />
- <!-- <param name="additional_annotation_type_selector" value="snpEff" />
- <param name="snpEffFile" value="single_comment.dat" ftype="snpEff" /> -->
- <param name="rod_bind_type_selector" value="dbsnp" />
- <param name="rodToIntervalTrackName" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="dbsnp_rod_bind_type_selector" value="set_dbsnp" />
+ <param name="dbsnp_rodToIntervalTrackName" />
+ <param name="dbsnp_input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" />
+ <param name="snpEff_rod_bind_type_selector" value="exclude_snpEff" /><param name="gatk_param_type_selector" value="basic" />
- <param name="analysis_param_type_selector" value="basic" />
- <output name="output_vcf" file="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" lines_diff="2" />
+ <output name="output_vcf" file="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" lines_diff="4" /><output name="output_log" file="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.log.contains" compare="contains" />
+ <param name="comp_rod_bind" value="0" />
+ <param name="resource_rod_bind" value="0" />
+ <param name="expressions" value="0" />
+ <!-- <param name="annotation_group" /> --></test></tests><help>
--- a/tools/gatk/variant_apply_recalibration.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variant_apply_recalibration.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,9 +1,14 @@
-<tool id="gatk_variant_apply_recalibration" name="Apply Variant Recalibration" version="0.0.1">
+<tool id="gatk_variant_apply_recalibration" name="Apply Variant Recalibration" version="0.0.2"><description></description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
- -d "-B:input,%(file_type)s" "${reference_source.input_variants}" "${reference_source.input_variants.ext}" "input_variants"
+ #for $var_count, $variant in enumerate( $reference_source.variants ):
+ -d "--input:input_${var_count},%(file_type)s" "${variant.input_variants}" "${variant.input_variants.ext}" "input_variants_${var_count}"
+ #end for
-p 'java
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "ApplyRecalibration"
@@ -62,21 +67,18 @@
##end standard gatk options
##start analysis specific options
+ -p '
+ --mode "${mode}"
- #if $analysis_param_type.analysis_param_type_selector == "advanced":
- -p '
- --mode "${analysis_param_type.mode}"
-
- #for $ignore_filter in $analysis_param_type.ignore_filters:
- #set $ignore_filter_name = str( $ignore_filter.ignore_filter_type.ignore_filter_type_selector )
- #if $ignore_filter_name == "custom":
- #set $ignore_filter_name = str( $ignore_filter.ignore_filter_type.filter_name )
- #end if
- --ignore_filter "${ignore_filter_name}"
- #end for
- '
- #end if
- -p '--ts_filter_level "${ts_filter_level}"'
+ #for $ignore_filter in $ignore_filters:
+ #set $ignore_filter_name = str( $ignore_filter.ignore_filter_type.ignore_filter_type_selector )
+ #if $ignore_filter_name == "custom":
+ #set $ignore_filter_name = str( $ignore_filter.ignore_filter_type.filter_name )
+ #end if
+ --ignore_filter "${ignore_filter_name}"
+ #end for
+ --ts_filter_level "${ts_filter_level}"
+ '
</command><inputs><conditional name="reference_source">
@@ -85,17 +87,21 @@
<option value="history">History</option></param><when value="cached">
- <param name="input_variants" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
+ <repeat name="variants" title="Variant" min="1">
+ <param name="input_variants" type="data" format="vcf" label="Variant file to annotate" />
+ </repeat><param name="input_recal" type="data" format="gatk_recal" label="Variant Recalibration file" /><param name="input_tranches" type="data" format="gatk_tranche" label="Variant Tranches file" /><param name="ref_file" type="select" label="Using reference genome">
- <options from_data_table="picard_indexes">
- <filter type="data_meta" key="dbkey" ref="input_variants" column="dbkey"/>
- </options>
+ <!-- <options from_data_table="picard_indexes">
+ <filter type="data_meta" key="dbkey" ref="variants[0].input_variants" column="dbkey"/>
+ </options> --></param></when><when value="history"><!-- FIX ME!!!! -->
- <param name="input_variants" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
+ <repeat name="variants" title="Variant" min="1">
+ <param name="input_variants" type="data" format="vcf" label="Variant file to annotate" />
+ </repeat><param name="input_recal" type="data" format="gatk_recal" label="Variant Recalibration file" /><param name="input_tranches" type="data" format="gatk_tranche" label="Variant Tranches file" /><param name="ref_file" type="data" format="fasta" label="Using reference file" />
@@ -193,15 +199,6 @@
</when></conditional>
- <conditional name="analysis_param_type">
- <param name="analysis_param_type_selector" type="select" label="Basic or Advanced Analysis options">
- <option value="basic" selected="True">Basic</option>
- <option value="advanced">Advanced</option>
- </param>
- <when value="basic">
- <!-- Do nothing here -->
- </when>
- <when value="advanced"><param name="mode" type="select" label="Recalibration mode"><option value="SNP" selected="True">SNP</option><option value="INDEL">INDEL</option>
@@ -219,8 +216,6 @@
</when></conditional></repeat>
- </when>
- </conditional><param name="ts_filter_level" type="float" label="truth sensitivity level at which to start filtering, used here to indicate filtered variants in plots" value="99.0"/></inputs><outputs>
--- a/tools/gatk/variant_combine.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variant_combine.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,12 +1,15 @@
-<tool id="gatk_variant_combine" name="Combine Variants" version="0.0.1">
+<tool id="gatk_variant_combine" name="Combine Variants" version="0.0.2"><description></description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
#set $priority_order = []
#for $input_variant in $reference_source.input_variants:
- -d "-B:${input_variant.input_variant_name},%(file_type)s" "${input_variant.input_variant}" "${input_variant.input_variant.ext}" "input_variant_${input_variant.input_variant_name}"
+ -d "--variant:${input_variant.input_variant_name},%(file_type)s" "${input_variant.input_variant}" "${input_variant.input_variant.ext}" "input_variant_${input_variant.input_variant_name}"
#set $input_variant_name = str( $input_variant.input_variant_name )
#assert $input_variant_name not in $priority_order, "Variant Names must be unique" ##this should be handled by a validator
#silent $priority_order.append( $input_variant_name )
@@ -21,6 +24,7 @@
#if $reference_source.reference_source_selector != "history":
-R "${reference_source.ref_file.fields.path}"
#end if
+ --genotypemergeoption "${genotype_merge_option}"
--rod_priority_list "${ ','.join( $priority_order ) }"
'
@@ -72,7 +76,6 @@
##start analysis specific options
#if $analysis_param_type.analysis_param_type_selector == "advanced":
-p '
- --genotypemergeoption "${analysis_param_type.genotype_merge_option}"
--filteredrecordsmergetype "${analysis_param_type.filtered_records_merge_type}"
${analysis_param_type.print_complex_merges}
${analysis_param_type.filtered_are_uncalled}
@@ -95,7 +98,7 @@
<option value="history">History</option></param><when value="cached">
- <repeat min="1" name="input_variants" title="Variants to Merge">
+ <repeat min="1" name="input_variants" title="Variants to Merge" help="Records will be prioritized in the order that you list them here."><param name="input_variant" type="data" format="vcf" label="Input variant file" /><param name="input_variant_name" type="text" value="" label="Variant name" help="Names must be unique"><validator type="length" min="1" message="You must provide a unique name for this set of variants" />
@@ -108,7 +111,7 @@
</param></when><when value="history"><!-- FIX ME!!!! -->
- <repeat min="1" name="input_variants" title="Variants to Merge">
+ <repeat min="1" name="input_variants" title="Variants to Merge" help="Records will be prioritized in the order that you list them here."><param name="input_variant" type="data" format="vcf" label="Input variant file" /><param name="input_variant_name" type="text" value="" label="Variant name" help="Names must be unique"><validator type="length" min="1" message="You must provide a unique name for this set of variants" />
@@ -117,7 +120,14 @@
<param name="ref_file" type="data" format="fasta" label="Using reference file" /></when></conditional>
-
+
+ <param name="genotype_merge_option" type="select" label="How should we merge genotype records across records for samples shared across the ROD files" >
+ <option value="UNIQUIFY" />
+ <option value="PRIORITIZE" selected="true"/>
+ <option value="UNSORTED" />
+ <option value="REQUIRE_UNIQUE" />
+ </param>
+
<conditional name="gatk_param_type"><param name="gatk_param_type_selector" type="select" label="Basic or Advanced GATK options"><option value="basic" selected="True">Basic</option>
@@ -219,16 +229,10 @@
<!-- Do nothing here --></when><when value="advanced">
- <param name="genotype_merge_option" type="select" label="How should we merge genotype records across records for samples shared across the ROD files" >
- <option value="UNIQUIFY" />
- <option value="PRIORITIZE" selected="true"/>
- <option value="UNSORTED" />
- <option value="REQUIRE_UNIQUE" />
- </param><param name="filtered_records_merge_type" type="select" label="How should we deal with records seen at the same site in the VCF, but with different FILTER fields? " ><option value="KEEP_IF_ANY_UNFILTERED" selected="true"/><option value="KEEP_IF_ALL_UNFILTERED" />
- </param>
+ </param><param name="print_complex_merges" checked="false" type="boolean" truevalue="--printComplexMerges" falsevalue="" label="Print out interesting sites requiring complex compatibility merging" /><param name="filtered_are_uncalled" checked="false" type="boolean" truevalue="--filteredAreUncalled" falsevalue="" label="If true, then filtered VCFs are treated as uncalled, so that filtered set annotation don't appear in the combined VCF" />
@@ -253,9 +257,10 @@
<param name="ref_file" value="phiX.fasta" ftype="fasta" /><param name="input_variant" value="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" ftype="vcf" /><param name="input_variant_name" value="from_variant_annotator" />
+ <param name="genotype_merge_option" value="PRIORITIZE" /><param name="gatk_param_type_selector" value="basic" /><param name="analysis_param_type_selector" value="basic" />
- <output name="output_variants" file="gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf" lines_diff="2" />
+ <output name="output_variants" file="gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf" lines_diff="4" /><output name="output_log" file="gatk/gatk_variant_combine/gatk_variant_combine_out_1.log.contains" compare="contains" /></test></tests>
--- a/tools/gatk/variant_eval.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variant_eval.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,9 +1,14 @@
-<tool id="gatk_variant_eval" name="Eval Variants" version="0.0.1">
+<tool id="gatk_variant_eval" name="Eval Variants" version="0.0.2"><description></description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
- -d "-B:eval,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
+ #for $var_count, $variant in enumerate( $reference_source.variants ):
+ -d "--eval:input_${var_count},%(file_type)s" "${variant.input_variant}" "${variant.input_variant.ext}" "input_variants_${var_count}"
+ #end for
-p 'java
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "VariantEval"
@@ -16,23 +21,25 @@
#end if
'
- #set $rod_binding_names = dict()
- #for $rod_binding in $rod_bind:
- #if str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'custom':
- #set $rod_bind_name = $rod_binding.rod_bind_type.custom_rod_name
- #else
- #set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
+ #for $rod_binding in $comp_rod_bind:
+ -d "--comp:${rod_binding.comp_rod_name},%(file_type)s" "${rod_binding.comp_input_rod}" "${rod_binding.comp_input_rod.ext}" "input_comp_${rod_binding.comp_rod_name}"
+ #if str( $rod_binding.comp_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${rod_binding.comp_rod_name}"'
#end if
- #set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
- #if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
- -p '--rodToIntervalTrackName "${rod_bind_name}"'
+ #if str( $rod_binding.comp_known_names ):
+ -p '--known_names "${rod_binding.comp_rod_name}"'
#end if
- #if str( $rod_binding.rod_bind_type.known_names ):
- -p '--known_names "${rod_bind_name}"'
+ #end for
+
+ #if str( $dbsnp_rod_bind_type.dbsnp_rod_bind_type_selector ) == 'set_dbsnp':
+ -d "--dbsnp:${dbsnp_rod_bind_type.dbsnp_rod_name},%(file_type)s" "${dbsnp_rod_bind_type.dbsnp_input_rod}" "${dbsnp_rod_bind_type.dbsnp_input_rod.ext}" "input_dbsnp_${dbsnp_rod_bind_type.dbsnp_rod_name}"
+ #if str( $dbsnp_rod_bind_type.dbsnp_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${dbsnp_rod_bind_type.dbsnp_rod_name}"'
+ #if str( $dbsnp_rod_bind_type.dbsnp_known_names ):
+ -p '--known_names "${dbsnp_rod_bind_type.dbsnp_rod_name}"'
+ #end if
#end if
-
- #end for
+ #end if
##start standard gatk options
#if $gatk_param_type.gatk_param_type_selector == "advanced":
@@ -138,51 +145,46 @@
<option value="history">History</option></param><when value="cached">
- <param name="input_variant" type="data" format="vcf" label="Input variant file" />
+ <repeat name="variants" title="Variant" min="1">
+ <param name="input_variant" type="data" format="vcf" label="Input variant file" />
+ </repeat><param name="ref_file" type="select" label="Using reference genome">
- <options from_data_table="picard_indexes">
+ <!--<options from_data_table="picard_indexes"><filter type="data_meta" key="dbkey" ref="input_variant" column="dbkey"/>
- </options>
+ </options>--></param></when><when value="history"><!-- FIX ME!!!! -->
- <param name="input_variant" type="data" format="vcf" label="Input variant file" />
+ <repeat name="variants" title="Variant" min="1">
+ <param name="input_variant" type="data" format="vcf" label="Input variant file" />
+ </repeat><param name="ref_file" type="data" format="fasta" label="Using reference file" /></when></conditional>
- <repeat name="rod_bind" title="Binding for reference-ordered data">
- <conditional name="rod_bind_type">
- <param name="rod_bind_type_selector" type="select" label="Binding Type">
- <option value="dbsnp" selected="True">dbSNP</option>
- <option value="snps">SNPs</option>
- <option value="indels">INDELs</option>
- <option value="custom">Custom</option>
- </param>
- <when value="dbsnp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- <param name="known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Treat ROD as known when splitting eval rods into known and novel subsets" />
- </when>
- <when value="snps">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- <param name="known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Treat ROD as known when splitting eval rods into known and novel subsets" />
- </when>
- <when value="indels">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- <param name="known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Treat ROD as known when splitting eval rods into known and novel subsets" />
- </when>
- <when value="custom">
- <param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- <param name="known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Treat ROD as known when splitting eval rods into known and novel subsets" />
- </when>
- </conditional>
+ <repeat name="comp_rod_bind" title="Binding for reference-ordered comparison data">
+ <param name="comp_input_rod" type="data" format="vcf" label="Comparison ROD file" />
+ <param name="comp_rod_name" type="text" value="Unnamed" label="Comparison ROD Name"/>
+ <param name="comp_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use Comparison ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ <param name="comp_known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Use Comparison ROD as known_names" /></repeat>
+ <conditional name="dbsnp_rod_bind_type">
+ <param name="dbsnp_rod_bind_type_selector" type="select" label="Provide a dbSNP reference-ordered data file">
+ <option value="set_dbsnp" selected="True">Set dbSNP</option>
+ <option value="exclude_dbsnp">Don't set dbSNP</option>
+ </param>
+ <when value="exclude_dbsnp">
+ <!-- Do nothing here -->
+ </when>
+ <when value="set_dbsnp">
+ <param name="dbsnp_input_rod" type="data" format="vcf" label="dbSNP ROD file" />
+ <param name="dbsnp_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use dbSNP ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ <param name="dbsnp_rod_name" type="hidden" value="dbsnp" label="dbSNP ROD Name"/>
+ <param name="dbsnp_known_names" type="boolean" truevalue="--known_names" falsevalue="" label="Use dbSNP ROD as known_names" />
+ </when>
+ </conditional>
+
<conditional name="gatk_param_type"><param name="gatk_param_type_selector" type="select" label="Basic or Advanced GATK options"><option value="basic" selected="True">Basic</option>
@@ -293,7 +295,7 @@
<param name="sample" value="" type="text" label="Derive eval and comp contexts using only these sample genotypes, when genotypes are available in the original context"/></repeat>
- <param name="stratification_modules" type="select" multiple="True" display="checkboxes" label="Stratification modules to apply to the eval track(s)" >
+ <param name="stratification_modules" type="select" multiple="True" display="checkboxes" label="Stratification modules to apply to the w track(s)" ><!-- do these need individual options also? gatk wiki has little info --><option value="AlleleFrequency" /><option value="AlleleCount" />
@@ -356,10 +358,11 @@
<param name="reference_source_selector" value="history" /><param name="ref_file" value="phiX.fasta" ftype="fasta" /><param name="input_variant" value="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" ftype="vcf" />
- <param name="rod_bind_type_selector" value="dbsnp" />
- <param name="rodToIntervalTrackName" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
- <param name="known_names" value="True"/>
+ <param name="dbsnp_rod_bind_type_selector" value="set_dbsnp" />
+ <param name="dbsnp_rodToIntervalTrackName" />
+ <param name="dbsnp_input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" />
+ <param name="dbsnp_known_names" value="True"/>
+ <param name="comp_rod_bind" value="0" /><param name="gatk_param_type_selector" value="basic" /><param name="analysis_param_type_selector" value="basic" /><output name="output_table" file="gatk/gatk_variant_eval/gatk_variant_eval_out_1.tabular" />
--- a/tools/gatk/variant_filtration.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variant_filtration.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,9 +1,12 @@
-<tool id="gatk_variant_filtration" name="Variant Filtration" version="0.0.1">
+<tool id="gatk_variant_filtration" name="Variant Filtration" version="0.0.2"><description>on VCF files</description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
- -d "-B:variant,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
+ -d "--variant:variant,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
-p 'java
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "VariantFiltration"
@@ -20,22 +23,17 @@
#end for
'
- #set $rod_binding_names = dict()
- #for $rod_binding in $rod_bind:
- #if str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'custom':
- #set $rod_bind_name = $rod_binding.rod_bind_type.custom_rod_name
- #else
- #set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
+
+ #if str( $mask_rod_bind_type.mask_rod_bind_type_selector ) == 'set_mask':
+ -d "--mask:${mask_rod_bind_type.mask_rod_name},%(file_type)s" "${mask_rod_bind_type.input_mask_rod}" "${mask_rod_bind_type.input_mask_rod.ext}" "input_mask_${mask_rod_bind_type.mask_rod_name}"
+ -p '
+ --maskExtension "${mask_rod_bind_type.mask_extension}"
+ --maskName "${mask_rod_bind_type.mask_rod_name}"
+ '
+ #if str( $mask_rod_bind_type.mask_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${mask_rod_bind_type.mask_rod_name}"'
#end if
- #set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
- #if $rod_binding.rod_bind_type.rod_bind_type_selector == "mask":
- --maskName "${rod_binding.rod_bind_type.mask_rod_name}"
- #end if
- #if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
- -p '--rodToIntervalTrackName "${rod_bind_name}"'
- #end if
- #end for
+ #end if
##start standard gatk options
#if $gatk_param_type.gatk_param_type_selector == "advanced":
@@ -97,7 +95,7 @@
<option value="history">History</option></param><when value="cached">
- <param name="input_variant" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
+ <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" /><param name="ref_file" type="select" label="Using reference genome"><options from_data_table="picard_indexes"><filter type="data_meta" key="dbkey" ref="input_variant" column="dbkey"/>
@@ -105,7 +103,7 @@
</param></when><when value="history"><!-- FIX ME!!!! -->
- <param name="input_variant" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
+ <param name="input_variant" type="data" format="vcf" label="Variant file to annotate" /><param name="ref_file" type="data" format="fasta" label="Using reference file" /></when></conditional>
@@ -125,39 +123,24 @@
<param name="is_genotype_filter" type="boolean" truevalue="genotypeFilter" falsevalue="filter" label="Use filter at the individual sample level" /></repeat>
- <repeat name="rod_bind" title="Binding for reference-ordered data">
- <conditional name="rod_bind_type">
- <param name="rod_bind_type_selector" type="select" label="Binding Type">
- <option value="dbsnp">dbSNP</option>
- <option value="snps">SNPs</option>
- <option value="indels">INDELs</option>
- <option value="mask" selected="True">Mask</option>
- <option value="custom">Custom</option>
- </param>
- <when value="dbsnp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="snps">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="indels">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="custom">
- <param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="mask">
- <param name="mask_rod_name" type="text" value="Unknown" label="Mask Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- </conditional>
- </repeat>
+
+
+ <conditional name="mask_rod_bind_type">
+ <param name="mask_rod_bind_type_selector" type="select" label="Provide a Mask reference-ordered data file">
+ <option value="set_mask" selected="True">Set maskP</option>
+ <option value="exclude_mask">Don't set mask</option>
+ </param>
+ <when value="exclude_mask">
+ <!-- Do nothing here -->
+ </when>
+ <when value="set_mask">
+ <param name="input_mask_rod" type="data" format="bed,gatk_dbsnp,vcf" label="Mask ROD file" />
+ <param name="mask_rod_name" type="text" value="Mask" label="Mask Name"/>
+ <param name="mask_extension" type="integer" value="0" label="Mask Extension"/>
+ <param name="mask_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use Mask ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ </when>
+ </conditional>
+
<conditional name="gatk_param_type"><param name="gatk_param_type_selector" type="select" label="Basic or Advanced GATK options">
@@ -279,9 +262,11 @@
<param name="filter_expression" value="MQ < 37.74 || MQ0 > 50" /><param name="filter_name" value="Galaxy_filter" /><param name="is_genotype_filter" />
- <param name="rod_bind_type_selector" value="dbsnp" />
- <param name="rodToIntervalTrackName" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="mask_rod_bind_type_selector" value="set_mask" />
+ <param name="mask_rodToIntervalTrackName" />
+ <param name="input_mask_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="mask_rod_name" value="." />
+ <param name="mask_extension" value="0" /><param name="gatk_param_type_selector" value="basic" /><param name="cluster_snp_type_selector" value="do_not_cluster_snp" /><param name="missing_values_in_expressions_should_evaluate_as_failing" />
--- a/tools/gatk/variant_recalibrator.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variant_recalibrator.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,9 +1,14 @@
-<tool id="gatk_variant_recalibrator" name="Variant Recalibrator" version="0.0.1">
+<tool id="gatk_variant_recalibrator" name="Variant Recalibrator" version="0.0.2"><description></description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
- -d "-B:input,%(file_type)s" "${reference_source.input_variants}" "${reference_source.input_variants.ext}" "input_variants"
+ #for $var_count, $variant in enumerate( $reference_source.variants ):
+ -d "--input:input_${var_count},%(file_type)s" "${variant.input_variants}" "${variant.input_variants.ext}" "input_variants_${var_count}"
+ #end for
-p 'java
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "VariantRecalibrator"
@@ -29,9 +34,9 @@
#end if
#set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
#if $rod_binding.rod_bind_type.rod_training_type.rod_training_type_selector == "not_training_truth_known":
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
+ -d "--resource:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
#else:
- -d "-B:${rod_bind_name},%(file_type)s,known=${rod_binding.rod_bind_type.rod_training_type.known},training=${rod_binding.rod_bind_type.rod_training_type.training},truth=${rod_binding.rod_bind_type.rod_training_type.truth},bad=${rod_binding.rod_bind_type.rod_training_type.bad},prior=${rod_binding.rod_bind_type.rod_training_type.prior}" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
+ -d "--resource:${rod_bind_name},%(file_type)s,known=${rod_binding.rod_bind_type.rod_training_type.known},training=${rod_binding.rod_bind_type.rod_training_type.training},truth=${rod_binding.rod_bind_type.rod_training_type.truth},bad=${rod_binding.rod_bind_type.rod_training_type.bad},prior=${rod_binding.rod_bind_type.rod_training_type.prior}" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
#end if
#if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
-p '--rodToIntervalTrackName "${rod_bind_name}"'
@@ -89,11 +94,11 @@
--use_annotation "${annotation}"
#end for
#end if
+ --mode "${mode}"
'
#if $analysis_param_type.analysis_param_type_selector == "advanced":
-p '
- --mode "${analysis_param_type.mode}"
--maxGaussians "${analysis_param_type.max_gaussians}"
--maxIterations "${analysis_param_type.max_iterations}"
--numKMeans "${analysis_param_type.num_k_means}"
@@ -102,8 +107,11 @@
--shrinkage "${analysis_param_type.shrinkage}"
--dirichlet "${analysis_param_type.dirichlet}"
--priorCounts "${analysis_param_type.prior_counts}"
- --percentBadVariants "${analysis_param_type.percent_bad_variants}"
- --minNumBadVariants "${analysis_param_type.min_num_bad_variants}"
+ #if str( $analysis_param_type.bad_variant_selector.bad_variant_selector_type ) == 'percent':
+ --percentBadVariants "${analysis_param_type.bad_variant_selector.percent_bad_variants}"
+ #else:
+ --minNumBadVariants "${analysis_param_type.bad_variant_selector.min_num_bad_variants}"
+ #end if
--target_titv "${analysis_param_type.target_titv}"
#for $tranche in [ $tranche.strip() for $tranche in str( $analysis_param_type.ts_tranche ).split( ',' ) if $tranche.strip() ]
--TStranche "${tranche}"
@@ -131,15 +139,19 @@
<option value="history">History</option></param><when value="cached">
- <param name="input_variants" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
+ <repeat name="variants" title="Variant" min="1">
+ <param name="input_variants" type="data" format="vcf" label="Variant file to recalibrate" />
+ </repeat><param name="ref_file" type="select" label="Using reference genome">
- <options from_data_table="picard_indexes">
- <filter type="data_meta" key="dbkey" ref="input_variants" column="dbkey"/>
- </options>
+ <!-- <options from_data_table="picard_indexes">
+ <filter type="data_meta" key="dbkey" ref="variants[0].input_variants" column="dbkey"/>
+ </options> --></param></when><when value="history"><!-- FIX ME!!!! -->
- <param name="input_variants" type="data" format="vcf,gatk_dbsnp,bed" label="Variant file to annotate" />
+ <repeat name="variants" title="Variant" min="1">
+ <param name="input_variants" type="data" format="vcf" label="Variant file to recalibrate" />
+ </repeat><param name="ref_file" type="data" format="fasta" label="Using reference file" /></when></conditional>
@@ -323,37 +335,42 @@
<param name="annotations" type="select" multiple="True" display="checkboxes" label="annotations which should used for calculations"><!-- might we want to load the available annotations from an external configuration file, since additional ones can be added to local installs? -->
- <option value="AlleleBalance" />
- <option value="BaseQualityRankSumTest" />
- <option value="DepthOfCoverage" />
- <option value="HomopolymerRun" />
- <option value="MappingQualityRankSumTest" />
- <option value="MappingQualityZero" />
- <option value="QualByDepth" />
- <option value="RMSMappingQuality" />
- <option value="SpanningDeletions" />
- <option value="HaplotypeScore" />
- <!-- annotations below were pulled from list option -->
- <option value="ChromosomeCounts" />
- <option value="IndelType" />
- <option value="HardyWeinberg" />
- <option value="BaseCounts" />
- <option value="LowMQ" />
- <option value="FisherStrand" />
- <option value="GenomicAnnotation" />
- <option value="GCContent" />
- <option value="ReadPosRankSumTest" />
- <option value="SBByDepth" />
- <option value="ReadDepthAndAllelicFractionBySample" />
- <option value="AlleleBalanceBySample" />
- <option value="DepthPerAlleleBySample" />
- <option value="MappingQualityZeroBySample" />
- <option value="NBaseCount" />
- <option value="GLstats" />
- <option value="SampleList" />
- <option value="MappingQualityZeroFraction" />
+ <option value="ChromosomeCounts"/>
+ <option value="IndelType"/>
+ <option value="SpanningDeletions"/>
+ <option value="HardyWeinberg"/>
+ <option value="NBaseCount"/>
+ <option value="MappingQualityZero"/>
+ <option value="AlleleBalance"/>
+ <option value="BaseCounts"/>
+ <option value="LowMQ"/>
+ <option value="InbreedingCoeff"/>
+ <option value="RMSMappingQuality"/>
+ <option value="HaplotypeScore"/>
+ <option value="TechnologyComposition"/>
+ <option value="SampleList"/>
+ <option value="FisherStrand"/>
+ <option value="HomopolymerRun"/>
+ <option value="DepthOfCoverage"/>
+ <option value="SnpEff"/>
+ <option value="MappingQualityZeroFraction"/>
+ <option value="GCContent"/>
+ <option value="MappingQualityRankSumTest"/>
+ <option value="ReadPosRankSumTest"/>
+ <option value="BaseQualityRankSumTest"/>
+ <option value="QualByDepth"/>
+ <option value="SBByDepth"/>
+ <option value="ReadDepthAndAllelicFractionBySample"/>
+ <option value="AlleleBalanceBySample"/>
+ <option value="DepthPerAlleleBySample"/>
+ <option value="MappingQualityZeroBySample"/></param>
+ <param name="mode" type="select" label="Recalibration mode">
+ <option value="SNP" selected="True">SNP</option>
+ <option value="INDEL">INDEL</option>
+ <option value="BOTH">BOTH</option>
+ </param><conditional name="gatk_param_type"><param name="gatk_param_type_selector" type="select" label="Basic or Advanced GATK options">
@@ -455,11 +472,6 @@
<!-- Do nothing here --></when><when value="advanced">
- <param name="mode" type="select" label="Recalibration mode">
- <option value="SNP" selected="True">SNP</option>
- <option value="INDEL">INDEL</option>
- <option value="BOTH">BOTH</option>
- </param><param name="max_gaussians" type="integer" label="maximum number of Gaussians to try during variational Bayes Algorithm" value="10"/><param name="max_iterations" type="integer" label="maximum number of maximum number of VBEM iterations to be performed in variational Bayes Algorithm" value="100"/><param name="num_k_means" type="integer" label="number of k-means iterations to perform in order to initialize the means of the Gaussians in the Gaussian mixture model" value="30"/>
@@ -468,8 +480,18 @@
<param name="shrinkage" type="float" label="shrinkage parameter in variational Bayes algorithm" value="1.0"/><param name="dirichlet" type="float" label="dirichlet parameter in variational Bayes algorithm" value="0.001"/><param name="prior_counts" type="float" label="number of prior counts to use in variational Bayes algorithm" value="20.0"/>
- <param name="percent_bad_variants" type="float" label="percentage of the worst scoring variants to use when building the Gaussian mixture model of bad variants. 0.07 means bottom 7 percent." value="0.03"/>
- <param name="min_num_bad_variants" type="integer" label="minimum amount of worst scoring variants to use when building the Gaussian mixture model of bad variants. Will override -percentBad arugment if necessary" value="2000"/>
+ <conditional name="bad_variant_selector">
+ <param name="bad_variant_selector_type" type="select" label="Basic or Advanced Analysis options">
+ <option value="percent" selected="True">Percent</option>
+ <option value="min_num">Number</option>
+ </param>
+ <when value="percent">
+ <param name="percent_bad_variants" type="float" label="percentage of the worst scoring variants to use when building the Gaussian mixture model of bad variants. 0.07 means bottom 7 percent." value="0.03"/>
+ </when>
+ <when value="min_num">
+ <param name="min_num_bad_variants" type="integer" label="minimum amount of worst scoring variants to use when building the Gaussian mixture model of bad variants. Will override -percentBad arugment if necessary" value="2000"/>
+ </when>
+ </conditional><param name="target_titv" type="float" label="expected novel Ti/Tv ratio to use when calculating FDR tranches and for display on optimization curve output figures. (approx 2.15 for whole genome experiments). ONLY USED FOR PLOTTING PURPOSES!" value="2.15"/><param name="ts_tranche" type="text" label="levels of novel false discovery rate (FDR, implied by ti/tv) at which to slice the data. (in percent, that is 1.0 for 1 percent)" value="100.0, 99.9, 99.0, 90.0"/><repeat name="ignore_filters" title="Ignore Filter">
--- a/tools/gatk/variants_validate.xml Thu Oct 20 10:03:28 2011 -0400
+++ b/tools/gatk/variants_validate.xml Thu Oct 20 10:24:19 2011 -0400
@@ -1,9 +1,12 @@
-<tool id="gatk_validate_variants" name="Validate Variants" version="0.0.1">
+<tool id="gatk_validate_variants" name="Validate Variants" version="0.0.2"><description></description>
+ <requirements>
+ <requirement type="package" version="1.2">gatk</requirement>
+ </requirements><command interpreter="python">gatk_wrapper.py
- --max_jvm_heap_fraction "2"
+ --max_jvm_heap_fraction "1"
--stdout "${output_log}"
- -d "-B:variant,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
+ -d "--variant:variant,%(file_type)s" "${reference_source.input_variant}" "${reference_source.input_variant.ext}" "input_variant"
-p 'java
-jar "${GALAXY_DATA_INDEX_DIR}/shared/jars/gatk/GenomeAnalysisTK.jar"
-T "ValidateVariants"
@@ -17,19 +20,12 @@
${do_not_validate_filtered_records}
'
- #set $rod_binding_names = dict()
- #for $rod_binding in $rod_bind:
- #if str( $rod_binding.rod_bind_type.rod_bind_type_selector ) == 'custom':
- #set $rod_bind_name = $rod_binding.rod_bind_type.custom_rod_name
- #else
- #set $rod_bind_name = $rod_binding.rod_bind_type.rod_bind_type_selector
+ #if str( $dbsnp_rod_bind_type.dbsnp_rod_bind_type_selector ) == 'set_dbsnp':
+ -d "--dbsnp:${dbsnp_rod_bind_type.dbsnp_rod_name},%(file_type)s" "${dbsnp_rod_bind_type.dbsnp_input_rod}" "${dbsnp_rod_bind_type.dbsnp_input_rod.ext}" "input_dbsnp_${dbsnp_rod_bind_type.dbsnp_rod_name}"
+ #if str( $dbsnp_rod_bind_type.dbsnp_rodToIntervalTrackName ):
+ -p '--rodToIntervalTrackName "${dbsnp_rod_bind_type.dbsnp_rod_name}"'
#end if
- #set $rod_binding_names[$rod_bind_name] = $rod_binding_names.get( $rod_bind_name, -1 ) + 1
- -d "-B:${rod_bind_name},%(file_type)s" "${rod_binding.rod_bind_type.input_rod}" "${rod_binding.rod_bind_type.input_rod.ext}" "input_${rod_bind_name}_${rod_binding_names[$rod_bind_name]}"
- #if str( $rod_binding.rod_bind_type.rodToIntervalTrackName ):
- -p '--rodToIntervalTrackName "${rod_bind_name}"'
- #end if
- #end for
+ #end if
##start standard gatk options
#if $gatk_param_type.gatk_param_type_selector == "advanced":
@@ -96,38 +92,21 @@
</when></conditional>
- <repeat name="rod_bind" title="Binding for reference-ordered data">
- <conditional name="rod_bind_type">
- <param name="rod_bind_type_selector" type="select" label="Binding Type">
- <!-- <option value="variant" selected="True">Variant</option> -->
- <option value="dbsnp" selected="True">dbSNP</option>
- <option value="snps">SNPs</option>
- <!-- <option value="indels">INDELs</option>
- <option value="custom">Custom</option> -->
- </param>
- <when value="variant">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" /><!-- this should be restricted to genome type, or genome type should be limited as a result of this selection -->
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="dbsnp">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="snps">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="indels">
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- <when value="custom">
- <param name="custom_rod_name" type="text" value="Unknown" label="ROD Name"/>
- <param name="input_rod" type="data" format="vcf,gatk_dbsnp,bed" label="ROD file" />
- <param name="rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
- </when>
- </conditional>
- </repeat>
+ <conditional name="dbsnp_rod_bind_type">
+ <param name="dbsnp_rod_bind_type_selector" type="select" label="Provide a dbSNP reference-ordered data file">
+ <option value="set_dbsnp" selected="True">Set dbSNP</option>
+ <option value="exclude_dbsnp">Don't set dbSNP</option>
+ </param>
+ <when value="exclude_dbsnp">
+ <!-- Do nothing here -->
+ </when>
+ <when value="set_dbsnp">
+ <param name="dbsnp_input_rod" type="data" format="vcf" label="ROD file" />
+ <param name="dbsnp_rodToIntervalTrackName" type="boolean" truevalue="--rodToIntervalTrackName" falsevalue="" label="Use ROD as interval List (-BTI, --rodToIntervalTrackName)" help="Only one ROD may have this option specified" />
+ <param name="dbsnp_rod_name" type="hidden" value="dbsnp" label="ROD Name"/>
+ </when>
+ </conditional>
+
<param name="warn_on_errors" type="boolean" checked="False" truevalue="-warnOnErrors" falsevalue="" label="instead of terminating the run at the first error, print warning messages for each error seen. "/><param name="do_not_validate_filtered_records" type="boolean" checked="False" truevalue="-doNotValidateFilteredRecords" falsevalue="" label="do not try to validate records that are FILTERed. "/>
@@ -231,9 +210,9 @@
<param name="reference_source_selector" value="history" /><param name="ref_file" value="phiX.fasta" ftype="fasta" /><param name="input_variant" value="gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf" ftype="vcf" />
- <param name="rod_bind_type_selector" value="dbsnp" />
- <param name="rodToIntervalTrackName" />
- <param name="input_rod" value="gatk/fake_phiX_variant_locations.bed" ftype="bed" />
+ <param name="dbsnp_rod_bind_type_selector" value="set_dbsnp" />
+ <param name="dbsnp_rodToIntervalTrackName" />
+ <param name="dbsnp_input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" /><param name="warn_on_errors" value="True"/><param name="do_not_validate_filtered_records" /><param name="gatk_param_type_selector" value="basic" />
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: dan: Allow toolbox tests to test 0 instances of a repeat.
by Bitbucket 20 Oct '11
by Bitbucket 20 Oct '11
20 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/2ed732bca4f6/
changeset: 2ed732bca4f6
user: dan
date: 2011-10-20 16:03:28
summary: Allow toolbox tests to test 0 instances of a repeat.
affected #: 1 file (-1 bytes)
--- a/test/functional/test_toolbox.py Thu Oct 20 09:37:02 2011 -0400
+++ b/test/functional/test_toolbox.py Thu Oct 20 10:03:28 2011 -0400
@@ -59,7 +59,7 @@
# See if we have a grouping.Repeat element
repeat_name = None
for input_name, input_value in testdef.tool.inputs_by_page[0].items():
- if isinstance( input_value, grouping.Repeat ):
+ if isinstance( input_value, grouping.Repeat ) and all_inputs.get( input_name, 1 ) not in [ 0, "0" ]: #default behavior is to test 1 repeat, for backwards compatibility
repeat_name = input_name
break
#check if we need to verify number of outputs created dynamically by tool
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Allow specifying a help attribute for repeat parameter grouping.
by Bitbucket 20 Oct '11
by Bitbucket 20 Oct '11
20 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/93e463402081/
changeset: 93e463402081
user: dan
date: 2011-10-20 15:37:02
summary: Allow specifying a help attribute for repeat parameter grouping.
affected #: 3 files (-1 bytes)
--- a/lib/galaxy/tools/__init__.py Wed Oct 19 16:47:25 2011 -0400
+++ b/lib/galaxy/tools/__init__.py Thu Oct 20 09:37:02 2011 -0400
@@ -814,7 +814,8 @@
if elem.tag == "repeat":
group = Repeat()
group.name = elem.get( "name" )
- group.title = elem.get( "title" )
+ group.title = elem.get( "title" )
+ group.help = elem.get( "help", None )
group.inputs = self.parse_input_elem( elem, enctypes, context )
group.default = int( elem.get( "default", 0 ) )
group.min = int( elem.get( "min", 0 ) )
--- a/lib/galaxy/tools/parameters/grouping.py Wed Oct 19 16:47:25 2011 -0400
+++ b/lib/galaxy/tools/parameters/grouping.py Thu Oct 20 09:37:02 2011 -0400
@@ -45,6 +45,7 @@
Group.__init__( self )
self.title = None
self.inputs = None
+ self.help = None
self.default = 0
self.min = None
self.max = None
--- a/templates/tool_form.mako Wed Oct 19 16:47:25 2011 -0400
+++ b/templates/tool_form.mako Thu Oct 20 09:37:02 2011 -0400
@@ -120,7 +120,13 @@
<% pass %>
%elif input.type == "repeat":
<div class="repeat-group">
- <div class="form-title-row"><strong>${input.title_plural}</strong></div>
+ <div class="form-title-row"><strong>${input.title_plural}</strong>
+ %if input.help:
+ <div class="toolParamHelp" style="clear: both;">
+ ${input.help}
+ </div>
+ %endif
+ </div><% repeat_state = tool_state[input.name] %>
%for i in range( len( repeat_state ) ):
<div class="repeat-group-item">
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: Enhanced Galaxy instance <=> Galaxy tool shed integration:
by Bitbucket 19 Oct '11
by Bitbucket 19 Oct '11
19 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/6c8695c2a949/
changeset: 6c8695c2a949
user: greg
date: 2011-10-19 22:47:25
summary: Enhanced Galaxy instance <=> Galaxy tool shed integration:
1. All accessible tool sheds are now displayed in a mako template in teh Admin view rather than the left tool panel
2. From Galaxy you can now search for tools by id, name, version in a selected Galaxy tool shed.
3. Tools found using the above search can now be installed in the local Galaxy instance.
affected #: 18 files (-1 bytes)
--- a/lib/galaxy/web/controllers/admin.py Wed Oct 19 10:14:51 2011 -0400
+++ b/lib/galaxy/web/controllers/admin.py Wed Oct 19 16:47:25 2011 -0400
@@ -688,20 +688,28 @@
return self.repository_list_grid( trans, **kwd )
@web.expose
@web.require_admin
+ def browse_tool_sheds( self, trans, **kwd ):
+ params = util.Params( kwd )
+ message = util.restore_text( params.get( 'message', '' ) )
+ status = params.get( 'status', 'done' )
+ return trans.fill_template( '/webapps/galaxy/admin/tool_sheds.mako',
+ webapp='galaxy',
+ message=message,
+ status='error' )
+ @web.expose
+ @web.require_admin
+ def find_tools_in_tool_shed( self, trans, **kwd ):
+ tool_shed_url = kwd[ 'tool_shed_url' ]
+ galaxy_url = trans.request.host
+ url = '%s/repository/find_tools?galaxy_url=%s&webapp=galaxy' % ( tool_shed_url, galaxy_url )
+ return trans.response.send_redirect( url )
+ @web.expose
+ @web.require_admin
def browse_tool_shed( self, trans, **kwd ):
tool_shed_url = kwd[ 'tool_shed_url' ]
galaxy_url = trans.request.host
- url = '%s/repository/browse_downloadable_repositories?galaxy_url=%s&webapp=community' % ( tool_shed_url, galaxy_url )
+ url = '%s/repository/browse_downloadable_repositories?galaxy_url=%s&webapp=galaxy' % ( tool_shed_url, galaxy_url )
return trans.response.send_redirect( url )
- def _decode( self, value ):
- # Extract and verify hash
- a, b = value.split( ":" )
- value = binascii.unhexlify( b )
- test = hmac_new( 'ToolShedAndGalaxyMustHaveThisSameKey', value )
- assert a == test
- # Restore from string
- values = json_fix( simplejson.loads( value ) )
- return values
@web.expose
@web.require_admin
def install_tool_shed_repository( self, trans, **kwd ):
@@ -728,7 +736,7 @@
section_key = 'section_%s' % kwd[ 'tool_panel_section' ]
tool_section = trans.app.toolbox.tool_panel[ section_key ]
# Decode the encoded repo_info_dict param value.
- repo_info_dict = self._decode( repo_info_dict )
+ repo_info_dict = self.__decode( repo_info_dict )
# Clone the repository to the configured location.
current_working_dir = os.getcwd()
for name, repo_info_tuple in repo_info_dict.items():
@@ -846,7 +854,7 @@
galaxy_url = trans.request.host
# Send a request to the relevant tool shed to see if there are any updates.
# TODO: support https in the following url.
- url = 'http://%s/repository/check_for_updates?galaxy_url=%s&name=%s&owner=%s&changeset_revision=%s&webapp=community' % \
+ url = 'http://%s/repository/check_for_updates?galaxy_url=%s&name=%s&owner=%s&changeset_revision=%s&webapp=galaxy' % \
( repository.tool_shed, galaxy_url, repository.name, repository.owner, repository.changeset_revision )
return trans.response.send_redirect( url )
@web.expose
@@ -1149,6 +1157,15 @@
section_str += ' </tool>\n'
section_str += ' </section>\n'
return section_str
+ def __decode( self, value ):
+ # Extract and verify hash
+ a, b = value.split( ":" )
+ value = binascii.unhexlify( b )
+ test = hmac_new( 'ToolShedAndGalaxyMustHaveThisSameKey', value )
+ assert a == test
+ # Restore from string
+ values = json_fix( simplejson.loads( value ) )
+ return values
## ---- Utility methods -------------------------------------------------------
--- a/lib/galaxy/webapps/community/controllers/repository.py Wed Oct 19 10:14:51 2011 -0400
+++ b/lib/galaxy/webapps/community/controllers/repository.py Wed Oct 19 16:47:25 2011 -0400
@@ -283,13 +283,14 @@
class InstallMatchedRepositoryListGrid( MatchedRepositoryListGrid ):
# Grid definition
- title = "Repositories with required tools"
- operations = [ grids.GridOperation( "Install tools",
- url_args = dict( controller='repository',
- action='find_tools',
- webapp='community' ),
- allow_multiple=True,
- async_compatible=False ) ]
+ title = "Repositories that contain tools matching search criteria"
+ columns = [ col for col in MatchedRepositoryListGrid.columns ]
+ # Override the NameColumn
+ columns[ 0 ] = MatchedRepositoryListGrid.NameColumn( "Name",
+ link=( lambda item: dict( operation="view_or_manage_repository",
+ id=item.id,
+ webapp="galaxy" ) ),
+ attach_popup=True )
class RepositoryController( BaseUIController, ItemRatings ):
@@ -340,6 +341,7 @@
return self.category_list_grid( trans, **kwd )
@web.expose
def browse_downloadable_repositories( self, trans, **kwd ):
+ webapp = kwd.get( 'webapp', 'community' )
galaxy_url = kwd.get( 'galaxy_url', None )
if galaxy_url:
trans.set_cookie( galaxy_url, name='toolshedgalaxyurl' )
@@ -366,12 +368,14 @@
if repository.tip != v:
return trans.response.send_redirect( web.url_for( controller='repository',
action='preview_tools_in_changeset',
+ webapp=webapp,
repository_id=trans.security.encode_id( repository.id ),
changeset_revision=v ) )
url_args = dict( action='browse_downloadable_repositories',
operation='preview_tools_in_changeset',
+ webapp=webapp,
repository_id=repository_id )
- self.downloadable_repository_list_grid.operations = [ grids.GridOperation( "Preview and install tools",
+ self.downloadable_repository_list_grid.operations = [ grids.GridOperation( "Preview and install",
url_args=url_args,
allow_multiple=False,
async_compatible=False ) ]
@@ -396,18 +400,18 @@
repository = get_repository( trans, repository_id )
kwd[ 'id' ] = repository_id
kwd[ 'changeset_revision' ] = repository_metadata.changeset_revision
- if is_admin or repository.user == trans.user:
+ if webapp == 'community' and ( is_admin or repository.user == trans.user ):
a = 'manage_repository'
else:
a = 'view_repository'
return trans.response.send_redirect( web.url_for( controller='repository',
action=a,
**kwd ) )
- if operation == "install tools":
+ if operation == "install":
repo_info_dict = {}
galaxy_url = trans.get_cookie( name='toolshedgalaxyurl' )
# TODO: support https in the following url.
- url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s' % ( galaxy_url, trans.request.host )
+ url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s&webapp=%s' % ( galaxy_url, trans.request.host, webapp )
repository_metadata_ids = util.listify( kwd[ 'id' ] )
for repository_metadata_id in repository_metadata_ids:
repository_metadata = get_repository_metadata_by_id( trans, repository_metadata_id )
@@ -416,7 +420,7 @@
changeset_revision = repository_metadata.changeset_revision
repository_clone_url = generate_clone_url( trans, repository_id )
repo_info_dict[ repository.name ] = ( repository.description, repository_clone_url, changeset_revision )
- encoded_repo_info_dict = self._encode( repo_info_dict )
+ encoded_repo_info_dict = self.__encode( repo_info_dict )
url += '&repo_info_dict=%s' % encoded_repo_info_dict
return trans.response.send_redirect( url )
tool_ids = [ item.lower() for item in util.listify( kwd.get( 'tool_id', '' ) ) ]
@@ -427,17 +431,19 @@
match_tuples = []
ok = True
if tool_ids or tool_names or tool_versions:
- ok, match_tuples = self._search_repository_metadata( trans, tool_ids, tool_names, tool_versions, exact_matches_checked )
+ ok, match_tuples = self.__search_repository_metadata( trans, tool_ids, tool_names, tool_versions, exact_matches_checked )
if ok:
kwd[ 'match_tuples' ] = match_tuples
# Render the list view
- if galaxy_url:
- # Our request originated from a Galaxy instance, so we're listing tools
- # that have been found for a workflow in Galaxy.
+ if webapp == 'galaxy':
+ # Our request originated from a Galaxy instance.
+ install_url_args = dict( controller='repository', action='find_tools', webapp=webapp )
+ operations = [ grids.GridOperation( "Install", url_args=install_url_args, allow_multiple=True, async_compatible=False ) ]
+ self.install_matched_repository_list_grid.operations = operations
return self.install_matched_repository_list_grid( trans, **kwd )
else:
kwd[ 'message' ] = "tool id: <b>%s</b><br/>tool name: <b>%s</b><br/>tool version: <b>%s</b><br/>exact matches only: <b>%s</b>" % \
- ( self._stringify( tool_ids ), self._stringify( tool_names ), self._stringify( tool_versions ), str( exact_matches_checked ) )
+ ( self.__stringify( tool_ids ), self.__stringify( tool_names ), self.__stringify( tool_versions ), str( exact_matches_checked ) )
return self.matched_repository_list_grid( trans, **kwd )
else:
message = "No search performed - each field must contain the same number of comma-separated items."
@@ -445,13 +451,13 @@
exact_matches_check_box = CheckboxField( 'exact_matches', checked=exact_matches_checked )
return trans.fill_template( '/webapps/community/repository/find_tools.mako',
webapp=webapp,
- tool_id=self._stringify( tool_ids ),
- tool_name=self._stringify( tool_names ),
- tool_version=self._stringify( tool_versions ),
+ tool_id=self.__stringify( tool_ids ),
+ tool_name=self.__stringify( tool_names ),
+ tool_version=self.__stringify( tool_versions ),
exact_matches_check_box=exact_matches_check_box,
message=message,
status=status )
- def _search_repository_metadata( self, trans, tool_ids, tool_names, tool_versions, exact_matches_checked ):
+ def __search_repository_metadata( self, trans, tool_ids, tool_names, tool_versions, exact_matches_checked ):
match_tuples = []
ok = True
for repository_metadata in trans.sa_session.query( model.RepositoryMetadata ):
@@ -460,38 +466,38 @@
for tool_dict in tools:
if tool_ids and not tool_names and not tool_versions:
for tool_id in tool_ids:
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
elif tool_names and not tool_ids and not tool_versions:
for tool_name in tool_names:
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
elif tool_versions and not tool_ids and not tool_names:
for tool_version in tool_versions:
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_version=tool_version ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_version=tool_version ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
elif tool_ids and tool_names and not tool_versions:
if len( tool_ids ) == len( tool_names ):
- match_tuples = self._search_ids_names( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names )
+ match_tuples = self.__search_ids_names( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names )
elif len( tool_ids ) == 1 or len( tool_names ) == 1:
- tool_ids, tool_names = self._make_same_length( tool_ids, tool_names )
- match_tuples = self._search_ids_names( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names )
+ tool_ids, tool_names = self.__make_same_length( tool_ids, tool_names )
+ match_tuples = self.__search_ids_names( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names )
else:
ok = False
elif tool_ids and tool_versions and not tool_names:
if len( tool_ids ) == len( tool_versions ):
- match_tuples = self._search_ids_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions )
+ match_tuples = self.__search_ids_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions )
elif len( tool_ids ) == 1 or len( tool_versions ) == 1:
- tool_ids, tool_versions = self._make_same_length( tool_ids, tool_versions )
- match_tuples = self._search_ids_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions )
+ tool_ids, tool_versions = self.__make_same_length( tool_ids, tool_versions )
+ match_tuples = self.__search_ids_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions )
else:
ok = False
elif tool_versions and tool_names and not tool_ids:
if len( tool_versions ) == len( tool_names ):
- match_tuples = self._search_names_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions )
+ match_tuples = self.__search_names_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions )
elif len( tool_versions ) == 1 or len( tool_names ) == 1:
- tool_versions, tool_names = self._make_same_length( tool_versions, tool_names )
- match_tuples = self._search_names_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions )
+ tool_versions, tool_names = self.__make_same_length( tool_versions, tool_names )
+ match_tuples = self.__search_names_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions )
else:
ok = False
elif tool_versions and tool_names and tool_ids:
@@ -499,12 +505,12 @@
for i, tool_version in enumerate( tool_versions ):
tool_name = tool_names[ i ]
tool_id = tool_ids[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name, tool_version=tool_version ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name, tool_version=tool_version ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
else:
ok = False
return ok, match_tuples
- def _in_tool_dict( self, tool_dict, exact_matches_checked, tool_id=None, tool_name=None, tool_version=None ):
+ def __in_tool_dict( self, tool_dict, exact_matches_checked, tool_id=None, tool_name=None, tool_version=None ):
found = False
if tool_id and not tool_name and not tool_version:
tool_dict_tool_id = tool_dict[ 'id' ].lower()
@@ -545,13 +551,13 @@
tool_dict_tool_name.find( tool_name ) >= 0 and \
tool_dict_tool_id.find( tool_id ) >= 0 )
return found
- def _stringify( self, list ):
+ def __stringify( self, list ):
if list:
return ','.join( list )
return ''
- def _make_same_length( self, list1, list2 ):
+ def __make_same_length( self, list1, list2 ):
# If either list is 1 item, we'll append to it until its
- #length is the same as the other.
+ # length is the same as the other.
if len( list1 ) == 1:
for i in range( 1, len( list2 ) ):
list1.append( list1[ 0 ] )
@@ -559,25 +565,25 @@
for i in range( 1, len( list1 ) ):
list2.append( list2[ 0 ] )
return list1, list2
- def _search_ids_names( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names ):
+ def __search_ids_names( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names ):
for i, tool_id in enumerate( tool_ids ):
tool_name = tool_names[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
return match_tuples
- def _search_ids_versions( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions ):
+ def __search_ids_versions( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions ):
for i, tool_id in enumerate( tool_ids ):
tool_version = tool_versions[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_version=tool_version ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_version=tool_version ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
return match_tuples
- def _search_names_versions( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions ):
+ def __search_names_versions( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions ):
for i, tool_name in enumerate( tool_names ):
tool_version = tool_versions[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name, tool_version=tool_version ):
+ if self.__in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name, tool_version=tool_version ):
match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
return match_tuples
- def _encode( self, repo_info_dict ):
+ def __encode( self, repo_info_dict ):
value = simplejson.dumps( repo_info_dict )
a = hmac_new( 'ToolShedAndGalaxyMustHaveThisSameKey', value )
b = binascii.hexlify( value )
@@ -587,6 +593,7 @@
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
+ webapp = params.get( 'webapp', 'community' )
repository = get_repository( trans, repository_id )
changeset_revision = util.restore_text( params.get( 'changeset_revision', repository.tip ) )
repository_metadata = get_repository_metadata_by_changeset_revision( trans, repository_id, changeset_revision )
@@ -605,7 +612,7 @@
revision_label=revision_label,
changeset_revision_select_field=changeset_revision_select_field,
metadata=metadata,
- display_for_install=True,
+ webapp=webapp,
message=message,
status=status )
@web.expose
@@ -631,7 +638,7 @@
name = params.get( 'name', None )
owner = params.get( 'owner', None )
changeset_revision = params.get( 'changeset_revision', None )
- webapp = params.get( 'webapp', None )
+ webapp = params.get( 'webapp', 'community' )
# Start building up the url to redirect back to the calling Galaxy instance.
# TODO: support https in the following url.
url = 'http://%s/admin/update_to_changeset_revision?tool_shed_url=%s' % ( galaxy_url, trans.request.host )
@@ -713,6 +720,8 @@
# We add params to the keyword dict in this method in order to rename the param
# with an "f-" prefix, simulating filtering by clicking a search link. We have
# to take this approach because the "-" character is illegal in HTTP requests.
+ if 'webapp' not in kwd:
+ kwd[ 'webapp' ] = 'community'
if 'operation' in kwd:
operation = kwd['operation'].lower()
if operation == "view_or_manage_repository":
@@ -855,6 +864,7 @@
message = "Repository '%s' has been created." % repository.name
trans.response.send_redirect( web.url_for( controller='repository',
action='view_repository',
+ webapp='community',
message=message,
id=trans.security.encode_id( repository.id ) ) )
return trans.fill_template( '/webapps/community/repository/create_repository.mako',
@@ -945,6 +955,7 @@
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
+ webapp = params.get( 'webapp', 'community' )
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 )
@@ -957,6 +968,7 @@
repository=repository,
commit_message=commit_message,
is_malicious=is_malicious,
+ webapp=webapp,
message=message,
status=status )
@web.expose
@@ -1098,6 +1110,7 @@
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
repository = get_repository( trans, id )
+ webapp = params.get( 'webapp', 'community' )
repo = hg.repository( get_configured_ui(), repository.repo_path )
avg_rating, num_ratings = self.get_ave_item_rating_data( trans.sa_session, repository, webapp_model=trans.model )
changeset_revision = util.restore_text( params.get( 'changeset_revision', repository.tip ) )
@@ -1155,6 +1168,7 @@
changeset_revision_select_field=changeset_revision_select_field,
revision_label=revision_label,
is_malicious=is_malicious,
+ webapp=webapp,
message=message,
status=status )
@web.expose
@@ -1191,6 +1205,7 @@
return trans.response.send_redirect( web.url_for( controller='repository',
action='view_repository',
id=id,
+ webapp='community',
message=message,
status=status ) )
if repo_name != repository.name:
@@ -1482,7 +1497,7 @@
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
- display_for_install = util.string_as_bool( params.get( 'display_for_install', False ) )
+ webapp = params.get( 'webapp', 'community' )
repository = get_repository( trans, repository_id )
repo = hg.repository( get_configured_ui(), repository.repo_path )
try:
@@ -1523,12 +1538,12 @@
tool=tool,
tool_state=tool_state,
is_malicious=is_malicious,
- display_for_install=display_for_install,
+ webapp=webapp,
message=message,
status=status )
except Exception, e:
message = "Error loading tool: %s. Click <b>Reset metadata</b> to correct this error." % str( e )
- if display_for_install:
+ if webapp == 'galaxy':
return trans.response.send_redirect( web.url_for( controller='repository',
action='preview_tools_in_changeset',
repository_id=repository_id,
@@ -1558,7 +1573,7 @@
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
- display_for_install = util.string_as_bool( params.get( 'display_for_install', False ) )
+ webapp = params.get( 'webapp', 'community' )
repository = get_repository( trans, repository_id )
metadata = {}
tool = None
@@ -1587,7 +1602,7 @@
revision_label=revision_label,
changeset_revision_select_field=changeset_revision_select_field,
is_malicious=is_malicious,
- display_for_install=display_for_install,
+ webapp=webapp,
message=message,
status=status )
@web.expose
--- a/lib/galaxy/webapps/community/controllers/upload.py Wed Oct 19 10:14:51 2011 -0400
+++ b/lib/galaxy/webapps/community/controllers/upload.py Wed Oct 19 16:47:25 2011 -0400
@@ -138,6 +138,7 @@
action='browse_repository',
id=repository_id,
commit_message='Deleted selected files',
+ webapp='community',
message=message,
status=status ) )
else:
--- a/templates/webapps/community/repository/browse_repository.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/browse_repository.mako Wed Oct 19 16:47:25 2011 -0400
@@ -71,13 +71,13 @@
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, webapp='community' )}">View repository</a>
%endif
%if can_upload:
<a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View change log</a>
%endif
%if can_rate:
<a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
--- a/templates/webapps/community/repository/common.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/common.mako Wed Oct 19 16:47:25 2011 -0400
@@ -83,7 +83,7 @@
hg clone <a href="${clone_str}">${clone_str}</a></%def>
-<%def name="render_repository_tools_and_workflows( metadata, can_set_metadata=False, display_for_install=False )">
+<%def name="render_repository_tools_and_workflows( metadata, can_set_metadata=False, webapp='community' )">
%if metadata or can_set_metadata:
<p/><div class="toolForm">
@@ -111,12 +111,12 @@
<tr><td><div style="float: left; margin-left: 1px;" class="menubutton split popup" id="tool-${tool_dict[ 'id' ].replace( ' ', '_' )}-popup">
- <a class="view-info" href="${h.url_for( controller='repository', action='display_tool', repository_id=trans.security.encode_id( repository.id ), tool_config=tool_dict[ 'tool_config' ], changeset_revision=changeset_revision, display_for_install=display_for_install )}">
+ <a class="view-info" href="${h.url_for( controller='repository', action='display_tool', repository_id=trans.security.encode_id( repository.id ), tool_config=tool_dict[ 'tool_config' ], changeset_revision=changeset_revision, webapp=webapp )}">
${tool_dict[ 'name' ]}
</a></div><div popupmenu="tool-${tool_dict[ 'id' ].replace( ' ', '_' )}-popup">
- <a class="action-button" href="${h.url_for( controller='repository', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision, tool_id=tool_dict[ 'id' ], display_for_install=display_for_install )}">View tool metadata</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision, tool_id=tool_dict[ 'id' ], webapp=webapp )}">View tool metadata</a></div></td><td>${tool_dict[ 'description' ]}</td>
--- a/templates/webapps/community/repository/contact_owner.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/contact_owner.mako Wed Oct 19 16:47:25 2011 -0400
@@ -37,16 +37,16 @@
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ) )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ) )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View repository</a>
%endif
%if can_upload:
<a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View change log</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">${browse_label}</a>
%endif
%if can_download:
<a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, file_type='gz' )}">Download as a .tar.gz file</a>
--- a/templates/webapps/community/repository/find_tools.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/find_tools.mako Wed Oct 19 16:47:25 2011 -0400
@@ -18,9 +18,10 @@
<div class="toolFormTitle">Search repositories for valid tools</div><div class="toolFormBody"><div class="form-row">
- Valid tools are those that properly load in Galaxy. Enter any combination of the following tool attributes to locate matching valid tools.
+ Valid tools are those that properly load in Galaxy. Enter any combination of the following tool attributes to find repositories that contain
+ valid tools matching the search criteria.<br/><br/>
Comma-separated strings may be entered in each field to expand search criteria. Each field must contain the same number of comma-separated
- strings if these types of strings are entered in more than one field.
+ strings if these types of search strings are entered in more than one field.
</div><div style="clear: both"></div><form name="find_tools" id="find_tools" action="${h.url_for( controller='repository', action='find_tools', webapp=webapp )}" method="post" >
--- a/templates/webapps/community/repository/manage_repository.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/manage_repository.mako Wed Oct 19 16:47:25 2011 -0400
@@ -77,13 +77,13 @@
<a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View change log</a>
%endif
%if can_rate:
<a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">${browse_label}</a>
%endif
%if can_contact_owner:
<a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
@@ -290,7 +290,7 @@
<div class="toolFormBody">
%if display_reviews:
<div class="form-row">
- <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=False )}"><label>Hide Reviews</label></a>
+ <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=False, webapp='community' )}"><label>Hide Reviews</label></a></div><table class="grid"><thead>
@@ -317,7 +317,7 @@
</table>
%else:
<div class="form-row">
- <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=True )}"><label>Display Reviews</label></a>
+ <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=True, webapp='community' )}"><label>Display Reviews</label></a></div>
%endif
</div>
--- a/templates/webapps/community/repository/preview_tools_in_changeset.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/preview_tools_in_changeset.mako Wed Oct 19 16:47:25 2011 -0400
@@ -64,7 +64,7 @@
<br/><br/><ul class="manage-table-actions">
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp='community', changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a></ul>
%if message:
@@ -98,4 +98,4 @@
</div></div><p/>
-${render_repository_tools_and_workflows( metadata, display_for_install=display_for_install )}
+${render_repository_tools_and_workflows( metadata, webapp=webapp )}
--- a/templates/webapps/community/repository/rate_repository.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/rate_repository.mako Wed Oct 19 16:47:25 2011 -0400
@@ -78,16 +78,16 @@
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, webapp='community' )}">View repository</a>
%endif
%if can_upload:
<a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View change log</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">${browse_label}</a>
%endif
%if can_contact_owner:
<a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
--- a/templates/webapps/community/repository/tool_form.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/tool_form.mako Wed Oct 19 16:47:25 2011 -0400
@@ -110,33 +110,33 @@
<br/><br/><ul class="manage-table-actions">
- %if display_for_install:
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp='community', changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ %if webapp == 'galaxy':
+ <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
%else:
%if is_new:
- <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
+ <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
%else:
<li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li><div popupmenu="repository-${repository.id}-popup">
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, webapp=webapp )}">View repository</a>
%endif
%if can_upload:
- <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
+ <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">View change log</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">${browse_label}</a>
%endif
%if can_rate:
<a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
%endif
%if can_contact_owner:
- <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp=webapp )}">Contact repository owner</a>
%endif
%if can_download:
<a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='gz' )}">Download as a .tar.gz file</a>
--- a/templates/webapps/community/repository/upload.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/upload.mako Wed Oct 19 16:47:25 2011 -0400
@@ -50,13 +50,13 @@
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, webapp='community' )}">View repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View change log</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">Browse or delete repository files</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">Browse or delete repository files</a>
%endif
</div></ul>
--- a/templates/webapps/community/repository/view_changelog.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/view_changelog.mako Wed Oct 19 16:47:25 2011 -0400
@@ -49,13 +49,13 @@
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, webapp='community' )}">View repository</a>
%endif
%if can_rate:
<a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">${browse_label}</a>
%endif
%if can_contact_owner:
<a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
--- a/templates/webapps/community/repository/view_changeset.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/view_changeset.mako Wed Oct 19 16:47:25 2011 -0400
@@ -50,16 +50,16 @@
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, webapp='community' )}">View repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">View change log</a>
%endif
%if can_rate:
<a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp='community' )}">${browse_label}</a>
%endif
%if can_contact_owner:
<a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
--- a/templates/webapps/community/repository/view_repository.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/view_repository.mako Wed Oct 19 16:47:25 2011 -0400
@@ -11,8 +11,8 @@
can_rate = not is_new and trans.user and repository.user != trans.user
can_upload = can_push
can_download = not is_new and ( not is_malicious or can_push )
- can_browse_contents = not is_new
- can_view_change_log = not is_new
+ can_browse_contents = webapp == 'community' and not is_new
+ can_view_change_log = webapp == 'community' and not is_new
if can_push:
browse_label = 'Browse or delete repository files'
else:
@@ -65,32 +65,36 @@
<br/><br/><ul class="manage-table-actions">
- %if is_new and can_upload:
- <li><a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a></li>
+ %if webapp == 'community':
+ %if is_new and can_upload:
+ <li><a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a></li>
+ %else:
+ <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li>
+ <div popupmenu="repository-${repository.id}-popup">
+ %if can_upload:
+ <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
+ %endif
+ %if can_view_change_log:
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">View change log</a>
+ %endif
+ %if can_rate:
+ <a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">Rate repository</a>
+ %endif
+ %if can_browse_contents:
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">${browse_label}</a>
+ %endif
+ %if can_contact_owner:
+ <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp=webapp )}">Contact repository owner</a>
+ %endif
+ %if can_download:
+ <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='gz', webapp=webapp )}">Download as a .tar.gz file</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='bz2', webapp=webapp )}">Download as a .tar.bz2 file</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='zip', webapp=webapp )}">Download as a zip file</a>
+ %endif
+ </div>
+ %endif
%else:
- <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li>
- <div popupmenu="repository-${repository.id}-popup">
- %if can_upload:
- <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
- %endif
- %if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
- %endif
- %if can_rate:
- <a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
- %endif
- %if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
- %endif
- %if can_contact_owner:
- <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
- %endif
- %if can_download:
- <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='gz' )}">Download as a .tar.gz file</a>
- <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='bz2' )}">Download as a .tar.bz2 file</a>
- <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='zip' )}">Download as a zip file</a>
- %endif
- </div>
+ <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
%endif
</ul>
@@ -102,7 +106,7 @@
<div class="toolForm"><div class="toolFormTitle">Repository revision</div><div class="toolFormBody">
- <form name="change_revision" id="change_revision" action="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ) )}" method="post" >
+ <form name="change_revision" id="change_revision" action="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), webapp=webapp )}" method="post" ><div class="form-row"><%
if changeset_revision == repository.tip:
@@ -132,7 +136,7 @@
<div class="form-row"><label>Name:</label>
%if can_browse_contents:
- <a href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${repository.name}</a>
+ <a href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">${repository.name}</a>
%else:
${repository.name}
%endif
@@ -151,7 +155,7 @@
<div class="form-row"><label>Revision:</label>
%if can_view_change_log:
- <a href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">${revision_label}</a>
+ <a href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">${revision_label}</a>
%else:
${revision_label}
%endif
@@ -176,7 +180,7 @@
%endif
</div></div>
-${render_repository_tools_and_workflows( metadata )}
+${render_repository_tools_and_workflows( metadata, webapp=webapp )}
%if repository.categories:
<p/><div class="toolForm">
@@ -191,12 +195,12 @@
</div></div>
%endif
-%if trans.user and trans.app.config.smtp_server:
+%if webapp == 'community' and trans.user and trans.app.config.smtp_server:
<p/><div class="toolForm"><div class="toolFormTitle">Notification on update</div><div class="toolFormBody">
- <form name="receive_email_alerts" id="receive_email_alerts" action="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ) )}" method="post" >
+ <form name="receive_email_alerts" id="receive_email_alerts" action="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), webapp=webapp )}" method="post" ><div class="form-row"><label>Receive email alerts:</label>
${alerts_check_box.get_html()}
@@ -233,7 +237,7 @@
<div class="toolFormBody">
%if display_reviews:
<div class="form-row">
- <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=False )}"><label>Hide Reviews</label></a>
+ <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=False, webapp=webapp )}"><label>Hide Reviews</label></a></div><table class="grid"><thead>
@@ -260,7 +264,7 @@
</table>
%else:
<div class="form-row">
- <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=True )}"><label>Display Reviews</label></a>
+ <a href="${h.url_for( controller='repository', action='view_repository', id=trans.security.encode_id( repository.id ), display_reviews=True, webapp=webapp )}"><label>Display Reviews</label></a></div>
%endif
</div>
--- a/templates/webapps/community/repository/view_tool_metadata.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/community/repository/view_tool_metadata.mako Wed Oct 19 16:47:25 2011 -0400
@@ -12,10 +12,10 @@
can_push = trans.app.security_agent.can_push( trans.user, repository )
can_upload = can_push
can_download = not is_new and ( not is_malicious or can_push )
- can_browse_contents = not is_new
+ can_browse_contents = webapp == 'community' and not is_new
can_rate = repository.user != trans.user
can_manage = is_admin or repository.user == trans.user
- can_view_change_log = not is_new
+ can_view_change_log = webapp == 'community' and not is_new
if can_push:
browse_label = 'Browse or delete repository files'
else:
@@ -33,30 +33,30 @@
<br/><br/><ul class="manage-table-actions">
- %if display_for_install:
- <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp='community', changeset_revision=changeset_revision )}">Install to local Galaxy</a>
+ %if webapp == 'galaxy':
+ <a class="action-button" href="${h.url_for( controller='repository', action='install_repository_revision', repository_id=trans.security.encode_id( repository.id ), webapp=webapp, changeset_revision=changeset_revision )}">Install to local Galaxy</a>
%else:
%if is_new:
- <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
+ <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
%else:
<li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li><div popupmenu="repository-${repository.id}-popup">
%if can_manage:
<a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">Manage repository</a>
%else:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">View repository</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, webapp=webapp )}">View repository</a>
%endif
%if can_upload:
- <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
+ <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp=webapp )}">Upload files to repository</a>
%endif
%if can_view_change_log:
- <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">View change log</a>
%endif
%if can_browse_contents:
- <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ), webapp=webapp )}">${browse_label}</a>
%endif
%if can_contact_owner:
- <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
+ <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp=webapp )}">Contact repository owner</a>
%endif
%if can_download:
<a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision, file_type='gz' )}">Download as a .tar.gz file</a>
@@ -76,7 +76,7 @@
<div class="toolFormTitle">Repository revision</div><div class="toolFormBody">
%if len( changeset_revision_select_field.options ) > 1:
- <form name="change_revision" id="change_revision" action="${h.url_for( controller='repository', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), tool_id=metadata[ 'id' ], display_for_install=display_for_install )}" method="post" >
+ <form name="change_revision" id="change_revision" action="${h.url_for( controller='repository', action='view_tool_metadata', repository_id=trans.security.encode_id( repository.id ), tool_id=metadata[ 'id' ], webapp=webapp )}" method="post" ><div class="form-row"><%
if changeset_revision == repository.tip:
@@ -124,7 +124,7 @@
<div class="toolFormBody"><div class="form-row"><label>Name:</label>
- <a href="${h.url_for( controller='repository', action='display_tool', repository_id=trans.security.encode_id( repository.id ), tool_config=metadata[ 'tool_config' ], changeset_revision=changeset_revision )}">${metadata[ 'name' ]}</a>
+ <a href="${h.url_for( controller='repository', action='display_tool', repository_id=trans.security.encode_id( repository.id ), tool_config=metadata[ 'tool_config' ], changeset_revision=changeset_revision, webapp=webapp )}">${metadata[ 'name' ]}</a><div style="clear: both"></div></div>
%if 'description' in metadata:
--- a/templates/webapps/galaxy/admin/index.mako Wed Oct 19 10:14:51 2011 -0400
+++ b/templates/webapps/galaxy/admin/index.mako Wed Oct 19 16:47:25 2011 -0400
@@ -73,10 +73,7 @@
<div class="toolSectionTitle">Tool sheds</div><div class="toolSectionBody"><div class="toolSectionBg">
- %for name, url in trans.app.tool_shed_registry.tool_sheds.items():
- <div class="toolTitle"><a href="${h.url_for( controller='admin', action='browse_tool_shed', tool_shed_url=url )}" target="galaxy_main">${name}</a></div>
- %endfor
- </div>
+ <div class="toolTitle"><a href="${h.url_for( controller='admin', action='browse_tool_sheds' )}" target="galaxy_main">Browse tool sheds</a></div></div></div>
%endif
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: dan: Add dataset_metadata_in_data_table validator. Mimics behavior of dataset_metadata_in_file, but uses data tables.
by Bitbucket 19 Oct '11
by Bitbucket 19 Oct '11
19 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/150069a23aad/
changeset: 150069a23aad
user: dan
date: 2011-10-19 16:14:51
summary: Add dataset_metadata_in_data_table validator. Mimics behavior of dataset_metadata_in_file, but uses data tables.
affected #: 1 file (-1 bytes)
--- a/lib/galaxy/tools/parameters/validation.py Tue Oct 18 16:57:45 2011 -0400
+++ b/lib/galaxy/tools/parameters/validation.py Wed Oct 19 10:14:51 2011 -0400
@@ -189,7 +189,7 @@
class UnspecifiedBuildValidator( Validator ):
"""
- Validator that checks for missing metadata
+ Validator that checks for dbkey not equal to '?'
"""
def __init__( self, message=None ):
if message is None:
@@ -268,6 +268,45 @@
return
raise ValueError( self.message )
+class MetadataInDataTableColumnValidator( Validator ):
+ """
+ Validator that checks if the value for a dataset's metadata item exists in a file.
+ """
+ @classmethod
+ def from_element( cls, param, elem ):
+ table_name = elem.get( "table_name", None )
+ assert table_name, 'You must specify a table_name.'
+ tool_data_table = param.tool.app.tool_data_tables[ table_name ]
+ metadata_name = elem.get( "metadata_name", None )
+ if metadata_name:
+ metadata_name = metadata_name.strip()
+ metadata_column = elem.get( "metadata_column", 0 )
+ try:
+ metadata_column = int( metadata_column )
+ except:
+ pass
+ message = elem.get( "message", "Value for metadata %s was not found in %s." % ( metadata_name, table_name ) )
+ line_startswith = elem.get( "line_startswith", None )
+ if line_startswith:
+ line_startswith = line_startswith.strip()
+ return cls( tool_data_table, metadata_name, metadata_column, message, line_startswith )
+ def __init__( self, tool_data_table, metadata_name, metadata_column, message="Value for metadata not found.", line_startswith=None ):
+ self.metadata_name = metadata_name
+ self.message = message
+ self.valid_values = []
+ if isinstance( metadata_column, basestring ):
+ metadata_column = tool_data_table.columns[ metadata_column ]
+ for fields in tool_data_table.get_fields():
+ if metadata_column < len( fields ):
+ self.valid_values.append( fields[ metadata_column ] )
+ def validate( self, value, history = None ):
+ if not value: return
+ if hasattr( value, "metadata" ):
+ if value.metadata.spec[self.metadata_name].param.to_string( value.metadata.get( self.metadata_name ) ) in self.valid_values:
+ return
+ raise ValueError( self.message )
+
+
validator_types = dict( expression=ExpressionValidator,
regex=RegexValidator,
in_range=InRangeValidator,
@@ -277,6 +316,7 @@
no_options=NoOptionsValidator,
empty_field=EmptyTextfieldValidator,
dataset_metadata_in_file=MetadataInFileColumnValidator,
+ dataset_metadata_in_data_table=MetadataInDataTableColumnValidator,
dataset_ok_validator=DatasetOkValidator )
def get_suite():
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: Fixes and code cleanup for searching for tools in tool shed repositories.
by Bitbucket 18 Oct '11
by Bitbucket 18 Oct '11
18 Oct '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/e810fd94b4ed/
changeset: e810fd94b4ed
user: greg
date: 2011-10-18 22:57:45
summary: Fixes and code cleanup for searching for tools in tool shed repositories.
affected #: 1 file (-1 bytes)
--- a/lib/galaxy/webapps/community/controllers/repository.py Tue Oct 18 11:41:08 2011 -0400
+++ b/lib/galaxy/webapps/community/controllers/repository.py Tue Oct 18 16:57:45 2011 -0400
@@ -340,8 +340,6 @@
return self.category_list_grid( trans, **kwd )
@web.expose
def browse_downloadable_repositories( self, trans, **kwd ):
- # Set the toolshedgalaxyurl cookie so we can get back
- # to the calling local Galaxy instance.
galaxy_url = kwd.get( 'galaxy_url', None )
if galaxy_url:
trans.set_cookie( galaxy_url, name='toolshedgalaxyurl' )
@@ -354,7 +352,6 @@
action='preview_tools_in_changeset',
repository_id=repository_id,
changeset_revision=repository.tip ) )
-
# The changeset_revision_select_field in the RepositoryListGrid performs a refresh_on_change
# which sends in request parameters like changeset_revison_1, changeset_revision_2, etc. One
# of the many select fields on the grid performed the refresh_on_change, so we loop through
@@ -385,9 +382,7 @@
params = util.Params( kwd )
message = util.restore_text( params.get( 'message', '' ) )
status = params.get( 'status', 'done' )
- webapp = params.get( 'webapp', 'galaxy' )
- # Set the toolshedgalaxyurl cookie so we can get back
- # to the calling local Galaxy instance.
+ webapp = params.get( 'webapp', 'community' )
galaxy_url = kwd.get( 'galaxy_url', None )
if galaxy_url:
trans.set_cookie( galaxy_url, name='toolshedgalaxyurl' )
@@ -395,20 +390,19 @@
operation = kwd[ 'operation' ].lower()
is_admin = trans.user_is_admin()
if operation == "view_or_manage_repository":
+ # The received id is a RepositoryMetadata id, so we have to get the repository id.
repository_metadata = get_repository_metadata_by_id( trans, kwd[ 'id' ] )
repository_id = trans.security.encode_id( repository_metadata.repository.id )
repository = get_repository( trans, repository_id )
- # The received id is a RepositoryMetadata.id, so we have to get the repository id.
kwd[ 'id' ] = repository_id
kwd[ 'changeset_revision' ] = repository_metadata.changeset_revision
if is_admin or repository.user == trans.user:
- return trans.response.send_redirect( web.url_for( controller='repository',
- action='manage_repository',
- **kwd ) )
+ a = 'manage_repository'
else:
- return trans.response.send_redirect( web.url_for( controller='repository',
- action='view_repository',
- **kwd ) )
+ a = 'view_repository'
+ return trans.response.send_redirect( web.url_for( controller='repository',
+ action=a,
+ **kwd ) )
if operation == "install tools":
repo_info_dict = {}
galaxy_url = trans.get_cookie( name='toolshedgalaxyurl' )
@@ -416,7 +410,6 @@
url = 'http://%s/admin/install_tool_shed_repository?tool_shed_url=%s' % ( galaxy_url, trans.request.host )
repository_metadata_ids = util.listify( kwd[ 'id' ] )
for repository_metadata_id in repository_metadata_ids:
- #self._set_clone_repository_cookie( trans, index, repository_metadata_id )
repository_metadata = get_repository_metadata_by_id( trans, repository_metadata_id )
repository = get_repository( trans, trans.security.encode_id( repository_metadata.repository_id ) )
repository_id = trans.security.encode_id( repository.id )
@@ -426,60 +419,15 @@
encoded_repo_info_dict = self._encode( repo_info_dict )
url += '&repo_info_dict=%s' % encoded_repo_info_dict
return trans.response.send_redirect( url )
- tool_ids = [ tid.lower() for tid in util.listify( kwd.get( 'tool_id', '' ) ) ]
- tool_names = [ tn.lower() for tn in util.listify( kwd.get( 'tool_name', '' ) ) ]
- tool_versions = [ tv.lower() for tv in util.listify( kwd.get( 'tool_version', '' ) ) ]
+ tool_ids = [ item.lower() for item in util.listify( kwd.get( 'tool_id', '' ) ) ]
+ tool_names = [ item.lower() for item in util.listify( kwd.get( 'tool_name', '' ) ) ]
+ tool_versions = [ item.lower() for item in util.listify( kwd.get( 'tool_version', '' ) ) ]
exact_matches = params.get( 'exact_matches', '' )
exact_matches_checked = CheckboxField.is_checked( exact_matches )
match_tuples = []
ok = True
if tool_ids or tool_names or tool_versions:
- for repository_metadata in trans.sa_session.query( model.RepositoryMetadata ):
- metadata = repository_metadata.metadata
- tools = metadata[ 'tools' ]
- for tool_dict in tools:
- if tool_ids and not tool_names and not tool_versions:
- for tool_id in tool_ids:
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id ):
- match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
- elif tool_names and not tool_ids and not tool_versions:
- for tool_name in tool_names:
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name ):
- match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
- elif tool_versions and not tool_ids and not tool_names:
- for tool_version in tool_versions:
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_version=tool_version ):
- match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
- elif tool_ids and tool_names and not tool_versions:
- if len( tool_ids ) == len( tool_names ):
- for i, tool_id in enumerate( tool_ids ):
- tool_name = tool_names[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name ):
- match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
- else:
- message = "No search performed - each field must contain the same number of comma-separated items."
- status = "error"
- ok = False
- elif tool_ids and tool_versions and not tool_names:
- if len( tool_ids ) == len( tool_versions ):
- for i, tool_id in enumerate( tool_ids ):
- tool_version = tool_versions[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_version=tool_version ):
- match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
- else:
- message = "No search performed - each field must contain the same number of comma-separated items."
- status = "error"
- ok = False
- elif tool_versions and tool_names and not tool_ids:
- if len( tool_versions ) == len( tool_names ):
- for i, tool_version in enumerate( tool_versions ):
- tool_name = tool_names[ i ]
- if self._in_tool_dict( tool_dict, exact_matches_checked, tool_version=tool_version, tool_name=tool_name ):
- match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
- else:
- message = "No search performed - each field must contain the same number of comma-separated items."
- status = "error"
- ok = False
+ ok, match_tuples = self._search_repository_metadata( trans, tool_ids, tool_names, tool_versions, exact_matches_checked )
if ok:
kwd[ 'match_tuples' ] = match_tuples
# Render the list view
@@ -488,42 +436,74 @@
# that have been found for a workflow in Galaxy.
return self.install_matched_repository_list_grid( trans, **kwd )
else:
- if tool_ids:
- tool_id_str = ','.join( tool_ids )
- else:
- tool_id_str = ''
- if tool_names:
- tool_name_str = ','.join( tool_names )
- else:
- tool_name_str = ''
- if tool_versions:
- tool_version_str = ','.join( tool_versions )
- else:
- tool_version_str = ''
kwd[ 'message' ] = "tool id: <b>%s</b><br/>tool name: <b>%s</b><br/>tool version: <b>%s</b><br/>exact matches only: <b>%s</b>" % \
- ( tool_id_str, tool_name_str, tool_version_str, str( exact_matches_checked ) )
+ ( self._stringify( tool_ids ), self._stringify( tool_names ), self._stringify( tool_versions ), str( exact_matches_checked ) )
return self.matched_repository_list_grid( trans, **kwd )
+ else:
+ message = "No search performed - each field must contain the same number of comma-separated items."
+ status = "error"
exact_matches_check_box = CheckboxField( 'exact_matches', checked=exact_matches_checked )
- if tool_ids:
- tool_id = ','.join( tool_ids )
- else:
- tool_id = ''
- if tool_names:
- tool_name = ','.join( tool_names )
- else:
- tool_name = ''
- if tool_versions:
- tool_version = ','.join( tool_versions )
- else:
- tool_version = ''
return trans.fill_template( '/webapps/community/repository/find_tools.mako',
webapp=webapp,
- tool_id=tool_id,
- tool_name=tool_name,
- tool_version=tool_version,
+ tool_id=self._stringify( tool_ids ),
+ tool_name=self._stringify( tool_names ),
+ tool_version=self._stringify( tool_versions ),
exact_matches_check_box=exact_matches_check_box,
message=message,
status=status )
+ def _search_repository_metadata( self, trans, tool_ids, tool_names, tool_versions, exact_matches_checked ):
+ match_tuples = []
+ ok = True
+ for repository_metadata in trans.sa_session.query( model.RepositoryMetadata ):
+ metadata = repository_metadata.metadata
+ tools = metadata[ 'tools' ]
+ for tool_dict in tools:
+ if tool_ids and not tool_names and not tool_versions:
+ for tool_id in tool_ids:
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ elif tool_names and not tool_ids and not tool_versions:
+ for tool_name in tool_names:
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ elif tool_versions and not tool_ids and not tool_names:
+ for tool_version in tool_versions:
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_version=tool_version ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ elif tool_ids and tool_names and not tool_versions:
+ if len( tool_ids ) == len( tool_names ):
+ match_tuples = self._search_ids_names( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names )
+ elif len( tool_ids ) == 1 or len( tool_names ) == 1:
+ tool_ids, tool_names = self._make_same_length( tool_ids, tool_names )
+ match_tuples = self._search_ids_names( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names )
+ else:
+ ok = False
+ elif tool_ids and tool_versions and not tool_names:
+ if len( tool_ids ) == len( tool_versions ):
+ match_tuples = self._search_ids_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions )
+ elif len( tool_ids ) == 1 or len( tool_versions ) == 1:
+ tool_ids, tool_versions = self._make_same_length( tool_ids, tool_versions )
+ match_tuples = self._search_ids_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions )
+ else:
+ ok = False
+ elif tool_versions and tool_names and not tool_ids:
+ if len( tool_versions ) == len( tool_names ):
+ match_tuples = self._search_names_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions )
+ elif len( tool_versions ) == 1 or len( tool_names ) == 1:
+ tool_versions, tool_names = self._make_same_length( tool_versions, tool_names )
+ match_tuples = self._search_names_versions( tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions )
+ else:
+ ok = False
+ elif tool_versions and tool_names and tool_ids:
+ if len( tool_versions ) == len( tool_names ) and len( tool_names ) == len( tool_ids ):
+ for i, tool_version in enumerate( tool_versions ):
+ tool_name = tool_names[ i ]
+ tool_id = tool_ids[ i ]
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name, tool_version=tool_version ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ else:
+ ok = False
+ return ok, match_tuples
def _in_tool_dict( self, tool_dict, exact_matches_checked, tool_id=None, tool_name=None, tool_version=None ):
found = False
if tool_id and not tool_name and not tool_version:
@@ -553,7 +533,50 @@
tool_dict_tool_name = tool_dict[ 'name' ].lower()
found = ( tool_version == tool_dict_tool_version and tool_name == tool_dict_tool_name ) or \
( not exact_matches_checked and tool_dict_tool_version.find( tool_version ) >= 0 and tool_dict_tool_name.find( tool_name ) >= 0 )
+ elif tool_version and tool_name and tool_id:
+ tool_dict_tool_version = tool_dict[ 'version' ].lower()
+ tool_dict_tool_name = tool_dict[ 'name' ].lower()
+ tool_dict_tool_id = tool_dict[ 'id' ].lower()
+ found = ( tool_version == tool_dict_tool_version and \
+ tool_name == tool_dict_tool_name and \
+ tool_id == tool_dict_tool_id ) or \
+ ( not exact_matches_checked and \
+ tool_dict_tool_version.find( tool_version ) >= 0 and \
+ tool_dict_tool_name.find( tool_name ) >= 0 and \
+ tool_dict_tool_id.find( tool_id ) >= 0 )
return found
+ def _stringify( self, list ):
+ if list:
+ return ','.join( list )
+ return ''
+ def _make_same_length( self, list1, list2 ):
+ # If either list is 1 item, we'll append to it until its
+ #length is the same as the other.
+ if len( list1 ) == 1:
+ for i in range( 1, len( list2 ) ):
+ list1.append( list1[ 0 ] )
+ elif len( list2 ) == 1:
+ for i in range( 1, len( list1 ) ):
+ list2.append( list2[ 0 ] )
+ return list1, list2
+ def _search_ids_names( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_names ):
+ for i, tool_id in enumerate( tool_ids ):
+ tool_name = tool_names[ i ]
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_name=tool_name ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ return match_tuples
+ def _search_ids_versions( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_ids, tool_versions ):
+ for i, tool_id in enumerate( tool_ids ):
+ tool_version = tool_versions[ i ]
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_id=tool_id, tool_version=tool_version ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ return match_tuples
+ def _search_names_versions( self, tool_dict, exact_matches_checked, match_tuples, repository_metadata, tool_names, tool_versions ):
+ for i, tool_name in enumerate( tool_names ):
+ tool_version = tool_versions[ i ]
+ if self._in_tool_dict( tool_dict, exact_matches_checked, tool_name=tool_name, tool_version=tool_version ):
+ match_tuples.append( ( repository_metadata.repository_id, repository_metadata.changeset_revision ) )
+ return match_tuples
def _encode( self, repo_info_dict ):
value = simplejson.dumps( repo_info_dict )
a = hmac_new( 'ToolShedAndGalaxyMustHaveThisSameKey', value )
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 changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/fcaf6ec8e51b/
changeset: fcaf6ec8e51b
user: greg
date: 2011-10-18 17:41:08
summary: Add new tool attributes to hold information about tools installed from a Galaxy tool shed. Enhance the toolbox's <tool> tag parser to handle these new tool attributes for installed tools. Enhance the Workflow import and load functions to search these new attributes when looking for required tools in the Galaxy instance.
affected #: 2 files (-1 bytes)
--- a/lib/galaxy/tools/__init__.py Tue Oct 18 10:50:16 2011 -0400
+++ b/lib/galaxy/tools/__init__.py Tue Oct 18 11:41:08 2011 -0400
@@ -104,6 +104,14 @@
try:
path = elem.get( "file" )
tool = self.load_tool( os.path.join( tool_path, path ), guid=guid )
+ if guid is not None:
+ # Tool was installed from a Galaxy tool shed.
+ tool.tool_shed = elem.find( "tool_shed" ).text
+ tool.repository_name = elem.find( "repository_name" ).text
+ tool.repository_owner = elem.find( "repository_owner" ).text
+ tool.changeset_revision = elem.find( "changeset_revision" ).text
+ tool.old_id = elem.find( "id" ).text
+ tool.version = elem.find( "version" ).text
if self.app.config.get_bool( 'enable_tool_tags', False ):
tag_names = elem.get( "tags", "" ).split( "," )
for tag_name in tag_names:
@@ -364,9 +372,7 @@
# legacy basic mode - provide compatible defaults
self.attributes['split_size'] = 20
self.attributes['split_mode'] = 'number_of_parts'
-
-
-
+
class Tool:
"""
Represents a computational tool that can be executed through Galaxy.
@@ -387,6 +393,13 @@
# easily ensure that parameter dependencies like index files or
# tool_data_table_conf.xml entries exist.
self.input_params = []
+ # Attributes of tools installed from Galaxy tool sheds.
+ self.tool_shed = None
+ self.repository_name = None
+ self.repository_owner = None
+ self.changeset_revision = None
+ self.old_id = None
+ self.version = None
# Parse XML element containing configuration
self.parse( root, guid=guid )
@@ -407,14 +420,14 @@
raise Exception, "Missing tool 'name'"
# Get the UNIQUE id for the tool
# TODO: can this be generated automatically?
- if guid is not None:
+ if guid is None:
+ self.id = root.get( "id" )
+ self.version = root.get( "version" )
+ else:
self.id = guid
- else:
- self.id = root.get( "id" )
if not self.id:
- raise Exception, "Missing tool 'id'"
- self.version = root.get( "version" )
- if not self.version:
+ raise Exception, "Missing tool 'id'"
+ if not self.version:
# For backward compatibility, some tools may not have versions yet.
self.version = "1.0.0"
# Support multi-byte tools
--- a/lib/galaxy/workflow/modules.py Tue Oct 18 10:50:16 2011 -0400
+++ b/lib/galaxy/workflow/modules.py Tue Oct 18 11:41:08 2011 -0400
@@ -171,15 +171,10 @@
except KeyError, e:
# Handle the case where the workflow requires a tool not available in the local Galaxy instance.
self.tool = None
- # TODO: Instead of parsing the guid, get the tool_id and version from the shed_tool_conf.xml,
- # which requires enhancements to the tool loading process.
+ # The id value of tools installed from a Galaxy tool shed is a guid, but
+ # these tool's old_id attribute should contain what we're looking for.
for available_tool_id, available_tool in trans.app.toolbox.tools_by_id.items():
- if available_tool_id.find( tool_id ) >=0:
- # We're attempting to match tool id against a tool guid.
- # TODO: match by tool_id (and version if we attempt that, but
- # workflows will break) is not good enough because
- # 2 tools installed from a tool shed could both match this. We
- # need to present a select list here.
+ if tool_id == available_tool.old_id:
self.tool = available_tool
break
self.post_job_actions = {}
@@ -211,13 +206,10 @@
tool_id = step.tool_id
install_tool_id = None
if tool_id not in trans.app.toolbox.tools_by_id:
+ # The id value of tools installed from a Galaxy tool shed is a guid, but
+ # these tool's old_id attribute should contain what we're looking for.
for available_tool_id, available_tool in trans.app.toolbox.tools_by_id.items():
- if available_tool_id.find( tool_id ) >=0:
- # We're attempting to match tool id against a tool guid.
- # TODO: match by tool_id (and version if we attempt that, but
- # workflows will break) is not good enough because
- # 2 tools installed from a tool shed could both match this. We
- # need to present a select list here.
+ if tool_id == available_tool.old_id:
install_tool_id = available_tool_id
break
if tool_id in trans.app.toolbox.tools_by_id or install_tool_id:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0