Closed mvences closed 3 years ago
I feel that trying to squeeze these two different functionalities into the same GUI might not be the best. Maybe it would be better for this to be a separate tool that shares internals with TaxI2 (similar to fastsplit and fastmerge)?
If you feel this would make the code overly complex, then proceeding as you suggest (with a separate tool) would be an option. So I would set my preferences as follows:
My preference would still be to have both functionalities in one. Maybe nevertheless the code could be separated in two different files, one for each of the functionalities. But maybe this is not possible or very convoluted, I am not a programmer and cannot judge it.
If you feel that separating the two functionalities into two tools would be better and would allow for a "cleaner" code that can also more easily be understood by others, then go ahead with this option. However, in this case, we need to reconsider the names of the tools. Since the "compare against reference database" was the initial purpose of "TaxI", I think this (new) tool then needs to be the one named "TaxI2". And, for the already existing tool, I will need to come up with a new name. But for now we could name the repository for the new tool just "TaxI2a" and I will think about the names in the next days.
I am creating this issue here just to keep track of the progress. For detailed explanation and suggestions, please see the PDF file that I sent by email.
In brief, the program should include a "Compare against reference database" option is selected, then an entirely different code will be executed: In this case, the user has to open two files (the database and the query file). Then, each of the query sequences is successively pairwise aligned and compared with each of the database sequences, and the program outputs then a file that prints for each query sequence the closest (smallest distance) of the reference sequences.