diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py
index 2e2d932a54b..c5bb968cfcf 100644
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -769,16 +769,6 @@ class Tool:
errors[ input.name ] = old_errors[ input.name ]
else:
incoming_value = incoming.get( key, None )
- if ( incoming_value == 'None' or incoming_value == '?' ) and ( isinstance( input, SelectToolParameter ) or isinstance( input, DataToolParameter ) ) and input.is_dynamic:
- # FIXME: This is a HACK, but is necessary because the
- # values in incoming are not yet set by the user when
- # the select list is dynamically generated.
- legal_values = input.get_legal_values( trans, context )
- if len( legal_values ) > 0 and incoming_value not in legal_values:
- values = []
- for v in legal_values: values.append( v )
- values.sort()
- incoming_value = values[0]
value, error = self.check_param( trans, input, incoming_value, context )
if error:
errors[ input.name ] = error
diff --git a/lib/galaxy/tools/dynamic_options.py b/lib/galaxy/tools/dynamic_options.py
index e25d105626e..a45b4d9c4ed 100644
--- a/lib/galaxy/tools/dynamic_options.py
+++ b/lib/galaxy/tools/dynamic_options.py
@@ -8,7 +8,11 @@ class DynamicOptions( object ):
"""Handles dynamically generated SelectToolParameter options"""
def __init__( self, elem, parameter_type = None ):
self.parameter_type = parameter_type
+ self.data_ref = None
+ self.param_ref = None
self.from_file_data = None
+
+ # Parse the options tag
self.from_file = elem.get( 'from_file', None )
if self.from_file is not None:
self.from_file = self.from_file.strip()
@@ -19,17 +23,26 @@ class DynamicOptions( object ):
self.data_file = self.from_file
else:
self.data_file = None
+ self.name_col = elem.get( 'name_col', None )
+ if self.name_col is not None:
+ self.name_col = int( self.name_col.strip() )
+ self.value_col = elem.get( 'value_col', None )
+ if self.value_col is not None:
+ self.value_col = int( self.value_col.strip() )
+
+ # Parse the filter tags
self.filters = elem.findall( 'filter' )
- self.data_ref = None
- self.param_ref = None
for filter in self.filters:
filter_type = filter.get( 'type', None )
assert filter_type is not None, "Required 'type' attribute missing from filter"
- if filter_type.strip() == 'data_meta':
+ filter_type = filter_type.strip()
+
+ if filter_type == 'data_meta':
self.data_ref = filter.get( 'data_ref', None )
assert self.data_ref is not None, "Required 'data_ref' attribute missing from 'data_meta' filter"
self.data_ref = self.data_ref.strip()
- elif filter_type.strip() == 'param_meta':
+
+ elif filter_type == 'param_meta':
self.param_ref = filter.get( 'param_ref', None )
assert self.param_ref is not None, "Required 'param_ref' attribute missing from 'param_meta' filter"
self.param_ref = self.param_ref.strip()
@@ -74,31 +87,38 @@ class DynamicOptions( object ):
# Check for filters and build a dictionary from them
for filter in self.filters:
filter_type = filter.get( 'type', None )
- assert filter_type is not None, "type attribute missing from filter"
+ assert filter_type is not None, "'type' attribute missing from filter"
filter_type = filter_type.strip()
+
if filter_type == 'data_meta':
filters[ 'data_meta' ] = {}
dataset = self.get_data_ref_value( trans, other_values )
if dataset is None:
return []
- key = filter.get( 'key', None )
- if key is not None:
- filters[ 'data_meta' ][ 'key' ] = key.strip()
- value = filter.get( 'value', None )
- if value is not None:
- value = value.strip()
- else:
- if key == 'build':
- value = dataset.get_dbkey()
- elif key == 'file_name':
- value = dataset.get_file_name()
- elif key == 'species':
- value = dataset.metadata.species
- filters[ 'data_meta' ][ 'value' ] = value
+ # meta_key is optional
+ meta_key = filter.get( 'meta_key', None )
+ if meta_key is not None:
+ filters[ 'data_meta' ][ 'meta_key' ] = meta_key.strip()
+ if meta_key == 'dbkey':
+ meta_value = dataset.get_dbkey()
+ elif meta_key == 'species':
+ meta_value = dataset.metadata.species
+ filters[ 'data_meta' ][ 'meta_value' ] = meta_value
+ elif self.data_file == 'data_ref':
+ # We'll be reading data directly from the input dataset
+ filters[ 'data_meta' ][ 'meta_key' ] = 'data_ref'
+ self.from_file = dataset.get_file_name()
+ filters[ 'data_meta' ][ 'meta_value' ] = self.from_file
+ # meta_key_col is optional
+ meta_key_col = filter.get( 'meta_key_col', None )
+ if meta_key_col is not None:
+ filters[ 'data_meta' ][ 'meta_key_col' ] = int( meta_key_col.strip() )
+
elif filter_type == 'param_meta':
filters[ 'param_meta' ] = {}
- value = self.get_param_ref_value( trans, other_values )
- filters[ 'param_meta' ][ 'value' ] = value
+ meta_value = self.get_param_ref_value( trans, other_values )
+ filters[ 'param_meta' ][ 'meta_value' ] = meta_value
+
elif filter_type == 'param_value':
n = filter.get( 'name', None )
assert n is not None, "param_value filters require a 'name' attribute"
@@ -111,18 +131,7 @@ class DynamicOptions( object ):
except:
filters[ 'param_values' ] = {}
filters[ 'param_values' ][ n ] = v
- elif filter_type == 'column':
- n = filter.get( 'name', None )
- assert n is not None, "column filters require a 'name' attribute"
- n = n.strip()
- v = filter.get( 'value', None )
- assert v is not None, "column filters require a 'value' attribute"
- v = v.strip()
- try:
- filters[ 'columns' ][ n ] = v
- except:
- filters[ 'columns' ] = {}
- filters[ 'columns' ][ n ] = v
+
elif filter_type == 'param':
n = filter.get( 'name', None )
assert n is not None, "param filters require a 'name' attribute"
@@ -137,50 +146,47 @@ class DynamicOptions( object ):
filters[ 'params' ][ n ] = v
# Now that we've parsed our filters, we need to see if the tool is a maf tool
# which requires special handling
+ # TODO: remove or rework this if possible
try:
maf_source = filters[ 'params' ][ 'maf_source' ]
if maf_source == 'cached':
- maf_uid = filters[ 'param_meta' ][ 'value' ]
+ maf_uid = filters[ 'param_meta' ][ 'meta_value' ]
if maf_uid in [ None, 'None' ]:
return []
return self.generate_for_maf( maf_uid, '\t' )
elif maf_source == 'user':
dataset = self.get_data_ref_value( trans, other_values )
- filters[ 'data_meta' ][ 'key' ] = 'species'
- filters[ 'data_meta' ][ 'value' ] = dataset.metadata.species
+ filters[ 'data_meta' ][ 'meta_key' ] = 'species'
+ filters[ 'data_meta' ][ 'meta_value' ] = dataset.metadata.species
except:
pass
- return self.generate_options( filters )
+ return self.generate_options( filters=filters, sep='\t' )
def generate_options( self, filters={}, sep='\t' ):
try:
- key = filters[ 'data_meta' ][ 'key' ]
+ meta_key = filters[ 'data_meta' ][ 'meta_key' ]
except:
try:
- key = filters[ 'param_meta' ][ 'key' ]
+ meta_key = filters[ 'param_meta' ][ 'meta_key' ]
except:
- key = None
- if key == 'species':
- species = filters[ 'data_meta' ][ 'value' ]
- return self.generate_for_species( species )
- elif key == 'file_name':
- file_name = filters[ 'data_meta' ][ 'value' ]
- value_col = int( filters[ 'columns' ][ 'value_col' ] )
- return self.generate_from_dataset( file_name, value_col, sep )
- elif key == 'build':
- build = filters[ 'data_meta' ][ 'value' ]
+ meta_key = None
+ if meta_key == 'species':
+ return self.generate_for_species( filters[ 'data_meta' ][ 'meta_value' ] )
+ elif meta_key == 'data_ref':
+ dataset_file_name = filters[ 'data_meta' ][ 'meta_value' ]
+ return self.generate_from_dataset( dataset_file_name, self.value_col, sep )
+ elif meta_key == 'dbkey':
+ dbkey = filters[ 'data_meta' ][ 'meta_value' ]
if self.parameter_type == parameters.DataToolParameter:
- return key, build
- build_col = int( filters[ 'columns' ][ 'build_col' ].strip() )
- name_col = int( filters[ 'columns' ][ 'name_col' ] )
- value_col = int( filters[ 'columns' ][ 'value_col' ] )
- return self.generate_for_build( build, build_col, name_col, value_col, sep )
- else: # key is None
+ return meta_key, dbkey
+ meta_key_col = filters[ 'data_meta' ][ 'meta_key_col' ]
+ return self.generate_for_build( dbkey, meta_key_col, self.name_col, self.value_col, sep )
+ else: # meta_key is None
if self.data_file == 'datatypes_registry':
return self.generate_from_datatypes_registry()
elif self.data_file == 'encode_datasets.loc':
encode_group = filters[ 'params' ][ 'encode_group' ]
- build = filters[ 'params' ][ 'build' ]
- return self.generate_for_encode( encode_group, build, sep )
+ dbkey = filters[ 'params' ][ 'dbkey' ]
+ return self.generate_for_encode( encode_group, dbkey, sep )
elif self.data_file == 'microbial_data.loc':
if self.from_file_data is None:
self.load_microbial_data()
@@ -198,9 +204,7 @@ class DynamicOptions( object ):
feature = None
return self.generate_for_microbial( kingdom, org, feature )
else:
- name_col = int( filters[ 'columns' ][ 'name_col' ] )
- value_col = int( filters[ 'columns' ][ 'value_col' ] )
- return self.generate( name_col, value_col, sep )
+ return self.generate( self.name_col, self.value_col, sep )
def generate_from_datatypes_registry( self ):
from galaxy.datatypes import registry
datatypes_registry = registry.Registry()
@@ -212,7 +216,7 @@ class DynamicOptions( object ):
label = format.capitalize()
options.append( ( label, format, False ) )
return options
- def generate_for_encode( self, encode_group, build, sep ):
+ def generate_for_encode( self, encode_group, dbkey, sep ):
options = []
def generate():
encode_sets = {}
@@ -222,7 +226,7 @@ class DynamicOptions( object ):
try:
fields = line.split( sep )
encode_group = fields[ 0 ]
- build = fields[ 1 ]
+ dbkey = fields[ 1 ]
description = fields[ 2 ]
uid = fields[ 3 ]
path = fields[ 4 ]
@@ -242,15 +246,15 @@ class DynamicOptions( object ):
except:
encode_sets[ encode_group ] = {}
try:
- encode_sets[ encode_group ][ build ].append( ( description, uid, False ) )
+ encode_sets[ encode_group ][ dbkey ].append( ( description, uid, False ) )
except:
- encode_sets[ encode_group ][ build ] = []
- encode_sets[ encode_group ][ build] .append( ( description, uid, False ) )
+ encode_sets[ encode_group ][ dbkey ] = []
+ encode_sets[ encode_group ][ dbkey].append( ( description, uid, False ) )
#Order by description and date, highest date on top and bold
for group in encode_sets:
- for build in encode_sets[ group ]:
- ordered_build = []
- for description, uid, selected in encode_sets[ group ][ build ]:
+ for dbkey in encode_sets[ group ]:
+ ordered_dbkey = []
+ for description, uid, selected in encode_sets[ group ][ dbkey ]:
item = {}
item[ 'date' ] = 0
item[ 'description' ] = ""
@@ -265,32 +269,32 @@ class DynamicOptions( object ):
item[ 'date' ] = description[ -9:-1 ]
item[ 'description' ] = description[ 0:-10 ]
- for i in range( len( ordered_build ) ):
- ordered_description, ordered_uid, ordered_selected, ordered_item = ordered_build[ i ]
+ for i in range( len( ordered_dbkey ) ):
+ ordered_description, ordered_uid, ordered_selected, ordered_item = ordered_dbkey[ i ]
if item[ 'description' ] < ordered_item[ 'description' ]:
- ordered_build.insert( i, ( description, uid, selected, item ) )
+ ordered_dbkey.insert( i, ( description, uid, selected, item ) )
break
if item[ 'description' ] == ordered_item[ 'description' ] and item[ 'partitioned' ] == ordered_item[ 'partitioned' ]:
if int( item[ 'date' ] ) > int( ordered_item[ 'date' ] ):
- ordered_build.insert( i, ( description, uid, selected, item ) )
+ ordered_dbkey.insert( i, ( description, uid, selected, item ) )
break
else:
- ordered_build.append( ( description, uid, selected, item ) )
+ ordered_dbkey.append( ( description, uid, selected, item ) )
last_desc = None
last_partitioned = None
- for i in range( len( ordered_build ) ) :
- description, uid, selected, item = ordered_build[ i ]
+ for i in range( len( ordered_dbkey ) ) :
+ description, uid, selected, item = ordered_dbkey[ i ]
if item[ 'partitioned' ] != last_partitioned or last_desc != item[ 'description' ]:
last_desc = item[ 'description' ]
description = "" + description + ""
else:
last_desc = item[ 'description' ]
last_partitioned = item[ 'partitioned' ]
- encode_sets[ group ][ build ][ i ] = ( description, uid, selected )
+ encode_sets[ group ][ dbkey ][ i ] = ( description, uid, selected )
return encode_sets
d = generate()
try:
- options = d[ encode_group ][ build ][ 0: ]
+ options = d[ encode_group ][ dbkey ][ 0: ]
except:
return []
return options
@@ -464,14 +468,6 @@ class DynamicOptions( object ):
line = line.rstrip( '\r\n' )
if line and not line.startswith( '#' ):
fields = line.split( sep )
- # TDDO: regenerate the following data files so that they follow a column standard.
- # build_col = 0 - put build values in column 0
- # name_col = 1 - put the select list description values in column 1
- # value_col = 2 - put the select list value values in column 2
- # This will allow us to eliminate the following data_file conditionals
- #
- # TODO: the alignseq.loc file is currently ony used by the "Extract blastz alignments1"
- # tool, which seems to be deprecated. Can we eliminate it altogether?
if self.data_file == 'alignseq.loc':
if fields[ build_col ].strip() == 'align':
try:
@@ -497,9 +493,6 @@ class DynamicOptions( object ):
d[ maf_uid ][ 'builds' ] = build_list
except:
continue
-
- # TODO: the alignseq.loc file is currently ony used by the "Extract blastz alignments1"
- # tool, which seems to be deprecated. Can we eliminate it altogether?
if self.data_file == 'alignseq.loc':
# FIXME: We need a database of descriptive names corresponding to dbkeys.
# We need to resolve the musMusX <--> mmX confusion
diff --git a/tools/data_source/encode_import_all_latest_datasets.xml b/tools/data_source/encode_import_all_latest_datasets.xml
index f07173f9c00..7d5042a5b46 100644
--- a/tools/data_source/encode_import_all_latest_datasets.xml
+++ b/tools/data_source/encode_import_all_latest_datasets.xml
@@ -8,13 +8,13 @@
-
+
-
+
diff --git a/tools/data_source/encode_import_chromatin_and_chromosomes.xml b/tools/data_source/encode_import_chromatin_and_chromosomes.xml
index bf0dd376d98..643fe335937 100644
--- a/tools/data_source/encode_import_chromatin_and_chromosomes.xml
+++ b/tools/data_source/encode_import_chromatin_and_chromosomes.xml
@@ -8,13 +8,13 @@
-
+
-
+
diff --git a/tools/data_source/encode_import_gencode.xml b/tools/data_source/encode_import_gencode.xml
index 2767c4b654c..2be284c36ed 100644
--- a/tools/data_source/encode_import_gencode.xml
+++ b/tools/data_source/encode_import_gencode.xml
@@ -8,13 +8,13 @@
-
+
-
+
diff --git a/tools/data_source/encode_import_genes_and_transcripts.xml b/tools/data_source/encode_import_genes_and_transcripts.xml
index de1ce839c7e..489a8c952d2 100644
--- a/tools/data_source/encode_import_genes_and_transcripts.xml
+++ b/tools/data_source/encode_import_genes_and_transcripts.xml
@@ -8,13 +8,13 @@
-
+
-
+
diff --git a/tools/data_source/encode_import_multi-species_sequence_analysis.xml b/tools/data_source/encode_import_multi-species_sequence_analysis.xml
index c89122be885..7b518eb544b 100644
--- a/tools/data_source/encode_import_multi-species_sequence_analysis.xml
+++ b/tools/data_source/encode_import_multi-species_sequence_analysis.xml
@@ -8,13 +8,13 @@
-
+
-
+
diff --git a/tools/data_source/encode_import_transcription_regulation.xml b/tools/data_source/encode_import_transcription_regulation.xml
index 29efe16da3c..bfea84c1e81 100644
--- a/tools/data_source/encode_import_transcription_regulation.xml
+++ b/tools/data_source/encode_import_transcription_regulation.xml
@@ -8,13 +8,13 @@
-
+
-
+
diff --git a/tools/encode/random_intervals1/1.0.0/random_intervals.xml b/tools/encode/random_intervals1/1.0.0/random_intervals.xml
index 3278de9d3bd..b919c414a04 100644
--- a/tools/encode/random_intervals1/1.0.0/random_intervals.xml
+++ b/tools/encode/random_intervals1/1.0.0/random_intervals.xml
@@ -16,20 +16,10 @@
-
-
-
-
-
+
+
-
diff --git a/tools/extract/Extract_blastz_alignments1/1.0.0/extractAxt_wrapper.xml b/tools/extract/Extract_blastz_alignments1/1.0.0/extractAxt_wrapper.xml
index a623d951659..d800ca72245 100644
--- a/tools/extract/Extract_blastz_alignments1/1.0.0/extractAxt_wrapper.xml
+++ b/tools/extract/Extract_blastz_alignments1/1.0.0/extractAxt_wrapper.xml
@@ -2,16 +2,13 @@
between query genome and another genome
extractAxt_wrapper.pl -i $input -o $out_file1 --species $species -g $dbkey $input_chromCol $input_startCol $input_endCol $input_strandCol
-
+
-
-
-
-
-
+
+
-
+
diff --git a/tools/extract/Extract_features1/1.0.0/extract_GFF_Features.xml b/tools/extract/Extract_features1/1.0.0/extract_GFF_Features.xml
index c7f7f3ef5a2..2762ac9da2d 100644
--- a/tools/extract/Extract_features1/1.0.0/extract_GFF_Features.xml
+++ b/tools/extract/Extract_features1/1.0.0/extract_GFF_Features.xml
@@ -13,51 +13,40 @@
-
-
-
+
+
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
-
-
+
+
-
+
-
diff --git a/tools/extract/liftOver1/1.0.0/liftOver_wrapper.xml b/tools/extract/liftOver1/1.0.0/liftOver_wrapper.xml
index 5699397b02a..47e085efbe0 100644
--- a/tools/extract/liftOver1/1.0.0/liftOver_wrapper.xml
+++ b/tools/extract/liftOver1/1.0.0/liftOver_wrapper.xml
@@ -6,13 +6,10 @@
-
-
-
-
-
+
+
-
+
diff --git a/tools/extract/phastOdds/phastOdds_for_intervals/1.0.0/phastOdds_tool.xml b/tools/extract/phastOdds/phastOdds_for_intervals/1.0.0/phastOdds_tool.xml
index 2032189fdec..d0636ae4c13 100644
--- a/tools/extract/phastOdds/phastOdds_for_intervals/1.0.0/phastOdds_tool.xml
+++ b/tools/extract/phastOdds/phastOdds_for_intervals/1.0.0/phastOdds_tool.xml
@@ -6,11 +6,8 @@
-
-
-
-
-
+
+
diff --git a/tools/filters/axt_to_concat_fasta/1.0.0/axt_to_concat_fasta.xml b/tools/filters/axt_to_concat_fasta/1.0.0/axt_to_concat_fasta.xml
index 96144009be4..cb9db77a911 100644
--- a/tools/filters/axt_to_concat_fasta/1.0.0/axt_to_concat_fasta.xml
+++ b/tools/filters/axt_to_concat_fasta/1.0.0/axt_to_concat_fasta.xml
@@ -4,16 +4,10 @@
-
-
-
-
+
-
-
-
-
+
diff --git a/tools/filters/axt_to_fasta/1.0.0/axt_to_fasta.xml b/tools/filters/axt_to_fasta/1.0.0/axt_to_fasta.xml
index 67cdc3465e0..0370cc692c6 100644
--- a/tools/filters/axt_to_fasta/1.0.0/axt_to_fasta.xml
+++ b/tools/filters/axt_to_fasta/1.0.0/axt_to_fasta.xml
@@ -4,16 +4,10 @@
-
-
-
-
+
-
-
-
-
+
diff --git a/tools/filters/axt_to_lav_1/1.0.0/axt_to_lav.xml b/tools/filters/axt_to_lav_1/1.0.0/axt_to_lav.xml
index b46794e6226..747cca001f4 100644
--- a/tools/filters/axt_to_lav_1/1.0.0/axt_to_lav.xml
+++ b/tools/filters/axt_to_lav_1/1.0.0/axt_to_lav.xml
@@ -5,16 +5,10 @@
-
-
-
-
+
-
-
-
-
+
diff --git a/tools/maf/GeneBed_Maf_Fasta2/1.0.0/genebed_maf_to_fasta.xml b/tools/maf/GeneBed_Maf_Fasta2/1.0.0/genebed_maf_to_fasta.xml
index 4a7fc5bb7d6..532f655a3fb 100644
--- a/tools/maf/GeneBed_Maf_Fasta2/1.0.0/genebed_maf_to_fasta.xml
+++ b/tools/maf/GeneBed_Maf_Fasta2/1.0.0/genebed_maf_to_fasta.xml
@@ -26,11 +26,8 @@
-
-
-
-
-
+
+
diff --git a/tools/maf/Interval2Maf1/1.0.0/interval2maf.xml b/tools/maf/Interval2Maf1/1.0.0/interval2maf.xml
index 72662e77281..8eb178515b2 100644
--- a/tools/maf/Interval2Maf1/1.0.0/interval2maf.xml
+++ b/tools/maf/Interval2Maf1/1.0.0/interval2maf.xml
@@ -21,11 +21,8 @@
-
-
-
-
-
+
+
diff --git a/tools/maf/Interval2Maf_pairwise1/1.0.0/interval2maf_pairwise.xml b/tools/maf/Interval2Maf_pairwise1/1.0.0/interval2maf_pairwise.xml
index 684d832d5b5..29e3a0cbb2f 100644
--- a/tools/maf/Interval2Maf_pairwise1/1.0.0/interval2maf_pairwise.xml
+++ b/tools/maf/Interval2Maf_pairwise1/1.0.0/interval2maf_pairwise.xml
@@ -6,13 +6,10 @@
-
-
-
-
-
+
+
-
+
diff --git a/tools/maf/Interval_Maf_Merged_Fasta2/1.0.0/interval_maf_to_merged_fasta.xml b/tools/maf/Interval_Maf_Merged_Fasta2/1.0.0/interval_maf_to_merged_fasta.xml
index 6463b1e0f8d..d5f14672404 100644
--- a/tools/maf/Interval_Maf_Merged_Fasta2/1.0.0/interval_maf_to_merged_fasta.xml
+++ b/tools/maf/Interval_Maf_Merged_Fasta2/1.0.0/interval_maf_to_merged_fasta.xml
@@ -26,12 +26,9 @@
-
-
-
-
-
-
+
+
+
diff --git a/tools/maf/MAF_Limit_To_Species1/1.0.0/maf_limit_to_species.xml b/tools/maf/MAF_Limit_To_Species1/1.0.0/maf_limit_to_species.xml
index 8baf143d170..2ea6d6a0f01 100644
--- a/tools/maf/MAF_Limit_To_Species1/1.0.0/maf_limit_to_species.xml
+++ b/tools/maf/MAF_Limit_To_Species1/1.0.0/maf_limit_to_species.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/tools/maf/MAF_Thread_For_Species1/1.0.0/maf_thread_for_species.xml b/tools/maf/MAF_Thread_For_Species1/1.0.0/maf_thread_for_species.xml
index 3b39038156c..fbd41448cfc 100644
--- a/tools/maf/MAF_Thread_For_Species1/1.0.0/maf_thread_for_species.xml
+++ b/tools/maf/MAF_Thread_For_Species1/1.0.0/maf_thread_for_species.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/tools/maf/MAF_To_BED1/1.0.0/maf_to_bed.xml b/tools/maf/MAF_To_BED1/1.0.0/maf_to_bed.xml
index eb37d597f46..cc2b4cf7bb6 100644
--- a/tools/maf/MAF_To_BED1/1.0.0/maf_to_bed.xml
+++ b/tools/maf/MAF_To_BED1/1.0.0/maf_to_bed.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/tools/maf/MAF_To_Fasta1/1.0.0/maf_to_fasta.xml b/tools/maf/MAF_To_Fasta1/1.0.0/maf_to_fasta.xml
index 564b2a559bc..8ce5ef2db52 100644
--- a/tools/maf/MAF_To_Fasta1/1.0.0/maf_to_fasta.xml
+++ b/tools/maf/MAF_To_Fasta1/1.0.0/maf_to_fasta.xml
@@ -15,7 +15,7 @@
-
+
@@ -26,7 +26,7 @@
-
+
diff --git a/tools/maf/MAF_filter/1.0.0/maf_filter.xml b/tools/maf/MAF_filter/1.0.0/maf_filter.xml
index 4c88ebd0949..132134e5a5d 100644
--- a/tools/maf/MAF_filter/1.0.0/maf_filter.xml
+++ b/tools/maf/MAF_filter/1.0.0/maf_filter.xml
@@ -7,7 +7,7 @@
-
+
@@ -27,7 +27,7 @@
-
+
@@ -64,7 +64,7 @@
-
+
diff --git a/tools/maf/maf_stats1/1.0.0/maf_stats.xml b/tools/maf/maf_stats1/1.0.0/maf_stats.xml
index 993cc8ca1f7..19574aab2d5 100644
--- a/tools/maf/maf_stats1/1.0.0/maf_stats.xml
+++ b/tools/maf/maf_stats1/1.0.0/maf_stats.xml
@@ -24,11 +24,8 @@
-
-
-
-
-
+
+
diff --git a/tools/regVariation/getIndels_3way/1.0.0/getIndels_3way.xml b/tools/regVariation/getIndels_3way/1.0.0/getIndels_3way.xml
index 0be32f5f31d..54261b5c19a 100644
--- a/tools/regVariation/getIndels_3way/1.0.0/getIndels_3way.xml
+++ b/tools/regVariation/getIndels_3way/1.0.0/getIndels_3way.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/tools/regVariation/qualityFilter/1.0.0/quality_filter.xml b/tools/regVariation/qualityFilter/1.0.0/quality_filter.xml
index cb7566ae435..45b0d1b0e67 100644
--- a/tools/regVariation/qualityFilter/1.0.0/quality_filter.xml
+++ b/tools/regVariation/qualityFilter/1.0.0/quality_filter.xml
@@ -20,12 +20,12 @@
-
+
-
+
diff --git a/tools/stats/aggregate_scores_in_intervals2/1.1.1/aggregate_binned_scores_in_intervals.xml b/tools/stats/aggregate_scores_in_intervals2/1.1.1/aggregate_binned_scores_in_intervals.xml
index 3f9c95f464f..3bab4584b09 100644
--- a/tools/stats/aggregate_scores_in_intervals2/1.1.1/aggregate_binned_scores_in_intervals.xml
+++ b/tools/stats/aggregate_scores_in_intervals2/1.1.1/aggregate_binned_scores_in_intervals.xml
@@ -16,18 +16,15 @@
-
-
-
-
-
+
+
-
+
-
+