
Version  date		what has been changed

5.0       26.08.2000    - changes to manual, Makefile.in
                        - cpREV hidden by -DCPREV flag
                        - chi2test, quartio included into source code files
                        - generic scr/Makefile.generic
                        - src/makefile.com for VAX
			- AUTHORS, README, ChangeLog updated
			- INSTALL checked
          27.08.2000	- test code excluded
			- '-randseed#' added for debugging purposes
			- ./align added to autoconf/automake
			- warning output if cmdline parameter unknown
          11.10.2000	- fixed output of rate categories of sites before 
			  computing them
			- check whether rate categories were computed by
			  1st user tree or NJ tree fixed in the output
          12.10.2000	- invariant site model normalization fixed


CODE FREEZE
===========

5.0.a33   15.08.2000    - changes for autoconf/automake

5.0.a32   01.08.2000	- a FPE error fixed (badq == 0)
			- small error in -bestq fixed
			- fflush's added at several places

5.0.a31   01.08.2000	- comments added to tree structure sorting puzzle2.c
			- changes in configure.in, Makefile.in

5.0.a30   23.07.2000	- some debugging in checkquart
			- changed to autoconf

5.0.a29   13.07.2000	- some debugging in checkquart

5.0.a28   13.07.2000	- use best quartet topology option (-bestq) implemented

5.0.a27   13.07.2000	- further developement to checkquart 
			- ascii/binary quartet values (-wqla/-wqlb)
			- typo correction

5.0.a26   11.07.2000	- fflush at all checktimer 
			- further developement at checkquart
			- possibility to write quartet values to file (-wqlh)

5.0.a25   06.07.2000	- fflush at checktimer 

5.0.a24   02.07.2000	- further debugging of checkquart 

5.0.a23   02.07.2000	- further developement to checkquart 

5.0.a22   29.06.2000	- checkquart added to makefile
			- bad quartet stats added after reading in *.allquarts

5.0.a21   27.06.2000	- site pattern statistics implemented and added to 
			  SEQUENCE ALIGNMENT section in puzzle report

5.0.a20   26.06.2000	- cpREV45 implemented

5.0.a19   26.06.2000	- for debugging purposes: typo "MPE" changed to "FPE"
			- fflush(stdout) added in chi2test

5.0.a18   20.06.2000	- checkquart implemented

5.0.a17   19.06.2000	- FPRINTF(STDOUTFILE and STDOUT definition changed 
			  and moved; fputid/fputid10 writes to STDOUT instead
			  of stdout
			- ppuzzle checks slaves enough slave-processes
			- numquarts, num2quart, quart2num moved from ppuzzle.c
			  to puzzle1.c
			- read/writeallquart implemented (undocumented feature)
			  to be used by -wqf/-rqf at comandline
			  -wqf = write quartet file (infilename.allquart) after
			         quartet evaluation
			  -rqf = read quartet file (infilename.allquart), no
			         quartet evaluation, unless -wqf is used as
			         well, then quartets are written and read in 
			- '-h' option at comandline -> printusage

5.0.a16   31.05.2000	- chi2test bug fixed
			- WAG matrix added, model choice adopted
	  13.06.2000	- date set to June 2000
			- author order changed to Schmidt, Strimmer, Vingron,
			  v.Haeseler
			- CPU time output stopped, due to overflow errors
	  16.06.2000	- sequence composition chi2test moved before
			  parameter output.
			- output of chi2test and bad quartet statistics split,
			  to do the chi2test output earlier.

5.0.a15   02.05.2000	- Names changed back from TREE-PUZZLE to PUZZLE
          09.05.2000	- and to TREE-PUZZLE again ;-)

5.0.a14   13.03.2000	- Changes to the manual.
			- Executable names changed to (p)treepuzzle. 
			  (changes in the makefiles)
          15.03.2000	- Output of parameters after estimation added.

5.0.a13   18.02.2000	- ALPHA version number removed from the code 

5.0.a12   18.02.2000	- CPU time measurement problems fixed for case where
			  clock_t is an unsigned type.

5.0.a11   17.02.2000	- time measure problems (CPU/wallclock) fixed
			  not all features in addtimes are used at the moment.
			- unnecessary and unused routines removed fron source 
			  code.

5.0.a10   20.01.2000	- Name changes from PUZZLE to TREE-PUZZLE
			- Chi2-fit model guessing for VT model added
			- little model printing bug fixed

5.0.a9    22.12.1999	- VT Model incorporated (Mueller, Vingron (2000) 
			  JCB, to appear).
			- TODO: Chi2-fit model guessing for VT model

5.0.a8    21.12.1999	- 'sys/times.h' and 'sys/types.h' removed from
			  puzzle.h. They were neither ANSI conform nor
			  necessary, but occured in the SUN man pages.
			- Definition and call of writetimesstat eliminated
			  from the sequention version by compiler switched,
			  and not just the function body as before.
			- '-O4' canged to '-O' to be more generic.

