discover_tree_incongruence
Ask whether some loci of a multi-locus alignment have a different history from the rest, by the incongruence length difference test (Farris et al. 1994). Each locus is one aligned FASTA file (or a set of wired alignment rows) over the same taxa, named alike in every file. D is the extra parsimony steps one shared tree costs over each locus's own tree; the null deals the same columns into parts of the same sizes at random. One global test over every locus, and one per locus against all the others combined, with the false discovery rate controlled across loci. A locus that recombined or was transferred costs steps when forced onto the others' tree, but so does a locus evolving at a different rate (Darlu & Lecointre 2002), so a call is a candidate for a tree comparison, never a recombination call. Lengths are NNI parsimony searches from each alignment's own neighbour-joining tree. Cost: a run is 1 + k + k·n + k·(1 + 2n) searches for k loci and n permutations, and a search grows fast with taxa: the default 99 permutations over seven Neisseria MLST loci took 23 s on 12 strains, 48 s on 16 and 122 s on 20, and one search of the 62-strain concatenation takes about 8 s, so 62 strains is hours. Each file is one locus; records wired with no file are grouped by the part of their name before ·.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| loci | Yes | the loci: one aligned FASTA file per locus (its records are the taxa), or library document names. Every file must name the same taxa. | |
| seed | No | seed for the column deals. Each permutation draws from its own stream, so one can be re-run alone. Advanced. | |
| alpha | No | false discovery rate at which a locus is called. | |
| _files | No | The project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name. | |
| _subject | No | The record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several. | |
| correction | No | Benjamini–Hochberg (independent or positively dependent tests) or Benjamini–Yekutieli (any dependence; less power). Values: BH (Benjamini–Hochberg), BY (Benjamini–Yekutieli). | BH |
| permutations | No | random deals of the columns per test. The smallest p is 1 / (permutations + 1), which bounds how small a corrected q can get. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| loci | Yes | per locus: its length, the rest's, D, the permutations' mean D, p, q and whether it is called | |
| called | Yes | the loci called at q ≤ alpha | |
| global | Yes | the test over every locus at once: D, its null, p | |
| result | Yes | the full result | |
| nullModel | Yes | the null and the search, stated with every run |