QUAST stands for QUality ASsessment Tool. The tool evaluates genome assemblies by computing various metrics. Quast was developed by the Algorithmic Biology Lab at the St. Petersburg Academic University of the Russian Academy of Sciences. For more documentation on Quast click here
Quast is used as a python command line tool, so we will need to load the python
module to run the script, do this by adding this line to either the .bashrc
file or the PBS
script when you run your tests.
module load python
Create a directory to run the Quast jobs and copy the test data from the Quast version folder as shown below.
razor-l2:jokinsey:~$ mkdir QUAST-JOBS razor-l2:jokinsey:~$ cd QUAST-JOBS/ razor-l2:jokinsey:~/QUAST-JOBS$ cp -r /share/apps/quast/quast-3.1/test_data/ .
Inside your $HOME/QUAST-JOBS
directory create a PBS
script named quastTest.pbs
with the information below, to run Quast on the sample inputs.
#!/bin/bash #PBS -N Quast #PBS -q tiny12core #PBS -j oe #PBS -m abe #PBS -M jokinsey@uark.edu #PBS -o Quast.$PBS_JOBID #PBS -l nodes=1:ppn=12 #PBS -l walltime=00:10:00 cd $PBS_O_WORKDIR cp -r test_data/ /scratch/$PBS_JOBID cd /scratch/$PBS_JOBID python /share/apps/quast/quast-3.1/quast.py test_data/contigs_1.fasta test_data/contigs_2.fasta -R test_data/reference.fasta.gz -G test_data/genes.gff mv /scratch/$PBS_JOBID/quast_results/results* $PBS_O_WORKDIR/quast_results/
This script will run Quast on the inputs located in the /scratch/$PBS_JOBID
directory. If you would like to know more about the values and flags used refer to the manual here.
The output for the job should be located in $HOME/QUAST-JOBS/quastresults/results<whenthejobwassubmitted>
.
All thats left is to submit the job.
razor-l2:jokinsey:~/QUAST-JOBS$ qsub quastTest.pbs
We did not specify an output directory therefore Quast will create a directory quastresults/results<DATE>
where the output of the job will be stored. It will also create a directory quast_results/latest
where the most recent job's output will be stored.
Many files will be given as output, and all of there descriptions are listed in the manual. A simplified listing of the output will be in the report.txt
file.
When Quast is run it will determine the number of available processors which we specify in the PBS
script with the value of ppn
. Quast also allows manual specification of the number of allowed threads, which can decrease the time of the job. Change the PBS
script above to include thread specification.
#!/bin/bash #PBS -N Quast #PBS -q tiny12core #PBS -j oe #PBS -m abe #PBS -M jokinsey@uark.edu #PBS -o Quast.$PBS_JOBID #PBS -l nodes=1:ppn=12 #PBS -l walltime=00:10:00 cd $PBS_O_WORKDIR cp -r test_data/ /scratch/$PBS_JOBID cd /scratch/$PBS_JOBID python /share/apps/quast/quast-3.1/quast.py --threads 12 test_data/contigs_1.fasta test_data/contigs_2.fasta -R test_data/reference.fasta.gz -G test_data/genes.gff mv /scratch/$PBS_JOBID/quast_results/results* $PBS_O_WORKDIR/quast_results/
This changes the maximum thread count to 12 as we don't want to run more threads on a node than their are cores on that node, because with hyper-threading turned off any more would kill efficiency.