-
Notifications
You must be signed in to change notification settings - Fork 18
Combinato Roadmap
2015-Nov-11
Here I will try to lay out in which way I would like Combinato to move. This is of course meant as a basis for suggestions and discussion!
The headlines below are roughly in order of relevance as I perceive it.
It is a very ugly that at the moment various commands depend on the presence of ncs-files. For people working with data in mat-files, this is totally annoying. As eann suggested, there should be one module that takes care of finding relevant files for the scripts. So basically the idea is
- Identify where we need lists of files, and of which files
- Write functions that generate these lists
- Replace the original code by calls to the relevant functions
This is already partially implemented (e.g. /combinato/util/get_folder_structure.py
).
Of course it would make sense to include options that allow a handy selection of files on the command line. This is also true for some of the scripts in /combinato/tools
, e.g. old_format_output.py
.
Get rid of all the css-*
commands and create a single css-sorter
with subcommands like extract
, cluster
, combine
.
Advantages
- More than one step could be performed at the same time
- Parsing of options could be more uniform
- The --help would appear in one place, not scattered across multiple programs
Some very rudimentary tests are included in combinato/tools/test_installation.py
, and some of the other files contain test code, that is mostly never called. I also have a few tests ready that I maintain outside the repository.
As soon as this repository is going to be public, travis-ci will become free to use. I intend to use its excellent testing capabilities.
- Identify the important options for spike sorting and separate them from the options that only control appearance of the GUI.
- Make it possible to store options in a file along with the data, so that datasets can have different options coming with them.
- Properly log all actions in one log file per dataset.
All this is of course easier when there is just one css-
command already.
For many users, the whole issue with positive/negative spikes is not relevant at all. The problem is that we have to be backwards-compatible!
The managers in combinato/manager
do what they are supposed to do, but the code is ugly. It should be possible to unify the code much more, once we list what exactly we need.
At some point at least Qt5 should be used. Python3 is not something that I consider highly relevant [at the moment].