HyPhy - a-lud/nf-pipelines GitHub Wiki

Introduction

This pipeline implements the commandline version of HyPhy. HyPhy is a tool with a range of models designed to test different evolutionary hypotheses. Have a read of the HyPhy website for a detailed run-down of the methods available.

This pipeline does not do any post-processing of the results. By default, HyPhy generates a markdown formatted results log, along with a JSON results file. Therefore, the results can be aggregated and processed in R/Python.

Arguments

The current version of the HyPhy pipeline has the following arguments:

--msa string                 Directory path to MSA files. Extension must be '.fa' or '.fasta'.
--tree string                File path to phylogenetic tree with 'test' branches marked using '{}' notation. E.g. (sample1, sample2{Test});.
--testLabel string           What is the branch label ('{}') listed in the tree file.
--analysis string            Which HyPhy analysis/analyses to run. Options: RELAX.

The arguments are explained in more detail below.

Argument overview

MSA

The --msa argument expects a directory path, which points to a directory containing multiple sequence alignments (MSA). The pipeline will match all files in the directory path that are MSAs (must have extension *.{fa,fasta} and bank them for processing.

Tree

Nearly all selection testing tools expect a phylogenetic tree file. As such, the --tree argument expects a filepath to a tree-file that is in newick format. Some selection tests enable 'marked branches', which can be specified using curly braces like the the following example:

(sample_1, (sample_2, sample_3{test}));

Here, sample 3 is marked as the test branch. Branch labels can also be specified at nodes.

Test label

The --testLabel argument directly relates to the tree labels mentioned above. This argument expects a string that matches the tree labels the user has used in their newick tree. If the --testLabel string differs to the branch-labels is in the --tree argument, the program will error.

For example, using the tree from above, the following arguments will work

# Arguments
--tree /path/to/tree_above.nwk
--testLabel 'test'

While this will cause an error

# Arguments
--tree /path/to/tree_above.nwk
--testLabel 'Foreground'

There is no Foreground string in example tree, meaning HyPhy will not be able to find the test species.

Analysis

Finally, the --analysis argument specifies which HyPhy analysis to run. Currently, ONLY RELAX has been implemented.

⚠️ **GitHub.com Fallback** ⚠️