Re: [galaxy-dev] Popup menu population bug for data_column parameters
Hi Galaxy team, It seems this one managed to fly below the radar: https://bitbucket.org/galaxy/galaxy-central/issue/491/data_column-parameter-... Is there a chance I can re-enable automagic data format conversion in the near future? *Special note for Dan: GenePattern does not have this bug :) Cheers, Pi On Mar 3, 2011, at 7:32 PM, Pieter Neerincx wrote:
Hi Galaxy Devs,
I think I found a bug in the handling of data_column parameters in combination with the data parameter they depend on. Unfortunately in some cases the popup menu to select a column number won't get populated. (I did a hg pull yesterday, but that didn't solve the problem.)
Here's what I have to reproduce the problem:
1. Make a new histroy 2. Upload a tabular file 3. Upload a FASTA file 4. Select Text Manipulation -> Merge Columns tool 5. Tada, you cannot select a column from the popup menu...
I've traced the problem to detection of a suitable initial value (history item) for the data parameter on which the data_column parameter depends. With the FASTA file uploaded last it will be selected as the initial value. It's not a tabular file, but it can be automagically converted to tabular (is_convertable( data ) == true). It won't show up though in the popup menu to select a history item for the data parameter. Apparently when the HTML form is generated the FASTA file is skipped and the tabular file is the only one in the popup menu.
In galaxy/lib/galaxy/tools/parameters/basic.py:
class DataToolParameter( ToolParameter ): ... def get_initial_value( self, trans, context ): """ NOTE: This is wasteful since dynamic options and dataset collection happens twice (here and when generating HTML). """ ... # The line below is number 1366 (in my version of this file.) # This may have bad effects for data_column parameters that depend on this data parameter; removing the 'or is_convertable( data )' will 'fix' it, # but is no good solution as it kills the ability to select data that can be converted automagically to a compatible data type. # The note above may explain why the convertable history item does not show up in the popup menu... #if data.visible and not data.deleted and data.state not in [data.states.ERROR, data.states.DISCARDED] and ( isinstance( data.datatype, self.formats) or is_convertable( data ) ): if data.visible and not data.deleted and data.state not in [data.states.ERROR, data.states.DISCARDED] and isinstance( data.datatype, self.formats ):
When the data_column parameter is initialized however class ColumnListParameter( SelectToolParameter ) -> def get_column_list( self, trans, other_values ) sees the FASTA file and hence there will be no dataset.metadata.columns and the popup menu remains empty...
If you have another tabular file in your history selecting that one and then switching back will update and populate the popup menu for the data_column parameter. If the order of the history items in the above example is reversed you also won't see the issue as a data set of the correct format is the "initial value".
Cheers,
Pi
------------------------------------------------------------------ Biomolecular Mass Spectrometry & Proteomics group Utrecht University
phone: +31 6 143 66 783 email: pieter.neerincx@gmail.com skype: pieter.online
visiting address: H.R. Kruyt building // room O607 Padualaan 8 // 3584 CH Utrecht // The Netherlands
mail address: P.O. box 80.082 // 3508 TB Utrecht // The Netherlands ------------------------------------------------------------------
------------------------------------------------------------- mobile: +31 6 143 66 783 e-mail: pieter.neerincx@gmail.com skype: pieter.online -------------------------------------------------------------
participants (1)
-
Pieter Neerincx