#fastq #read #barcode #hts

app fqkit

fqkit: a simple and cross-platform program for fastq file manipulation

33 releases

new 0.4.3 Apr 19, 2024
0.3.14 Apr 3, 2024
0.3.13 Mar 28, 2024
0.3.6 Dec 21, 2023
0.1.0 Dec 6, 2022

#5 in Biology

Download history 10/week @ 2024-01-08 20/week @ 2024-01-15 83/week @ 2024-02-19 169/week @ 2024-02-26 15/week @ 2024-03-04 30/week @ 2024-03-11 121/week @ 2024-03-18 119/week @ 2024-03-25 245/week @ 2024-04-01 193/week @ 2024-04-08 266/week @ 2024-04-15

829 downloads per month

GPL-3.0 license




Static Badge Static Badge Crates.io (latest) Crates.io GitHub Gist last commit

🦀 a simple program for fastq file manipulation


setp1: install cargo first
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
step2: on linux or windows
cargo install fqkit
# or

git clone https://github.com/sharkLoc/fqkit.git
cd fqkit
cargo b --release
# mv target/release/fqkit to anywhere you want 
install latest version
cargo install --git https://github.com/sharkLoc/fqkit.git


FqKit -- A simple and cross-platform program for fastq file manipulation

Version: 0.4.3

Authors: sharkLoc <mmtinfo@163.com>
Source code: https://github.com/sharkLoc/fqkit.git

Fqkit supports reading and writing gzip (.gz) format.
Bzip2 (.bz2) format is supported since v0.3.8.
Xz (.xz) format is supported since v0.3.9.
Under the same compression level, xz has the highest compression ratio but consumes more time. 

Compression level:
  format   range   default   crate
  gzip     1-9     6         https://crates.io/crates/flate2
  bzip2    1-9     6         https://crates.io/crates/bzip2
  xz       1-9     6         https://crates.io/crates/xz2

Usage: fqkit [OPTIONS] <COMMAND>

  topn     get first N records from fastq file [aliases: head]
  tail     get last N records from fastq file
  concat   concat fastq files from different lanes
  subfq    subsample sequences from big fastq file [aliases: sample]
  select   select pair-end reads by read id
  trim     trim fastq reads by position
  adapter  cut the adapter sequence on the reads
  filter   a simple filter for pair end fastq sqeuence
  range    print fastq records in a range
  search   search reads/motifs from fastq file
  grep     grep fastq sequence by read id or full name
  stats    summary for fastq format file [aliases: stat]
  shuffle  shuffle fastq sequences
  size     report the number sequences and bases
  slide    extract subsequences in sliding windows
  sort     sort fastq file by name/seq/gc/length
  plot     line plot for A T G C N percentage in read position
  fq2fa    translate fastq to fasta
  fq2sam   converts a fastq file to an unaligned SAM file
  fqscore  converts the fastq file quality scores
  flatten  flatten fastq sequences [aliases: flat]
  barcode  perform demultiplex for pair-end fastq reads
  check    check the validity of a fastq record
  remove   remove reads by read name
  rename   rename sequence id in fastq file
  reverse  get a reverse-complement of fastq file [aliases: rev]
  split    split interleaved fastq file
  merge    merge PE reads as interleaved fastq file
  mask     convert any low quality base to 'N' or other chars
  split2   split fastq file by records number
  gcplot   get GC content result and plot
  length   get reads length count
  view     view fastq file page by page
  help     Print this message or the help of the given subcommand(s)

  -h, --help     Print help
  -V, --version  Print version

Global Arguments:
      --compress-level <int>  set gzip/bzip2/xz compression level 1 (compress faster) - 9 (compress better) for gzip/bzip2/xz output file, just work with option -o/--out [default: 6]
      --log <str>             if file name specified, write log message to this file, or write to stderr
  -v, --verbosity <str>       control verbosity of logging, possible values: {error, warn, info, debug, trace} [default: debug]

Global FLAGS:
  -q, --quiet  be quiet and do not show any extra information

Use "fqkit help [command]" for more information about a command

change log



  • update to version 0.2.12
  • add subcommand trim
  • update cmd help information


  • update to version 0.2.13
  • add subcommand reverse


  • update to version 0.2.14
  • add subcommand view
  • rebuilt some command interface


  • update to version 0.2.15
  • recode func in stats subcommand


  • update to version 0.2.16
  • add subcommand size


  • update to version 0.2.17
  • update code for subcommand size and search
  • add subcommand fq2sam
  • add log information options verbosity


  • update to version 0.2.18
  • add subcommand sort, range, check and mask
  • update to version 0.2.19
  • add subcommand shuffle


  • update to version 0.3.0
  • add glob option --compress-level for gzip output file


  • update to version 0.3.1
  • add subcommand grep and fqscore


  • update to version 0.3.2
  • add subcommand slide


  • update to version 0.3.5
  • add subcommand filter


  • remove subcommand join

** any bugs please report issues **💖


~606K SLoC