Conda: confused dependencies with multiple R versions and rpy
Hi, trying to get my tools going, part 29. I have a Docker image with the latest Galaxy release, patched to fix the Conda install bug I found earlier, my tools are installed ok and I’ve added a few from the toolshed for good measure. One of my tools requires R 3.0.2 which is installed ok. I also installed scatterplot from the toolshed which requires R 2.11; that is also installed ok by conda. However, I get this message when trying to run scatterplot: Traceback (most recent call last): File "/shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/scatterplot/d243056b22ed/scatterplot/scatterplot.py<http://toolshed.g2.bx.psu.edu/repos/devteam/scatterplot/d243056b22ed/scatterplot/scatterplot.py>", line 5, in <module> from rpy import * File "/tool_deps/rpy/1.0.3/devteam/package_rpy_1_0_3/82170c94ca7c/lib/python/rpy.py", line 134, in <module> """ % RVERSION) RuntimeError: No module named _rpy3002 RPy module can not be imported. Please check if your rpy installation supports R 3.0.2. If you have multiple R versions installed, you may need to set RHOME before importing rpy. For example: >>> from rpy_options import set_options >>> set_options(RHOME='c:/progra~1/r/rw2011/') >>> from rpy import * So it seems that rpy is installed and is aware of one version of R but not the other, and the other is being found (perhaps because it’s the default install in the Docker image?) FYI my docker image recipe is here: https://github.com/Alveo/docker-galaxy-alveo and the image itself is here: https://hub.docker.com/r/stevecassidy/alveo-galaxy/ Any pointers to the way forward appreciated. Thanks, Steve — Department of Computing, Macquarie University http://web.science.mq.edu.au/~cassidy
Hi Steve, The scatterplot tool is relatively old and has not had its dependencies updated to be conda compatible. https://github.com/galaxyproject/tools-devteam/blob/master/tools/scatterplot... The relevant lines are these: <requirements> <requirement type="package" version="1.9">numpy</requirement> <requirement type="package" version="1.0.3">rpy</requirement> </requirements So it would attempt to get the R version via the rpy package. So my guess is that there is no rpy(1) package in conda. We can try to update the tool to use rpy2 and hope that that'll just work, and if that doesn't work we can explicitly add a requirement on R (which we can get through conda). I've opened an issue here: Best, Marius On 1 September 2016 at 09:50, Steve Cassidy <steve.cassidy@mq.edu.au> wrote:
Hi, trying to get my tools going, part 29. I have a Docker image with the latest Galaxy release, patched to fix the Conda install bug I found earlier, my tools are installed ok and I’ve added a few from the toolshed for good measure.
One of my tools requires R 3.0.2 which is installed ok. I also installed scatterplot from the toolshed which requires R 2.11; that is also installed ok by conda. However, I get this message when trying to run scatterplot:
Traceback (most recent call last): File "/shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/scatterplot/d243056b22ed/scatterplot/scatterplot.py", line 5, in <module> from rpy import * File "/tool_deps/rpy/1.0.3/devteam/package_rpy_1_0_3/82170c94ca7c/lib/python/rpy.py", line 134, in <module> """ % RVERSION) RuntimeError: No module named _rpy3002
RPy module can not be imported. Please check if your rpy installation supports R 3.0.2. If you have multiple R versions installed, you may need to set RHOME before importing rpy. For example:
>>> from rpy_options import set_options >>> set_options(RHOME='c:/progra~1/r/rw2011/') >>> from rpy import *
So it seems that rpy is installed and is aware of one version of R but not the other, and the other is being found (perhaps because it’s the default install in the Docker image?)
FYI my docker image recipe is here:
https://github.com/Alveo/docker-galaxy-alveo
and the image itself is here:
https://hub.docker.com/r/stevecassidy/alveo-galaxy/
Any pointers to the way forward appreciated.
Thanks, Steve — Department of Computing, Macquarie University http://web.science.mq.edu.au/~cassidy
___________________________________________________________ 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: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Forgot to paste the link: https://github.com/galaxyproject/tools-devteam/issues/385 On 1 September 2016 at 11:08, Marius van den Beek <m.vandenbeek@gmail.com> wrote:
Hi Steve,
The scatterplot tool is relatively old and has not had its dependencies updated to be conda compatible. https://github.com/galaxyproject/tools-devteam/ blob/master/tools/scatterplot/scatterplot.xml
The relevant lines are these:
<requirements> <requirement type="package" version="1.9">numpy</requirement> <requirement type="package" version="1.0.3">rpy</requirement> </requirements
So it would attempt to get the R version via the rpy package. So my guess is that there is no rpy(1) package in conda. We can try to update the tool to use rpy2 and hope that that'll just work, and if that doesn't work we can explicitly add a requirement on R (which we can get through conda). I've opened an issue here:
Best, Marius
On 1 September 2016 at 09:50, Steve Cassidy <steve.cassidy@mq.edu.au> wrote:
Hi, trying to get my tools going, part 29. I have a Docker image with the latest Galaxy release, patched to fix the Conda install bug I found earlier, my tools are installed ok and I’ve added a few from the toolshed for good measure.
One of my tools requires R 3.0.2 which is installed ok. I also installed scatterplot from the toolshed which requires R 2.11; that is also installed ok by conda. However, I get this message when trying to run scatterplot:
Traceback (most recent call last): File "/shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/scatterplot/d243056b22ed/scatterplot/scatterplot.py", line 5, in <module> from rpy import * File "/tool_deps/rpy/1.0.3/devteam/package_rpy_1_0_3/82170c94ca7c/lib/python/rpy.py", line 134, in <module> """ % RVERSION) RuntimeError: No module named _rpy3002
RPy module can not be imported. Please check if your rpy installation supports R 3.0.2. If you have multiple R versions installed, you may need to set RHOME before importing rpy. For example:
>>> from rpy_options import set_options >>> set_options(RHOME='c:/progra~1/r/rw2011/') >>> from rpy import *
So it seems that rpy is installed and is aware of one version of R but not the other, and the other is being found (perhaps because it’s the default install in the Docker image?)
FYI my docker image recipe is here:
https://github.com/Alveo/docker-galaxy-alveo
and the image itself is here:
https://hub.docker.com/r/stevecassidy/alveo-galaxy/
Any pointers to the way forward appreciated.
Thanks, Steve — Department of Computing, Macquarie University http://web.science.mq.edu.au/~cassidy
___________________________________________________________ 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: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
participants (2)
-
Marius van den Beek
-
Steve Cassidy