ffitch 
Please help by correcting and extending the Wiki pages.
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 NeighborJoining 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 CavalliSforza'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 NeighborJoining 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 FitchMargoliash and LeastSquares Distance Methods Phylip distance matrix file: fitch.dat Phylip tree file (optional): Phylip fitch program output file [fitch.ffitch]: Adding species: 1. Bovine 2. Mouse 3. Gibbon 4. Orang 5. Gorilla 6. Chimp 7. Human 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
FitchMargoliash and LeastSquares Distance Methods Version: EMBOSS:6.4.0.0 Standard (Mandatory) qualifiers: [datafile] distances File containing one or more distance matrices [intreefile] tree Phylip tree file (optional) [outfile] outfile [*.ffitch] Phylip fitch program output file Additional (Optional) qualifiers (* if not always prompted): matrixtype menu [s] Type of input data matrix (Values: s (Square); u (Upper triangular); l (Lower triangular)) minev boolean [N] Minimum evolution * njumble integer [0] Number of times to randomise (Integer 0 or more) * seed integer [1] Random number seed between 1 and 32767 (must be odd) (Integer from 1 to 32767) outgrno integer [0] Species number to use as outgroup (Integer 0 or more) power float [2.0] Power (Any numeric value) * lengths boolean [N] Use branch lengths from user trees * negallowed boolean [N] Negative branch lengths allowed * global boolean [N] Global rearrangements replicates boolean [N] Subreplicates [no]trout toggle [Y] Write out trees to tree file * outtreefile outfile [*.ffitch] Phylip tree output file (optional) printdata boolean [N] Print data at start of run [no]progress boolean [Y] Print indications of progress of run [no]treeprint boolean [Y] 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 first file to standard output filter boolean Read first file from standard input, write first file to 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 and exit. 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 dying program messages version boolean Report version number and exit 
Qualifier  Type  Description  Allowed values  Default  

Standard (Mandatory) qualifiers  
[datafile] (Parameter 1) 
distances  File containing one or more distance matrices  Distance matrix  
[intreefile] (Parameter 2) 
tree  Phylip tree file (optional)  Phylogenetic tree  
[outfile] (Parameter 3) 
outfile  Phylip fitch program output file  Output file  <*>.ffitch  
Additional (Optional) qualifiers  
matrixtype  list  Type of input data matrix 

s  
minev  boolean  Minimum evolution  Boolean value Yes/No  No  
njumble  integer  Number of times to randomise  Integer 0 or more  0  
seed  integer  Random number seed between 1 and 32767 (must be odd)  Integer from 1 to 32767  1  
outgrno  integer  Species number to use as outgroup  Integer 0 or more  0  
power  float  Power  Any numeric value  2.0  
lengths  boolean  Use branch lengths from user trees  Boolean value Yes/No  No  
negallowed  boolean  Negative branch lengths allowed  Boolean value Yes/No  No  
global  boolean  Global rearrangements  Boolean value Yes/No  No  
replicates  boolean  Subreplicates  Boolean value Yes/No  No  
[no]trout  toggle  Write out trees to tree file  Toggle value Yes/No  Yes  
outtreefile  outfile  Phylip tree output file (optional)  Output file  <*>.ffitch  
printdata  boolean  Print data at start of run  Boolean value Yes/No  No  
[no]progress  boolean  Print indications of progress of run  Boolean value Yes/No  Yes  
[no]treeprint  boolean  Print out tree  Boolean value Yes/No  Yes  
Advanced (Unprompted) qualifiers  
(none)  
Associated qualifiers  
"outfile" associated outfile qualifiers  
odirectory3 odirectory_outfile 
string  Output directory  Any string  
"outtreefile" associated outfile qualifiers  
odirectory  string  Output directory  Any string  
General qualifiers  
auto  boolean  Turn off prompts  Boolean value Yes/No  N  
stdout  boolean  Write first file to standard output  Boolean value Yes/No  N  
filter  boolean  Read first file from standard input, write first file to standard output  Boolean value Yes/No  N  
options  boolean  Prompt for standard and additional values  Boolean value Yes/No  N  
debug  boolean  Write debug output to program.dbg  Boolean value Yes/No  N  
verbose  boolean  Report some/full command line options  Boolean value Yes/No  Y  
help  boolean  Report command line options and exit. More information on associated and general qualifiers can be found with help verbose  Boolean value Yes/No  N  
warning  boolean  Report warnings  Boolean value Yes/No  Y  
error  boolean  Report errors  Boolean value Yes/No  Y  
fatal  boolean  Report fatal errors  Boolean value Yes/No  Y  
die  boolean  Report dying program messages  Boolean value Yes/No  Y  
version  boolean  Report version number and exit  Boolean value Yes/No  N 
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 / (N2) )1/2 x 100.
where N is the total number of offdiagonal 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 nondiagonal 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 uppertriangular, 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(n1), 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 FitchMargoliash method version 3.69 __ __ 2 \ \ (Obs  Exp) Sum of squares = /_ /_  2 i j Obs Negative branch lengths not allowed +Mouse ! ! +Human ! +5 ! +4 +Chimp ! ! ! ! +3 +Gorilla ! ! ! 12 +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 

efitch  FitchMargoliash and LeastSquares Distance Methods 
ekitsch  FitchMargoliash method with contemporary tips 
eneighbor  Phylogenies from distance matrix by NJ or UPGMA method 
fkitsch  FitchMargoliash method with contemporary tips 
fneighbor  Phylogenies from distance matrix by NJ or UPGMA method 
Please report all bugs to the EMBOSS bug team (embossbug © emboss.openbio.org) not to the original author.
Converted (August 2004) to an EMBASSY program by the EMBOSS team.