Installation Overview - mgtools/MetaProD GitHub Wiki

Requirements

  • Linux-like system (software has been tested on Ubuntu 20.04 but should work on any Linux distribution and could probably be ported to any other system supported by Django)

  • MySQL/MariaDB (tested with MariaDB 10.3.34) (SQLite3 and PostgreSQL and others will work. See notes below.)

  • Python3 (tested with 3.8.10)

  • Python3 packages (See installation instructions below.)

  • R (tested with version 4.2.0) (See notes below.)

  • .NET (6.0) (See notes below.)

  • Java (tested with openjdk 19.0.1 but Java 18+ should be supported. See notes below. )

  • Mono (tested with 6.8.0.105)

  • SearchGUI (tested with 4.1.16. Note that as of writing this, 4.1.17 will not work).

  • PeptideShaker (tested with 2.2.9)

  • Reporter (tested with 0.9.8)

  • MZmine (tested with 3.3.0) - optional: required only if one wishes to calculate peak areas

Installation Instructions

Installing MetaProD, SearchGUI, PeptideShaker, Reporter, and MZmine

First install MetaProD, SearchGUI, PeptideShaker, Reporter, and MZmine:

  1. Ensure Python3, .NET, Mono, Java, R, and MySQL are installed (see Notes below).

  2. Create a data folder in which all project MS files and output will be stored. For example, this might be /home/metaprod/data but can be any directory accessible by the user running MetaProD.

  3. Create a main directory for the installation. For example, this might be /home/metaprod/install for the metaprod user on the system.

  4. Within the main directory, create the "software" subdirectory. For example, create /home/metaprod/install/software

  5. Within the main directory, create the "fasta" subdirectory. For example, create /home/metaprod/install/fasta

  6. Download MetaProD into the main directory created in step 1 (not software) using the following command: git clone https://github.com/mgtools/MetaProD.git MetaProD For example, MetaProD will now be in the /home/metaprod/install/MetaProD directory

  7. Within the MetaProD directory, run pip3 install -r requirements.txt to install the required Python3 packages.

  8. Download and install SearchGUI, PeptideShaker, Reporter, and MZmine into the software directory:

  • We have provided a ZIP file (484 MB) with all available needed software (no MZmine yet) at: https://omics.informatics.indiana.edu/MetaProD/software/metaprod_software.tar.gz (for example, CD into the software directory and then run wget https://omics.informatics.indiana.edu/MetaProD/software/metaprod_software.tar.gz)

  • Extract the file using: tar -xf metaprod_software.tar.gz

  • Alternatively, one can download SearchGUI, PeptideShaker, Reporter, MZmine, and PEMM into the software directory and extract them. This is useful for updating those individual software packages.

  • Once installed, there should be a PEMM_1.0.tar.gz file and SearchGUI, PeptideShaker, Reporter, MZmine directories inside the software folder. The MZmine folder may need to be renamed to MZmine-version (e.g., MZmine-3.3.0).

  1. Configure the software for the SQL database.
  • An SQL database must be created and MetaProD must have access to this database. It is recommended that a unique user/password is created for MetaProD.

  • Inside the MetaProD folder (downloaded from GitHub), edit the file metaprod/settings.py

  • The following settings must be changed:

  • ALLOWED_HOSTS = ["10.0.0.10"] change 10.0.0.10 to the IP of the system running the webserver.

  • 'NAME': 'database', change database to the name of the database assigned to MetaProD.

  • 'USER': 'username', change username to the user that has access to the database assigned above

  • 'PASSWORD': 'password', change password to the password for the user above

  • 'HOST': 'localhost', change localhost if the database server is not on the same server

  • 'PORT': '3306', change 3306 if the database server is on a different port

  1. Finalize installation by running the following 4 commands inside the MetaProD folder:
  • python3 generate_secret.py (this creates the secret key needed by Django)

  • python3 manage.py makemigrations (this creates SQL commands to update the database)

  • python3 manage.py migrate (this applies the SQL commands to the database)

  • ./loadconfig (this loads the example projects and default configuration)

  1. (Optional) We have provided the initial FASTA files and folders as a download available at: https://omics.informatics.indiana.edu/MetaProD/software/metaprod_fasta.tar.gz (17.5 GB)
  • This should be download and extracted into the fasta folder in the main directory. There should now be crap.fasta, full.fasta, human.fasta, profile.fasta, PPmembership.txt, and ref_proteomes_list.tsv files in the directory along with pan and ref folders.

  • If this is not downloaded ahead of time, the software will automatically attempt to download the files from Uniprot and create a new profile FASTA when generating a FASTA the first time. This may be slow (many hours) depending on the speed of Uniprot as it is necessary to download the full pan proteomes (and some reference) for all bacterial species.

  1. (Optional) We have also provided the initial data needed to run the two example projects (example and example2). This can be downloaded at https://omics.informatics.indiana.edu/MetaProD/software/metaprod_data.tar.gz (3.7 GB)
  • This includes the SIHUMIx (S07) file (example) and sample 17 (fractions 1 and 2 only) from the CPTAC Colon Cancer data (example2).

  • Download and extract this archive into the data folder (e.g. /home/metaprod/data). The data folder should now contain the example and example2 folders.

  1. Running MetaProD
  • See the Running documentation for information about how to run MetaProD once installed.

