Software installation¶
Here we detail how to install all Linux command-line software used in these resources. Note that if you are setting up a server from scratch, for example if you are using a cloud server, you should also ensure that you perform any necessary administration tasks and install and configure any necessary security software you need.
These commands are written for Ubuntu Linux. They will probably work fine on any Ubuntu or Debian machine, and on most Linux machines with the appropriate package manager changes.
We supply these instructions with absolutely no guarantee or warranty. If you break a machine following these instructions, it’s not our fault. If you fail to properly secure a cloud server and have it compromised and used to spam people or launch crippling viruses, it’s not our fault. If in doubt, seek expert advice.
These commands use the most recent software versions as of December 2020, where the code points to a specific version you should make sure to look up the most recent version and edit accordingly.
Setup¶
The following commands install some general purpose Linux tools and some libraries that are required for installing one or more software tools detailed below.
# Set up directories sudo mkdir /usr/local/deb/ # Update installed packages sudo apt update && sudo apt upgrade -y # Install some useful tools sudo apt install rename zip unzip -y # Install tools for building source packages sudo apt install build-essential pkg-config autoconf -y # Install useful language packages sudo apt install python3-pip perl-doc default-jre -y
Warning
You should make sure to run all of the above commands before installing any software in this section.
ALAN¶
Commandline alignment viewer, github here.
sudo wget -P /usr/local/bin/ https://raw.githubusercontent.com/mpdunne/alan/master/alan sudo chmod a+x /usr/local/bin/alan
BLAST¶
Widely used sequence searching software, documentation and installation instructions here.
cd /usr/local/src/
BLAST_VERSION="2.11.0" # Change as appropriate
sudo wget "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${BLAST_VERSION}/ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz"
sudo tar -zxf ncbi-blast-${BLAST_VERSION}+-x64-linux.tar.gz
sudo cp ncbi-blast-${BLAST_VERSION}+/bin/* /usr/local/bin/
bPTP¶
Bayesian phylogeny-based species delimitation, github here.
cd /usr/local/src sudo git clone https://github.com/zhangjiajie/PTP cd PTP sudo -H python3 -m pip install -r requirements.txt cd /PTP/bin # Patch the python version for f in *.py; do sed -i "1s/python$/python3/" $f; done # Patch for running on headless server sudo sed -i -e "14s/^$/nos.environ['QT_QPA_PLATFORM'] = 'offscreen'n/" bPTP.py sudo ln -s /usr/local/src/PTP/bin/bPTP.py /usr/local/bin/bPTP sudo ln -s /usr/local/src/PTP/bin/PTP.py /usr/local/bin/PTP
catfasta2phyml¶
Script for concatenating alignments into a supermatrix, github here.
sudo wget -O /usr/local/bin/ https://raw.githubusercontent.com/nylander/catfasta2phyml/master/catfasta2phyml.pl sudo chmod a+x /usr/local/bin/catfasta2phyml.pl
Installation not necessary: you could simply download it to your working directory and run it using perl
:
wget /usr/local/bin/ https://raw.githubusercontent.com/nylander/catfasta2phyml/master/catfasta2phyml.pl perl catfasta2phyml.pl
CROP¶
Bayesian OTU delimitation, github here.
sudo apt install libgsl-dev cd /usr/local/src sudo git clone https://github.com/zhangjiajie/PTP cd PTP sudo -H python3 -m pip install -r requirements.txt sudo -H python3 -m pip install python-nexus sudo sed -i "1s/python$/python3/" bin/bPTP.py sudo ln -s /usr/local/src/PTP/bin/bPTP.py /usr/local/bin/bPTP
Cutadapt¶
Versatile adapter sequence removal, documentation here.
sudo -H python3 -m pip install cutadapt
extract_genes¶
Script for extracting individual gene sequences from GenBank files, github here.
sudo apt install bioperl libarray-utils-perl sudo wget -O /usr/local/bin/ https://raw.githubusercontent.com/tjcreedy/biotools/master/extract_genes.pl sudo chmod a+x /usr/local/bin/extract_genes.pl
Installation not necessary: you coul simply download it to your working directory and run it using perl
:
wget https://raw.githubusercontent.com/tjcreedy/biotools/master/extract_genes.pl perl extract_genes.pl
FastTree¶
Fast maximum likelihood phylogenetic inference, website here.
cd /usr/local/bin/ sudo wget http://www.microbesonline.org/fasttree/FastTree sudo wget http://www.microbesonline.org/fasttree/FastTreeMP sudo chmod a+x FastTree*
FastQC¶
Raw sequence quality assessment, website here.
cd /usr/local/src/ sudo wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.9.zip sudo unzip fastqc_v0.11.9.zip sudo chmod a+x FastQC/fastqc sudo ln -s /usr/local/src/FastQC/fastqc /usr/local/bin/fastqc
FASTX Toolkit¶
Various handy tools for dealing with FASTA and FASTQ files. A little out of date though, requires patching to work in modern Ubuntu (all done in the below commands). Website here.
cd /usr/local/src/ sudo wget https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz sudo tar -xzf libgtextutils-0.7.tar.gz cd libgtextutils-0.7 sudo sed -i '47s/input_stream/static_cast<bool>(input_stream)/' src/gtextutils/text_line_reader.cpp sudo ./configure sudo make sudo make install cd ../ sudo wget https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2 sudo tar -xjf fastx_toolkit-0.0.14.tar.bz2 cd fastx_toolkit-0.0.14 sudo wget https://github.com/agordon/fastx_toolkit/files/1182724/fastx-toolkit-gcc7-patch.txt sudo patch -p1 < fastx-toolkit-gcc7-patch.txt sudo ./configure sudo make sudo make install cd ../
MAFFT¶
Sequence alignment software, website here.
sudo wget -P /usr/local/deb/ https://mafft.cbrc.jp/alignment/software/mafft_7.475-1_amd64.deb sudo apt install /usr/local/deb/mafft_7.475-1_amd64.deb
metaMATE¶
Tool for exploring detailed read frequency filtering thresholds, github here. Requires BLAST, MAFFT and R
sudo -H python3 -m pip install metaMATE sudo Rscript -e "install.packages(c('getopt', 'ape', 'fastcluster'), repos = 'https://cloud.r-project.org')"
Pairfq¶
Ensures paired read files are syncronised, github here.
sudo apt install libdbd-sqlite3-perl sudo curl -sL cpanmin.us | sudo perl - git://github.com/sestaton/Pairfq.git
PEAR¶
Paired end read merger, website here. You must sign up for a PEAR academic licence on that website and you will receive an email with a link to download the installation files. The command here assumes you’ve downloaded the file to your home directory.
cd /usr/local/src/
sudo cp ~/pear-0.9.11-linux-x86_64.tar.gz ./ # Change the source path if necessary
sudo tar -xzf pear-0.9.11-linux-x86_64.tar.gz
cd pear-0.9.11-linux-x86_64
sudo cp bin/pear /usr/local/bin/
sudo gzip man/pear.1
sudo cp man/pear.1.gz /usr/share/man/man1/
phylostuff¶
A set of scripts for doing stuff with phylogenies, including relabelling and inferring taxonomy. Github here. Requires R.
sudo apt install libxml2-dev libssl-dev libcurl4-openssl-dev cd /usr/local/src sudo git clone https://github.com/tjcreedy/phylostuff.git cd phylostuff sudo ./install.sh
Or just open them in Rstudio and use them as a guide!
R¶
Versatile data handling language, website here.
sudo apt install apt-transport-https sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/' sudo apt install r-base
swarm¶
Linkage-based OTU delimitation, github here.
cd /usr/local/src sudo git clone https://github.com/torognes/swarm.git cd swarm/ sudo make sudo cp bin/swarm /usr/local/bin/ cd ~/ gzip -c /usr/local/src/man/swarm.1 > swarm.1.gz sudo mv swarm.1.gz /usr/share/man/man1/
VSEARCH¶
Open-source implementation of USEARCH with more versatility. VSEARCH is a software package specifically designed for metabarcoding, based on the USEARCH package but completely free and open source. Github here.
sudo apt install autoconf groff cd /usr/local/src sudo wget https://github.com/torognes/vsearch/archive/v2.15.1.tar.gz sudo tar xzf v2.15.1.tar.gz cd vsearch-2.15.1 sudo ./autogen.sh sudo ./configure sudo make sudo make install cd ../