Table of Contents
The latest version of anvi’o is v7.1
. See the release notes.
Docker will help you run anvi’o quickly on a server or a desktop system with zero pain and no installation.
This article explains how to start using anvi’o without installing it. For long-term use for research, we recommend you to follow the most up-to-date installation instructions at https://anvio.org/install/.
Special thanks go to Çağlar Onur for forcing us to have a docker solution.
Our latest docker images are quite big (>5 Gb), because images after v6
come with lots of bells and whistles such as assemblers, mapping software, binning tools (that seems to be quite hard to install in general), on other useful tools. Installing them is pain, so we go through it once to create you working recipes, and storage is cheap. But if you need a minimal anvi’o image for your specific needs, please let us know, and we can help you with that.
Check your docker installation
To run anvi’o through a docker container you need to have docker installed on your system, and the docker service is up and running.
You can quickly test if that is the case by running this on your terminal:
docker --version
Docker version 20.10.11, build dea9396
If you get a command not found error, you may need to install docker first, or start its service.
Acquiring and running an anvi’o container
The following is the list of docker containers available on Docker Hub anvi’o repository (the list is generated by this script):
Version | Date | Size |
---|---|---|
latest | 2023/10 | 8.38 GB |
8 | 2023/10 | 8.38 GB |
7.1_structure | 2022/05 | 11.62 GB |
7.1_main_0522 | 2022/05 | 2.81 GB |
7 | 2021/01 | 6.31 GB |
6.2 | 2020/04 | 4.63 GB |
5.5 | 2019/10 | 478.04 MB |
4 | 2019/10 | 325.11 MB |
3 | 2017/11 | 336.20 MB |
2.4.0 | 2017/11 | 305.75 MB |
2.1.0 | 2017/11 | 242.48 MB |
You can pull any of these containers on your computer by specifying the version you are interested in, and you can see the list of containers you have locally by typing this command:
docker images
For instance, to pull the latest version, you can run the following:
docker pull meren/anvio:8
And then you can start an anvi’o instance using this command (which will mount your current working directory into the container, so you will have seamless access to your files):
docker run --rm -it -v `pwd`:`pwd` -w `pwd` -p 8080:8080 meren/anvio:8
Following this command, you should see a new command line like this one:
:: anvi'o v8 :: /WORK/DIR/PATH >>>
You’re done! If you type anvi-
and press TAB
twice, you see all the anvi’o programs available to you.
Please note that if you run an anvi’o interactive interface, it will not automatically fire up in your browser. You will have to manually visit the address http://localhost:8080 to interact with your data. Once you are done with your interactive interfaces you can press CTRL
+C
to kill the server.
If you would like to leave docker environment and go back to your terminal, you can press CTRL
+D
.
Installing new things into your container
The image comes with a minimal set of programs to make sure it is not too much of a burden to download, but since it is a running Ubuntu system, you can indeed install and run anything. Example:
apt-get update
apt-get install vim
Done!
Remember, when you quit the container, all your changes to it will be lost (i.e., you will have to re-install the packages you have installed into it, and re-edit configuration files, etc).
Rebuilding the anvi’o docker image (for hackers)
We are keeping the docker container recipe in the main anvi’o repository:
https://github.com/merenlab/anvio/blob/master/Dockerfiles/anvio-main
Start by getting a copy of the repository:
git clone https://github.com/merenlab/anvio.git
cd anvio/Dockerfiles/anvio/main
In theory, at any given time you should be able to rebuild a docker image for the most current state of the development branch of anvi’o the following way:
docker build -t meren/anvio:8
Don’t hesitate to get in touch if you have any questions!