gfmix_runner.py

Run gfmix mixture model analysis using a Snakemake workflow.

This utility wrapper executes the gfmix mixture model analysis with gfmix v1.0.2, which modifies a site-heterogeneous profile mixture model to reflect branch specific amino acid composition. The analysis requires a supermatrix, phylogenetic tree, IQTree output file (.iqtree), and a root definition file.

gfmix_runner.py [OPTIONS] -m <matrix> -tr <tree> -iq <iqtree> -r <rootfile> -b <basename>

Required arguments:

  • -m, --matrix <matrix.fas|nex|phy> Path to supermatrix file
  • -tr, --tree <tree.tre> Path to phylogenetic tree file
  • -iq, --iqtree <file.iqtree> Path to IQTree output file (.iqtree) from a previous IQTree run
  • -r, --rootfile <root.txt> Path to root file containing a list of taxa on one side of the root split (one taxon per line)
    • Example root file:
      taxonA
      taxonB
      taxonC
      
  • -b, --basename <name> Output file basename

Optional arguments:

  • -f, --frequencies <N> A file with the frequencies for each frequency class as rows (can be obtained using MAMMaL). If no file is provided, MAMMaL will be run with default options (60 frequency classes in the mixture model)
    • Default: None (will run MAMMaL with 60 classes)
  • -if, --in_format <format> Input format of matrix
    • Options: fasta, nexus, phylip (names truncated at 10 characters), or phylip-relaxed (names are not truncated)
    • Default: fasta
  • -o, --output <out_dir> Path to user-defined output directory
    • Default: Current working directory
  • -h, --help Show this help message and exit

Default gfmix_runner.py output:

  • <basename>.loglikelihood - Log likelihood values from the gfmix analysis
  • Additional output files generated by the gfmix workflow and MAMMaL (if frequency file not provided)

NOTE: This utility uses Snakemake to orchestrate the analysis workflow and requires conda for dependency management. The workflow will use the gfmix_mammal.smk Snakemake file included with PhyloFisher.


This site uses Just the Docs, a documentation theme for Jekyll.