3. System requirements¶
NOTE: There is an online version of EDGE, found on https://edgebioinformatics.org/ is hosted at Texas Advanced Computing Center (TACC) with 128G memory and 44 CPUs.
The current version of the EDGE pipeline has been extensively tested on a Linux Server with Ubuntu 18.04 and CentOS 6.5/7 operating system and will work on 64bit Linux environments.
3.1. Hardware Requirements¶
Due to the involvement of several high memory and high cpu consuming steps Minimum requirement: 24GB memory, at least 8 computing CPUs and 1 TB disk space. A higher computer spec is strongly recommended: 256GB memory, 64 computing CPUs and > 4 TB disk space. Please ensure that your system has the essential software packages installed properly before running the installing script. The following should be installed by a system administrator (requires sudo).
Note
If your system OS is neither Ubuntu 18.04 or CentOS 7.0, it may have differnt packages/libraries name and the newer complier on newer OS may fail on compling some of thirdparty bioinformatics tools. We would suggest to use EDGE Docker container.
3.2. Ubuntu 18.04¶
Install build essential libraries and dependancies:
sudo apt-get update sudo apt-get install -y build-essential libreadline-gplv2-dev libx11-dev \ libxt-dev libgsl-dev libfreetype6-dev libncurses5-dev gfortran \ inkscape libwww-perl libxml-libxml-perl libperlio-gzip-perl \ zlib1g-dev zip unzip libjson-perl libpng-dev cpanminus default-jre \ firefox wget curl csh liblapack-dev libblas-dev libatlas-base-dev \ libcairo2-dev libssh2-1-dev libssl-dev libcurl4-openssl-dev bzip2 \ bioperl rsync libbz2-dev liblzma-dev time libterm-readkey-perl \ liblwp-protocol-https-perl gnuplot libjson-xs-perl libio-socket-ip-perl \ vim php sendmail mysql-client mysql-server libgfortran3 texinfo \ openssh-server openssh-client openjdk-11-jdk texlive git gawk \ texlive-fonts-extra libboost-all-dev cron less libxml2-dev \ libcgi-pm-perl libxml-simple-perl libxml-dom-perl locales \ libspreadsheet-parseexcel-perl libspreadsheet-writeexcel-perl ghostscript
Install Apache2 for EDGE UI:
sudo apt-get install apache2 sudo a2enmod cgid proxy proxy_http headers rewrite
Install packages for user management system:
sudo apt-get install sendmail mysql-client mysql-server cd /usr/share wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/apache-tomcat-7.0.109.tar.gz tar xzf apache-tomcat-7.0.109.tar.gz rm apache-tomcat-7.0.109.tar.gz mv apache-tomcat-7.0.109 tomcat7 echo "export CATALINA_HOME=\"/usr/share/tomcat7\"" >> /etc/profile
Change the image conversion policy:
sed -i.bak 's/rights=\"none\" pattern=\"PDF\"/rights=\"read|write\" pattern=\"PDF\"/' /etc/ImageMagick-6/policy.xml
3.3. CentOS 7¶
Install libraries and dependencies by yum:
# add epel reporsitory sudo yum -y install epel-release sudo yum install -y libX11-devel readline-devel libXt-devel ncurses-devel inkscape \ expat expat-devel freetype freetype-devel zlib zlib-devel perl-App-cpanminus \ perl-Test-Most blas-devel atlas-devel lapack-devel libpng12 libpng12-devel \ perl-XML-Simple perl-JSON csh gcc gcc-c++ make binutils gd gsl-devel git graphviz \ java-1.7.0-openjdk perl-Archive-Zip perl-CGI curl perl-CGI-Session \ perl-CPAN-Meta-YAML perl-DBI perl-Data-Dumper perl-GD perl-IO-Compress \ perl-Module-Build perl-XML-LibXML perl-XML-Parser perl-XML-SAX perl-XML-SAX-Writer \ perl-XML-Twig perl-XML-Writer perl-YAML perl-PerlIO-gzip libstdc++-static \ cairo-devel openssl-devel openssl-static libssh2-devel libcurl-devel \ wget rsync bzip2 bzip2-devel xz-devel time zip unzip which perl-CPAN \ perl-LWP-Protocol-https cronie gnuplot gdb perl-JSON-XS perl-IO-Socket-IP \ texlive texinfo libgfortran.x86_64 java-1.7.0-openjdk-devel boost-devel \ libxml2-devel libXScrnSaver gtk3 perl-XML-DOM
Update perl tools:
sudo cpanm App::cpanoutdated cpan-outdated -p | sudo cpanm
Install perl modules by cpanm:
sudo cpanm -f Bio::Perl Bio::SearchIO::hmmer3 Net::Ping File::Which sudo cpanm Graph Time::Piece Hash::Merge PerlIO::gzip Heap::Simple::XS File::Next sudo cpanm Algorithm::Munkres Archive::Tar Array::Compare Clone Convert::Binary::C sudo cpanm HTML::Template HTML::TableExtract List::MoreUtils PostScript::TextBlock sudo cpanm SOAP::Lite SVG SVG::Graph Set::Scalar Sort::Naturally Spreadsheet::ParseExcel sudo cpanm CGI::Simple GraphViz XML::Parser::PerlSAX XML::Simple Term::ReadKey sudo cpanm Spreadsheet::WriteExcel
Install package for httpd for EDGE UI:
sudo yum -y install httpd sudo systemctl enable httpd && sudo systemctl start httpd
Install packages for user management system:
sudo yum -y install sendmail mariadb-server mariadb php phpMyAdmin tomcat sudo systemctl enable tomcat && sudo systemctl start tomcat
Configure firewall for ssh, http, https, and smtp:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --permanent --add-service=smtp sudo firewall-cmd --reload
Disable SELinux:
As root edit /etc/selinux/config and set SELINUX=disabled Restart the server to make the change