5.0.a7    21.12.1999	- Macro constants introduced for data_optn
			  (NUCLEOTIDE, AMINOACID, BINARY)
			- round robbing of datatype and AA model option changed 
			  in menu to make adjustment of the model possible by a
			  determined sequence of letters:
			  'd':  Auto -> Nucleotides 
			             -> Amino acids
			             -> Binary states 
			             -> Auto
			  ('m' && data_optn == AMINOACID):  
			        Auto -> Dayhoff
			             -> JTT 
			             -> mtREV24 
			             -> BLOSUM62 
			             -> Auto 
			- manual.html adjusted

5.0.a6    20.12.1999	- new manual.html added

5.0.a5    07.12.1999	- output bug fixed (bestrates were written before they
			  were computed)

5.0.a4    02.12.1999	- header file inclusion ajusted:
			  added:  #include<string.h>
			  changed from:  #include "ppuzzle.h"
			          to:    #ifdef PARALLEL
			                 #  include "ppuzzle.h"
			                 #endif

5.0.a3    27.11.1999	- '-h' comandline option removed, because of problems
			  with MPICH under LINUX
			- new memory leaks of 5.0.a2 closed in PP_Finalize

5.0.a2    27.11.1999	- Cleanup of the source code
			- Measurement of CPU time added
			- Parallel load statistics added (quartets, trees, time)
			  to puzzle report.
			- Cleanup debug messages
			- Comments "[...]" are removed from usertrees now.
			- single quotes will only be printed arount species 
			  names if -DUSEQUOTES is set at compiletime.
			- tree likelihood is printed infront of a tree as a
			  comment, [ lh=-xx.xxxxx ](...);

5.0.a1    26.11.1999	- Cleanup of the directories
			- Copyright changes
			- Version changes


VERSION CHANGE
==============

4.1.a26   25.11.1999	- Makefile made universal for pauzzle and ppuzzle
			- lines not needed removed from puzzle.h

4.1.a25   19.11.1999	- Output file prefixes for distances, trees, and 
			  puzzlereport changed in user trees analysis case 
			  to user tree file name
			- Temporary output of likelihood to treefile added

