Skip to content
Johannes Niediek edited this page Jun 15, 2016 · 3 revisions

Combinato FAQ

Why is Combinato not a Matlab program?

  1. 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.

  2. Because Combinato runs on an arbitrary number of CPUs. Python's support for parallel computing is better than Matlab's.

  3. Because Combinato is designed to run on remote servers.

  4. Because we wanted Combinato to be a free product, without any dependencies on commercial software.

Why is Combinato a collection of command line tools?

  1. Because this makes it easy to write shell scripts for clustering, especially when working with job files.
  2. Because this keeps the memory load small (no interactive Python interpreter has to run)
  3. Because this makes it easy to use screen (https://www.gnu.org/software/screen). By using Combinato with screen, 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.

Why does Combinato over-cluster the data?

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.

Why is it so complicated to install Combinato?

  1. 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.

  2. Feel free to make suggestions on how to improve the process. Please use the repository's infracstructure: Issues and this Wiki!