Notes and some instructions about software

Python Notes

The Python tested is 3.8.10 but other Python3 versions should work. Python2 will not work.

.NET (6.0) Instructions

.NET (6.0) is required for MetaMorpheus (5.0 for older versions of MetaProD)

Download Link

.NET was installed using the following commands as the user who will run MetaProD after downloading the file from the link above:

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.416-linux-x64.tar.gz -C $HOME/dotnet

For older versions of MetaProD (before October 2023), .NET (5.0) is required for MetaMorpheus

Download Link

.NET was installed using the following commands as the user who will run MetaProD after downloading the file from the link above:

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-5.0.408-linux-x64.tar.gz -C $HOME/dotnet

For both versions:

Add the two lines to .bash_profile or the appropriate file:

export DOTNET_ROOT=$HOME/dotnet

export PATH=$PATH:$HOME/dotnet

Mono (6.8.0.105) Instructions

Mono is required for ThermoRawFileParser (included with SearchGUI) to convert RAW files to other formats.

Mono can be installed using package managers for the local linux system (e.g. sudo apt install mono-complete) or by using the following commands from the home directory for the user (may need to be adjusted for the local system and require additional software not listed):

wget https://download.mono-project.com/sources/mono/mono-6.8.0.105.tar.xz

tar -xf mono-6.8.0.105.tar.xz

cd mono-6.8.0.105

./configure --prefix=$HOME/.local

make

make install

SQL Notes

Many version of SQL are supported by Django and therefore by MetaProD but MySQL is supported by default. However, the software has been tested using SQLite3 and MySQL. It should be noted that SQLite3 will likely not work in HPC situations.

For information about how to change the database software used, please consult the Django documentation.

MySQL was installed using the following commands on Ubuntu:

sudo apt install mariadb-server

sudo mysql_secure_installation

sudo apt-get install libmysqlclient-dev

Java notes

SearchGUI/PeptideShaker/Reporter require at least Java 9 but any version of Java 9 or later should work. The software has been tested using openjdk 11.0.16.

MZmine requires Java 18+ and the the software has been tested with openjdk 19.0.1.

JDK version 11 can be downloaded from the Oracle website.

Alternatively , Java may be installed using sudo apt install openjdk-11-jre-headless

R notes

Version 4.2.0 of R has been tested but others should work. R can typically be installed by running the following command: sudo apt install apt install r-base r-base-core r-recommended r-base-dev but the exact instructions will depend on the system.

PEMM is not available on CRAN but we have included it in our software package file as well as an independent download. It should be placed into the software folder as with SearchGUI/PeptideShaker/Reporter.

SearchGUI/PeptideShaker/Reporter notes

These software packages are developed and maintain by another party and therefore occasionally may have their own bugs, issues, and new versions may cause MetaProD to not work.

MetaMorpheus note

We have encountered issues with MetaMorpheus and Ubuntu 22.04 due to changes in the libraries included with Ubuntu.

MyriMatch note

MyriMatch (not selected by default) may give an error on Linux systems. The error will be similar to the following: locale::facet::_S_create_c_locale name not valid

To fix the error, run the following command: export LC_ALL=C or add to .bash_profile