-
Notifications
You must be signed in to change notification settings - Fork 17
-
Because Combinato makes use of asynchronous I/O (https://en.wikipedia.org/wiki/Asynchronous_I/O). This makes spike extraction much faster. Python's support for asynchronous I/O is better than Matlab's.
-
Because Combinato runs on an arbitrary number of CPUs. Python's support for parallel computing is better than Matlab's.
-
Because Combinato is designed to run on remote servers.
-
Because we wanted Combinato to be a free product, without any dependencies on commercial software.
- Because this makes it easy to write shell scripts for clustering, especially when working with job files.
- Because this keeps the memory load small (no interactive Python interpreter has to run)
- Because this makes it easy to use
screen
(https://www.gnu.org/software/screen). By using Combinato withscreen
, you can log in to a remote server, start a long clustering process (for example using job files), detach from the session, log in after a day, and re-attach the clustering session.
There is always a trade-off between over- and under-clustering. The rationale is that Combinato enables you to sample the full spectrum of over-/under-clustering by tuning a handful of parameters. If the default parameters (combinato/options.py
) create over-clustered data, play around with the parameters. Other spike sorting programs might not give you the option to over-cluster, but then they are likely to under-cluster, which might not always be desired either.
-
If you are used to the Linux shell, git, and Python, then installing Combinato is very easy. This is just a different ecosystem than Windows and Matlab.
-
Feel free to make suggestions on how to improve the process. Please use the repository's infracstructure: Issues and this Wiki!