ANDI(1)

πŸ“¦
version 0.14 Β· 2 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– ANDI(1) Β· the andi manual πŸ’–

πŸ¦‹ NAME πŸ¦‹

andi - estimates evolutionary distances ✨

🧚 SYNOPSIS 🧚

andi [OPTIONS...] FILES...

🌸 DESCRIPTION 🌸

okay so andi is the tool you reach for when you need to estimate how far apart closely related genomes are 🧬 It reads your input sequences from FASTA files and computes the pairwise anchor distance for each pair. The whole idea is explained in a paper by Haubold et al. (2015), and honestly it's giving main character energy πŸ’…

πŸ’œ OUTPUT πŸ’œ

The output is a symmetrical distance matrix in PHYLIP format πŸ“Š Every entry is a divergence written as a positive real number. A distance of 0 means the two sequences are identical 🫢 Any other value is an estimate of the nucleotide substitution rate, Jukes-Cantor corrected ✨

Sometimes the comparison just fails and no estimate can be computed, and in that case nan gets printed πŸ’€ That happens when the input sequences were either too short (<200bp) or too diverse (K>0.5) for the method to work properly. Not me being sad about it, but yeah, that's the deal 😭

πŸŽ€ OPTIONS πŸŽ€

  • -b INT, --bootstrap=INT β€” computes multiple distance matrices, with n-1 bootstrapped from the first one 🌈 For the full scoop, check out the paper KlΓΆtzl & Haubold (2016).
  • --file-of-filenames=FILE β€” usually you'd pass the filenames as commandline arguments, but with this one you can read them from a file instead, one name per line πŸ“ Use a single dash ('-') to read from stdin.
  • -j, --join β€” use this mode if each of your FASTA files is one assembly with a bunch of contigs 🧩 andi will treat all the sequences in a file as a single genome. In this mode you need at least one filename passed via command line arguments. For the output, the filename is what identifies each sequence 🏷️
  • -l, --low-memory β€” in multithreaded mode, andi needs memory that scales linearly with the number of threads πŸ“ˆ Low memory mode flips that to a constant memory demand, no matter how many threads you use. The catch? It comes at a significant runtime cost 🐒 ngl a tradeoff, but a valid one.
  • -m MODEL, --model=MODEL β€” sets the nucleotide evolution model to one of 'Raw', 'JC', 'Kimura', or 'LogDet' πŸ’… By default, the Jukes-Cantor correction is used.
  • -p FLOAT β€” significance of an anchor. The default is 0.025 ✨
  • --progress[=WHEN] β€” prints a progress bar πŸ“Š WHEN can be 'auto' (the default if you leave it out), 'always', or 'never'.
  • -t INT, --threads=INT β€” the number of threads to use. By default, all available processors get put to work πŸ”₯ Multithreading is only available if andi was compiled with OpenMP support, so check that first πŸ™ˆ
  • --truncate-names β€” by default andi outputs the full names of sequences, and names shorter than ten characters get padded with spaces 🌷 Names longer than ten characters can cause problems with downstream tools, so if that's you, this switch truncates them.
  • -v, --verbose β€” prints additional information, including the amount of homology that was found πŸ” Apply it multiple times for extra verboseness, because more is sometimes more 🀭
  • -h, --help β€” prints the synopsis and an explanation of the available options 🫢
  • --version β€” outputs version information and acknowledgments 🌈

Copyright Β© 2014 - 2021 Fabian KlΓΆtzl, License GPLv3+: GNU GPL version 3 or later πŸ’œ This is free software, so you're free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law πŸ™ˆ The full license text lives at <http://gnu.org/licenses/gpl.html>.

🧠 ACKNOWLEDGMENTS 🧠

Big thanks to the people who made all this possible 🫢

  1. andi: Haubold, B. KlΓΆtzl, F. and Pfaffelhuber, P. (2015). andi: Fast and accurate estimation of evolutionary distances between closely related genomes, Bioinformatics 31.8.
  2. Algorithms: Ohlebusch, E. (2013). Bioinformatics Algorithms. Sequence Analysis, Genome Rearrangements, and Phylogenetic Reconstruction. pp 118f.
  3. SA construction: Mori, Y. (2005). libdivsufsort, unpublished.
  4. Bootstrapping: KlΓΆtzl, F. and Haubold, B. (2016). Support Values for Genome Phylogenies, Life 6.1.

πŸ› BUGS πŸ›

Reporting Bugs

Please report bugs to <kloetzl@evolbio.mpg.de> or at <https://github.com/EvolBioInf/andi> πŸ₯Ί We love a good bug report bestie πŸ’–


Version 0.14, dated 2020-01-09, and the man page itself is ANDI(1). Stay iconic, bestie πŸ¦‹βœ¨