Hi Leandro,
Thanks! I had to change one line to get it working:
<command interpreter="perl">
...
#for $i in $add_inputs
${i.extra_table.file_name}
#end for
</command>
<repeat name="add_inputs" title="Extra Fitness Tables">
<param format="txt" name="extra_table" type="data" label="Another fitness table" />
</repeat>
Now galaxy will provide a list of files as the last parameters to the script.
Best,
Kip
Hi Kip,
For the time being we are using this method to achieve the same
result, although its not as nice as just having a multi-select menu in
the form:
<command>
...
$input1
#for $r in $add_inputs
$r.$input2
#end for
...
</command>
In <inputs>:
<param name="input1" type="data"/>
<repeat name="add_inputs">
<param name="input2" type="data" />
</repeat>
best,
Leandro
On Thu, Jun 30, 2011 at 4:52 PM, Kip Bodi <kip.bodi@tufts.edu> wrote:
> Sorry, I tried to edit that, to make it simpler, but missed the <param>
> block. The 'name' does match the one in the 'command' on my end
> (list_of_items_in_history).
>
> On Thu, Jun 30, 2011 at 10:45 AM, Kip Bodi <kip.bodi@tufts.edu> wrote:
>>
>> Hi all,
>>
>> I'm having the same problem. I have a script that tries to take several
>> history data sets as a single input:
>>
>> <command interpreter="perl">aggregate.pl --out $outfile
>> $list_of_items_in_history</command>
>>
>> <inputs>
>> <param format="txt" name="fitness_tables" type="data" multiple="true"
>> label="Fitness score table, per site"/>
>> </inputs>
>>
>> <outputs>
>> <data format="tabular" name="outfile" />
>> </outputs>
>>
>> If I select only one history item it works, but if I press 'ctrl' to
>> select multiple items, it fails:
>>
>> File
>> '/storage/apps/galaxy_dist/eggs/WebError-0.8a-py2.6.egg/weberror/evalexception/middleware.py',
>> line 364 in respond
>> app_iter = self.application(environ, detect_start_response)
>> File '/usr/lib/python2.6/site-packages/paste/debug/prints.py', line 106 in
>> __call__
>> environ, self.app)
>> File '/usr/lib/python2.6/site-packages/paste/wsgilib.py', line 543 in
>> intercept_output
>> app_iter = application(environ, replacement_start_response)
>> File '/usr/lib/python2.6/site-packages/paste/recursive.py', line 80 in
>> __call__
>> return self.application(environ, start_response)
>> File '/usr/lib/python2.6/site-packages/paste/httpexceptions.py', line 633
>> in __call__
>> return self.application(environ, start_response)
>> File '/storage/apps/galaxy_dist/lib/galaxy/web/framework/base.py', line
>> 145 in __call__
>> body = method( trans, **kwargs )
>> File
>> '/storage/apps/galaxy_dist/lib/galaxy/web/controllers/tool_runner.py', line
>> 68 in index
>> template, vars = tool.handle_input( trans, params.__dict__ )
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/__init__.py', line 979 in
>> handle_input
>> _, out_data = self.execute( trans, incoming=params, history=history )
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/__init__.py', line 1271
>> in execute
>> return self.tool_action.execute( self, trans, incoming=incoming,
>> set_output_hid=set_output_hid, history=history, **kwargs )
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/actions/__init__.py',
>> line 360 in execute
>> for name, value in tool.params_to_strings( incoming, trans.app
>> ).iteritems():
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/__init__.py', line 1274
>> in params_to_strings
>> return params_to_strings( self.inputs, params, app )
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/parameters/__init__.py',
>> line 79 in params_to_strings
>> value = params[ key ].value_to_basic( value, app )
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/parameters/basic.py',
>> line 110 in value_to_basic
>> return self.to_string( value, app )
>> File '/storage/apps/galaxy_dist/lib/galaxy/tools/parameters/basic.py',
>> line 1457 in to_string
>> return value.id
>> AttributeError: 'list' object has no attribute 'id'
>>
>> Is using multiple history items as a single input not currently supported,
>> or is there something else I'm doing wrong?
>>
>> Cheers,
>>
>> Kip
>>
>> On Thu, Jun 9, 2011 at 7:05 AM, Leandro Hermida
>> <softdev@leandrohermida.com> wrote:
>>>
>>> Hi again,
>>>
>>> Sorry to ping again about this, just very interested in knowing if
>>> this is a missing feature in Galaxy or if I had configured something
>>> wrong.
>>>
>>> Is it possible in Galaxy to have a tool with a multiple="true" input
>>> dataset parameter? It doesn't seem so?
>>>
>>> best,
>>> Leandro
>>>
>>>
>>> On Tue, May 24, 2011 at 1:31 PM, Leandro Hermida
>>> <softdev@leandrohermida.com> wrote:
>>> > Hi Nate,
>>> >
>>> > Thanks for the ping, have fun at the conference!
>>> > On Tue, May 24, 2011 at 11:22 AM, Nate Coraor <nate@bx.psu.edu> wrote:
>>> >>
>>> >> Hi Leandro,
>>> >>
>>> >> The Galaxy Team has recently been preparing for and traveling in
>>> >> advance
>>> >> of the Galaxy Community Conference, which begins today. Unfortunately
>>> >> I
>>> >> don't have an answer for you, but when we're all back at work next
>>> >> week,
>>> >> someone should be able to respond.
>>> >>
>>> >> Thanks,
>>> >> --nate
>>> >>
>>> >> Leandro Hermida wrote:
>>> >> > Hi again,
>>> >> >
>>> >> > Very sorry to ask again, just gotten no repsonse, but is this a
>>> >> > Galaxy
>>> >> > bug
>>> >> > or does anyone have a functioning tool that takes multiple datasets
>>> >> > as
>>> >> > an
>>> >> > input parameter??? i.e.
>>> >> >
>>> >> > <param type="data" multiple="true" ... />
>>> >> >
>>> >> > regards,
>>> >> > Leandro
>>> >> >
>>> >> > On Thu, May 19, 2011 at 7:15 PM, Leandro Hermida
>>> >> > <softdev@leandrohermida.com
>>> >> > > wrote:
>>> >> >
>>> >> > > Hi again,
>>> >> > >
>>> >> > > I tried changing the format to txt and tabular which I have other
>>> >> > > datasets
>>> >> > > in my history and still the same error and stack trace in Galaxy.
>>> >> > >
>>> >> > > Is it possible at all to have a select multiple of datasets as an
>>> >> > > input
>>> >> > > parameter??
>>> >> > >
>>> >> > > best,
>>> >> > > Leandro
>>> >> > >
>>> >> > >
>>> >> > > On Thu, May 19, 2011 at 6:59 PM, Leandro Hermida <
>>> >> > > softdev@leandrohermida.com> wrote:
>>> >> > >
>>> >> > >> Hi Galaxy developers,
>>> >> > >>
>>> >> > >> Something seems maybe to be wrong with the format="html" type...
>>> >> > >> I
>>> >> > >> forgot
>>> >> > >> to add before that my tool input param the format="html"
>>> >> > >> attribute:
>>> >> > >>
>>> >> > >> <param type="data" multiple="true" format="html" name="input1" />
>>> >> > >>
>>> >> > >> In another tool I have it outputs format="html" and this works
>>> >> > >> and
>>> >> > >> displays in Galaxy just fine. I would like to use multiple of
>>> >> > >> these
>>> >> > >> output
>>> >> > >> datasets in my history as the input for this other tool but
>>> >> > >> something
>>> >> > >> seems
>>> >> > >> to be wrong if you try to do this?
>>> >> > >>
>>> >> > >> a bit lost,
>>> >> > >> Leandro
>>> >> > >>
>>> >> > >>
>>> >> > >> On Thu, May 19, 2011 at 3:30 PM, Leandro Hermida <
>>> >> > >> softdev@leandrohermida.com> wrote:
>>> >> > >>
>>> >> > >>> Hi,
>>> >> > >>>
>>> >> > >>> I have a tool where the input is multi-select of datasets, e.g.:
>>> >> > >>>
>>> >> > >>> <param type="data" multiple="true" name="input1" />
>>> >> > >>>
>>> >> > >>> I tested it to see what it would pass to my command and I get
>>> >> > >>> the
>>> >> > >>> following debug page and error in Galaxy:
>>> >> > >>>
>>> >> > >>> AttributeError: 'list' object has no attribute 'missing_meta'
>>> >> > >>>
>>> >> > >>> The last part of the stack trace looks like:
>>> >> > >>>
>>> >> > >>> >> validator.validate( value, history )
>>> >> > >>> Module galaxy.tools.parameters.validation:185 in validate
>>> >> > >>>
>>> >> > >>> history <galaxy.model.History object at 0xb8ea190>
>>> >> > >>> self
>>> >> > >>> <galaxy.tools.parameters.validation.MetadataValidator
>>> >> > >>> object
>>> >> > >>> at 0xb8e6250>
>>> >> > >>> value [<galaxy.model.HistoryDatasetAssociation object at
>>> >> > >>> 0xa255550>,
>>> >> > >>> <galaxy.model.HistoryDataset ... Association object at
>>> >> > >>> 0xb8ea210>]
>>> >> > >>>
>>> >> > >>> >> if value and value.missing_meta( check = self.check, skip =
>>> >> > >>> >> self.skip
>>> >> > >>> ):
>>> >> > >>> AttributeError: 'list' object has no attribute 'missing_meta'
>>> >> > >>>
>>> >> > >>> What am I doing wrong?
>>> >> > >>>
>>> >> > >>> regards,
>>> >> > >>> Leandro
>>> >> > >>>
>>> >> > >>>
>>> >> > >>
>>> >> > >
>>> >>
>>> >> > ___________________________________________________________
>>> >> > Please keep all replies on the list by using "reply all"
>>> >> > in your mail client. To manage your subscriptions to this
>>> >> > and other Galaxy lists, please use the interface at:
>>> >> >
>>> >> > http://lists.bx.psu.edu/
>>> >>
>>> >
>>> >
>>>
>>> ___________________________________________________________
>>> Please keep all replies on the list by using "reply all"
>>> in your mail client. To manage your subscriptions to this
>>> and other Galaxy lists, please use the interface at:
>>>
>>> http://lists.bx.psu.edu/
>>
>>
>>
>> --
>> Kip Lord Bodi Jr.
>> Tufts University School of Medicine
>> 136 Harrison Avenue, South Cove 502
>> Boston, MA 02118
>> 617-636-3763
>> kip.bodi@tufts.edu
>> www.tucf.org | genomics.med.tufts.edu
>
>
>
> --
> Kip Lord Bodi Jr.
> Tufts University School of Medicine
> 136 Harrison Avenue, South Cove 502
> Boston, MA 02118
> 617-636-3763
> kip.bodi@tufts.edu
> www.tucf.org | genomics.med.tufts.edu
>