Skip to content

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Prokka

Prokka is a software tool to annotate bacterial, archaeal and viral genomes.

License

Free to use and open source under GNU GPLv3.

Available

  • Roihu-CPU: 1.15.6

Usage

To activate the Prokka environment, run the command:

module load prokka

After that you can launch Prokka with the command prokka.

Prokka jobs should be run either in an interactive session or as a batch job. More information about running batch jobs can be found from the batch job section of the Roihu user guide.

You should always define the number of cores that Prokka will use with option --cpus to match the number of cores reserved for the job. You can use the environment variable $SLURM_CPUS_PER_TASK to match the reserved number.

For example:

prokka --cpus $SLURM_CPUS_PER_TASK contigs.fasta

Larger analyses should be executed as a batch job utilizing several cores. A sample batch job script (batch_job_file.bash) is provided below:

#!/bin/bash
#SBATCH --job-name=prokka
#SBATCH --output=output_%j.txt
#SBATCH --error=errors_%j.txt
#SBATCH --time=24:00:00
#SBATCH --ntasks=1
#SBATCH --nodes=1
#SBATCH --cpus-per-task=8
#SBATCH --mem=16000
#SBATCH --partition=small
#SBATCH --account=your_project_name

# Set the number of threads based on cpus-per-task
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK:-1}

# Place and bind threads to single cores
# Comment the following lines if binding is not desired
export OMP_PLACES=cores
export OMP_PROC_BIND=spread

# Set up Prokka
module load prokka

# Run Prokka
prokka --cpus $SLURM_CPUS_PER_TASK --outdir results_case1 --prefix mygenome contigs_case1.fa

In the batch job example above one Prokka task (--ntasks=1) is executed. The job reserves 8 cores (--cpus-per-task=8) with a total of 16 GB of memory (--mem=16000). The maximum duration of the job is 24 hours (--time=24:00:00). All the cores are assigned from one computing node (--nodes=1). In addition to the resource reservations, you have to define the billing project for your batch job. This is done by replacing your_project_name with the name of your project. You can use the command csc-projects to see what CSC projects you have access to.

You can submit the batch job file to the batch job system with the command:

sbatch batch_job_file.bash

See the Roihu user guide for more information about running batch jobs.

More information

Do you find this page useful?
Thank you for your feedback!
Thank you! Your feedback is appreciated.

Please let us know how we could improve this page by contacting us or by creating an issue in GitHub. You can also edit this page yourself and contribute your improvements by creating a pull request.