Question: Using Sge Cluster
0
gravatar for Henrikki Almusa
10.1 years ago by
Henrikki Almusa110 wrote:
Hi, I'm trying to get SGE cluster to run some tools on galaxy. I've set the 'start_job_runners = sge' and 'default_cluster_job_runner = local:///'. I'm hoping that this setup would run tools locally, unless tool is set to run on cluster in '[galaxy:tool_runners]' section. However this seems to fail with following message: Exception: SGEJobRunner requires DRMAA_python which was not found The DRMAA python package however is installed as is libdrmaa.so.1.0. And importing the DRMAA package works in python command prompt. How should I proceed with this? Regards, -- Henrikki Almusa
galaxy • 1.7k views
ADD COMMENTlink modified 10.1 years ago by Nate Coraor3.2k • written 10.1 years ago by Henrikki Almusa110
0
gravatar for Nate Coraor
10.1 years ago by
Nate Coraor3.2k
United States
Nate Coraor3.2k wrote:
Hi Henrikki, Galaxy expects to find DRMAA_python as an egg. To avoid version conflicts, Galaxy scrubs all non-standard Python paths from its environment (except when running tools). Thankfully, this should be easy to do, from Galaxy's root directory: SGE_ROOT=/path/to/sge python scripts/scramble.py DRMAA_python I'll update the wiki with this information shortly. --nate
ADD COMMENTlink written 10.1 years ago by Nate Coraor3.2k
That worked, thanks. I decided to try the cluster on emboss tool 'dreg'. Just to see that I can get it to execute there. However it seems to be using the local runner for it. I have commented out the default_cluster_job_runner row from above and that didn't help. I have following line after the [galaxy:tool_runners] EMBOSS: dreg27 = sge:// Shouldn't there be the tool id as whole or does the parsing fail due to spaces? Regards, -- Henrikki Almusa
ADD REPLYlink written 10.1 years ago by Henrikki Almusa110
Ok, I changed the tool id to EMBdreg27 and now it tried to send it to cluster. But alas that didn't go very far as error was thrown and I got this in the logs. galaxy.jobs.schedulingpolicy.roundrobin DEBUG 2008-10-30 11:32:00,271 RoundRobin queue: user/session did not exist, created new jobqueue for session = 1 galaxy.jobs DEBUG 2008-10-30 11:32:00,271 job 11 put in policy queue galaxy.jobs.schedulingpolicy.roundrobin DEBUG 2008-10-30 11:32:00,272 RoundRobin queue: retrieving job from job queue for session = 1 galaxy.jobs DEBUG 2008-10-30 11:32:00,272 dispatching job 11 to sge runner galaxy.jobs ERROR 2008-10-30 11:32:00,877 failure running job 11 Traceback (most recent call last): File "/apps/general/galaxy/galaxy- d93cf9d961bb/lib/galaxy/jobs/__init__.py", line 190, in monitor_step self.dispatcher.put( sjob ) File "/apps/general/galaxy/galaxy- d93cf9d961bb/lib/galaxy/jobs/__init__.py", line 499, in put self.job_runners[runner_name].put( job_wrapper ) File "/apps/general/galaxy/galaxy- d93cf9d961bb/lib/galaxy/jobs/runners/sge.py", line 279, in put self.queue_job( job_wrapper ) File "/apps/general/galaxy/galaxy- d93cf9d961bb/lib/galaxy/jobs/runners/sge.py", line 127, in queue_job sge_queue_name = self.determine_sge_queue( runner_url ) File "/apps/general/galaxy/galaxy- d93cf9d961bb/lib/galaxy/jobs/runners/sge.py", line 98, in determine_sge_queue queue = url_split[3] IndexError: list index out of range Regards, -- Henrikki Almusa
ADD REPLYlink written 10.1 years ago by Henrikki Almusa110
The URL is missing a / - there's an optional 'queue' parameter: sge://[cell]/[queue] To use the default queue on the default cell, use: sge:/// --nate
ADD REPLYlink written 10.1 years ago by Nate Coraor3.2k
Thanks, that worked. Now I still have one more question :). Is there any way to add enviromental variables to the command that the galaxy executes in the SGE cluster? I managed to do it by editing the script template in lib/galaxy/jobs/runners/sge.py However that would be a bit of a hack. Regards, -- Henrikki Almusa
ADD REPLYlink written 10.1 years ago by Henrikki Almusa110
The way we do it is to add them to the user's shell startup files. --nate
ADD REPLYlink written 10.1 years ago by Nate Coraor3.2k
I tried adding to .bashrc (/bin/sh points to /bin/bash), but it doesn't seem to be loaded when the script is run. -- Henrikki Almusa
ADD REPLYlink written 10.1 years ago by Henrikki Almusa110
I can't speak for how your local cluster is configured, but you may need to use .bash_profile. Also, SGE defaults to using csh to run jobs. You may want to do some testing using qsub manually to see what works. --nate
ADD REPLYlink written 10.1 years ago by Nate Coraor3.2k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 180 users visited in the last hour