-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Installation: Conda, Docker, etc #389
Comments
Hi there, Just double checking: Is there something wrong with using the Docker container automatically pushed by Bioconda to Quay.io? For newer versions of Singularity, you can directly pull from quay.io as well using the
I just tested it, and the singularity image seemed to pull / be executable with |
Hi everyone, I also spent some time on creating a Docker/Singularity container for funannotate. It is available here: I am posting this here in the hope that this could be useful to some of you. all the best, |
Hello @nextgenusfs, Thank you for these comments on the installation! What makes it a bit harder and confusing for new users (like myself) is the fact that the instructions on Also, I see the discussion above about moving to python3. Does that mean that we should create the conda env with Thank you in advance. |
@apredeus this is >1 year old. You should not use python2.7 at this point. Sorry that the docs are not always up to date -- this entire project is all outside of work and I volunteer my time. |
Thank you for commenting - didn't notice that at all, I was just searching for comments that can bring some clarity to the instructions. I certainly didn't mean the comment in any negative way - big thanks for keeping the project alive in your spare time! PS So just to clarify: all the readthedocs instructions can be ignored, and github readme is the way to go, right? |
As of 3 minutes ago installation instructions are the same in both places. |
"IndexError: list index out of range" in funannotate update Parsing GenBank files...comparing annotation.
|
Please open a new issue as this is unrelated to docker. Make sure to post log files and commands you ran. |
Hi! I am trying to install funannotate with docker using the instructions in the README.md file. I am getting it to run (nice!) but am not able to get some of the dependencies working, such as signalp and genemark. I found some instructions related to docker here but it is for an older version of funannotate and as far as I can tell, that dockerfile doesn't exist anymore. Can I do something similar with the more recent nextgenusfs/funannotate/Dockerfile? I am using a linux server. Thanks! (base) ccallen@debary-vm1:/data/ccallen$ docker run --rm -it nextgenusfs/funannotate funannotate check --show-versionsChecking dependencies for 1.8.10You are running Python v 3.8.12. Now checking python packages... You are running Perl v b'5.026002'. Now checking perl modules... Checking Environmental Variables...
|
genemark,eggnog, and signalp need to be installed outside of conda they have separate licenses that do not let them be packaged within conda. it looks like eggnog mapper also needs to be installed too. https://anaconda.org/bioconda/eggnog-mapper |
Thanks @hyphaltip! I have all of these working using conda, or can at least run them externally and pass the files to predict or annotate. I am trying to get the latest build installed with docker and haven’t worked out yet how to incorporate these tools into the container. I am new to docker and will keep working at it thanks! |
@ccgallen you'll need to build your own docker image to do this. Note I wouldn't actually recommend using docker if you already have something working with conda as it gives you a lot more flexibility, docker is great but has some limitations -- in the context of funannotate it makes it difficult to use because of the database sizes and incorporating other tools (eggnog/interproscan/etc). The docs you linked to above are several years old. Now the docker image is built when new versions are tagged as well as on every commit by GitHub Actions, so to incorporate the tools that have separate licenses, you'll need to setup a new docker file that has the build instructions, you can use the funannotate one as a base image. Here is a quick example -- note this is untested code -- but the idea is you will need to copy the install packages into the docker container, and then install it in the container during the build, it then will also need to be in the PATH. You can look at the Dockerfiles in this repo to see how the base image is made, its made in a two step process initially to save space, but effectively So the sed statements below are part of "normal" signalp 4.1 installation -- any thing you would need to do to install a particular tool on your existing system needs to be in the dockerfile.
|
thanks so much @nextgenusfs! |
Hi. I am trying to add procps ("ps command") to the latest Docker image. When trying to build the latest Docker file (funannotate-1.8.11) without changing anything, I got the following error:
Do you have any suggestions on how to fix this? |
@aramos-solena it was due to a Conda-pack issue -- the current docker image should have procps installed. You can see the Dockerfile and what I changed to make it work. |
Thanks so much @nextgenusfs , this fixed the issue. |
Hi, I am fairly new to this forum, so pardon me if I'm not supposed to comment here. I encountered a similar issue as described previously #702 as I was checking for SignalP function when checking dependencies. This is based on the latest docker image. Logfile Checking dependencies for 1.8.14 You are running Python v 3.8.12. Now checking python packages... You are running Perl v b'5.026002'. Now checking perl modules... Checking Environmental Variables... Checking external dependencies... ERROR: signalp found but error running signalp Any help is appreciated! Thanks. Cheers, |
I know there are a lot of dependencies with funannotate (it isn't ideal). I spent quite some time getting funannotate working on
conda
. However, as most of you know that have worked withconda
, it is also far from perfect. I can't possibly test everybody's system, my two test environments arecentOS
andmacOS
. In my experience, the key to keeping conda working is to never install anything in thebase
environment, this is especially true in a shared system as inevitably you end up with permissions issues with multiple users. If you are trying to installfunannotate
via conda, i.e.conda create -n funannotate funannotate
and you are getting errors that it is unable to solve, then you most likely have packages installed in yourbase
environment that are clashing with the dependencies.I also know there are several people interested in Docker/Singularity containers #183 #366 #257 #379 . I've been told that
conda
doesn't work in these environments and fails to find a solution. I finally had some time to look around and see what worked/didn't work for me.On my
macOS
system, I'm able to build a Docker image forfunannotate v1.7.4
using python 2.7 as follows. Note that apparently onDebian
systems theforge
program in the Biocondasnap
recipe isn't working (#387 thanks to @nhartwic for the fix), below you'll find a fix for that in this recipe. For me, bioconda snap works on both centOS and macOS.I'm also working on a python3 port of the code which is in the
python3
branch. I'm still doing some testing on this branch to make sure everything is working. It would be helpful for others to test the code as well, as I know people use the scripts in slightly different ways. This can be tested in a docker environment like this (note I found a unicode error that needs to be fixed in this py3 port, but you get the idea):The text was updated successfully, but these errors were encountered: