Jellyfish

Description

From the Jellyfish home page: Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA. A k-mer is a substring of length k, and counting the occurrences of all such substrings is a central step in many analyses of DNA sequence. Jellyfish can count k-mers quickly by using an efficient encoding of a hash table and by exploiting the "compare-and-swap" CPU instruction to increase parallelism. Jellyfish is a command-line program that reads FASTA and multi-FASTA files containing DNA sequences. It outputs its k-mer counts in an binary format, which can be translated into a human-readable text format using the "jellyfish dump" command. See the documentation below for more details.

Version

  • 2.2.6

Authorized Users

  • CIRCE account holders
  • RRA account holders
  • SC account holders

Platforms

  • CIRCE cluster
  • RRA cluster
  • SC cluster

Modules

Jellyfish requires the following module file to run:

  • apps/jellyfish/2.2.6

Running Jellyfish on CIRCE/SC

The Jellyfish user guide is essential to understanding the application and making the most of it. The guide and this page should help you to get started with your simulations. Please refer to the Documentation section for a link to the guide.

  • Note on CIRCE: Make sure to run your jobs from your $WORK directory!
  • Note: Scripts are provided as examples only. Your SLURM executables, tools, and options may vary from the example below. For help on submitting jobs to the queue, see our SLURM User’s Guide.

How to Submit Jobs

Use a submit script like the following to run Jellyfish:

#!/bin/sh
#
#SBATCH --job-name=jellyfish-test
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=12
#SBATCH --mem-per-cpu=1024
#SBATCH --output=output.%j.jellyfish-test

#### SLURM single node Jellyfish test 
#### to run for 1 hour
#### using 12 processor cores and 12 GB of total memory

module purge
module load apps/jellyfish/2.2.6

jellyfish count -m 22 -o output -c 3 -s 10000000 -t 12 input.fasta

 

Next, you can change to your job’s directory, and run the sbatch command to submit the job:

[user@login0 ~]$ cd my/jobdir
[user@login0 jobdir]$ sbatch ./jellyfish-test.sh
  • You can view the status of your job with the “squeue -u <username>” command
  • Your submit scripts will vary depending on your individual needs. Jellyfish consists of many different SUBCOMMANDS AND OPTIONS. Additionally, using the “-h” or "--usage" flags after the subcommand name will provide some information about its use.

Documentation

Home Page, User Guides, and Manuals

Benchmarks, Known Tests, Examples, Tutorials, and Other Resources

  • Jellyfish Examples
    • /apps/jellyfish/2.2.6/examples

More Job Information

See the following for more detailed job submission information:

Reporting Bugs

Report bugs with Jellyfish to the IT Help Desk: rc-help@usf.edu