Skip to content

Instantly share code, notes, and snippets.

@meren
Last active November 1, 2022 12:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save meren/f1e674f774a30a209d82 to your computer and use it in GitHub Desktop.
Save meren/f1e674f774a30a209d82 to your computer and use it in GitHub Desktop.
Install anvi'o with all its dependencies on an Ubuntu 14.04 & 16.04
#!/bin/bash
# save this file somewhere on your disk. open your terminal, and go there. then type these commands:
#
# chmod +x anvi-ubuntu-setup.sh
# ./anvi-ubuntu-setup.sh
#
# and then get some coffee, and come back to see whether it's your lucky day.
set -e
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
# stuff to install with apt-get
sudo apt-get -y install python-pip
sudo apt-get -y install python-numpy
sudo apt-get -y install cython
sudo apt-get -y install libgsl0-dev
sudo apt-get -y install libblas-dev
sudo apt-get -y install liblapacke
sudo apt-get -y install gfortran libopenblas-dev liblapack-dev
sudo apt-get -y install zlibc zlib1g-dev zlib1g
sudo apt-get -y install sqlite
sudo apt-get -y install libhdf5-serial-dev
# pip
wget https://raw.githubusercontent.com/merenlab/anvio/master/requirements.txt -O all-reqs.txt
cat all-reqs.txt | grep -v numpy | grep -v scipy > final-reqs.txt
sudo pip install -r final-reqs.txt
# prodigal
wget https://github.com/hyattpd/Prodigal/archive/v2.6.2.tar.gz
tar -zxvf v2.6.2.tar.gz && cd Prodigal-2.6.2/ && make
sudo cp prodigal /usr/bin/
cd
rm -rf v2.6.2.tar.gz Prodigal-2.6.2
# hmmer
wget http://eddylab.org/software/hmmer3/3.1b2/hmmer-3.1b2.tar.gz
tar -zxvf hmmer-3.1b2.tar.gz
cd hmmer-3.1b2
./configure
make
sudo make install
cd
rm -rf hmmer-3.1b2 hmmer-3.1b2.tar.gz
# install anvio
sudo pip install anvio
@JohnYu-yuzhongyi
Copy link

Thanks for this! But the website of getting hmmer has been changed to eddylab.org, you might want to change it in the script.

@meren
Copy link
Author

meren commented Apr 6, 2016

Hey @JohnYu-yuzhongyi, thank you very much for your interest! I corrected the URL.

@bstamps
Copy link

bstamps commented Jul 7, 2016

Thanks for this! The order of the pip installs might need to be moved around though...

sudo pip install 'bottle>=0.12.9' sudo pip install 'ete2>=2.3.10' sudo pip install 'scikit-learn>=0.17.1' sudo pip install 'django>=1.9.7' sudo pip install 'h5py>=2.5.0' sudo pip install 'scipy>=0.17.1' sudo pip install 'cherrypy>=6.0.2' sudo pip install 'requests>=2.10.0'

I had a failure with the script on a base install of 14.04 with the above, but moving scipy above scikit-learn seems to have helped (As below).

sudo pip install 'bottle>=0.12.9' sudo pip install 'ete2>=2.3.10' sudo pip install 'scipy>=0.17.1' sudo pip install 'scikit-learn>=0.17.1' sudo pip install 'django>=1.9.7' sudo pip install 'h5py>=2.5.0' sudo pip install 'cherrypy>=6.0.2' sudo pip install 'requests>=2.10.0'

@kaiher
Copy link

kaiher commented Nov 15, 2018

Thans for this installer,
I had a failure with this script to install anvi'o v5.2 on ubuntu 16.4, since default pip is that of python 2 in the os. Instead of "pip", "pip3" seemed to be required for the package to be installed in L31 and L58.

@sowptika
Copy link

Hi,
I am facing problem while installing anvio's in unbuntu 18.04 setup. should I make some changes in python version in the install python-pip line. I already have python3 in the system. With this code in bash script "sudo pip install -r final-reqs.txt", the download is not proceeding beyond line 10 of "final-reqs.txt" but as I changed to pip3 it proceeded to line 17 and then again the error states that
"Collecting pandas>=1.2.1 (from -r final-reqs.txt (line 18))
Could not find a version that satisfies the requirement pandas>=1.2.1 (from -r final-reqs.txt (line 18)) (from versions: 0.1, 0.2, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.16.1, 0.16.2, 0.17.0, 0.17.1, 0.18.0, 0.18.1, 0.19.0, 0.19.1, 0.19.2, 0.20.0, 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.21.1, 0.22.0, 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4, 0.24.0, 0.24.1, 0.24.2, 0.25.0, 0.25.1, 0.25.2, 0.25.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5)
No matching distribution found for pandas>=1.2.1 (from -r final-reqs.txt (line 18))"

Could you please help me with a solution?

Also I am trying to install this package in server and another statement is shown to me while running this bash script.
"The directory '/home/adminuser/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/adminuser/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag."

Thank you
Sincerely
Sowptika Pal

@meren
Copy link
Author

meren commented Oct 28, 2022

This is quite dates now. You should follow the default installation instructions at anvio.org, @sowptika.

@sowptika
Copy link

sowptika commented Nov 1, 2022

Dear Meren,
Thank you for the help.

Best Wishes,
Sowptika

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment