KMC(1)

πŸ’– KMC β€” the k-mer counter that ate πŸ’–

okay bestie, listen up: this is the manual page for kmc, aka KMC, and it lives in section 1 of the manual. she counts k-mers. she's iconic. let's go 🧚✨


✨ NAME ✨

kmc β€” count kmers in genomic sequences πŸ’…


🌸 DESCRIPTION 🌸

So KMCβ€”K-mer Counter is this utility that's literally designed for counting k-mers β€” and by k-mers we mean sequences of consecutive k symbols β€” inside a set of reads from genome sequencing projects. that's it. that's the whole vibe. πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

kmc [options] <input_file_name> <output_file_name> <working_directory>

kmc [options] <@input_file_names> <output_file_name> <working_directory>

so yeah, you either hand her one input file, or you hit her with the @-list of input file names. either way she needs the output file name and a working directory. no cap. πŸ‘‘


πŸ’… OPTIONS πŸ’…

okay this is the part where you screenshot and save to your notes app, fr fr. every single one, no skips:

  • -v β€” verbose mode, she shows you all the parameter settings. default: false (she's quiet by default, mysterious ✨)
  • -k<len> β€” k-mer length, where k goes from 1 to 256; default: 25
  • -m<size> β€” max amount of RAM in GB, from 1 to 1024; default: 12
  • -sm β€” use strict memory mode, meaning the memory limit from the -m<n> switch will not be exceeded. she stays in her lane 🫢
  • -hc β€” count homopolymer compressed k-mers (this one is approximate and experimental, so like… she's trying her best, be nice πŸ™ˆ)
  • -p<par> β€” signature length, one of 5, 6, 7, 8, 9, 10, 11; default: 9
  • -f<a/q/m/bam/kmc> β€” what format is the input, bestie? FASTA format is -fa, FASTQ format is -fq, multi FASTA is -fm, or BAM via -fbam, or KMC via -fkmc; default: FASTQ
  • -ci<value> β€” exclude k-mers occurring less than <value> times (default: 2)
  • -cs<value> β€” maximal value of a counter (default: 255)
  • -cx<value> β€” exclude k-mers occurring more of than <value> times (default: 1e9)
  • -b β€” turn off transformation of k-mers into canonical form
  • -r β€” turn on RAM-only mode
  • -n<value> β€” number of bins
  • -t<value> β€” total number of threads (default: no. of CPU cores β€” she'll use the whole squad πŸ’€)
  • -sf<value> β€” number of FASTQ reading threads
  • -sp<value> β€” number of splitting threads
  • -sr<value> β€” number of threads for 2nd stage
  • -j<file_name> β€” file name with execution summary in JSON format
  • -w β€” without output
  • -o<kmc/kff> β€” output in KMC of KFF format; default: KMC
  • -hp β€” hide percentage progress (default: false)
  • -e β€” only estimate histogram of k-mers occurrences instead of doing exact k-mer counting
  • --opt-out-size β€” optimize output database size (heads up: this may increase running time ⏳)

🌈 EXAMPLES 🌈

the main character moments, copy these exactly bestie:

kmc -k27 -m24 NA19238.fastq NA.res /data/kmc_tmp_dir/
kmc -k27 -m24 @files.lst NA.res /data/kmc_tmp_dir/

first one: single fastq, k=27, 24 GB of RAM. second one: same energy but she's reading her file list from @files.lst. slay. πŸ”₯


πŸ‘‘ AUTHOR πŸ‘‘

kmc was originally written by:

  • Sebastian Deorowicz (sebastian.deorowicz@polsl.pl)
  • Marek Kokot
  • Szymon Grabowski
  • Agnieszka Debudaj-Grabysz

legends, honestly. 🫢


⭐ COPYING ⭐

KMC is a free software distributed under the GNU GPL3 licence for academic, research, and commercial use. free is free, periodt. πŸ’–


ngl bestie if you got all the way down here you're officially a k-mer girlie now. iykyk 🌸

and that's the whole page β€” K-Mer Counter (KMC) ver. 3.2...., dated February 2024, straight out of the KMC(1) manual. mwah, go count some kmers πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from