KBM2(1)

πŸ‘‘ KBM2 πŸ‘‘

okay bestie, pull up a chair and hydrate, because we're reading KBM2(1) β€” that's section 1, the User Commands manual β€” and it's all about kbm2, aka the program that is a simple instance which implemented kmer-binmap. no cap. 🧬✨


✨ NAME ✨

kbm2 β€” a simple instance which implemented kmer-binmap 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

kbm <options> [start|list|stop]

πŸ’… DESCRIPTION πŸ’…

okay so, here's the whole situation, bestie:

Program: kbm is a simple instance which implemented kmer-binmap.

  • it maps query sequence against reference by kmer matching 🌈
  • matched kmer-pairs are bined (256bp) and counted in a matrix πŸ’–
  • dynamic programming is used to search the best path 🧚

Version: 2.5 (20190621) β€” Author: Jue Ruan <ruanjue@gmail.com>


🌸 OPTIONS 🌸

these are the knobs and dials, queen. every single one. πŸ‘‘

  • -i <string> β€” File(s) of query sequences, +, [STDIN]
  • -d <string> β€” File(s) of reference sequences, +, [<-i>]
  • -L <int> β€” Choose the longest subread and drop reads shorter than <int> (5000 recommended for PacBio) [0]. Negative integer indicate keeping read names, e.g. -5000. πŸ™ˆ
  • -o <string> β€” Output file, [STDOUT]
  • -I β€” Interactive mode, e.g. mkfifo pipe then while true; do cat pipe && sleep 1; done | kbm -t 8 -I -d ref.fa -i - -Hk 21 -S 4 then cat 1.fq >pipe; cat 2.fq >pipe, fastq format is better in interaction
  • -f β€” Force overwrite
  • -t <int> β€” Number of threads, 0: all cores, [1]
  • -k <int> β€” Kmer-f size, <= 23, [0]
  • -p <int> β€” Kmer-p size, <= 23, [21]
  • -K <float> β€” Filter high frequency kmers, maybe repetitive, [1000]. If K >= 1, take the integer value as cutoff, MUST <= 65535. Else, mask the top fraction part high frequency kmers.
  • -E <int> β€” Min kmer frequency, [1]
  • -O <int> β€” Filter low complexity bins (#indexed_kmer less than <-O>), [2]
  • -S <float> β€” Subsampling kmers, 1/(<-S>) kmers are indexed, [4.00]. -S is very useful in saving memory and speeding up β€” please note that subsampling kmers will have less matched length.
  • -B <int> β€” Select no more than n seeds in a query bin, [256]. If you are using shared kbmidx by other process using -D too, it will bring wrong behavior. ⚠️
  • -D <int> β€” Strand of alignment, 1: forward, 2: reverse, 3: both, [3]
  • -X <int> β€” Max number of bin(256bp) in one gap, [4]
  • -Y <int> β€” Max number of bin(256bp) in one deviation, [4]
  • -Z <float> β€” Max fraction of gapped BINs / aligned BINs, [0.6]
  • -x <int> β€” penalty for BIN gap, [-7]
  • -y <int> β€” penalty for BIN deviation, [-21]
  • -z <int> β€” Enable refine alignment with -p <-z> [0]
  • -l <int> β€” Min alignment length, [2048]
  • -m <int> β€” Min matched length, [200]
  • -s <float> β€” Min similarity, calculated by kmer matched length / aligned length, [0.05]
  • -r <float> β€” Max length variation of two aligned fragments, [0.25]
  • -c β€” Insist to query contained reads against all
  • -C β€” Chainning alignments
  • -n <int> β€” Max hits per query, [1000]
  • -T <int> β€” For debug, [0]
  • -W <string> β€” Dump kbm index to file, [NULL]
  • -R <string> β€” Load kbm index from file, [NULL]
  • -q β€” Quiet 🀫
  • -V β€” Print version information and then exit

πŸŽ€ Server vibes πŸŽ€

like, the kbm server has a whole main-character arc and it's these three moves:

  • Server start: {kbm -R <wt.fa.kbmidx> start} β€” will mmap wt.fa.kbmidx into mmeory πŸ”₯
  • Server list: {kbm -R <wt.fa.kbmidx> list [10]} β€” will list the object tree in file 🌳
  • Server stop: {kbm -R <wt.fa.kbmidx> stop} β€” will remove the mmap object 🫑

πŸ’œ AUTHOR πŸ’œ

This manpage was written by Andreas Tille for the Debian distribution and can be used for any other usage of the program.


that's the whole page, bestie. go forth and map some kmers. πŸ’…

kbm2 2.5 β€” April 2020 β€” mwah, xoxo, it's giving kmer-binmap πŸ’–πŸŽ€πŸ¦‹