Hello Martin,

You have found something of a bug - there are problems when the output
name matches an input name - in this case your conditional name
"Project" matches your output name "Project" . I think you can just
fix this by calling the output Project_output or the conditional
which_project or really anything along these lines.

I have created a Trello card to track the underlying bug -
https://trello.com/c/YDEaIlBD.

-John

On Thu, Aug 14, 2014 at 3:58 AM, Martin Christiansen
<martinchristianse...@hotmail.com> wrote:
> Hi again,
>
> Has anyone had time to look into the traceback?
>
> Best,
> Martin
>
> ________________________________
> From: martinchristianse...@hotmail.com
> To: jmchil...@gmail.com; n...@bx.psu.edu
> Date: Tue, 12 Aug 2014 15:59:53 +0200
>
> CC: galaxy-dev@lists.bx.psu.edu
> Subject: Re: [galaxy-dev] TypeError with 'dict'
>
> Hi guys,
>
> Thanks for the response.
>
> I have been able to work around the from_work_dir option.
> And here are the full traceback:
>
> galaxy.tools ERROR 2014-08-12 15:55:35,298 Exception caught while attempting
> tool execution:
> Traceback (most recent call last):
>   File "/home/pcm692/galaxy-dist/lib/galaxy/tools/__init__.py", line 2004,
> in handle_single_execution
>     job, out_data = self.execute( trans, incoming=params, history=history,
> rerun_remap_job_id=rerun_remap_job_id )
>   File "/home/pcm692/galaxy-dist/lib/galaxy/tools/__init__.py", line 2535,
> in execute
>     return self.tool_action.execute( self, trans, incoming=incoming,
> set_output_hid=set_output_hid, history=history, **kwargs )
>   File "/home/pcm692/galaxy-dist/lib/galaxy/tools/actions/__init__.py", line
> 238, in execute
>     data = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation
> ).get( dataid )
>   File
> "/home/pcm692/galaxy-dist/eggs/SQLAlchemy-0.7.9-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/orm/query.py",
> line 767, in get
>     instance = self._get_from_identity(self.session, key, False)
>   File
> "/home/pcm692/galaxy-dist/eggs/SQLAlchemy-0.7.9-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/orm/query.py",
> line 2437, in _get_from_identity
>     instance = session.identity_map.get(key)
>   File
> "/home/pcm692/galaxy-dist/eggs/SQLAlchemy-0.7.9-py2.7-linux-x86_64-ucs4.egg/sqlalchemy/orm/identity.py",
> line 141, in get
>     state = dict.get(self, key, default)
> TypeError: unhashable type: 'dict'
>
> Best regards,
> Martin
>
>> Date: Tue, 12 Aug 2014 08:58:38 -0400
>> From: jmchil...@gmail.com
>> To: n...@bx.psu.edu
>> CC: galaxy-dev@lists.bx.psu.edu
>> Subject: Re: [galaxy-dev] TypeError with 'dict'
>>
>> Nate is right - full traceback would help. I am not sure it is the
>> only problem - but these outputs do not look right:
>>
>> <outputs>
>> <data format="tabular" name="Project" label="Project"
>>
>> from_work_dir="/eva/projects/smash/MOCAT/test/martin/$Project.input/$Project.input"/>
>> <data format="tabular" name="Samples" label="Samples"
>>
>> from_work_dir="/eva/projects/smash/MOCAT/test/martin/$Project.input/$Project.samples"/>
>> </outputs>
>>
>> Galaxy isn't going to expand variables ($Project.input /
>> $Project.samples) in the from_work_dir attribute so those are going to
>> be taken as literal strings. That directory also really needs to be
>> relative to the tool directory and I believe this is enforced for
>> security reasons.
>>
>> -John
>>
>>
>> On Tue, Aug 12, 2014 at 8:55 AM, Nate Coraor <n...@bx.psu.edu> wrote:
>> > Hi Martin,
>> >
>> > If there's a full traceback instead of just this fragment, that'd
>> > certainly
>> > help with determining exactly where the problem is coming from.
>> >
>> > --nate
>> >
>> > On Aug 12, 2014, at 4:17 AM, bjoern.gruen...@googlemail.com
>> > <bjoern.gruen...@gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > Galaxy stores all information about a tool and it's parameters in a
>> > database.
>> > I suppose if something is wrong with your tool, under some
>> > circumstances, it
>> > can't be stored in the database.
>> >
>> > Cheers,
>> > Bjoern
>> >
>> >
>> > 2014-08-12 9:23 GMT+02:00 Martin Christiansen
>> > <martinchristianse...@hotmail.com>:
>> >>
>> >> Hi Björn,
>> >>
>> >> I'm using galaxy as a front-end to run a larger pipeline in the
>> >> background.
>> >> Originally I implemented the pipeline which had the same wrapper and
>> >> was
>> >> running fine.
>> >> I have now begun to break it down into steps where this is the first
>> >> step.
>> >>
>> >> The only thing I've changed is the output.
>> >> How would this cause an error in the python egg?
>> >>
>> >> Martin
>> >>
>> >> > Date: Tue, 12 Aug 2014 09:06:51 +0200
>> >> > From: bjoern.gruen...@gmail.com
>> >> > To: martinchristianse...@hotmail.com; galaxy-dev@lists.bx.psu.edu
>> >> > Subject: Re: [galaxy-dev] TypeError with 'dict'
>> >>
>> >> >
>> >> > Hi Martin,
>> >> >
>> >> > please keep galaxy-dev in the CC list.
>> >> >
>> >> > Am 12.08.2014 um 08:51 schrieb Martin Christiansen:
>> >> > > Hi Björn,
>> >> > >
>> >> > > Most certainly. I have posted it below.
>> >> > >
>> >> > > <tool id="screen_reads" name="Screen Reads">
>> >> >
>> >> > -> add here a version number version="0.1"
>> >> >
>> >> > > <description>against hg19</description>
>> >> > >
>> >> > > <command interpreter="bash">screen_reads.sh $Project.input
>> >> > > $Project.samples $Project $Samples </command>
>> >> > >
>> >> > > <inputs>
>> >> > > <conditional name="Project">
>> >> > > <param name="input" type="select" label="Select project">
>> >> > > <option value="galaxy_test1">galaxy_test1</option>
>> >> > > <option value="Untitled Folder">Untitled Folder</option>
>> >> >
>> >> > -> is the white space really needed? If so $Project.input will be two
>> >> > words. Use "${Project.input}" to convert it to onw argument
>> >> >
>> >> > > </param>
>> >> > > <when value="galaxy_test1">
>> >> > > <param name="samples" type="select" label="Select samples"
>> >> > > display="checkboxes" multiple="True">
>> >> > > <option value="147406386-700171390">147406386-700171390</option>
>> >> > > <option value="158256496-700097688">158256496-700097688</option>
>> >> > > <option value="158337416-700013715">158337416-700013715</option>
>> >> > > <option value="158337416-700097837">158337416-700097837</option>
>> >> > > <option value="158357646-700035237">158357646-700035237</option>
>> >> > > <option value="158458797-700014562">158458797-700014562</option>
>> >> > > <option value="158479027-700014724">158479027-700014724</option>
>> >> > > <option value="158479027-700097196">158479027-700097196</option>
>> >> > > <option value="158499257-700014837">158499257-700014837</option>
>> >> > > <option value="158499257-700098561">158499257-700098561</option>
>> >> > > <option value="158742018-700015181">158742018-700015181</option>
>> >> > > <option value="158802708-700015245">158802708-700015245</option>
>> >> > > <option value="158802708-700015250">158802708-700015250</option>
>> >> > > <option value="158802708-700099803">158802708-700099803</option>
>> >> > > <option value="158802708-700119165">158802708-700119165</option>
>> >> > > <option value="158822939-700014954">158822939-700014954</option>
>> >> > > <option value="158883629-700015113">158883629-700015113</option>
>> >> > > <option value="158883629-700100227">158883629-700100227</option>
>> >> > > <option value="158883629-700112812">158883629-700112812</option>
>> >> > > <option value="158924089-700099307">158924089-700099307</option>
>> >> > > </param>
>> >> > > </when>
>> >> > > <when value="Untitled Folder">
>> >> > > <param name="samples" type="select" label="Select samples"
>> >> > > display="checkboxes" multiple="True">
>> >> >
>> >> > -> you don't have any <option> here.
>> >> >
>> >> > > </param>
>> >> > > </when>
>> >> > > </conditional>
>> >> > > </inputs>
>> >> > >
>> >> > > <outputs>
>> >> > > <data format="tabular" name="Project" label="Project"
>> >> > >
>> >> > > from_work_dir="/eva/projects/smash/MOCAT/test/martin/$Project.input/$Project.input"/>
>> >> > > <data format="tabular" name="Samples" label="Samples"
>> >> > >
>> >> > > from_work_dir="/eva/projects/smash/MOCAT/test/martin/$Project.input/$Project.samples"/>
>> >> > > </outputs>
>> >> >
>> >> > -> I'm not sure this will work. workdir is a special dir Galaxy
>> >> > creates
>> >> > for you. It will be the working directory where your program get's
>> >> > called. So assume your program creates foo.sam files. You can specify
>> >> > it
>> >> > like from_work_dir='foo.sam'
>> >> >
>> >> > The input handling looks also a little bit strange. You do not
>> >> > specify
>> >> > any input file in Galaxy. That is not really Galaxy like :)
>> >> >
>> >> > Cheers,
>> >> > Bjoern
>> >> >
>> >> > > <help>
>> >> > > Reads screened against hg19.
>> >> > > </help>
>> >> > > </tool>
>> >> > >
>> >> > > Best,
>> >> > > Martin
>> >> > >
>> >> > >
>> >
>> >
>> > ___________________________________________________________
>> > 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/
>> >
>> > To search Galaxy mailing lists use the unified search at:
>> > http://galaxyproject.org/search/mailinglists/
>> >
>> >
>> >
>> > ___________________________________________________________
>> > 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/
>> >
>> > To search Galaxy mailing lists use the unified search at:
>> > http://galaxyproject.org/search/mailinglists/
>>
>> ___________________________________________________________
>> 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/
>>
>> To search Galaxy mailing lists use the unified search at:
>> http://galaxyproject.org/search/mailinglists/
>
> ___________________________________________________________ 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/ To search Galaxy mailing lists use the unified
> search at: http://galaxyproject.org/search/mailinglists/

___________________________________________________________
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/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to