Bioinformatics Toolkit for Microbiology

One-Sentence Definition

A practical inventory of the command-line tools, libraries, and environments used day to day in microbial bioinformatics.

Simple Explanation

The starter kit: what to install, and which tool to reach for at each step.

Tool map by step

StepTools
QCFastQC, MultiQC, fastp
Species screenKraken2, Mash, GTDB-Tk
AssemblySPAdes, Unicycler, Flye, Shovill
Assembly QCQUAST, CheckM, BUSCO
AnnotationProkka, Bakta, PGAP
Mapping / variantsBWA-MEM, minimap2, samtools, bcftools, Snippy
Typingmlst, chewBBACA, Kleborate, SISTR
AMRAMRFinderPlus, ResFinder, RGI (CARD), abriTAMR
Plasmids / MGEPlasmidFinder, MOB-suite, IntegronFinder, geNomad
PangenomeRoary, Panaroo, PPanGGOLiN
PhylogeneticsMAFFT, IQ-TREE, Gubbins, TreeTime, BEAST
MetagenomicsMetaPhlAn, HUMAnN, metaSPAdes, MetaBAT2
AmpliconQIIME 2, DADA2
VisualizationiTOL, Microreact, Phandango, Bandage
OrchestrationNextflow/nf-core, Snakemake, Conda, Docker

Programming layer

Python: Biopython, pysam, scikit-bio, pandas, scikit-learn, PyTorch
R: Bioconductor, phyloseq, DESeq2, ggtree, vegan

from Bio import SeqIO
 
# quick genome stats from an assembly
lengths = [len(rec.seq) for rec in SeqIO.parse("assembly.fasta", "fasta")]
total = sum(lengths)
gc = sum(str(r.seq).upper().count(b) for r in SeqIO.parse("assembly.fasta", "fasta") for b in "GC")
print(f"contigs={len(lengths)} total={total} GC%={100*gc/total:.1f} longest={max(lengths)}")

Learning path

  1. Command line + file formats (Sequencing Data Formats)
  2. One full isolate workflow end to end (WGS Bioinformatics Pipeline)
  3. Scripting the boring parts (Python/R)
  4. Workflow managers (Reproducible Bioinformatics Workflows)
  5. Statistics and ML (Machine Learning Basics for Microbiology)

Connections