PHYBIN(1)

πŸ’– PHYBIN(1) β€” the phybin manual, but make it make sense πŸ’–

okay bestie, gather round 🫢 this is the manual page for phybin, a User Command, and it's from phybin 0.3 (December 2015 vibes, but she still slays). Let's get into it.


✨ NAME ✨

phybin β€” binning/clustering newick trees by topology πŸŒ³πŸ¦‹


✨ SYNOPSIS ✨

phybin [OPTION...] files or directories...

✨ DESCRIPTION ✨

okay so PhyBin takes Newick tree files as input. You can just pass paths of Newick files straight up on the command line. OR, if you hand it directories instead, it will read all the files in those directories. no cap. πŸ—‚οΈ

Taxa are named based on the files containing them. And if a file contains multiple trees, phybin reads all of them, and then the taxa name includes a suffix indicating the position in the file:

e.g. FILENAME_0, FILENAME_1, etc.

When clustering trees, Phybin computes a complete all-to-all Robinson-Foulds distance matrix. If a threshold distance (tree edit distance) is given, then a flat set of clusters will be produced in files clusterXX_YY.tr. Otherwise it produces a full dendogram. 🌈

Binning mode provides an especially quick-and-dirty form of clustering. When running with the --bin option, only exactly equal trees are put in the same cluster. Tree pre-processing still applies, however: for example collapsing short branches. πŸ’…

🌸 USAGE NOTES: 🌸

  • Currently phybin ignores input trees with the wrong number of taxa.
  • If given a directory as input phybin will assume all contained files are Newick trees.
bestie, that second one is a whole vibe check on your directory, so don't point her at a folder full of random stuff πŸ™ˆ

✨ OPTIONS ✨

  • -v, --verbose β€” print WARNINGS and other information (recommended at first) β€” fr fr, do this first, it's giving helpful πŸ‘‘
  • -V, --version β€” show version number
  • -o DIR, --output=DIR β€” set directory to contain all output files (default "./phybin_out/") πŸ“
  • --selftest β€” run internal unit tests πŸ§ͺ

πŸŽ€ Clustering Options πŸŽ€

  • --bin β€” Use simple binning, the cheapest form of 'clustering' πŸ’€ (cheapest as in computationally, she's not judging)
  • --single β€” Use single-linkage clustering (nearest neighbor)
  • --complete β€” Use complete-linkage clustering (furthest neighbor)
  • --UPGMA β€” Use Unweighted Pair Group Method (average linkage) - DEFAULT mode πŸ‘‘
  • --editdist=DIST β€” Combine all clusters separated by DIST or less. Report a flat list of clusters. Irrespective of whether this is activated, a hierarchical clustering (dendogram.pdf) is produced.

πŸ¦‹ Select Robinson-Foulds (symmetric difference) distance algorithm: πŸ¦‹

  • --hashrf β€” (default) use a variant of the HashRF algorithm for the distance matrix ⭐
  • --tolerant β€” use a slower, modified RF metric that tolerates missing taxa 🐌 (slower but she's understanding about your missing taxa, we love a tolerant queen)

🌈 Visualization 🌈

  • -g, --graphbins β€” use graphviz to produce .dot and .pdf output files ✨
  • -d, --drawbins β€” like -g, but open GUI windows to show each bin's tree πŸͺŸ
  • -w, --view β€” for convenience, "view mode" simply displays input Newick files without binning πŸ‘€
  • --showtrees β€” Print (textual) tree topology inside the nodes of the dendrogram
  • --highlight=FILE β€” Highlight nodes in the tree-of-trees (dendrogram) consistent with the. given tree file. Multiple highlights are permitted and use different colors. 🎨
  • --interior β€” Show the consensus trees for interior nodes in the dendogram, rather than just points. 🌸

πŸ’œ Tree pre-processing πŸ’œ

  • --prune=TAXA β€” Prune trees to only TAXA before doing anything else. Space and comma separated lists of taxa are allowed. Use quotes. βœ‚οΈ
  • -b LEN, --minbranchlen=LEN β€” collapse branches less than LEN
  • --minbootstrap=INT β€” collapse branches with bootstrap values less than INT

πŸ“ Extracting taxa names πŸ“

  • -p NUM, --nameprefix=NUM β€” Leaf names in the input Newick trees can be gene names, not taxa. Then it is typical to extract taxa names from genes. This option extracts a prefix of NUM characters to serve as the taxa name.
  • -s STR, --namesep=STR β€” An alternative to --nameprefix, STR provides a set of delimeter characters, for example '-' or '0123456789'. The taxa name is then a variable-length prefix of each gene name up to but not including any character in STR.
  • -m FILE, --namemap=FILE β€” Even once prefixes are extracted it may be necessary to use a lookup table to compute taxa names, e.g. if multiple genes/plasmids map onto one taxa. This option specifies a text file with find/replace entries of the form "<string> <taxaname>", which are applied AFTER -s and -p. πŸ—ΊοΈ

🧚 Utility Modes 🧚

  • --rfdist β€” print a Robinson Foulds distance matrix for the input trees
  • --setdiff β€” for convenience, print the set difference between cluster*.txt files
  • --print β€” simply print out a concise form of each input tree
  • --printnorms β€” simply print out a concise and NORMALIZED form of each input tree
  • --consensus β€” print a strict consensus tree for the inputs, then exit πŸšͺ
  • --matching β€” print a list of tree names that match any --highlight argument

✨ AUTHOR ✨

This manpage was written by Andreas Tille for the Debian distribution and can be used for any other usage of the program. 🫢


and that's the whole page bestie πŸ’… this was phybin 0.3, dated December 2015 β€” go cluster some trees, you got this πŸ‘‘πŸŒ³βœ¨