GithubHelp home page GithubHelp logo

odiogosilva / trifusion Goto Github PK

View Code? Open in Web Editor NEW
87.0 10.0 23.0 102.59 MB

Streamlining phylogenomic data gathering, processing and visualization

Home Page: http://odiogosilva.github.io/TriFusion/

License: GNU General Public License v3.0

Python 99.90% Makefile 0.07% Dockerfile 0.03%
python phylogenetics phylogenomic genetics orthologues gui kivy visualization

trifusion's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trifusion's Issues

Add keybindings

For certain actions such as open files, find/search, etc, provide keybindings.

Zorro support

Add support for concatenation of zorro files along with their respective alignments

Bookmark duplication issue

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.

Inconsistency in Taxa/File popup

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.

Reverse concatenation load dialog

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

part.File option in Phylip output format

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.

Prevent process execution without input data

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.

Taxa order in taxa group creation

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.

unselect app menu

The side menu could be unselected by clicking somewhere else in the app, instead of just in the side menu button.

Improve substitution model handling

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?

Add taxa group button not working

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.

merge loaded_screens and available_screens

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.

Check reverse concatenation

The current implementation of reverse complementation lacks a checking step that ensures the length of the alignment and of the partition matches

searching for files in open files menu

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 issue

Clear options button in the Process screen should not hide the additional options, if they are visible.

Better Taxa/File popups

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.

Add collapse method to AlignmentList

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.

overing popups

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.

Side panel scrollview

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

Operation queue button

Using the view queue button in Process screen opens the side panel in the correct slide, but does not change the side panel button

File popup title

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

Personalized checking dialogs

All check dialogs contain the same labeled text. I could be nice to personalize the text to the action that is being checked.

Handle invalid input files

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.

Operation queue visualization

The opening of the treeview with the operations queue is not consistent. The tree should remain open, perhaps only for the active modules

Mexus format

In the output format popup (process menu) there is a typo where Nexus is written "Mexus".

Concatenation without output file

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

Operation queue issues

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.

Unsuitable charset when concatenating into Nexus format

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 dialog for execution button

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.

Drag and Drop input files

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

Automatic recognition of concatenated file

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

Allow definition and selection of taxa groups

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

History/Schedule panel

Since multiple operations may be specified before executing the program, a panel with the scheduled operations would be helpful.

Static active toggle buttons

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.

Closing file/taxon popups

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.

Clear options

Add possibility to clear all options from Process screen and reset them to the default values

Close app

Rather than closing with alt + f4 or another keyboard shortcut, you can also add a close button for the app.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.