odiogosilva / trifusion Goto Github PK
View Code? Open in Web Editor NEWStreamlining phylogenomic data gathering, processing and visualization
Home Page: http://odiogosilva.github.io/TriFusion/
License: GNU General Public License v3.0
Streamlining phylogenomic data gathering, processing and visualization
Home Page: http://odiogosilva.github.io/TriFusion/
License: GNU General Public License v3.0
For certain actions such as open files, find/search, etc, provide keybindings.
Add support for concatenation of zorro files along with their respective alignments
When adding bookmarks in the input data file chooser, it is possible to add duplicate bookmarks, even though it should not be so. This creates problemas when removing the bookmark button. Bookmark duplication should be prevented.
Some options of the process screen are less familiar to users or their settings may be ambiguous. For those, a "help" button that generates an informative popup should be added.
While the select/deselect all buttons start disabled and are enabled when data is loaded into the program, when this data is completely removed, they remain enabled when they should be disabled again.
The popup generated for taxa and file buttons in the side panel should use the same attributes and methods of all other popups in the app, in order to gain consistency.
When collapsing, the name of the haplotypes should be user specified, even though a default name is provided.
The dialog for loading the partition file should be further enhanced with a find field, current directory label and perhaps another label with the currently selected/loaded partition file
When concatenating files into Phylip format, a part.File with the partitions is always created. However, there should be an option to prevent this behaviour.
A common mistake may be to execute operations in Process without providing input data, which currently crashes the app. A warning dialogue should be presented instead, perhaps with a button redirecting to the input data file chooser.
Add the option to filter missing data from the input alignments
For nexus, phylip or mcmctree formats, users should be able to specify substitution models
As of now, there is no specific order of appearance for taxa buttons in the taxa group creation popup. Also, when moving taxa between the "selected taxa" and "all taxa" list, the original order is not maintained. Ideally, taxa should be ordered alphabetically and this order should be preserved when moving taxa buttons.
The side menu could be unselected by clicking somewhere else in the app, instead of just in the side menu button.
The handling of substitution models in TriFusion could be improved, probably by creating an appropriate class that contains the substitution models for popular softwares such as PhyML, RAxML, MrBayes, etc. This can be simple in RAxML, where only the name of the model needs to be specified, but in cases such as MrBayes where models are specified using certain commands it is a bit more complex. Nevertheless, when creating a Nexus file, the user should be able to select a model and that model should be written in the nexus file.
In case the user wants to concatenate between dozens and thousands of files, specifying a model to each partition individually will not be possible. Therefore, perhaps there should be an option to provide a file mapping the partitions to their models or some other batch method to link partitions to their substitution models?
The current implementation of the file chooser for input/output data lacks an informative label with the current path.
The button in the second slide of the taxa panel encharged of opening the taxa group creation dialog is not responding. It appears to have something to do witht the scrollview in the third slide.
available_screens is a list with the paths to the .kv files, and loaded_screens is a dictionary containing the paths to .kv files as a key and a respective None as value is the screen has never been loaded, or a screen object with the last state of that screen. These attributes may be merged to reduce the attribute load.
The current implementation of reverse complementation lacks a checking step that ensures the length of the alignment and of the partition matches
When browsing in the open files menu it might be handy to have some type of search like in a File Manager, such as ctrl + f or even by typing the first letter of the desired file. It would be nice if you implement this.
Clear options button in the Process screen should not hide the additional options, if they are visible.
One of the main requirements of the Taxa/File informative popups, is that the relevant text can be selected and copied, which is why the first implementation was a CodeInput widget. However, both CodeInput and TextInput lack formatting capabilities that would be usefull when presenting the data. An alternative would be to create a popup with a mix of Label and TextInput widgets, so that the descriptive text would be formatted in Labels and the informative text would be in TextInput fields.
The side bar should close whenever there is a mouse click outside its position, excepto for closing popups
The AlignmentList object is missing a wrapper for the collapse method of the Alignment object. This would be important, since AlignmentList is intended to have as much functionality of the Alignment object as possible to perform downstream procedures.
Add option to code gaps in the alignment for the nexus output format
Overing popups might be helpful for certain options of the app, for example when setting sequence filter options in the "process menu". Overing popups in the file/taxa names (when larger than the their buttons) are also useful.
I would suggest that you provide a option to make search without case sensitive.
The size of the scrollview for the files and taxa tabs in the side panel does not update perfectly with the addition of taxa/files buttons
Using the view queue button in Process screen opens the side panel in the correct slide, but does not change the side panel button
Using raxml-like of nexus partition blocks, users should be able to reverse the contantenated file into individual alignments
For files with large names, the title of the File informative popup tries to wrap the text instead of truncating it, creating a badly formated popup
All check dialogs contain the same labeled text. I could be nice to personalize the text to the action that is being checked.
As of now, providing invalid input files causes the app to crash due to an unhandled exception. Checks for input file validity should be made before creating the Alignment objects and to prevent the app from crashing.
The opening of the treeview with the operations queue is not consistent. The tree should remain open, perhaps only for the active modules
In the output format popup (process menu) there is a typo where Nexus is written "Mexus".
Performing a concatenation without specifying an output file should issue a warning instead of trying to write the concatenate alignment in a file name with an empty string
There is a bug where the output file does not show when main operation is concatenation.
Another suggestion is to move the information of additional output files from secondary operations to the output files.
When concatenating files into nexus format from the GUI app, the charset block will contain the full path of the individual input alignments, which is certainly not ideal since paths can be lengthy and might introduce some illegal characters. Therefore, in cases where the input alignment is provided with the full path, this should be trimmed before writing the charset block.
Add option to colapse data sets
Clicking the execution button should display a dialog containing information on the operations that will be executed and the number of output files that will be created. It should also display a progression bar and some information at the end stating whether the operations were successfully executed or not.
It could be worthwhile exploring the possibility of dragging input files to the app window and automatically open them, like when using the file chooser. This would create a workaround of the currently limited ability of kivy's filechooser to select a large number of files
For nexus files, it would be possible to automatically recognize if the file is concatenated or not. This would have impact on the informative popup of the file and on some options of the process screen
Users should be able to define multiple taxa groups that can be used for different operations. This could be done in one of the menus in the side panel. Also, in addition to manually select groups, users can also provide text files that map taxa to groups
Since multiple operations may be specified before executing the program, a panel with the scheduled operations would be helpful.
Toggle buttons in the action bar, side bar and side menus that belong to specific groups should become static when active, that is, they should not toggle again when their state is down.
Once opened the file/taxon popups can only be closed by clicking somewhere else in the app, however it would be fine to have a classical "close" button.
Add possibility to clear all options from Process screen and reset them to the default values
Similar to #21, the code_gaps method of Alignment should be available for the AlignmentList object
Rather than closing with alt + f4 or another keyboard shortcut, you can also add a close button for the app.
Add support for IMa2 output format
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.