commit/galaxy-central: jgoecks: Minor curation of data providers: (a) rename gff data provider to match similar providers and (b) add note about how to extend GTF tabix to support GFF/GFF3 as well.
1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/changeset/ea722ae95cb7/ changeset: ea722ae95cb7 user: jgoecks date: 2012-04-24 17:05:47 summary: Minor curation of data providers: (a) rename gff data provider to match similar providers and (b) add note about how to extend GTF tabix to support GFF/GFF3 as well. affected #: 2 files diff -r 562a4f68a4f848bb4be992b27b67fff01ad652c8 -r ea722ae95cb7c99742c081bcd17bddc441dfa2fb lib/galaxy/visualization/tracks/data_providers.py --- a/lib/galaxy/visualization/tracks/data_providers.py +++ b/lib/galaxy/visualization/tracks/data_providers.py @@ -1009,9 +1009,9 @@ return { 'data': results, 'message': message } -class GFFDataProvider( TracksDataProvider ): +class RawGFFDataProvider( TracksDataProvider ): """ - Provide data from GFF file. + Provide data from GFF file that has not been indexed. NOTE: this data provider does not use indices, and hence will be very slow for large datasets. @@ -1059,9 +1059,16 @@ return { 'data': results, 'message': message } class GtfTabixDataProvider( TabixDataProvider ): + """ + Returns data from GTF datasets that are indexed via tabix. + """ def process_data( self, iterator, start_val=0, max_vals=None, **kwargs ): # Loop through lines and group by transcript_id; each group is a feature. + + # TODO: extend this code or use code in gff_util to process GFF/3 as well + # and then create a generic GFFDataProvider that can be used with both + # raw and tabix datasets. features = {} for count, line in enumerate( iterator ): line_attrs = parse_gff_attributes( line.split('\t')[8] ) diff -r 562a4f68a4f848bb4be992b27b67fff01ad652c8 -r ea722ae95cb7c99742c081bcd17bddc441dfa2fb lib/galaxy/web/controllers/tracks.py --- a/lib/galaxy/web/controllers/tracks.py +++ b/lib/galaxy/web/controllers/tracks.py @@ -486,7 +486,7 @@ data = None # TODO: for raw data requests, map dataset type to provider using dict in data_providers.py if isinstance( dataset.datatype, Gff ): - data = GFFDataProvider( original_dataset=dataset ).get_data( chrom, low, high, **kwargs ) + data = RawGFFDataProvider( original_dataset=dataset ).get_data( chrom, low, high, **kwargs ) data[ 'dataset_type' ] = 'interval_index' data[ 'extra_info' ] = None elif isinstance( dataset.datatype, Bed ): 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.
participants (1)
-
Bitbucket