4.1.a24   11.11.1999	- Output of puzzling step trees changed
			  ptorder: [ orderno # % ID #UniqTopos #Steps ]PHYLIP
			  pstep:   chunk #InChunk sum ID #UniqTopos #Steps
			- preliminary leap frog RNG implemented, i.e. uses
			  the rand4 in the usual way in the sequential case.
			  If run in parallel all rand4 are initialized with
			  the same seed and started with PP_Myid-th random
			  number. after that each process uses the every
			  PP_NumProcs-th random number to make sure that these
			  unique.

4.1.a23   08.11.1999	- output of sequential and parallel version to *.pstep
			  made identical

4.1.a22   05.11.1999	- two different puzzle step tree outputs intruduced
			  and added to the menu ("[ 1. 35 ](...);":
			  - ordered unique tree list -> *.ptorder 
			    Format: "[ 1. 35 ]"  (Ordernumber, Amount)
			  - chronological tree list  -> *.pstep
			    Format: "[ 1. 35 ]"  (Chunknumber, Amount in chunk)
			  (the last is a problem in parallel, because the come
			  in chunks, as scheduled)
			- debugged the output
4.1.a21   04.11.1999	- Makefile adjustments for other Plattforms
			- pstep tree output changed. unique treestructures
			  printed to *.pstep file with a leading comment
			  containing an order number and the ammount padded
			  with blanks (e.g. "[ 1. 356 ]('mouse'...").
			  output is done right before writing the puzzle file.
			- controlled MPI finish to the Quit menu option added

4.1.a20   03.11.1999	- some garbage collection (free) added
			- makefile adjusted, OFLAGS for optimization added
			  (ppuzzle/MPICH has problems with -O, so the
			  ppuzzle is created without optimization)
			  Some minor changes in the makefiles
			- still to do: garbage collection from 'internalnode'
			  in master process

4.1.a19   13.10.1999	- adding the output of standardized (i.e. sorted) 
			  puzzling step trees. Those are printed to the 
			  standard output at the moment. (Routines to sort 
			  and print the trees implemented)
	  14.10.1999	- routines for printing the sorted trees to a string.
			  needed to send them between Master and Worker, and
			  to have a unique key to sort and count the trees.
          21.10.1999	- counting of sorted trees implemented by doubly linked
			  list, sort routine, print to stdout
          25.10.1999	- change place of writing distances to file right after 
			  distances have been computed.
			- output of puzzling step trees now with true name, 
			  not numbers
          02.11.1999	- parallel counting and sending of puzzling step trees
			- some parallel sending bugs fixed

4.1.a18   14.09.1999	- adding possibility to specify input file at 
			  command line, this specifies also the output
			  filenames (puzzle output: *.puzzle; treefile:
			  *.tree; distances: *.dist; Triangel EPS: *.eps;
			  unresolved: *.qlist; puzzling step trees: *.pstep)
			  If an unexisting name is given, one has to reenter
			  the right name, but the wrong one is used as prefix.
          15.09.1999	- sending back of bad quartets from slaves added
			- bug in quart2num fixed (not used before; was shifted 
			  by 1)
			- first version of a README added ;-)

4.1.a17   03.08.1999	- Recv-Error in receiving DoPuzzleBlock fixed
			- double freeing of same MPI_Datatype fixed
			- changing of scheduling algorithm to smaller chunks 
			  in gss -> sgss
          13.09.1999	- bug fixed in optimization routine in ml2.c:
			  boundary check added

4.1.a16   12.07.1999	- slight changes in verbosity levels
			- changed all printf to FPRINTF(STDOUTFILE to
			  change easily from stdout to a file.

4.1.a15   08.07.1999	- scheduler for both parallel parts
			- several small changes

4.1.a14   25.06.1999	- computation of tree parallel, scheduler dependent,
			  sending all biparts in one message instead of one
			  by one 
			- several small changes since a13 in sched.c, et al.

4.1.a13   10.06.1999	- computation of tree parallel (chunk = #trees/#slaves)
			- scheduling schemes implemented for minimum chunk sizes

4.1.a12   07.06.1999	- computation of quartets properly parallel
			- scheduling implemented
			- counting of quartets by slave ajusted
			- TODO: sending of bad quartets (array + list)
			- distinction between '1st user tree' and 'NJ tree'
			  in result output removed again

4.1.a11   28.05.1999	- PP_SendDoQuartBlock, PP_RecvDoQuartBlock,
			  PP_SendQuartBlock, PP_RecvQuartBlock
			- mallocquartets() changed from global to local
			  variables to be more flexible
			- Quartet computation moved to slave (badquartet
			  handling missing: output, badquartet vector);
			- distinction between '1st user tree' and 'NJ tree'
			  added in result output (puzzle1.c around l.1756)

4.1.a10   20.05.1999	- num2quart, numquarts, quart2num introduced
			- parallel init/finalize, quartets computed on
			  master and slave, compared -> equal -> all necessary
			  parameter exported

4.1.a9    19.05.1999	- 'dvector forg' removed from onepamratematrix
			  cmdline, because it's not used in the function.

4.1.a8    18.05.1999	- add _GAMMA_ (not necessary) to gamma.h and _PUZZLE_
			  to puzzle.h to avoid dublicate includes, possible
			  due to ppuzzle.h
			- ppuzzle added to makefile and to check
			- 1st parallel version but no slave computations
			  only sending parameters and done signals.

4.1.a7    18.05.1999	- export reevaluation of tree and evaluation of
			  usertrees to evaluatetree.

4.1.a6    17.05.1999	- -DNEWFORLOOP added to fixed.src, because the changed
			  for loop structure changes the sequence of randomized 
			  quartets during likelihood mapping
			- change 'int main()' to 'int main(argc, argv)'
			- export more functionalities from main:
			  memcleanup(), inputandinit(&argc, &argv)
			- grouping if's (excluding eachother) together in 
			  switch() 
			- split treereavaluation and 1st usertree, 
			  evaluate all usertrees together (TODO: both,
			  treereavaluation and usertrees in one loop)
			- MAKE CHECK added to ./makefile

4.1.a5    16.05.1999	- adding ´dvector Brnlength´ to lslength cmdline to 
			  reduce globality of Brnlength. (Later better to *Tree)

4.1.a4    11.05.1999	- structure of for loops changed in computeallquartets
			  and recon_tree, so that the quarted addresses are in 
			  one contigous sequence (for a<b<c<d). This reduces 
			  swapping on low memory machines and is easier to 
			  parallelize.

4.1.a3    07.05.1999	- export likelihood mapping from main to map_lklhd()
			- export tree reconstuction from main to recon_tree()

4.1.a2    06.05.1999	- moving all quartet_(a)lklhd calls to a general 
			  purpose routine compute_quartlklhds()

4.1.a1   06.05.1999	- Macro constants for typ_optn and puzzlemode
			  for better readability.
			- Ring counter for typ_optn and puzzlemode in
			  the menu realized with mod (%) instead of IF.
			- Possibility added to switch to a fixed random 
			  seed (-1) or/and fixed 'random' integers (0)
			  by using -DFIXEDRANDSEED and -DFIXEDINTRAND options.


