tool with conditional parameter broken on release 2014.08.11
Dear, I am looking for help after updating our Galaxy production server to release 2014.08.11, one of our in-house tool does not load in Galaxy anymore. I do think the problem is related to the conditional parameter because when I comment this section out Galaxy does display it. Any ideas where the problem could be? Here is the xml file: <tool id="hm" name="heatmap-public"> <description>Creates a heatmap from public datasets</description> <command interpreter="R --vanilla --slave -f"> #silent sys.stderr.write("!!!! Cheetah Template Variables !!!!\n") #for k,v in $searchList[2].items() #silent sys.stderr.write(" %s = %s\n" % (str(k), str(v) )) #end for ## path to the dataset selected extracted from the 'cri_datasets' data table (tool-data/cri/datasets.loc) #import os #set $dataset_relative_path = filter( lambda x: str( x[0] ) == str( $dataset.name ), $__app__.tool_data_tables[ 'cri_datasets' ].get_fields() )[0][-1] #set $dataset_path = os.path.join($__tool_data_path__, $dataset_relative_path) hm.R --args $dataset.name $dataset_path $input $col $output_html #if not $varExists('$output_pdf') none #else $output_pdf #end if $output_html.files_path $dataset.list $gene $dataset.label $dataset.sample ## optional arguments set to 'none' when not relevant to a particular dataset #if not $varExists('$dataset.blocks') none #else $dataset.blocks #end if #if not $varExists('$dataset.group') none #else $dataset.group #end if $scaling $coloring.coloring ## optional arguments set to '0' when not relevant to a colour option #if not $varExists('$coloring.limit') 0 #else $coloring.limit #end if $cexrow $cexcol 2>stderr || cat stderr 1>&2 </command> <inputs> <param name="input" type="data" format="tabular,txt" label="Gene List" help="Tab delimited text file containing a list of gene symbols"/> <param name="col" type="data_column" data_ref="input" numerical="False" label="Column" help="Column containing gene symbols (only available for tabular input file)" /> <conditional name="dataset"> <param name="name" type="select" label="Dataset name"> <options from_data_table="cri_datasets"> <column name="name" index="1"/> <column name="value" index="0"/> <filter type="multiple_splitter" column="4" separator="," /> <filter type="static_value" value="heatmap" column="4" /> </options> </param> <when value="glinsky"> <param name="list" type="select" label="Input type" help="Type of input (Genes or Affymetrix probe IDs)"> <option value="genes" selected="true">Genes</option> <option value="probes">Probes</option> </param> <param name="sample" type="select" label="Sample ordering" help="Cluster samples or order samples by Recurrence, Pathological Gleason grade or Surgical margin status"> <option value="cluster" selected="true">Cluster</option> <option value="recurrence">Recurrence</option> <option value="gleason">Gleason grade</option> <option value="sms">Surgical margin status</option> </param> <param name="blocks" type="select" label="Add coloured blocks" help="Add coloured blocks for Recurrence, Pathological Gleason grade, Surgical margin status (Negative/Positive), all three or none"> <option value="recurrence" selected="true">Recurrence</option> <option value="gleason">Gleason grade</option> <option value="sms">Surgical margin status</option> <option value="all">All three</option> <option value="none">No blocks</option> </param> <param name="label" type="select" label="Gene labels" help="Label rows of heatmap with Probe IDs, Gene symbols or both"> <option value="both" selected="true">Both</option> <option value="gene">Gene</option> <option value="probe">Probe</option> </param> </when> <when value="varambally"> <param name="list" type="select" label="Input type" help="Type of input (Genes or Affymetrix probe IDs)"> <option value="genes" selected="true">Genes</option> <option value="probes">Probes</option> </param> <param name="sample" type="select" label="Sample ordering" help="Cluster samples or order by Group"> <option value="cluster" selected="true">Cluster</option> <option value="group">Group</option> </param> <param name="label" type="select" label="Gene labels" help="Label rows of heatmap with Affymetrix Probe IDs, Gene symbols or both"> <option value="both" selected="true">Both</option> <option value="gene">Gene</option> <option value="probe">Probe</option> </param> </when> <when value="taylor"> <param name="list" type="select" label="Input type" help="Type of input (Genes or Refseq Accession number)"> <option value="genes" selected="true">Genes</option> <option value="access">Accession number</option> </param> <param name="sample" type="select" label="Sample ordering" help="Cluster samples or order samples by Recurrence, Gleason Grade, Surgical Margin Status, Group or Pairs (when matched pairs selected)"> <option value="cluster" selected="true">Cluster</option> <option value="recurrence">Recurrence</option> <option value="gleason">Gleason grade</option> <option value="sms">Surgical margin status</option> <option value="group">Group</option> <option value="pairs">Pairs</option> </param> <param name="blocks" type="select" label="Add coloured blocks" help="Add coloured blocks for Recurrence (N/Y), Pathological Gleason grade (Low/High), Surgical margin status (Negative/Positive), Group (Benign/Primary/Met/Cell line), All four or None"> <option value="recurrence" selected="true">Recurrence</option> <option value="gleason">Gleason grade</option> <option value="sms">Surgical margin status</option> <option value="group">Group</option> <option value="all">All four</option> <option value="none">No blocks</option> </param> <param name="group" type="select" label="Select groups" help="Select groups included in the plot, All, No cell line, Matched benign primary pairs, Cancer samples (Primary and Metastatic samples)"> <option value="all" selected="true">All</option> <option value="nocellline">No cell line</option> <option value="pairs">Matched pairs</option> <option value="cancer">Cancer Samples</option> </param> <param name="label" type="select" label="Gene labels" help="Label rows of heatmap with Refseq Accession number, Gene symbols or both"> <option value="both" selected="true">Both</option> <option value="gene">Gene</option> <option value="access">Accession number</option> </param> </when> </conditional> <param name="gene" type="select" label="Gene clustering" help="Cluster genes or to retain original ordering"> <option value="no" selected="true">No</option> <option value="yes">Yes</option> </param> <param name="scaling" type="select" label="Heatmap scaling" help="Chose how probes are scaled, median scaled (minus median), robust z-score (minus median divide median absolute deviation), or z-score (minus mean divide standard deviation"> <option value="median" selected="true">Median scaled</option> <option value="robustz">Robust z-score</option> <option value="zscore">Z-score</option> </param> <conditional name="coloring"> <param name="coloring" type="select" label="Heatmap colouring" help="How colouring is chosen, by heatmap i.e. colouring is specific for heatmap, or fixed i.e. the same probes in different heatmaps will have the same colour"> <option value="heatmap" selected="true">Heatmap</option> <option value="fixed">Fixed</option> </param> <when value="fixed"> <param name="limit" type="float" value="3" label="Fixed limits" help="When chosing the fixed colour option, this value is the limit for choosing colours" /> </when> </conditional> <param name="cexrow" type="float" label="Scale for Gene (row) Labels" min="0" value="0.9" help="1 is normal, use a lower value if the gene names are overlapping, a higher value if they are too small" /> <param name="cexcol" type="float" label="Scale for Sample (column) Labels" min="0" value="1.0" help="1 is normal, use a lower value if the sample names are overlapping, a higher value if they are too small" /> <param name="pdf" type="boolean" label="PDF output" help="Tick if PDF output is required in addition to html output" /> </inputs> <outputs> <data format="html" name="output_html" /> <data format="pdf" name="output_pdf"> <filter>pdf is True</filter> </data> </outputs> </tool> Here is the error message: Error - <type 'exceptions.ValueError'>: ('No case matched value:', 'dataset', None) URL: http://uk-cri-lbio06/galaxy/tool_runner?tool_id=hm File '/opt/local/home/webapp/galaxy/lib/galaxy/web/framework/middleware/error.py', line 149 in __call__ app_iter = self.application(environ, sr_checker) File '/opt/local/home/webapp/galaxy/eggs/Paste-1.7.5.1-py2.7.egg/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/opt/local/home/webapp/galaxy/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/opt/local/home/webapp/galaxy/lib/galaxy/web/framework/base.py', line 132 in __call__ return self.handle_request( environ, start_response ) File '/opt/local/home/webapp/galaxy/lib/galaxy/web/framework/base.py', line 190 in handle_request body = method( trans, **kwargs ) File '/opt/local/home/webapp/galaxy/lib/galaxy/webapps/galaxy/controllers/tool_runner.py', line 90 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/opt/local/home/webapp/galaxy/lib/galaxy/tools/__init__.py', line 2116 in handle_input state, state_new = self.__fetch_state( trans, expanded_incoming, history, all_pages=all_pages ) File '/opt/local/home/webapp/galaxy/lib/galaxy/tools/__init__.py', line 2230 in __fetch_state state = self.new_state( trans, history=history, all_pages=all_pages ) File '/opt/local/home/webapp/galaxy/lib/galaxy/tools/__init__.py', line 2015 in new_state self.fill_in_new_state( trans, inputs, state.inputs, history=history ) File '/opt/local/home/webapp/galaxy/lib/galaxy/tools/__init__.py', line 2024 in fill_in_new_state state[ input.name ] = input.get_initial_value( trans, context, history=history ) File '/opt/local/home/webapp/galaxy/lib/galaxy/tools/parameters/grouping.py', line 527 in get_initial_value current_case = self.get_current_case( test_value, trans ) File '/opt/local/home/webapp/galaxy/lib/galaxy/tools/parameters/grouping.py', line 480 in get_current_case raise ValueError( "No case matched value:", self.name, str_value ) ValueError: ('No case matched value:', 'dataset', None) Many thanks. Kind regards, Anne. -- Dr Anne Pajon - Bioinformatics Core Cancer Research UK - Cambridge Institute Li Ka Shing Centre, Robinson Way, Cambridge CB2 0RE anne.pajon@cruk.cam.ac.uk | +44 (0)1223 769 631
participants (1)
-
Anne Pajon