TreeBASE / treebase

Source code for TreeBASE web application and database
http://www.treebase.org
BSD 3-Clause "New" or "Revised" License
9 stars 3 forks source link

Merge Algorithm classes and expand algorithm choices #88

Open ghost opened 15 years ago

ghost commented 15 years ago

Algorithm is an abstract class from which ParsimonyAlgorithm, DistanceAlgorithm, LikelihoodAlgorithm, and OtherAlgorithm are derived. ParsimonyAlgorithm uses three other classes (GapMode, UserType, and PolyTCount) that are not used anywhere else.

These should be merged into a single class with a flag and some sort of associated string data; the GapMode, UserType, and PolyTCount tables should be eliminated.

Regarding this design, Jin Ruan, the original designer, says:

(04:48:42 PM) Jin Ruan: The algorithm design is not well reviewed. What is there was the first pass I had to model different algorithms into the system. The reason for different subclasses was to enable more interactions/relationships between generated trees with a particular algorithm. However we never actually design/ implment any use case to use that design in treebase2. That is why we have this first pass design but it is largely not used. Please feel free to redesign it. For example, as a starting point using a string instead of different subclasses.

Reported by: mjdominus

ghost commented 15 years ago

Bill also says that the UI for the algorithm for an analysis step should include the following items:

• Under analysis step entry, the "algorithm" lists the following in to popup: maximum likelihood, parsimony, distance, and other. Please change it to the following:

bayesian inference maximum likelihood minimum evolution neighbor joining parsimony UPGMA other

Original comment by: mjdominus

ghost commented 15 years ago

Original comment by: mjdominus