We wanted to use Anvi’o on a windows machine, but that is impossible, so we set up an AWS free instance with anvi’o 5 up and running for the windows users. Here’s how to do it.
Setting up an AWS image
First, you need to fire up a free instance of a t2.micro machine on AWS. Login to you account, and click launch a new instance.
If you are in US Ohio or US Oregon there is an image I made called ANVI’O 5 with the latest version of anvi’o.
If you want to make your own image, here’s how:
Choose an ubuntu machine that is free tier eligible.
And then choose a t2.micro machine:
NOTE: For the standard anvi’o 5 install and working through the tutorial you will need about 15GB of disk space. You may need to increase the disk space available during setup.
Finally, edit your security groups. You need to add HTTP and HTTPS that are chosen from the pull down menu, but you also need to add a single special rule for port 8080 traffic that anvi’o uses.
Once the machine has booted up, you need to log in. Don’t forget because this is an ubuntu instance, your username will be ubuntu.
(Note the ip address will not work for you!)
First, get the installation instructions that are available here.
curl -Lko AnvioAWS.txt https://edwards.sdsu.edu/rob/anvio/AnvioAWS.txt
Then just run this as root:
sudo bash AnvioAWS.txt
This will churn through installing a bunch of software for you and should be automagic.
The step that takes a long time, “gcc -pedantic -Wall -O3 -c -o training.o training.c” is during the installation of prodigal, the gene caller.
Now that installation is complete, you need to source the anvio virtual environment
And now you are up and running, you should be able to run the self test module:
When you get to the pause where anvio’o says:
* The server is now listening the port number "8080". When you are finished, press CTRL+C to terminate the server.
You can head to your browser and enter your AWS IP address followed by :8080, something like this:
and you should see the first anvi’o output page.
Adding other users
As an aside, if you are setting this up for a different user, you can enable a username and password for them. Note that by default AWS has password logins disabled. However, you can edit sshd_config:
Now change the line that says:
and then restart sshd:
service sshd restart
Now if you add users using adduser