-
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.
Using travis-ci would also be a good option.
- Identify the important options for spike sorting and separate them from the options that only control appearance of the GUI.
- Enhance the support of options per dataset (datasets can have different options coming with them). At the moment, a file
local_options.py
in the datafolder is parsed, but that's not the optimal way to do it. - 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.