diff --git a/lib/galaxy/datatypes/registry.py b/lib/galaxy/datatypes/registry.py index 24a05a5bc20..0c4d690c519 100644 --- a/lib/galaxy/datatypes/registry.py +++ b/lib/galaxy/datatypes/registry.py @@ -14,27 +14,50 @@ class Registry( object ): self.datatypes_by_extension = {} self.mimetypes_by_extension = {} self.datatype_converters = odict() + self.upload_file_formats = [] self.sniff_order = [] for ext, kind in datatypes: + # Data types are defined in the config like this: + # # = ,, try: - mime_type = None fields = kind.split(",") - if len(fields)>1: - kind = fields[0].strip() - mime_type = fields[1].strip() + kind = fields[0].strip() + mime_type = None + display_in_upload = False + # See if we have a mime type or a display_in_upload + try: + ele = fields[1].strip() + if ele: + if ele == 'display_in_upload': + display_in_upload = True + else: + mime_type = ele + except: + pass + # See if we have a display_in_upload + if not display_in_upload: + try: + ele = fields[2].strip() + if ele == 'display_in_upload': + display_in_upload = True + except: + pass + if display_in_upload: + self.upload_file_formats.append( ext ) fields = kind.split(":") datatype_module = fields[0] datatype_class = fields[1] fields = datatype_module.split(".") - module = __import__(fields.pop(0)) - for mod in fields: module = getattr(module,mod) + module = __import__( fields.pop(0) ) + for mod in fields: + module = getattr(module,mod) self.datatypes_by_extension[ext] = getattr(module, datatype_class)() if mime_type is None: # Use default mime type as per datatype spec mime_type = self.datatypes_by_extension[ext].get_mime() self.mimetypes_by_extension[ext] = mime_type - except: - self.log.warning('error loading datatype: %s' % ext) + except Exception, e: + self.log.warning('error loading datatype "%s", problem: %s' % ( ext, str( e ) ) ) #default values if len(self.datatypes_by_extension) < 1: self.datatypes_by_extension = { @@ -51,7 +74,7 @@ class Registry( object ): 'laj' : images.Laj(), 'lav' : sequence.Lav(), 'maf' : sequence.Maf(), - 'qualityscore': qualityscore.QualityScore(), + 'qual' : qualityscore.QualityScore(), 'scf' : images.Scf(), 'tabular' : tabular.Tabular(), 'taxonomy' : tabular.Taxonomy(), @@ -73,7 +96,7 @@ class Registry( object ): 'laj' : 'text/plain', 'lav' : 'text/plain', 'maf' : 'text/plain', - 'qualityscore': 'text/plain', + 'qual' : 'text/plain', 'scf' : 'application/octet-stream', 'tabular' : 'text/plain', 'taxonomy' : 'text/plain', diff --git a/lib/galaxy/tools/parameters/dynamic_options.py b/lib/galaxy/tools/parameters/dynamic_options.py index 0c726bc452e..7ec45257d47 100644 --- a/lib/galaxy/tools/parameters/dynamic_options.py +++ b/lib/galaxy/tools/parameters/dynamic_options.py @@ -172,8 +172,8 @@ class DynamicOptions( object ): filters[ 'data_meta' ][ 'meta_value' ] = dataset.metadata.species except: pass - return self.generate_options( filters=filters, sep=self.separator ) - def generate_options( self, filters={}, sep='\t' ): + return self.generate_options( trans, filters=filters, sep=self.separator ) + def generate_options( self, trans, filters={}, sep='\t' ): try: meta_key = filters[ 'data_meta' ][ 'meta_key' ] except: @@ -194,7 +194,8 @@ class DynamicOptions( object ): return self.generate_for_dbkey( dbkey, meta_key_col, self.name_col, self.value_col, sep=sep ) else: # meta_key is None if self.data_file == 'datatypes_registry': - return self.generate_from_datatypes_registry() + upload_file_formats = trans.app.datatypes_registry.upload_file_formats + return self.generate_from_datatypes_registry( upload_file_formats ) elif self.data_file == 'encode_datasets.loc': encode_group = filters[ 'params' ][ 'encode_group' ] dbkey = filters[ 'params' ][ 'dbkey' ] @@ -217,11 +218,9 @@ class DynamicOptions( object ): return self.generate_for_microbial( kingdom, org, feature ) else: return self.generate( self.name_col, self.value_col, sep=sep ) - def generate_from_datatypes_registry( self ): - from galaxy.datatypes import registry - datatypes_registry = registry.Registry() + def generate_from_datatypes_registry( self, upload_file_formats ): options = [] - formats = datatypes_registry.datatypes_by_extension.keys() + formats = upload_file_formats formats.sort() options.append( ( 'Auto-detect', 'auto', True ) ) for format in formats: diff --git a/test-data/1.fastq b/test-data/1.fastq new file mode 100644 index 00000000000..abb5f2f25f5 --- /dev/null +++ b/test-data/1.fastq @@ -0,0 +1,8 @@ +@seq1 +GACAGCTTGGTTTTTAGTGAGTTGTTCCTTTCTTT ++seq1 +hhhhhhhhhhhhhhhhhhhhhhhhhhPW@hhhhhh +@seq2 +GCAATGACGGCAGCAATAAACTCAACAGGTGCTGG ++seq2 +hhhhhhhhhhhhhhYhhahhhhWhAhFhSIJGChO \ No newline at end of file diff --git a/tools/metag_tools/convert_fastq2fasta.xml b/tools/metag_tools/convert_fastq2fasta.xml index 0a9185bc886..255d422b5d0 100644 --- a/tools/metag_tools/convert_fastq2fasta.xml +++ b/tools/metag_tools/convert_fastq2fasta.xml @@ -1,15 +1,21 @@ - converts FASTQ file to FASTA format - convert_fastq2fasta.py $input1 $output1 $output2 - - - - - - - - - + converts FASTQ file to FASTA format + convert_fastq2fasta.py $input1 $output1 $output2 + + + + + + + + + + + + + + + **What it does** diff --git a/tools/metag_tools/rmapq_wrapper.xml b/tools/metag_tools/rmapq_wrapper.xml index 033af8eff57..0e11c53fc62 100644 --- a/tools/metag_tools/rmapq_wrapper.xml +++ b/tools/metag_tools/rmapq_wrapper.xml @@ -10,7 +10,7 @@ - + @@ -43,7 +43,7 @@ - + diff --git a/tools/metag_tools/short_reads_figure_high_quality_length.xml b/tools/metag_tools/short_reads_figure_high_quality_length.xml index 407f225dd71..fba61acb112 100644 --- a/tools/metag_tools/short_reads_figure_high_quality_length.xml +++ b/tools/metag_tools/short_reads_figure_high_quality_length.xml @@ -5,7 +5,7 @@ - + @@ -17,12 +17,12 @@ - + - + diff --git a/tools/metag_tools/short_reads_figure_score.xml b/tools/metag_tools/short_reads_figure_score.xml index 5181c5156e6..3df38e0cf4d 100644 --- a/tools/metag_tools/short_reads_figure_score.xml +++ b/tools/metag_tools/short_reads_figure_score.xml @@ -5,7 +5,7 @@ - + @@ -17,11 +17,11 @@ - + - + diff --git a/tools/metag_tools/short_reads_trim_seq.xml b/tools/metag_tools/short_reads_trim_seq.xml index 8b5bf1a0af7..2af57f6ba39 100644 --- a/tools/metag_tools/short_reads_trim_seq.xml +++ b/tools/metag_tools/short_reads_trim_seq.xml @@ -7,7 +7,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -45,7 +45,7 @@ - + diff --git a/universe_wsgi.ini.sample b/universe_wsgi.ini.sample index 5c75d2b4560..da60c1ac15b 100644 --- a/universe_wsgi.ini.sample +++ b/universe_wsgi.ini.sample @@ -85,7 +85,7 @@ mailing_join_addr = galaxy-user-join@bx.psu.edu # Mail smtp_server = coltrane.bx.psu.edu -error_email_to = galaxy_bugs@bx.psu.edu +error_email_to = galaxy-bugs@bx.psu.edu # Use the new iframe / javascript based layout use_new_layout = true @@ -167,33 +167,34 @@ upload1 = local:/// [galaxy:datatypes] -ab1 = galaxy.datatypes.images:Ab1,application/octet-stream -axt = galaxy.datatypes.sequence:Axt -bed = galaxy.datatypes.interval:Bed -binseq.zip = galaxy.datatypes.images:Binseq,application/zip +# = ,, +ab1 = galaxy.datatypes.images:Ab1,application/octet-stream,display_in_upload +axt = galaxy.datatypes.sequence:Axt,display_in_upload +bed = galaxy.datatypes.interval:Bed,display_in_upload +binseq.zip = galaxy.datatypes.images:Binseq,application/zip,display_in_upload customtrack = galaxy.datatypes.interval:CustomTrack data = galaxy.datatypes.data:Data,application/octet-stream -fasta = galaxy.datatypes.sequence:Fasta -fastq = galaxy.datatypes.sequence:Fastq -gff = galaxy.datatypes.interval:Gff -gff3 = galaxy.datatypes.interval:Gff3 +fasta = galaxy.datatypes.sequence:Fasta,display_in_upload +fastq = galaxy.datatypes.sequence:Fastq,display_in_upload +gff = galaxy.datatypes.interval:Gff,display_in_upload +gff3 = galaxy.datatypes.interval:Gff3,display_in_upload gif = galaxy.datatypes.images:Image,image/gif gmaj.zip = galaxy.datatypes.images:Gmaj,application/zip html = galaxy.datatypes.images:Html,text/html -interval = galaxy.datatypes.interval:Interval +interval = galaxy.datatypes.interval:Interval,display_in_upload jpg = galaxy.datatypes.images:Image,image/jpeg laj = galaxy.datatypes.images:Laj lav = galaxy.datatypes.sequence:Lav -maf = galaxy.datatypes.sequence:Maf +maf = galaxy.datatypes.sequence:Maf,display_in_upload pdf = galaxy.datatypes.images:Image,application/pdf png = galaxy.datatypes.images:Image,image/png -qualityscore = galaxy.datatypes.qualityscore:QualityScore -scf = galaxy.datatypes.images:Scf,application/octet-stream -taxonomy = galaxy.datatypes.tabular:Taxonomy -tabular = galaxy.datatypes.tabular:Tabular -txt = galaxy.datatypes.data:Text -txtseq.zip = galaxy.datatypes.images:Txtseq,application/zip -wig = galaxy.datatypes.interval:Wiggle +qual = galaxy.datatypes.qualityscore:QualityScore,display_in_upload +scf = galaxy.datatypes.images:Scf,application/octet-stream,display_in_upload +taxonomy = galaxy.datatypes.tabular:Taxonomy,display_in_upload +tabular = galaxy.datatypes.tabular:Tabular,display_in_upload +txt = galaxy.datatypes.data:Text,display_in_upload +txtseq.zip = galaxy.datatypes.images:Txtseq,application/zip,display_in_upload +wig = galaxy.datatypes.interval:Wiggle,display_in_upload #EMBOSS TOOLS acedb = galaxy.datatypes.data:Text asn1 = galaxy.datatypes.data:Text