Requirements and Installation - JaneliaSciComp/JRCLUST GitHub Wiki
Requirements
Mathworks MATLAB
R2014a or later
Toolboxes: Image processing, Signal processing, Parallel computing, Statistics and machine learning
Note that MATLAB 2017a or greater is required to use NVIDIA GTX 1080 series GPUs which require CUDA v8.0.
Computer hardware
NVIDIA GPU
Compute Capability 3.5 or greater is required (Kepler, Maxwell, Pascal or newer series).
GPU memory of 4 GB or greater is recommended.
Note that GTX 1080 series requires CUDA 8.0 which is supported by MATLAB 2017a or later.
RAM
~1/4 of the maximum raw recording file size
Software
Git: Allows JRCLUST to update code from GitHub by running "jrc git-pull"
Microsoft Visual C++ 2013 (v12)
This is optional if you want to run other spike sorting software (such as Kilosort) through JRCLUST interface
NVIDIA CUDA toolkit for GPU: Please install the correct version for your Matlab version
-
MATLAB R2017a: CUDA v8.0
-
MATLAB R2016a,b: CUDA v7.5
-
MATLAB R2015b: CUDA v7.0
-
MATLAB R2015a: CUDA v6.5
-
MATLAB R2014b: CUDA v6.0
Latest NVIDIA GPU driver
Installation
- Disable NVIDIA Watchdog timer Run Nsight Monitor > Nsight Monitor options (bottom right) > set "WDDM TDR enabled" to false.
- (optional to compile Kilosort) Set the system path to the Microsoft C compiler (cl.exe) by editing "PATH" variable in "Environment Variables" in Windows. cl.exe is found in "C:\Program Files (x86)\Microsoft Visual Studio 12.0\vc\bin\amd64" for Visual Studio 2013 (v12)
- Download the JRCLUST from GitHub. Git must be installed. Run
-
git clone https://github.com/jamesjun/JRCLUST.git my_destination
- Replace "my_destination" with a desired installation directory.
-
- You can update JRCLUST from GitHub by running
-
jrc git-pull
-
- For Mac and Linux, you needs to recompile the CUDA code by running
-
jrc compile
-
Test using a sample data
-
Download sample data by running
jrc download sample
-
Create a new parameter file
jrc makeprm sample.bin sample.prb
This creates "sample_sample.prm" file. -
Display the raw traces
jrc traces sample_sample.prm
or you can also run
jrc traces
You can omit sample_sample.prm since JRCLUST remembers the working parameter file.
Run "jrc clear" to clear the cached memory in JRCLUST.
-
Run spike sorting
jrc spikesort
-
Manual verification/sorting
jrc manual
-
You can clear the memory and delete all output files for a given parameter file by running
jrc clear sample_sample.prm
-
To test the full suite, run
jrc unit-test