# Commands done and planned The commands that luish-extra completes, and those it is to complete, by plugin: [](supported.md) says which are done, and [`completion-todo.md`](https://github.com/luispedro/luish-extra/blob/main/completion-todo.md) ticks each one that is, with the version it was checked against. A command is on this list because a lab uses it, or because it is among the most downloaded command-line tools on [Bioconda](https://bioconda.github.io/): the top 2000 packages once R, Perl and Python packages are set aside, which is down to about 21,000 total downloads, plus the widely used tools further down that list and the ones that Bioconda barely carries (licensed, vendor or GitHub-only tools). Outside `bio`, a command may also be on it because its package is among the most downloaded on [conda-forge](https://conda-forge.org/) (July to September 2026, from Anaconda's public download statistics) and is used from the command line, not only installed as a dependency. Libraries (`pysam`, `biopython`, …), R, Perl and Bioconductor packages, and packages that only provide a library are left out. Commands that luish's standard `completion` plugin already completes (`uv`, `pixi`, `micromamba`, `pip`, `conda`, `mamba`, `fd`, `rg`, `jq`, `zstd`, `sqlite3`, `tmux`, `nvim`, `loginctl`, `docker`, `podman`, `rclone`, `rsync`, …) are not repeated here. Commands that only the `bash-completion` bridge covers are still listed: the plugins here are preferred, and the bridge is the fallback. Several Bioconda packages provide commands under other names, so completion is by command name, not package name: `htslib` (`bgzip`, `tabix`, `htsfile`), `blast` (`blastn` and the rest), `gatk4`, `spades`, `abyss`, `mmseqs2`, `hhsuite`, `ensembl-vep`, `primer3`, `subread`, `trim-galore`, `kalign2` / `kalign3`, `t-coffee`, `transdecoder`, `rtg-tools`, `picard-slim`, `mummer4`, `bwameth`, `lumpy-sv`, `kmer-jellyfish`, `snakemake-minimal`. Every command gets its options and subcommands. Where it makes sense, arguments and option values are completed by kind: FASTA, FASTQ, BAM and other files by extension, reference names, presets, output formats, and so on. ## `bio`: bioinformatics ### Alignment files, variants and intervals `samtools`, `bcftools`, `bedtools`, `tabix`, `bgzip`, `htsfile`, `vcftools`, `bamtools`, `sambamba`, `samblaster`, `mosdepth`, `picard`, `gatk`, `bamutil`, `bam-readcount`, `bamhash`, `cramino`, `deeptools` (`bamCoverage`, `bamCompare`, `computeMatrix`, `plotHeatmap`, `plotProfile`, …), `bedops`, `vcflib`, `vt`, `snpEff`, `SnpSift`, `vep`, `plink`, `plink2`, `admixture`, `whatshap`, `freebayes`, `lofreq`, `varscan`, `octopus`, `bcbio-variation`, `delly`, `manta`, `lumpy`, `smoove`, `sniffles`, `cuteSV`, `svim`, `pindel`, `survivor`, `truvari`, `hap.py`, `rtg`, `fgbio`, `bwameth.py`, `bismark`, `MethylDackel`, `wiggletools`, `mummer` / `nucmer`, `alfred`, `gridss`, `varlociraptor`, `vardict`, `strelka`, `somaticseq`, `deepvariant`, `clair3`, `svtyper`, `svtools`, `duphold`, `samplot`, `annotsv`, `paragraph`, `graphtyper`, `vg`, `expansionhunter`, `trgt`, `hiphase`, `sawfish`, `gangstr`, `slivar`, `vcfanno`, `peddy`, `somalier`, `verifybamid2`, `vembrane`, `vcf2maf`, `gemini`, `genmod`, `ascat`, `control-freec`, `sequenza-utils`, `cnvpytor`, `wisecondorx`, `snp-sites`, `snp-dists`, `gofasta`, `ivar`, `nextalign`, `vadr`, `tn93`, `pyfaidx` (`faidx`), `bx-python` scripts, `gffutils-cli`, `pyfastx`, `crossmap` **UCSC Kent tools**: `bedGraphToBigWig`, `bedToBigBed`, `bigWigToWig`, `bigWigToBedGraph`, `bigWigInfo`, `bigBedToBed`, `bigBedInfo`, `wigToBigWig`, `faToTwoBit`, `twoBitToFa`, `twoBitInfo`, `faSize`, `faFrag`, `faSomeRecords`, `liftOver`, `gtfToGenePred`, `genePredToBed`, `genePredToGtf`, `gff3ToGenePred`, `blat`, `pslCDnaFilter`, `pslSort`, `bedSort`, `bedClip`, `bedIntersect`, `fetchChromSizes`, `chainNet`, `axtChain`, and the rest of the `ucsc-*` packages ### Mapping and quantification `bwa`, `bwa-mem2`, `bowtie`, `bowtie2`, `bowtie2-build`, `minimap2`, `hisat2`, `hisat2-build`, `STAR`, `gmap`, `lastal`, `lastdb`, `last-train` and the other LAST tools, `kallisto`, `bustools`, `salmon`, `stringtie`, `htseq-count`, `featureCounts`, `rsem-calculate-expression`, `cufflinks`, `regtools`, `tophat`, `chromap`, `strobealign`, `ngmlr`, `segemehl`, `graphmap`, `snap-aligner`, `novoalign`, `yara_mapper`, `mash`, `sourmash`, `fastANI`, `skani`, `sylph`, `STAR-Fusion`, `arriba`, `fusioncatcher`, `qualimap`, `umi_tools`, `preseq`, `rmats`, `suppa`, `portcullis`, `mikado`, `rnaquast`, `trinotate`, `corset`, `scallop`, `psiclass`, `flair`, `isoquant`, `oarfish`, `alevin-fry`, `simpleaf`, `kb`, `velocyto`, `kma`, `rseqc` scripts (`bam_stat.py`, …) ### Sequence search `blastn`, `blastp`, `blastx`, `tblastn`, `tblastx`, `makeblastdb`, `blastdbcmd`, `rpsblast`, `diamond`, `mmseqs`, `foldseek`, HMMER (`hmmsearch`, `hmmscan`, `hmmbuild`, `hmmpress`, `hmmalign`, `phmmer`, `jackhmmer`), Infernal (`cmsearch`, `cmscan`, `cmbuild`, `cmalign`), `hhblits`, `hhsearch`, `vsearch`, `swarm`, `cd-hit`, `sortmerna`, `exonerate`, `lastz`, `fasta36` and the other FASTA programs, `mcl`, `interproscan.sh`, `kofamscan`, `usearch`, `psiblast`, `deltablast`, `dustmasker`, `segmasker`, `windowmasker`, `makeprofiledb`, `blastdb_aliastool`, `update_blastdb.pl`, `cas-offinder` ### Read QC, trimming and sequence utilities `fastp`, `fastqc`, `falco`, `multiqc`, `cutadapt`, `trimmomatic`, `trim_galore`, `AdapterRemoval`, `atropos`, `flexbar`, `fastx_*` (fastx_toolkit), `bbduk.sh` and the other BBMap tools, `seqkit`, `seqtk`, `csvtk`, `seqfu`, `seqmagick`, `bioawk`, `filtlong`, `chopper`, `nanoq`, `rasusa`, `NanoPlot`, `NanoFilt`, `NanoStat`, `porechop`, `fastq_screen` (fastq-screen), `fastq-dl`, `kmc`, `jellyfish`, `meryl`, `khmer`, `pear`, `flash`, `sickle`, `lighter`, `pigz`, `pixz`, `taxonkit`, `sga`, `kat`, `genomescope2`, `smudgeplot`, `nanocomp`, `pycoqc`, `toulligqc`, `pomoxis` ### Assembly, annotation and polishing `spades.py`, `metaspades.py`, `megahit`, `abyss-pe`, `velveth`, `velvetg`, `unicycler`, `shovill`, `skesa`, `flye`, `canu`, `hifiasm`, `miniasm`, `wtdbg2`, `raven`, `verkko`, `racon`, `medaka`, `pilon`, `polypolish`, `quast`, `busco`, `merqury`, `prodigal`, `prokka`, `bakta`, `pharokka`, `barrnap`, `tRNAscan-SE`, `aragorn`, `augustus`, `braker.pl`, `TransDecoder.LongOrfs`, `gffread`, `gffcompare`, `agat_*`, `RepeatMasker`, `RepeatModeler`, `trf`, `maker`, `Trinity`, `funannotate`, `liftoff`, `ragtag.py`, `masurca`, `soapdenovo2`, `minia`, `idba`, `velvet`, `gfastats`, `compleasm`, `edta`, `earlgrey`, `ltr_retriever`, `tesorter`, `evidencemodeler`, `pasa`, `gemoma`, `miniprot`, `spaln`, `glimmerhmm`, `snap`, `codingquarry`, `shasta`, `nextdenovo`, `nextpolish`, `purge_dups`, `yahs`, `trycycler`, `dragonflye`, `plassembler`, `hybracter`, `metamdbg`, `jcvi` ### Long reads `f5c`, `slow5tools`, `pod5`, `nanopolish`, `megalodon`, `modkit`, `pbmm2`, `ccs`, `lima`, `isoseq3`, `pbsv`, `longshot`, `winnowmap`, `savana`, `dorado`, `guppy_basecaller`, `guppy_barcoder`, `smrtlink` tools ### Comparative genomics, pangenomes and population genetics `orthofinder`, `proteinortho`, `sonicparanoid`, `pantools`, `anchorwave`, `wgd`, `cactus`, `minigraph`, `wfmash`, `pggb`, `odgi`, `seqwish`, `mashmap`, `syri`, `plotsr`, `stacks` (`ustacks`, `cstacks`, …), `ipyrad`, `ddocent`, `angsd`, `admixtools`, `smartpca`, `treemix`, `gcta`, `regenie`, `shapeit4`, `beagle`, `king`, `selscan`, `bolt`, `impute2`, `glimpse`, `rfmix` ### Hi-C and epigenomics `hicexplorer` (`hicFindTADs`, …), `cooler`, `cooltools`, `pairtools`, `pairix`, `chromosight`, `hictk`, `epic2`, `genrich`, `chromhmm`, `idr`, `phantompeakqualtools`, `ataqv`, `dnmtools`, `biscuit`, `methylpy`, `moabs`, `bsmap`, `methylartist` ### Alignment and phylogenetics `mafft`, `muscle`, `clustalw`, `clustalo`, `t_coffee`, `kalign`, `probcons`, `trimal`, `clipkit`, `FastTree`, `iqtree` / `iqtree2`, `raxml-ng`, `raxmlHPC`, `phyml`, `mrbayes`, `beast`, `hyphy`, `paml` (`codeml`, …), `gappa`, `epa-ng`, `pplacer`, `treetime`, `gotree`, `goalign`, `ete3`, `quicktree`, `rapidnj`, `sepp`, `phylip`, `prank`, `pasta`, `poa`, `famsa`, `pal2nal`, `gblocks`, `macse`, `generax`, `modeltest-ng`, `veryfasttree`, `aster`, `figtree`, `tracer`, `beast2`, `revbayes`, `bali-phy`, `fastme`, `newick_utils`, `phykit`, `sumtrees.py`, `emboss` (`needle`, `water`, …) ### Metagenomics and microbial genomics `kraken2` (`kraken2-build`, `kraken2-inspect`, `k2`), `bracken` (`bracken-build`, `combine_bracken_outputs.py`), `krakenuniq` (`krakenuniq-build`, `krakenuniq-report`, `krakenuniq-download`), `centrifuge` (`centrifuge-build`, `centrifuge-inspect`, `centrifuge-kreport`), `kaiju` (`kaiju-multi`, `kaiju2table`, `kaiju2krona`, `kaiju-addTaxonNames`, `kaiju-mergeOutputs`, `kaiju-makedb`, `kaiju-mkbwt`, `kaiju-mkfmi`), `metaphlan` (`merge_metaphlan_tables.py`, `strainphlan`, `sample2markers.py`, `extract_markers.py`), `humann` (`humann_databases`, `humann_config`, `humann_join_tables`, `humann_renorm_table`, `humann_regroup_table`, `humann_split_stratified_table`, `humann_rename_table`, `humann_split_table`, `humann_reduce_table`, `humann_unpack_pathways`, `humann_barplot`), `motus`, `checkm`, `checkm2`, `checkv`, `gunc`, `singlem`, `gtdbtk`, `metabat2` (`jgi_summarize_bam_contig_depths`), `concoct` (`concoct_coverage_table.py`, `cut_up_fasta.py`, `merge_cutup_clustering.py`, `extract_fasta_bins.py`), `run_MaxBin.pl` (MaxBin), `DAS_Tool` (`Fasta_to_Contig2Bin.sh`), `dRep`, `coverm`, `vamb`, `genomad`, `emapper.py` (`download_eggnog_data.py`, `create_dbs.py`, `hmm_mapper.py`), `mothur`, `qiime`, `picrust2`, `humann`, `krona`, `abricate`, `amrfinder` (`amrfinder_update`), `rgi`, `mlst`, `snippy`, `roary`, `panaroo`, `ppanggolin`, `gubbins`, `prokka`, `srst2`, `sistr`, `ectyper`, `seqsero2`, `kleborate`, `ariba`, `staramr`, `mykrobe`, `tb-profiler`, `bactopia`, `anvi-*` (anvio), `phispy`, `antismash`, `metawrap`, `phyloflash`, `graftm`, `dram`, `vibrant`, `virsorter`, `vcontact2`, `iphop`, `phabox`, `instrain`, `binsanity`, `comebin`, `metacoag`, `binette`, `kmcp`, `ganon`, `metacache`, `krakentools`, `kraken-biom`, `taxpasta`, `metaeuk`, `insilicoseq`, `unifrac`, `deblur`, `gneiss`, `emperor`, `lefse`, `maaslin2`, `thapbi-pict`, `harpy`, `resfinder`, `plasmidfinder`, `mob_suite`, `hamronization`, `defense-finder`, `macsyfinder`, `integron_finder`, `islandpath`, `bigscape`, `deepbgc`, `gecco`, `kaptive`, `pyani`, `parsnp`, `mashtree`, `poppunk`, `pyseer`, `scoary`, `pirate`, `chewbbaca`, `ska2`, `mentalist`, `ntm-profiler`, `nullarbor`, `dnaapler`, `pyrodigal`, `phanotate`, `minced`, `platon`, `plasmidid` ### Data access `esearch`, `efetch`, `elink`, `esummary`, `xtract` and the other `entrez-direct` tools, `prefetch`, `fasterq-dump`, `fastq-dump`, `vdb-validate` and the other `sra-tools`, `datasets`, `dataformat`, `ncbi-genome-download`, `genome_updater`, `gdc-client`, `aria2c`, `dx` (dxpy), `ascp` (aspera-cli), `ena-webin-cli`, `ena-upload-cli`, `pyega3`, `kingfisher`, `pysradb`, `geofetch`, `ffq`, `parallel-fastq-dump`, `refgenie`, `genomepy`, `bioconvert`, `pygenometracks`, `igv-reports`, `igvtools`, `gw`, `jbrowse2`, `asciigenome`, `goatools`, `gseapy`, `biom` ### Proteomics and mass spectrometry `comet`, `peptide-shaker`, `searchgui`, `openms` (`*Tool` binaries), `maxquant`, `msgf_plus`, `percolator`, `ThermoRawFileParser`, `msconvert` (proteowizard), `crux`, `sage`, `flashlfq`, `msstitch`, `pyprophet`, `easypqp`, `ms2rescore`, `sirius`, `metfrag`, `mzmine` ### Structure, immunology and CRISPR `TMalign`, `USalign`, `openstructure`, `anarci`, `abnumber`, `igblast`, `changeo` scripts, `presto` scripts, `igdiscover`, `trust4`, `optitype`, `hla-la`, `arcas-hla`, `seq2hla`, `mhcflurry`, `crisprme`, `crispresso2`, `crispritz`, `coot`, `relion`, `smina`, `rxdock`, `obabel` (openbabel), `mgltools`, `colabfold_batch`, `run_alphafold.py`, `boltz`, `chai` ### Other `ngless` (and `.ngl` scripts), `SemiBin2` / `SemiBin`, `macrel`, `argnorm`, `gmsc-mapper`, `nextclade`, `pangolin`, `augur`, `auspice`, `usher`, `freyja`, `artic`, `primer3_core`, `RNAfold` and the other ViennaRNA tools, `meme`, `fimo` and the other MEME suite tools, `homer`, `macs2` / `macs3`, `sicer`, `mageck`, `cnvkit.py`, `circos`, `igv`, `jbrowse`, `bandage`, `weblogo`, `cellranger`-style single-cell tools such as `cellsnp-lite`, and, from outside Bioconda, `cellranger`, `cellranger-atac`, `spaceranger`, `bcl2fastq`, `bcl-convert`, `dragen`, `pbrun` (Parabricks), `table_annovar.pl` and the other ANNOVAR scripts, `gmes_petap.pl` (GeneMark), `signalp6`, `tmhmm`, `netMHCpan`, `ldsc.py`, `PRSice`, `saige`, `shapeit5`, `eagle`, `stitch`, `pixy`, `flashpca`, `cellbender`, `vireo`, `souporcell` ## `science`: general scientific computing - **Workflows**: `jug` (subcommands, and jugfiles `*.py` as arguments), `snakemake` (rules from the Snakefile as targets), `nextflow`, `nf-core`, `nf-test`, `cwltool`, `cromwell`, `toil`, `planemo`, `dagster` - **Writing**: `quarto`, `latexmk`, `pdflatex`, `xelatex`, `bibtex`, `biber`, `pandoc`, `tectonic` - **Interactive Python and R**: `ipython`, `jupyter`, `Rscript`, `R`, `marimo`, `jupytext` - **Plotting and numerics**: `gnuplot`, `glpk` (`glpsol`), `datamash`, `tsv-utils`, Graphviz (`dot`, `neato`, `fdp`, `sfdp`, `circo`, `twopi`: output formats and layouts from the installed `dot`) - **Tabular data**: `mlr` (Miller), `xsv` / `qsv`, `duckdb` - **Parallel and distributed computing**: `mpirun` / `mpiexec` (Open MPI, MPICH), `dask`, `ray`, `spark-submit`, `pyspark` - **Geospatial**: GDAL (`gdal`, the command of GDAL 3.11 and later, and `gdalinfo`, `gdal_translate`, `gdalwarp`, `gdalbuildvrt`, `ogr2ogr`, `ogrinfo`), PROJ (`proj`, `cs2cs`, `projinfo`) - **Data formats**: netCDF (`ncdump`, `nccopy`, `ncgen`), HDF5 (`h5dump`, `h5ls`, `h5diff`, `h5repack`), ecCodes (`grib_ls`, `grib_dump`, `grib_copy`) - **Chemistry and molecular modelling**: `gromacs` (`gmx`), `autodock-vina`, AmberTools (`tleap`, `cpptraj`, `pmemd`), `namd`, `lmp` - **General command-line utilities that Bioconda ships**: `parallel`, `aria2c`, `pigz`, `singularity` / `apptainer`, `aws` (awscli) ## `gui`: desktop programs - **Browsers and mail**: `firefox` (profiles for `-P`), `chromium`, `google-chrome`, `thunderbird` - **Documents**: `libreoffice` / `soffice` (`--convert-to` formats), `evince`, `okular`, `zathura`, `xdg-open` - **Editors**: `code` (installed extensions for `--uninstall-extension`), `meld`, `gedit`, `kate` - **Media and graphics**: `vlc` (and `cvlc`), `mpv`, `gimp`, `inkscape`, `krita`, `blender`, `obs`, `audacity`, `eog` - **Bioinformatics viewers**: `cytoscape`, `jalview`, `artemis` (`art`, `act`, `bamview`, `dnaplotter`), `tablet`, `bandage_ng` (`BandageNG`), `proksee`, `pymol`, `chimerax`, `vmd` - **Desktop tools**: `xrandr`, `gsettings`, `dconf`, `notify-send`, `wmctrl`, `xdotool`, `swaymsg`, `hyprctl` ## `dev`: development and deployment - **Environments and packaging**: `poetry` (the groups, extras, dependencies and sources of `pyproject.toml`, the packages of `poetry.lock`), `twine` (the repositories of `~/.pypirc`), `pre-commit` and `prek` (the hooks of `.pre-commit-config.yaml`), `virtualenv`, `tox`, `pipx` - **conda-forge packaging**: `conda-build` (also `conda build`, `conda render` and `conda debug`; recipe directories and variant files), `rattler-build`, `conda-smithy`, `grayskull`, `conda-pack`, `conda-lock` - **Python tooling**: `pytest` (test files and the tests in them, `FILE::CLASS::TEST`; markers; the options of pytest-xdist and pytest-cov), `ruff` (rule codes and linter prefixes), `mypy` (error codes), `coverage`, `isort`, `pylint` (message IDs), `flake8`, `autopep8`, `yapf`, `pyright`, `ty`, `cython` / `cythonize`, `nbstripout`, Sphinx (`sphinx-build`, with builders for `-b`; `sphinx-apidoc`, `sphinx-quickstart`) - **Compilers and runtimes**: `gfortran`, `nvcc`, `rustc`, `node`, OpenJDK (`java`, `javac`, `jar`, `keytool`), `ruby`, `gem` - **Build tools**: `just` (the recipes of the justfile), `pkg-config` (packages from `pkg-config --list-all`), `ccache`, `sccache`, `bazel`, `scons`, `doxygen`, `protoc` - **C and C++ tools**: `clang-format`, `clang-tidy` (checks from `clang-tidy --list-checks`), `clangd`, `cppcheck` - **Linters and formatters**: `shellcheck` (check codes; optional checks from `--list-optional`), `prettier`, `typos`, `taplo`, `zizmor`, `lefthook` - **Task runners**: `inv` / `invoke`, `fab` (Fabric), through their own `--complete` - **Web services**: `gunicorn`, `fastapi`, `django-admin` (through Django's own completion), `caddy`, `mitmproxy`, `mitmdump` - **Databases**: PostgreSQL (`psql`, `pg_dump`, `pg_restore`, `pg_dumpall`, `pg_ctl`, `initdb`, `createdb`, `dropdb`; databases from `psql -l`) - **Machine learning**: `hf` (huggingface_hub), `accelerate` - **Infrastructure**: `terraform`, `buf`, `yq`, `databricks` - **Command-line utilities**: `fzf`, `bat` (`batcat` on Debian; its languages and themes) - **Coding agents**: `claude` (read from its help; the agents of `.claude/agents` for `--agent`), `codex` (read from its help; the profiles of `$CODEX_HOME` for `--profile`), `opencode` - **Version control**: `svn`, `git lfs` (std's git completer hands `git lfs` over to the completer of `git-lfs`) - **Web deployment**: `netlify` - **Android**: `adb` ## `system`: system administration - **Backups**: `borg` - **Filesystems**: `fusermount` / `fusermount3` (the FUSE mount points, for `-u`) - **Archives**: `7zz` / `7z` (7-Zip, p7zip) - **Version control**: `git-annex` (completed by git-annex itself; also `git annex`, which std's git completer hands over) ## `media`: audio, video and images - **Audio and video**: `ffmpeg` (the options of an input or an output, with the private options of the codecs and the format chosen for it; codecs, formats, filters and pixel formats from the installed ffmpeg; filtergraphs; the streams of the inputs, for `-map`) - **Images**: `magick`, `convert` (ImageMagick's older name), `gm` (GraphicsMagick), `vips`, `tesseract` (languages from `tesseract --list-langs`) - **PDF and PostScript**: Poppler (`pdftotext`, `pdfinfo`, `pdftoppm`, `pdfimages`, `pdfunite`, `pdfseparate`), `gs` (Ghostscript; devices from `gs -h`), `qpdf` - **Downloads**: `yt-dlp` ## `hpc`: HPC clusters - **Slurm**: `sbatch`, `salloc`, `srun`, `squeue`, `scancel`, `sinfo`, `sacct` (partitions, accounts, QOS, nodes, features, GRES, licenses, reservations and the user's jobs from the cluster; the command that `srun` and `salloc` run is completed by its own completer), `scontrol`, `sacctmgr` - **Other schedulers**: `qsub` (PBS, SGE), `bsub` (LSF) - **Environment modules**: `module` - **Data transfer**: `s5cmd`, `globus` ## Possible later plugins - `cloud`: `gcloud`, `az` (and `aws`, which `science` completes already)