Hi,
I created a metadata to hold 5 files together (1 primary and 4 data files). The file extension corresponding to the following metadata appears correctly in the list. But When I try to upload the files. I get the following error.
Could you please help me fix this.
Here is the small class that I created to hold metadata: class CompositeTest( Data ): file_ext="comptest" MetadataElement( name="data_lines", default=0, desc="Number of data lines", readonly=True, optional=True, visible=False, no_value=0 ) composite_type="basic"
def __init__(self,**kwd): Data.__init__(self,**kwd) self.add_composite_file('pedfile.txt') self.add_composite_file('mapfile.txt') self.add_composite_file('frequencyfile.txt') self.add_composite_file('datafile.txt')
def init_meta(self,dataset,copy_from=None ): Data.init_meta(self,dataset,copy_from=copy_from)
Source Template Extra Data Traceback Error Traceback: View as: Interactive | Text | XML (full) ⇝ AttributeError: 'Bunch' object has no attribute 'space_to_tab' URL: http://10.70.250.254:8080/tool_runner/index Module weberror.evalexception.middleware:364 in respond view
app_iter = self.application(environ, detect_start_response)
Module paste.debug.prints:97 in __call__ view
status, headers, body = wsgilib.intercept_output(
Module paste.wsgilib:539 in intercept_output view
app_iter = application(environ, replacement_start_response)
Module paste.recursive:80 in __call__ view
return self.application(environ, start_response)
Module paste.httpexceptions:632 in __call__ view
return self.application(environ, start_response)
Module galaxy.web.framework.base:125 in __call__ view
body = method( trans, **kwargs )
Module galaxy.web.controllers.tool_runner:53 in index view
template, vars = tool.handle_input( trans, params.__dict__ )
Module galaxy.tools:795 in handle_input view
_, out_data = self.execute( trans, incoming=params )
Module galaxy.tools:1067 in execute view
return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
Module galaxy.tools.actions.upload:18 in execute view
uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs )
Module galaxy.tools.actions.upload_common:214 in get_uploaded_datasets view
uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) )
Module galaxy.tools.parameters.grouping:301 in get_uploaded_datasets view
dataset.space_to_tab = file_bunch.space_to_tab
AttributeError: 'Bunch' object has no attribute 'space_to_tab'
Extra Features
Display the lines of code near each part of the traceback
Show a debug prompt to allow you to directly debug the code at the traceback
In Text Tab : URL: http://10.70.250.254:8080/tool_runner/index File '/export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py', line 97 in __call__ status, headers, body = wsgilib.intercept_output( File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 125 in __call__ body = method( trans, **kwargs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py', line 53 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 795 in handle_input _, out_data = self.execute( trans, incoming=params ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 1067 in execute return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py', line 18 in execute uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py', line 214 in get_uploaded_datasets uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py', line 301 in get_uploaded_datasets dataset.space_to_tab = file_bunch.space_to_tab AttributeError: 'Bunch' object has no attribute 'space_to_tab'
In XML(full) TAB: <?xml version="1.0" ?> <traceback> <sysinfo> <language version="2.4.3"> Python </language> </sysinfo> <stack> <frame> <module> weberror.evalexception.middleware </module> <filename> /export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py </filename> <line> 364 </line> <function> respond </function> <operation> app_iter = self.application(environ, detect_start_response) </operation> <operation_context> try: __traceback_supplement__ = errormiddleware.Supplement, self, environ app_iter = self.application(environ, detect_start_response) try: return_iter = list(app_iter)
</operation_context> </frame> <frame> <module> paste.debug.prints </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py </filename> <line> 97 </line> <function> __call__ </function> <operation> status, headers, body = wsgilib.intercept_output( </operation> <operation_context> threadedprint.register(replacement_stdout) try: status, headers, body = wsgilib.intercept_output( environ, self.app) if status is None:
</operation_context> </frame> <frame> <module> paste.wsgilib </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py </filename> <line> 539 </line> <function> intercept_output </function> <operation> app_iter = application(environ, replacement_start_response) </operation> <operation_context> data.append(headers) return output.write app_iter = application(environ, replacement_start_response) if data[0] is None: return (None, None, app_iter)
</operation_context> </frame> <frame> <module> paste.recursive </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py </filename> <line> 80 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> environ['paste.recursive.script_name'] = my_script_name try: return self.application(environ, start_response) except ForwardRequestException, e: middleware = CheckForRecursionMiddleware(
</operation_context> </frame> <frame> <module> paste.httpexceptions </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py </filename> <line> 632 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> []).append(HTTPException) try: return self.application(environ, start_response) except HTTPException, exc: return exc(environ, start_response)
</operation_context> </frame> <frame> <module> galaxy.web.framework.base </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py </filename> <line> 125 </line> <function> __call__ </function> <operation> body = method( trans, **kwargs ) </operation> <operation_context> kwargs.pop( '_', None ) try: body = method( trans, **kwargs ) except Exception, e: body = self.handle_controller_exception( e, trans, **kwargs )
</operation_context> </frame> <frame> <module> galaxy.web.controllers.tool_runner </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py </filename> <line> 53 </line> <function> index </function> <operation> template, vars = tool.handle_input( trans, params.__dict__ ) </operation> <operation_context> # so make sure to create a new history if we've never had one before. history = trans.get_history( create=True ) template, vars = tool.handle_input( trans, params.__dict__ ) if len(params) > 0: trans.log_event( "Tool params: %s" % (str(params)), tool_id=tool_id )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 795 </line> <function> handle_input </function> <operation> _, out_data = self.execute( trans, incoming=params ) </operation> <operation_context> # If we've completed the last page we can execute the tool elif state.page == self.last_page: _, out_data = self.execute( trans, incoming=params ) try: assert isinstance( out_data, odict )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 1067 </line> <function> execute </function> <operation> return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) </operation> <operation_context> when run will build the tool's outputs, e.g. `DefaultToolAction`. """ return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
def params_to_strings( self, params, app ):
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py </filename> <line> 18 </line> <function> execute </function> <operation> uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) </operation> <operation_context> precreated_datasets = upload_common.get_precreated_datasets( trans, incoming, trans.app.model.HistoryDatasetAssociation ) incoming = upload_common.persist_uploads( incoming ) uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) upload_common.cleanup_unused_precreated_datasets( precreated_datasets )
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload_common </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py </filename> <line> 214 </line> <function> get_uploaded_datasets </function> <operation> uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) </operation> <operation_context> uploaded_datasets = [] for dataset_upload_input in dataset_upload_inputs: uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) for uploaded_dataset in uploaded_datasets: data = get_precreated_dataset( precreated_datasets, uploaded_dataset.name )
</operation_context> </frame> <frame> <module> galaxy.tools.parameters.grouping </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py </filename> <line> 301 </line> <function> get_uploaded_datasets </function> <operation> dataset.space_to_tab = file_bunch.space_to_tab </operation> <operation_context> writable_files_offset = 1 dataset.primary_file = file_bunch.path dataset.space_to_tab = file_bunch.space_to_tab dataset.precreated_name = file_bunch.precreated_name dataset.name = file_bunch.precreated_name
</operation_context> </frame> </stack> <exception> <type> AttributeError </type> <value> 'Bunch' object has no attribute 'space_to_tab' </value> </exception> </traceback>
Thanks and Regards, Amit Modi
----------------------------------------- Confidentiality Notice: The following mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. The recipient is responsible to maintain the confidentiality of this information and to use the information only for authorized purposes. If you are not the intended recipient (or authorized to receive information for the intended recipient), you are hereby notified that any review, use, disclosure, distribution, copying, printing, or action taken in reliance on the contents of this e-mail is strictly prohibited. If you have received this communication in error, please notify us immediately by reply e-mail and destroy all copies of the original message. Thank you.
Hi,
I created a metadata to hold 5 files together (1 primary and 4 data files). The file extension corresponding to the following metadata appears correctly in the list. But When I try to upload the files. I get the following error.
Could you please help me fix this.
Here is the small class that I created to hold metadata: class CompositeTest( Data ): file_ext="comptest" MetadataElement( name="data_lines", default=0, desc="Number of data lines", readonly=True, optional=True, visible=False, no_value=0 ) composite_type="basic"
def __init__(self,**kwd): Data.__init__(self,**kwd) self.add_composite_file('pedfile.txt') self.add_composite_file('mapfile.txt') self.add_composite_file('frequencyfile.txt') self.add_composite_file('datafile.txt')
def init_meta(self,dataset,copy_from=None ): Data.init_meta(self,dataset,copy_from=copy_from)
Source Template Extra Data Traceback Error Traceback: View as: Interactive | Text | XML (full) ⇝ AttributeError: 'Bunch' object has no attribute 'space_to_tab' URL: http://10.70.250.254:8080/tool_runner/index Module weberror.evalexception.middleware:364 in respond view
app_iter = self.application(environ, detect_start_response)
Module paste.debug.prints:97 in __call__ view
status, headers, body = wsgilib.intercept_output(
Module paste.wsgilib:539 in intercept_output view
app_iter = application(environ, replacement_start_response)
Module paste.recursive:80 in __call__ view
return self.application(environ, start_response)
Module paste.httpexceptions:632 in __call__ view
return self.application(environ, start_response)
Module galaxy.web.framework.base:125 in __call__ view
body = method( trans, **kwargs )
Module galaxy.web.controllers.tool_runner:53 in index view
template, vars = tool.handle_input( trans, params.__dict__ )
Module galaxy.tools:795 in handle_input view
_, out_data = self.execute( trans, incoming=params )
Module galaxy.tools:1067 in execute view
return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
Module galaxy.tools.actions.upload:18 in execute view
uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs )
Module galaxy.tools.actions.upload_common:214 in get_uploaded_datasets view
uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) )
Module galaxy.tools.parameters.grouping:301 in get_uploaded_datasets view
dataset.space_to_tab = file_bunch.space_to_tab
AttributeError: 'Bunch' object has no attribute 'space_to_tab'
Extra Features
Display the lines of code near each part of the traceback
Show a debug prompt to allow you to directly debug the code at the traceback
In Text Tab : URL: http://10.70.250.254:8080/tool_runner/index File '/export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py', line 97 in __call__ status, headers, body = wsgilib.intercept_output( File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 125 in __call__ body = method( trans, **kwargs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py', line 53 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 795 in handle_input _, out_data = self.execute( trans, incoming=params ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 1067 in execute return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py', line 18 in execute uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py', line 214 in get_uploaded_datasets uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py', line 301 in get_uploaded_datasets dataset.space_to_tab = file_bunch.space_to_tab AttributeError: 'Bunch' object has no attribute 'space_to_tab'
In XML(full) TAB: <?xml version="1.0" ?> <traceback> <sysinfo> <language version="2.4.3"> Python </language> </sysinfo> <stack> <frame> <module> weberror.evalexception.middleware </module> <filename> /export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py </filename> <line> 364 </line> <function> respond </function> <operation> app_iter = self.application(environ, detect_start_response) </operation> <operation_context> try: __traceback_supplement__ = errormiddleware.Supplement, self, environ app_iter = self.application(environ, detect_start_response) try: return_iter = list(app_iter)
</operation_context> </frame> <frame> <module> paste.debug.prints </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py </filename> <line> 97 </line> <function> __call__ </function> <operation> status, headers, body = wsgilib.intercept_output( </operation> <operation_context> threadedprint.register(replacement_stdout) try: status, headers, body = wsgilib.intercept_output( environ, self.app) if status is None:
</operation_context> </frame> <frame> <module> paste.wsgilib </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py </filename> <line> 539 </line> <function> intercept_output </function> <operation> app_iter = application(environ, replacement_start_response) </operation> <operation_context> data.append(headers) return output.write app_iter = application(environ, replacement_start_response) if data[0] is None: return (None, None, app_iter)
</operation_context> </frame> <frame> <module> paste.recursive </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py </filename> <line> 80 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> environ['paste.recursive.script_name'] = my_script_name try: return self.application(environ, start_response) except ForwardRequestException, e: middleware = CheckForRecursionMiddleware(
</operation_context> </frame> <frame> <module> paste.httpexceptions </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py </filename> <line> 632 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> []).append(HTTPException) try: return self.application(environ, start_response) except HTTPException, exc: return exc(environ, start_response)
</operation_context> </frame> <frame> <module> galaxy.web.framework.base </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py </filename> <line> 125 </line> <function> __call__ </function> <operation> body = method( trans, **kwargs ) </operation> <operation_context> kwargs.pop( '_', None ) try: body = method( trans, **kwargs ) except Exception, e: body = self.handle_controller_exception( e, trans, **kwargs )
</operation_context> </frame> <frame> <module> galaxy.web.controllers.tool_runner </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py </filename> <line> 53 </line> <function> index </function> <operation> template, vars = tool.handle_input( trans, params.__dict__ ) </operation> <operation_context> # so make sure to create a new history if we've never had one before. history = trans.get_history( create=True ) template, vars = tool.handle_input( trans, params.__dict__ ) if len(params) > 0: trans.log_event( "Tool params: %s" % (str(params)), tool_id=tool_id )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 795 </line> <function> handle_input </function> <operation> _, out_data = self.execute( trans, incoming=params ) </operation> <operation_context> # If we've completed the last page we can execute the tool elif state.page == self.last_page: _, out_data = self.execute( trans, incoming=params ) try: assert isinstance( out_data, odict )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 1067 </line> <function> execute </function> <operation> return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) </operation> <operation_context> when run will build the tool's outputs, e.g. `DefaultToolAction`. """ return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
def params_to_strings( self, params, app ):
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py </filename> <line> 18 </line> <function> execute </function> <operation> uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) </operation> <operation_context> precreated_datasets = upload_common.get_precreated_datasets( trans, incoming, trans.app.model.HistoryDatasetAssociation ) incoming = upload_common.persist_uploads( incoming ) uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) upload_common.cleanup_unused_precreated_datasets( precreated_datasets )
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload_common </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py </filename> <line> 214 </line> <function> get_uploaded_datasets </function> <operation> uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) </operation> <operation_context> uploaded_datasets = [] for dataset_upload_input in dataset_upload_inputs: uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) for uploaded_dataset in uploaded_datasets: data = get_precreated_dataset( precreated_datasets, uploaded_dataset.name )
</operation_context> </frame> <frame> <module> galaxy.tools.parameters.grouping </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py </filename> <line> 301 </line> <function> get_uploaded_datasets </function> <operation> dataset.space_to_tab = file_bunch.space_to_tab </operation> <operation_context> writable_files_offset = 1 dataset.primary_file = file_bunch.path dataset.space_to_tab = file_bunch.space_to_tab dataset.precreated_name = file_bunch.precreated_name dataset.name = file_bunch.precreated_name
</operation_context> </frame> </stack> <exception> <type> AttributeError </type> <value> 'Bunch' object has no attribute 'space_to_tab' </value> </exception> </traceback>
Thanks and Regards, Amit Modi
------ End of Forwarded Message
----------------------------------------- Confidentiality Notice: The following mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. The recipient is responsible to maintain the confidentiality of this information and to use the information only for authorized purposes. If you are not the intended recipient (or authorized to receive information for the intended recipient), you are hereby notified that any review, use, disclosure, distribution, copying, printing, or action taken in reliance on the contents of this e-mail is strictly prohibited. If you have received this communication in error, please notify us immediately by reply e-mail and destroy all copies of the original message. Thank you.
Hi Amit,
Thanks for reporting this error. It has been resolved in changeset 3777:b762ea8e5508. Let us know if you have additional issues.
Thanks for using Galaxy,
Dan
On May 7, 2010, at 10:47 AM, Modi, Amit wrote:
Hi,
I created a metadata to hold 5 files together (1 primary and 4 data files). The file extension corresponding to the following metadata appears correctly in the list. But When I try to upload the files. I get the following error.
Could you please help me fix this.
Here is the small class that I created to hold metadata: class CompositeTest( Data ): file_ext="comptest" MetadataElement( name="data_lines", default=0, desc="Number of data lines", readonly=True, optional=True, visible=False, no_value=0 ) composite_type="basic"
def __init__(self,**kwd): Data.__init__(self,**kwd) self.add_composite_file('pedfile.txt') self.add_composite_file('mapfile.txt') self.add_composite_file('frequencyfile.txt') self.add_composite_file('datafile.txt') def init_meta(self,dataset,copy_from=None ): Data.init_meta(self,dataset,copy_from=copy_from)
Source Template Extra Data Traceback Error Traceback: View as: Interactive | Text | XML (full) ⇝ AttributeError: 'Bunch' object has no attribute 'space_to_tab' URL: http://10.70.250.254:8080/tool_runner/index Module weberror.evalexception.middleware:364 in respond view
app_iter = self.application(environ, detect_start_response)
Module paste.debug.prints:97 in __call__ view
status, headers, body = wsgilib.intercept_output(
Module paste.wsgilib:539 in intercept_output view
app_iter = application(environ, replacement_start_response)
Module paste.recursive:80 in __call__ view
return self.application(environ, start_response)
Module paste.httpexceptions:632 in __call__ view
return self.application(environ, start_response)
Module galaxy.web.framework.base:125 in __call__ view
body = method( trans, **kwargs )
Module galaxy.web.controllers.tool_runner:53 in index view
template, vars = tool.handle_input( trans, params.__dict__ )
Module galaxy.tools:795 in handle_input view
_, out_data = self.execute( trans, incoming=params )
Module galaxy.tools:1067 in execute view
return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
Module galaxy.tools.actions.upload:18 in execute view
uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs )
Module galaxy.tools.actions.upload_common:214 in get_uploaded_datasets view
uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) )
Module galaxy.tools.parameters.grouping:301 in get_uploaded_datasets view
dataset.space_to_tab = file_bunch.space_to_tab
AttributeError: 'Bunch' object has no attribute 'space_to_tab'
Extra Features
Display the lines of code near each part of the traceback
Show a debug prompt to allow you to directly debug the code at the traceback
In Text Tab : URL: http://10.70.250.254:8080/tool_runner/index File '/export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py', line 97 in __call__ status, headers, body = wsgilib.intercept_output( File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 125 in __call__ body = method( trans, **kwargs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py', line 53 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 795 in handle_input _, out_data = self.execute( trans, incoming=params ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 1067 in execute return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py', line 18 in execute uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py', line 214 in get_uploaded_datasets uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py', line 301 in get_uploaded_datasets dataset.space_to_tab = file_bunch.space_to_tab AttributeError: 'Bunch' object has no attribute 'space_to_tab'
In XML(full) TAB:
<?xml version="1.0" ?>
<traceback> <sysinfo> <language version="2.4.3"> Python </language> </sysinfo> <stack> <frame> <module> weberror.evalexception.middleware </module> <filename> /export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py </filename> <line> 364 </line> <function> respond </function> <operation> app_iter = self.application(environ, detect_start_response) </operation> <operation_context> try: __traceback_supplement__ = errormiddleware.Supplement, self, environ app_iter = self.application(environ, detect_start_response) try: return_iter = list(app_iter)
</operation_context> </frame> <frame> <module> paste.debug.prints </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py </filename> <line> 97 </line> <function> __call__ </function> <operation> status, headers, body = wsgilib.intercept_output( </operation> <operation_context> threadedprint.register(replacement_stdout) try: status, headers, body = wsgilib.intercept_output( environ, self.app) if status is None: </operation_context> </frame> <frame> <module> paste.wsgilib </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py </filename> <line> 539 </line> <function> intercept_output </function> <operation> app_iter = application(environ, replacement_start_response) </operation> <operation_context> data.append(headers) return output.write app_iter = application(environ, replacement_start_response) if data[0] is None: return (None, None, app_iter) </operation_context> </frame> <frame> <module> paste.recursive </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py </filename> <line> 80 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> environ['paste.recursive.script_name'] = my_script_name try: return self.application(environ, start_response) except ForwardRequestException, e: middleware = CheckForRecursionMiddleware( </operation_context> </frame> <frame> <module> paste.httpexceptions </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py </filename> <line> 632 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> []).append(HTTPException) try: return self.application(environ, start_response) except HTTPException, exc: return exc(environ, start_response) </operation_context> </frame> <frame> <module> galaxy.web.framework.base </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py </filename> <line> 125 </line> <function> __call__ </function> <operation> body = method( trans, **kwargs ) </operation> <operation_context> kwargs.pop( '_', None ) try: body = method( trans, **kwargs ) except Exception, e: body = self.handle_controller_exception( e, trans, **kwargs ) </operation_context> </frame> <frame> <module> galaxy.web.controllers.tool_runner </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py </filename> <line> 53 </line> <function> index </function> <operation> template, vars = tool.handle_input( trans, params.__dict__ ) </operation> <operation_context> # so make sure to create a new history if we've never had one before. history = trans.get_history( create=True ) template, vars = tool.handle_input( trans, params.__dict__ ) if len(params) > 0: trans.log_event( "Tool params: %s" % (str(params)), tool_id=tool_id ) </operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 795 </line> <function> handle_input </function> <operation> _, out_data = self.execute( trans, incoming=params ) </operation> <operation_context> # If we've completed the last page we can execute the tool elif state.page == self.last_page: _, out_data = self.execute( trans, incoming=params ) try: assert isinstance( out_data, odict ) </operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 1067 </line> <function> execute </function> <operation> return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) </operation> <operation_context> when run will build the tool's outputs, e.g. `DefaultToolAction`. """ return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) def params_to_strings( self, params, app ): </operation_context> </frame> <frame> <module> galaxy.tools.actions.upload </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py </filename> <line> 18 </line> <function> execute </function> <operation> uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) </operation> <operation_context> precreated_datasets = upload_common.get_precreated_datasets( trans, incoming, trans.app.model.HistoryDatasetAssociation ) incoming = upload_common.persist_uploads( incoming ) uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) upload_common.cleanup_unused_precreated_datasets( precreated_datasets ) </operation_context> </frame> <frame> <module> galaxy.tools.actions.upload_common </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py </filename> <line> 214 </line> <function> get_uploaded_datasets </function> <operation> uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) </operation> <operation_context> uploaded_datasets = [] for dataset_upload_input in dataset_upload_inputs: uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) for uploaded_dataset in uploaded_datasets: data = get_precreated_dataset( precreated_datasets, uploaded_dataset.name ) </operation_context> </frame> <frame> <module> galaxy.tools.parameters.grouping </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py </filename> <line> 301 </line> <function> get_uploaded_datasets </function> <operation> dataset.space_to_tab = file_bunch.space_to_tab </operation> <operation_context> writable_files_offset = 1 dataset.primary_file = file_bunch.path dataset.space_to_tab = file_bunch.space_to_tab dataset.precreated_name = file_bunch.precreated_name dataset.name = file_bunch.precreated_name </operation_context> </frame> </stack> <exception> <type> AttributeError </type> <value> 'Bunch' object has no attribute 'space_to_tab' </value> </exception>
</traceback>
Thanks and Regards, Amit Modi
------ End of Forwarded Message
----------------------------------------- Confidentiality Notice: The following mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. The recipient is responsible to maintain the confidentiality of this information and to use the information only for authorized purposes. If you are not the intended recipient (or authorized to receive information for the intended recipient), you are hereby notified that any review, use, disclosure, distribution, copying, printing, or action taken in reliance on the contents of this e-mail is strictly prohibited. If you have received this communication in error, please notify us immediately by reply e-mail and destroy all copies of the original message. Thank you.
galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
Hi Daniel,
Thanks for the fix.
There’s one more issue that I am facing it would be really great if you could help me on that.
I created two file formats “mapf” and “pedf”
I upload a file as “mapf” and then I go to edit attributes and save it was “pedf”
But even after updating, the file extension visible in the green panel on the right that displayed my file contents displays the extension as “mapf”
Though when I click again on edit attributes and cross check the file extension it shows it as “pedf”
Can you please cross check this.
Thanks a lot
Regards, Amit Modi
On 5/12/10 4:01 PM, "Daniel Blankenberg" dan@bx.psu.edu wrote:
Hi Amit,
Thanks for reporting this error. It has been resolved in changeset 3777:b762ea8e5508. Let us know if you have additional issues.
Thanks for using Galaxy,
Dan
On May 7, 2010, at 10:47 AM, Modi, Amit wrote:
Hi,
I created a metadata to hold 5 files together (1 primary and 4 data files). The file extension corresponding to the following metadata appears correctly in the list. But When I try to upload the files. I get the following error.
Could you please help me fix this.
Here is the small class that I created to hold metadata: class CompositeTest( Data ): file_ext="comptest" MetadataElement( name="data_lines", default=0, desc="Number of data lines", readonly=True, optional=True, visible=False, no_value=0 ) composite_type="basic"
def __init__(self,**kwd): Data.__init__(self,**kwd) self.add_composite_file('pedfile.txt') self.add_composite_file('mapfile.txt') self.add_composite_file('frequencyfile.txt') self.add_composite_file('datafile.txt')
def init_meta(self,dataset,copy_from=None ): Data.init_meta(self,dataset,copy_from=copy_from)
Source Template Extra Data Traceback Error Traceback: View as: Interactive | Text | XML (full) ⇝ AttributeError: 'Bunch' object has no attribute 'space_to_tab' URL: http://10.70.250.254:8080/tool_runner/index Module weberror.evalexception.middleware:364 in respond view
app_iter = self.application(environ, detect_start_response)
Module paste.debug.prints:97 in __call__ view
status, headers, body = wsgilib.intercept_output(
Module paste.wsgilib:539 in intercept_output view
app_iter = application(environ, replacement_start_response)
Module paste.recursive:80 in __call__ view
return self.application(environ, start_response)
Module paste.httpexceptions:632 in __call__ view
return self.application(environ, start_response)
Module galaxy.web.framework.base:125 in __call__ view
body = method( trans, **kwargs )
Module galaxy.web.controllers.tool_runner:53 in index view
template, vars = tool.handle_input( trans, params.__dict__ )
Module galaxy.tools:795 in handle_input view
_, out_data = self.execute( trans, incoming=params )
Module galaxy.tools:1067 in execute view
return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
Module galaxy.tools.actions.upload:18 in execute view
uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs )
Module galaxy.tools.actions.upload_common:214 in get_uploaded_datasets view
uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) )
Module galaxy.tools.parameters.grouping:301 in get_uploaded_datasets view
dataset.space_to_tab = file_bunch.space_to_tab
AttributeError: 'Bunch' object has no attribute 'space_to_tab'
Extra Features
Display the lines of code near each part of the traceback
Show a debug prompt to allow you to directly debug the code at the traceback
In Text Tab : URL: http://10.70.250.254:8080/tool_runner/index File '/export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py', line 97 in __call__ status, headers, body = wsgilib.intercept_output( File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 125 in __call__ body = method( trans, **kwargs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py', line 53 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 795 in handle_input _, out_data = self.execute( trans, incoming=params ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 1067 in execute return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py', line 18 in execute uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py', line 214 in get_uploaded_datasets uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py', line 301 in get_uploaded_datasets dataset.space_to_tab = file_bunch.space_to_tab AttributeError: 'Bunch' object has no attribute 'space_to_tab'
In XML(full) TAB: <?xml version="1.0" ?> <traceback> <sysinfo> <language version="2.4.3"> Python </language> </sysinfo> <stack> <frame> <module> weberror.evalexception.middleware </module> <filename> /export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py </filename> <line> 364 </line> <function> respond </function> <operation> app_iter = self.application(environ, detect_start_response) </operation> <operation_context> try: __traceback_supplement__ = errormiddleware.Supplement, self, environ app_iter = self.application(environ, detect_start_response) try: return_iter = list(app_iter)
</operation_context> </frame> <frame> <module> paste.debug.prints </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py </filename> <line> 97 </line> <function> __call__ </function> <operation> status, headers, body = wsgilib.intercept_output( </operation> <operation_context> threadedprint.register(replacement_stdout) try: status, headers, body = wsgilib.intercept_output( environ, self.app) if status is None:
</operation_context> </frame> <frame> <module> paste.wsgilib </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py </filename> <line> 539 </line> <function> intercept_output </function> <operation> app_iter = application(environ, replacement_start_response) </operation> <operation_context> data.append(headers) return output.write app_iter = application(environ, replacement_start_response) if data[0] is None: return (None, None, app_iter)
</operation_context> </frame> <frame> <module> paste.recursive </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py </filename> <line> 80 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> environ['paste.recursive.script_name'] = my_script_name try: return self.application(environ, start_response) except ForwardRequestException, e: middleware = CheckForRecursionMiddleware(
</operation_context> </frame> <frame> <module> paste.httpexceptions </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py </filename> <line> 632 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> []).append(HTTPException) try: return self.application(environ, start_response) except HTTPException, exc: return exc(environ, start_response)
</operation_context> </frame> <frame> <module> galaxy.web.framework.base </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py </filename> <line> 125 </line> <function> __call__ </function> <operation> body = method( trans, **kwargs ) </operation> <operation_context> kwargs.pop( '_', None ) try: body = method( trans, **kwargs ) except Exception, e: body = self.handle_controller_exception( e, trans, **kwargs )
</operation_context> </frame> <frame> <module> galaxy.web.controllers.tool_runner </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py </filename> <line> 53 </line> <function> index </function> <operation> template, vars = tool.handle_input( trans, params.__dict__ ) </operation> <operation_context> # so make sure to create a new history if we've never had one before. history = trans.get_history( create=True ) template, vars = tool.handle_input( trans, params.__dict__ ) if len(params) > 0: trans.log_event( "Tool params: %s" % (str(params)), tool_id=tool_id )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 795 </line> <function> handle_input </function> <operation> _, out_data = self.execute( trans, incoming=params ) </operation> <operation_context> # If we've completed the last page we can execute the tool elif state.page == self.last_page: _, out_data = self.execute( trans, incoming=params ) try: assert isinstance( out_data, odict )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 1067 </line> <function> execute </function> <operation> return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) </operation> <operation_context> when run will build the tool's outputs, e.g. `DefaultToolAction`. """ return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
def params_to_strings( self, params, app ):
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py </filename> <line> 18 </line> <function> execute </function> <operation> uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) </operation> <operation_context> precreated_datasets = upload_common.get_precreated_datasets( trans, incoming, trans.app.model.HistoryDatasetAssociation ) incoming = upload_common.persist_uploads( incoming ) uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) upload_common.cleanup_unused_precreated_datasets( precreated_datasets )
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload_common </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py </filename> <line> 214 </line> <function> get_uploaded_datasets </function> <operation> uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) </operation> <operation_context> uploaded_datasets = [] for dataset_upload_input in dataset_upload_inputs: uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) for uploaded_dataset in uploaded_datasets: data = get_precreated_dataset( precreated_datasets, uploaded_dataset.name )
</operation_context> </frame> <frame> <module> galaxy.tools.parameters.grouping </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py </filename> <line> 301 </line> <function> get_uploaded_datasets </function> <operation> dataset.space_to_tab = file_bunch.space_to_tab </operation> <operation_context> writable_files_offset = 1 dataset.primary_file = file_bunch.path dataset.space_to_tab = file_bunch.space_to_tab dataset.precreated_name = file_bunch.precreated_name dataset.name http://dataset.name = file_bunch.precreated_name
</operation_context> </frame> </stack> <exception> <type> AttributeError </type> <value> 'Bunch' object has no attribute 'space_to_tab' </value> </exception> </traceback>
Thanks and Regards, Amit Modi
------ End of Forwarded Message
________________________________
----------------------------------------- Confidentiality Notice: The following mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. The recipient is responsible to maintain the confidentiality of this information and to use the information only for authorized purposes. If you are not the intended recipient (or authorized to receive information for the intended recipient), you are hereby notified that any review, use, disclosure, distribution, copying, printing, or action taken in reliance on the contents of this e-mail is strictly prohibited. If you have received this communication in error, please notify us immediately by reply e-mail and destroy all copies of the original message. Thank you. _______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
Hey Daniel,
Please neglect the previous mail.
I realized that after refreshing the history panel I get both the files.
Thanks and Regards, Amit Modi
On 5/14/10 12:27 PM, "Modi, Amit" Amit.Modi@nationwidechildrens.org wrote:
Hi Daniel,
Thanks for the fix.
There’s one more issue that I am facing it would be really great if you could help me on that.
I created two file formats “mapf” and “pedf”
I upload a file as “mapf” and then I go to edit attributes and save it was “pedf”
But even after updating, the file extension visible in the green panel on the right that displayed my file contents displays the extension as “mapf”
Though when I click again on edit attributes and cross check the file extension it shows it as “pedf”
Can you please cross check this.
Thanks a lot
Regards, Amit Modi
On 5/12/10 4:01 PM, "Daniel Blankenberg" dan@bx.psu.edu wrote:
Hi Amit,
Thanks for reporting this error. It has been resolved in changeset 3777:b762ea8e5508. Let us know if you have additional issues.
Thanks for using Galaxy,
Dan
On May 7, 2010, at 10:47 AM, Modi, Amit wrote:
Hi,
I created a metadata to hold 5 files together (1 primary and 4 data files). The file extension corresponding to the following metadata appears correctly in the list. But When I try to upload the files. I get the following error.
Could you please help me fix this.
Here is the small class that I created to hold metadata: class CompositeTest( Data ): file_ext="comptest" MetadataElement( name="data_lines", default=0, desc="Number of data lines", readonly=True, optional=True, visible=False, no_value=0 ) composite_type="basic"
def __init__(self,**kwd): Data.__init__(self,**kwd) self.add_composite_file('pedfile.txt') self.add_composite_file('mapfile.txt') self.add_composite_file('frequencyfile.txt') self.add_composite_file('datafile.txt')
def init_meta(self,dataset,copy_from=None ): Data.init_meta(self,dataset,copy_from=copy_from)
Source Template Extra Data Traceback Error Traceback: View as: Interactive | Text | XML (full) ⇝ AttributeError: 'Bunch' object has no attribute 'space_to_tab' URL: http://10.70.250.254:8080/tool_runner/index Module weberror.evalexception.middleware:364 in respond view
app_iter = self.application(environ, detect_start_response)
Module paste.debug.prints:97 in __call__ view
status, headers, body = wsgilib.intercept_output(
Module paste.wsgilib:539 in intercept_output view
app_iter = application(environ, replacement_start_response)
Module paste.recursive:80 in __call__ view
return self.application(environ, start_response)
Module paste.httpexceptions:632 in __call__ view
return self.application(environ, start_response)
Module galaxy.web.framework.base:125 in __call__ view
body = method( trans, **kwargs )
Module galaxy.web.controllers.tool_runner:53 in index view
template, vars = tool.handle_input( trans, params.__dict__ )
Module galaxy.tools:795 in handle_input view
_, out_data = self.execute( trans, incoming=params )
Module galaxy.tools:1067 in execute view
return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
Module galaxy.tools.actions.upload:18 in execute view
uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs )
Module galaxy.tools.actions.upload_common:214 in get_uploaded_datasets view
uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) )
Module galaxy.tools.parameters.grouping:301 in get_uploaded_datasets view
dataset.space_to_tab = file_bunch.space_to_tab
AttributeError: 'Bunch' object has no attribute 'space_to_tab'
Extra Features
Display the lines of code near each part of the traceback
Show a debug prompt to allow you to directly debug the code at the traceback
In Text Tab : URL: http://10.70.250.254:8080/tool_runner/index File '/export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py', line 364 in respond app_iter = self.application(environ, detect_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py', line 97 in __call__ status, headers, body = wsgilib.intercept_output( File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py', line 539 in intercept_output app_iter = application(environ, replacement_start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py', line 80 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py', line 632 in __call__ return self.application(environ, start_response) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py', line 125 in __call__ body = method( trans, **kwargs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py', line 53 in index template, vars = tool.handle_input( trans, params.__dict__ ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 795 in handle_input _, out_data = self.execute( trans, incoming=params ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py', line 1067 in execute return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py', line 18 in execute uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py', line 214 in get_uploaded_datasets uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) File '/export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py', line 301 in get_uploaded_datasets dataset.space_to_tab = file_bunch.space_to_tab AttributeError: 'Bunch' object has no attribute 'space_to_tab'
In XML(full) TAB: <?xml version="1.0" ?> <traceback> <sysinfo> <language version="2.4.3"> Python </language> </sysinfo> <stack> <frame> <module> weberror.evalexception.middleware </module> <filename> /export/home/galaxy/galaxy-dist/eggs/WebError-0.8a-py2.4.egg/weberror/evalexception/middleware.py </filename> <line> 364 </line> <function> respond </function> <operation> app_iter = self.application(environ, detect_start_response) </operation> <operation_context> try: __traceback_supplement__ = errormiddleware.Supplement, self, environ app_iter = self.application(environ, detect_start_response) try: return_iter = list(app_iter)
</operation_context> </frame> <frame> <module> paste.debug.prints </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/debug/prints.py </filename> <line> 97 </line> <function> __call__ </function> <operation> status, headers, body = wsgilib.intercept_output( </operation> <operation_context> threadedprint.register(replacement_stdout) try: status, headers, body = wsgilib.intercept_output( environ, self.app) if status is None:
</operation_context> </frame> <frame> <module> paste.wsgilib </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/wsgilib.py </filename> <line> 539 </line> <function> intercept_output </function> <operation> app_iter = application(environ, replacement_start_response) </operation> <operation_context> data.append(headers) return output.write app_iter = application(environ, replacement_start_response) if data[0] is None: return (None, None, app_iter)
</operation_context> </frame> <frame> <module> paste.recursive </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/recursive.py </filename> <line> 80 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> environ['paste.recursive.script_name'] = my_script_name try: return self.application(environ, start_response) except ForwardRequestException, e: middleware = CheckForRecursionMiddleware(
</operation_context> </frame> <frame> <module> paste.httpexceptions </module> <filename> /export/home/galaxy/galaxy-dist/eggs/Paste-1.6-py2.4.egg/paste/httpexceptions.py </filename> <line> 632 </line> <function> __call__ </function> <operation> return self.application(environ, start_response) </operation> <operation_context> []).append(HTTPException) try: return self.application(environ, start_response) except HTTPException, exc: return exc(environ, start_response)
</operation_context> </frame> <frame> <module> galaxy.web.framework.base </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/framework/base.py </filename> <line> 125 </line> <function> __call__ </function> <operation> body = method( trans, **kwargs ) </operation> <operation_context> kwargs.pop( '_', None ) try: body = method( trans, **kwargs ) except Exception, e: body = self.handle_controller_exception( e, trans, **kwargs )
</operation_context> </frame> <frame> <module> galaxy.web.controllers.tool_runner </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/web/controllers/tool_runner.py </filename> <line> 53 </line> <function> index </function> <operation> template, vars = tool.handle_input( trans, params.__dict__ ) </operation> <operation_context> # so make sure to create a new history if we've never had one before. history = trans.get_history( create=True ) template, vars = tool.handle_input( trans, params.__dict__ ) if len(params) > 0: trans.log_event( "Tool params: %s" % (str(params)), tool_id=tool_id )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 795 </line> <function> handle_input </function> <operation> _, out_data = self.execute( trans, incoming=params ) </operation> <operation_context> # If we've completed the last page we can execute the tool elif state.page == self.last_page: _, out_data = self.execute( trans, incoming=params ) try: assert isinstance( out_data, odict )
</operation_context> </frame> <frame> <module> galaxy.tools </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/__init__.py </filename> <line> 1067 </line> <function> execute </function> <operation> return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid ) </operation> <operation_context> when run will build the tool's outputs, e.g. `DefaultToolAction`. """ return self.tool_action.execute( self, trans, incoming=incoming, set_output_hid=set_output_hid )
def params_to_strings( self, params, app ):
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload.py </filename> <line> 18 </line> <function> execute </function> <operation> uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) </operation> <operation_context> precreated_datasets = upload_common.get_precreated_datasets( trans, incoming, trans.app.model.HistoryDatasetAssociation ) incoming = upload_common.persist_uploads( incoming ) uploaded_datasets = upload_common.get_uploaded_datasets( trans, incoming, precreated_datasets, dataset_upload_inputs ) upload_common.cleanup_unused_precreated_datasets( precreated_datasets )
</operation_context> </frame> <frame> <module> galaxy.tools.actions.upload_common </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/actions/upload_common.py </filename> <line> 214 </line> <function> get_uploaded_datasets </function> <operation> uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) </operation> <operation_context> uploaded_datasets = [] for dataset_upload_input in dataset_upload_inputs: uploaded_datasets.extend( dataset_upload_input.get_uploaded_datasets( trans, params ) ) for uploaded_dataset in uploaded_datasets: data = get_precreated_dataset( precreated_datasets, uploaded_dataset.name )
</operation_context> </frame> <frame> <module> galaxy.tools.parameters.grouping </module> <filename> /export/home/galaxy/galaxy-dist/lib/galaxy/tools/parameters/grouping.py </filename> <line> 301 </line> <function> get_uploaded_datasets </function> <operation> dataset.space_to_tab = file_bunch.space_to_tab </operation> <operation_context> writable_files_offset = 1 dataset.primary_file = file_bunch.path dataset.space_to_tab = file_bunch.space_to_tab dataset.precreated_name = file_bunch.precreated_name dataset.name http://dataset.name = file_bunch.precreated_name
</operation_context> </frame> </stack> <exception> <type> AttributeError </type> <value> 'Bunch' object has no attribute 'space_to_tab' </value> </exception> </traceback>
Thanks and Regards, Amit Modi
------ End of Forwarded Message
________________________________
----------------------------------------- Confidentiality Notice: The following mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. The recipient is responsible to maintain the confidentiality of this information and to use the information only for authorized purposes. If you are not the intended recipient (or authorized to receive information for the intended recipient), you are hereby notified that any review, use, disclosure, distribution, copying, printing, or action taken in reliance on the contents of this e-mail is strictly prohibited. If you have received this communication in error, please notify us immediately by reply e-mail and destroy all copies of the original message. Thank you. _______________________________________________ galaxy-dev mailing list galaxy-dev@lists.bx.psu.edu http://lists.bx.psu.edu/listinfo/galaxy-dev
galaxy-dev@lists.galaxyproject.org