From dbc9b6a403062954778966a00496d13ec40c52a3 Mon Sep 17 00:00:00 2001 From: Greg Von Kuster Date: Fri, 29 Feb 2008 17:44:37 +0000 Subject: [PATCH] Cleaned up data_meta filter for dynamically generated select lists. --- lib/galaxy/tools/__init__.py | 10 -- lib/galaxy/tools/dynamic_options.py | 169 +++++++++--------- .../encode_import_all_latest_datasets.xml | 4 +- ...ncode_import_chromatin_and_chromosomes.xml | 4 +- tools/data_source/encode_import_gencode.xml | 4 +- .../encode_import_genes_and_transcripts.xml | 4 +- ...import_multi-species_sequence_analysis.xml | 4 +- ...encode_import_transcription_regulation.xml | 4 +- .../1.0.0/random_intervals.xml | 14 +- .../1.0.0/extractAxt_wrapper.xml | 11 +- .../1.0.0/extract_GFF_Features.xml | 39 ++-- .../liftOver1/1.0.0/liftOver_wrapper.xml | 9 +- .../1.0.0/phastOdds_tool.xml | 7 +- .../1.0.0/axt_to_concat_fasta.xml | 10 +- .../axt_to_fasta/1.0.0/axt_to_fasta.xml | 10 +- .../filters/axt_to_lav_1/1.0.0/axt_to_lav.xml | 10 +- .../1.0.0/genebed_maf_to_fasta.xml | 7 +- .../maf/Interval2Maf1/1.0.0/interval2maf.xml | 7 +- .../1.0.0/interval2maf_pairwise.xml | 9 +- .../1.0.0/interval_maf_to_merged_fasta.xml | 9 +- .../1.0.0/maf_limit_to_species.xml | 2 +- .../1.0.0/maf_thread_for_species.xml | 2 +- tools/maf/MAF_To_BED1/1.0.0/maf_to_bed.xml | 2 +- .../maf/MAF_To_Fasta1/1.0.0/maf_to_fasta.xml | 4 +- tools/maf/MAF_filter/1.0.0/maf_filter.xml | 6 +- tools/maf/maf_stats1/1.0.0/maf_stats.xml | 7 +- .../getIndels_3way/1.0.0/getIndels_3way.xml | 2 +- .../qualityFilter/1.0.0/quality_filter.xml | 4 +- .../aggregate_binned_scores_in_intervals.xml | 11 +- 29 files changed, 151 insertions(+), 234 deletions(-) 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 @@ - - - - - + + - + - +