Skip to content

Deploying the suffix array

Tibo Vande Moortele edited this page Jun 24, 2024 · 10 revisions

Deploy using the CLI

Deploy using Docker

Deploy using the Unipept server

Exporting all variables

Many commands expect some environment variables to be set. By executing the following code in your terminal, you can set all required variables. Make sure these variables are updated before executing them.

# Absolute path to the virtual organisation on the HPC
export HPC_VO="/kyukon/data/gent/vo/000/gvo00038"
# Absolute path to the suffix array binary on the HPC
export SA_FILE="${HPC_VO}/suffix-array/sa_sparse3_compressed.bin"
# Current Uniprot release
export UNIPROT_VERSION="2024-03"
# Absolute path to the suffix array on the Unipept server
export INDEX_DIRECTORY="/mnt/data/uniprot-${UNIPROT_VERSION}"

Moving files from the HPC virtual organisation

Move the suffix array binary

scp "hpc-tibo:${SA_FILE}" "${INDEX_DIRECTORY}/suffix-array"

Deploying the suffix array

Resuming the suffix array screen session

Warning

It is possible that the server has no suffix-array screen running yet. In that case you can execute the following command to start a session.

screen -S suffix-array
screen -r suffix-array

Clone the unipept-index repository

git clone https://github.com/unipept/unipept-index

Go to the root of the repository, update the submodules and build the repository

cd unipept-index
git submodule update --init --recursive
cargo build --release

Start the suffix array

./target/release/sa-server -d "$INDEX_DIRECTORY/suffix-array/proteins.tsv" -t "$INDEX_DIRECTORY/suffix-array/taxons.tsv" -i "$INDEX_DIRECTORY/suffix-array/sa_sparse3_compressed.bin"

Deploying the database

Clone the unipept-database repository

git clone https://github.com/unipept/unipept-database

Create the new database

# Replace USER and PASSWORD
mysql -u USER -p PASSWORD < unipept-database/schemas/structure_no_index.sql

Start a new screen session because the loading will take some time

screen

Load the data tables

./unipept-database/scripts/parallel_load.sh "$INDEX_DIRECTORY/tables"

Load the indices

./unipept-database/scripts/parallel_index.sh