Ahhh - I get it now. Galaxy only adds itself to the PYTHONPATH if it
can infer it is running a Python script (i.e. the command block starts
with python or a Python interpreter is used).
If you are building a tool for the tool shed - it would be best to
setup a tool dependency on the galaxy_sequence_utils package - this
would force every execution of the tool to have these utilities on
your PYTHONPATH. But since you are hard-encoding paths - it looks like
you are tailoring your Galaxy instance to your local environment. In
this case an easy hack is to just setup that dependency globally for
the system:
sudo easy_install
If you are setting up Galaxy env.sh files this can be installed into a
virtualenv instead - which is a better practice - let me know if you
are interested and I can send details.
-John
On Mon, Jul 7, 2014 at 4:02 AM, julie dubois <dubjulie(a)gmail.com> wrote:
Hi John,
As I specified it in the "edit" of my first message, I have this error
only if I run groomer with a command line in another xml file
surrounding by other command. When I run groomer alone with the
original xml, it works fine, so no problem with the PYTHONPATH.
But when I use this :
<command>
#if $fastq_format == "illumina"
blabla_No_python_command
#else
python /data/galaxy-dist/tools/fastq/fastq_groomer.py
'tmp.fastqcssanger' 'cssanger' '$output' 'illumina'
'ascii'
'dont_summarize_input'
#end if
</command>
It doesn't work.
I've checked the files contained in job_working_directory. A shell
script is generated for my job and it begin with these lines :
#!/bin/sh
GALAXY_SLOTS="1"; export GALAXY_SLOTS;
export GALAXY_SLOTS
GALAXY_LIB="None"
if [ "$GALAXY_LIB" != "None" ]; then
if [ -n "$PYTHONPATH" ]; then
PYTHONPATH="$GALAXY_LIB:$PYTHONPATH"
else
PYTHONPATH="$GALAXY_LIB"
fi
export PYTHONPATH
fi
So, with the run of groomer alone the line GALAXY_LIB is equal to
"/data/galaxy/galaxy-dist/lib", but here with the run of groomer with
a command line with another job the GALAXY_LIB is set to "None"!!!
I don't understand why.
For the moment, to surround the problem, I've explicitly specified the
GALAXY_LIB path int the xml command before the command line wich run
python fastq_groomer.py and it works but I'm aware that is not
beautiful.
Finally I'm using a local jobrunner.
Thanks for your help
Julie
P.S : we use such command because we build a workflow where the
quality format of the fastq must be invisible for the users.
2014-07-03 19:48 GMT+02:00 John Chilton <jmchilton(a)gmail.com>:
> Hello Julie,
>
> This is odd - sorry.
>
> I might be worth uninstalling and re-installing this in the tool
> shed admin options - in particular ensure you install tool
> dependencies and that this installation process succeeds.
>
> Otherwise - it might be worth trying to put some debug statements
> in the fastq groomer tool to try to track down the problem. Here
> (
https://gist.github.com/jmchilton/2d61f7ab81d99a0f02fc) is a diff to
> have that tool write out the run-time value PYTHONPATH to Galaxy's
> home directory - it might be worth running a job, finding the output,
> setting PYTHONPATH to that value on the compute node and attempting to
> just import it directly.
>
> cd $HOME; python -c "import galaxy.sequences.fastq"
>
> Out of curiosity - what job runner are you using (local, DRMAA, etc...)?
>
> -John
>
> On Tue, Jul 1, 2014 at 4:50 AM, julie dubois <dubjulie(a)gmail.com> wrote:
>> Hi,
>> I've this error message when I run groomer.
>>
>> My local instance of galaxy runs on a python virtualenv (python 2.7)
>> and I have make the latest update with : hg pull -u.
>>
>> I've verified and this library is present in my
>> galaxy-dist/lib/galaxy_utils/sequence directory.
>>
>> I've found no other idea than the update on this forum to run groomer
>> correctly, any other idea ?
>>
>> Thanks.
>> Julie
>> ___________________________________________________________
>> 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/