![]() |
ffitch |
These assumptions can be traced in the least squares methods of programs FITCH and KITSCH but it is not quite so easy to see them in operation in the Neighbor-Joining method of NEIGHBOR, where the independence assumptions is less obvious.
THESE TWO ASSUMPTIONS ARE DUBIOUS IN MOST CASES: independence will not be expected to be true in most kinds of data, such as genetic distances from gene frequency data. For genetic distance data in which pure genetic drift without mutation can be assumed to be the mechanism of change CONTML may be more appropriate. However, FITCH, KITSCH, and NEIGHBOR will not give positively misleading results (they will not make a statistically inconsistent estimate) provided that additivity holds, which it will if the distance is computed from the original data by a method which corrects for reversals and parallelisms in evolution. If additivity is not expected to hold, problems are more severe. A short discussion of these matters will be found in a review article of mine (1984a). For detailed, if sometimes irrelevant, controversy see the papers by Farris (1981, 1985, 1986) and myself (1986, 1988b).
For genetic distances from gene frequencies, FITCH, KITSCH, and NEIGHBOR may be appropriate if a neutral mutation model can be assumed and Nei's genetic distance is used, or if pure drift can be assumed and either Cavalli-Sforza's chord measure or Reynolds, Weir, and Cockerham's (1983) genetic distance is used. However, in the latter case (pure drift) CONTML should be better.
Restriction site and restriction fragment data can be treated by distance matrix methods if a distance such as that of Nei and Li (1979) is used. Distances of this sort can be computed in PHYLIp by the program RESTDIST.
For nucleic acid sequences, the distances computed in DNADIST allow correction for multiple hits (in different ways) and should allow one to analyse the data under the presumption of additivity. In all of these cases independence will not be expected to hold. DNA hybridization and immunological distances may be additive and independent if transformed properly and if (and only if) the standards against which each value is measured are independent. (This is rarely exactly true).
FITCH and the Neighbor-Joining option of NEIGHBOR fit a tree which has the branch lengths unconstrained. KITSCH and the UPGMA option of NEIGHBOR, by contrast, assume that an "evolutionary clock" is valid, according to which the true branch lengths from the root of the tree to each tip are the same: the expected amount of evolution in any lineage is proportional to elapsed time.
% ffitch Fitch-Margoliash and Least-Squares Distance Methods Input file: fitch.dat Input tree file: Output file [fitch.ffitch]: inseed: 0 global: false jumble: false njumble: 1 lengths: false lower: false negallowed: false outgrno: 1 outgropt: false power: 2.000000 replicates: false trout: true upper: false usertree: false printdata: false progress: true treeprint: true mulsets: false datasets: 1Adding species: 1. Bovine 2. Mouse 3. Gibbon 4. Orang 5. Gorilla 6. Chimp 7. Human coordinates lengthsum: 0.000000 Calling coordinates q->v 0.769855 coordinates lengthsum: 0.769855 Calling coordinates q->v 0.419826 coordinates lengthsum: 0.419826 Calling coordinates q->v 0.049859 coordinates lengthsum: 0.469685 Calling coordinates q->v 0.021213 coordinates lengthsum: 0.490898 Calling coordinates q->v 0.036955 coordinates lengthsum: 0.527853 Calling coordinates q->v 0.114487 coordinates lengthsum: 0.642340 Calling coordinates q->v 0.154713 coordinates lengthsum: 0.682566 Calling coordinates q->v 0.156803 coordinates lengthsum: 0.647701 Calling coordinates q->v 0.292085 coordinates lengthsum: 0.761771 Calling coordinates q->v 0.355371 coordinates lengthsum: 0.775198 Calling coordinates q->v 0.916745 coordinates lengthsum: 0.916745 Output written to file "fitch.ffitch" Tree also written onto file "fitch.treefile" Done. |
Go to the input files for this example
Go to the output files for this example
Standard (Mandatory) qualifiers: [-datafile] distances File containing one or more distance matrices [-intreefile] tree (no help text) tree value [-outfile] outfile Output file name Additional (Optional) qualifiers (* if not always prompted): -matrixtype menu Type of input data matrix -minev boolean Minimum evolution * -njumble integer Number of times to randomise * -seed integer Random number seed between 1 and 32767 (must be odd) -outgrno integer Species number to use as outgroup -power float Power * -lengths boolean Use branch lengths from user trees * -negallowed boolean Negative branch lengths allowed * -global boolean Global rearrangements -replicates boolean Subreplicates -[no]trout toggle Write out trees to tree file * -outtreefile outfile Tree file name -printdata boolean Print data at start of run -[no]progress boolean Print indications of progress of run -[no]treeprint boolean Print out tree Advanced (Unprompted) qualifiers: (none) Associated qualifiers: "-outfile" associated qualifiers -odirectory3 string Output directory "-outtreefile" associated qualifiers -odirectory string Output directory General qualifiers: -auto boolean Turn off prompts -stdout boolean Write standard output -filter boolean Read standard input, write standard output -options boolean Prompt for standard and additional values -debug boolean Write debug output to program.dbg -verbose boolean Report some/full command line options -help boolean Report command line options. More information on associated and general qualifiers can be found with -help -verbose -warning boolean Report warnings -error boolean Report errors -fatal boolean Report fatal errors -die boolean Report deaths |
Standard (Mandatory) qualifiers | Allowed values | Default | |||||||
---|---|---|---|---|---|---|---|---|---|
[-datafile] (Parameter 1) |
File containing one or more distance matrices | Distance matrix | |||||||
[-intreefile] (Parameter 2) |
(no help text) tree value | Phylogenetic tree | |||||||
[-outfile] (Parameter 3) |
Output file name | Output file | <sequence>.ffitch | ||||||
Additional (Optional) qualifiers | Allowed values | Default | |||||||
-matrixtype | Type of input data matrix |
|
s | ||||||
-minev | Minimum evolution | Boolean value Yes/No | No | ||||||
-njumble | Number of times to randomise | Integer 0 or more | 0 | ||||||
-seed | Random number seed between 1 and 32767 (must be odd) | Integer from 1 to 32767 | 1 | ||||||
-outgrno | Species number to use as outgroup | Integer 0 or more | 0 | ||||||
-power | Power | Any numeric value | 2.0 | ||||||
-lengths | Use branch lengths from user trees | Boolean value Yes/No | No | ||||||
-negallowed | Negative branch lengths allowed | Boolean value Yes/No | No | ||||||
-global | Global rearrangements | Boolean value Yes/No | No | ||||||
-replicates | Subreplicates | Boolean value Yes/No | No | ||||||
-[no]trout | Write out trees to tree file | Toggle value Yes/No | Yes | ||||||
-outtreefile | Tree file name | Output file | |||||||
-printdata | Print data at start of run | Boolean value Yes/No | No | ||||||
-[no]progress | Print indications of progress of run | Boolean value Yes/No | Yes | ||||||
-[no]treeprint | Print out tree | Boolean value Yes/No | Yes | ||||||
Advanced (Unprompted) qualifiers | Allowed values | Default | |||||||
(none) |
7 Bovine 0.0000 1.6866 1.7198 1.6606 1.5243 1.6043 1.5905 Mouse 1.6866 0.0000 1.5232 1.4841 1.4465 1.4389 1.4629 Gibbon 1.7198 1.5232 0.0000 0.7115 0.5958 0.6179 0.5583 Orang 1.6606 1.4841 0.7115 0.0000 0.4631 0.5061 0.4710 Gorilla 1.5243 1.4465 0.5958 0.4631 0.0000 0.3484 0.3083 Chimp 1.6043 1.4389 0.6179 0.5061 0.3484 0.0000 0.2692 Human 1.5905 1.4629 0.5583 0.4710 0.3083 0.2692 0.0000 |
APSD = ( SSQ / (N-2) )1/2 x 100.
where N is the total number of off-diagonal distance measurements that are in the (square) distance matrix. If the S (subreplication) option is in force it is instead the sum of the numbers of replicates in all the non-diagonal cells of the distance matrix. But if the L or R option is also in effect, so that the distance matrix read in is lower- or upper-triangular, then the sum of replicates is only over those cells actually read in. If S is not in force, the number of replicates in each cell is assumed to be 1, so that N is n(n-1), where n is the number of species. The APSD gives an indication of the average percentage error. The number of trees examined is also printed out.
7 Populations Fitch-Margoliash method version 3.6b __ __ 2 \ \ (Obs - Exp) Sum of squares = /_ /_ ------------ 2 i j Obs Negative branch lengths not allowed +---------------------------------------------Mouse ! ! +------Human ! +--5 ! +-4 +--------Chimp ! ! ! ! +--3 +---------Gorilla ! ! ! 1------------------------2 +-----------------Orang ! ! ! +---------------------Gibbon ! +------------------------------------------------------Bovine remember: this is an unrooted tree! Sum of squares = 0.01375 Average percent standard deviation = 1.85418 Between And Length ------- --- ------ 1 Mouse 0.76985 1 2 0.41983 2 3 0.04986 3 4 0.02121 4 5 0.03695 5 Human 0.11449 5 Chimp 0.15471 4 Gorilla 0.15680 3 Orang 0.29209 2 Gibbon 0.35537 1 Bovine 0.91675 |
(Mouse:0.76985,((((Human:0.11449,Chimp:0.15471):0.03695, Gorilla:0.15680):0.02121,Orang:0.29209):0.04986,Gibbon:0.35537):0.41983,Bovine:0.91675); |
Program name | Description |
---|---|
distmat | Creates a distance matrix from multiple alignments |
efitch | Fitch-Margoliash and Least-Squares Distance Methods |
ekitsch | Fitch-Margoliash method with contemporary tips |
eneighbor | Phylogenies from distance matrix by N-J or UPGMA method |
fkitsch | Fitch-Margoliash method with contemporary tips |
fneighbor | Phylogenies from distance matrix by N-J or UPGMA method |
Although we take every care to ensure that the results of the EMBOSS version are identical to those from the original package, we recommend that you check your inputs give the same results in both versions before publication.
Please report all bugs in the EMBOSS version to the EMBOSS bug team, not to the original author.