Awesome bioinformatic tools

Alignment related:

  • Minimap2 [C] - Pairwise aligner. Written by the legendary Heng Li. The go-to for Oxford Nanopore and PacBio data.
  • BWA-MEM [C] - Pairwise aligner suitable for Illumina data.
  • Parasail [C] - General purpose pairwise aligner.
  • Parasail-rs [Rust] - Rust bindings for the parasail library.
  • BLAST [C++] - The usual go-to for local sequence alignment.
  • MAFFT - Multiple sequence aligner.
  • Clustal Omega - Multiple sequence aligner.

Assembly related:

  • Flye [C/C++] - Genome assembler for Oxford Nanopore or PacBio data.
  • IDBA [C++] - Illumina specific genome assembler.
  • SPAdes [C++] - Genome assembler suitable for Illumina or IonTorrent data.

Variant calling related:

  • Clair3 [Python] - Variant caller suitable for Illumina, Oxford Nanopore or PacBio data.
  • Medaka [Python] - Variant caller and polishing tool specifically for Oxford Nanopore data.
  • Freebayes [C++] - Variant caller suitable for Illumina and IonTorrent data. Questionable use for Oxford Nanopore data.

Misc:

  • SAMtools [C] - SAM file manipulation.
  • BCFtools [C] - VCF file manipulation.
  • Kmer-cnt [C] - Several kmer counting algorithms.
  • SeqKit [Go] - Parsing and processing FASTA/Q files.

Tools written in Rust:

  • Needletail [Rust] - Parsing and processing FASTA/Q files.
  • Bio [Rust] - General purpose bioinformatic tool for alignment, file processing and much more.
  • Bio-seq [Rust] - Toolbox for bit-packed biological sequences.
  • Sylph [Rust] - Metagenomic classification tool.
  • Rust Htslib [Rust] - Rust bindings for Htslib.
  • NextClade [Rust] - Virus specific tool for alignment, SNP calling, clade assignment and more.
  • Herro [Rust] - Deep-learning based error correction tool for Oxford Nanopore data.