Open ghost opened 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
Original comment by: mjdominus
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