1. Complile your local branch:
    ./compile.sh <branch_name> [<iqtree_flags>]
    EXAMPLE: ./compile.sh master
You might also want to 'pull' code from the remote server to update your branch before performing the compilation.
The binary of your branch will be stored in 'iqtree_binaries' directory.

2. Prepare the config_file (see test_configs.txt for an example)

3. If you want to run the standard tests, use the gen_test_standrd.py script (running the script without any option output the help menu) as follows:
    ./gen_test_standard.py -b <path_to_your_iqtree_binary> -c <config_file>
    EXAMPLE: ./gen_test_standard.py -b iqtree_binaries/iqtree_master -c test_configs.txt
A text file named '<your_binary_name>_test_standard_cmds.txt' containing all the test commands will be generated. Copy all the content of the test_script folder to libby. Submit the job with the following commands:
    ./submit_jobs.sh <number_of_threads> <cmd_file> <aln_dir> <out_dir> <binary_dir>
    EXAMPLE: ./submit_jobs.sh 16 iqtree_master_test_standard_cmds.txt test_alignments iqtree_master_test_standard iqtree_binaries
The LOG FILE containing the status of all jobs are writen in <out_dir>/<cmd_file>[0-9]*.log. Look into the file to see whether all jobs have run successfully. Grep for "ERROR" to see which job contains BUG.

4. If you want to test all the commands by users of the web server that caused bugs: (./gen_test_standard.py -h for help)
    ./gen_test_standard.py -b <path_to_iqtree_binary>
    EXAMPLE: ./gen_test_standard.py -b iqtree_binaries/iqtree_master
The above command creates a folder called 'webserver_alignments' that contains all the user alignments. The next steps are the same as described in 2.
    EXAMPLE: ./submit_jobs.sh 40 iqtree_master_test_webserver_cmds.txt webserver_alignments iqtree_master_test_webserver iqtree_binaries
