Virtual Rat project is a computaional neuroscience project conducted by Xiangci Li as a research assistant at Erlich lab under the guidance of New York University Shanghai Professor Jeffrey Erlich. We showed that the task switch cost of rat's ProAnti orienting task can be modeled by an Elman Recurrent Neural Network. The experimental data are from Dr. Carlos Brody's lab at Princeton.
For any question, please contact
Xiangci Li (xiangci.li@nyu.edu)
Jeffrey Erlich (jerlich@nyu.edu)
From the perspective of implementation, Virtual Rat project consists of two parts: Virtual Rat (RNN model) and data analysis of rats' behavioral and electrophysiology data.
- Visit https://github.com/dmlc/minpy to setup Minpy and MXNet.
- Other requirements: Python 2.7, Numpy, Matplotlib, Scikit-learn, Scipy
MATLAB 2017a or later.
The codes for the final version of this project are all under publication folder.
figures folder saves figures produced. mats folder saves .mat files and pkls folder saves .pkl files.
- Run
sbatch trainingTime.shon HPC to evokeTrainingTime.py. All weights after certain training epochs will be saved. - Run
sbatch testTrainingTime.shon HPC to evokeTestTrainingTime.py. Similarly runsbatch testTrainingTimeFine.shto evokeTestTrainingTimeFine.py. The weights saved will be loaded to test the performance of the models and the results will be saved in the folderTrainingTime. - Run jupyter notebook
TrainingTime.ipynb. This notebook finds out best epochs to plot later figures. - Run jupyter notebook
VirtualRat.ipynbandDiluteActivation.ipynbto obtain figures. - Run jupyter notebook
PETH.ipynbto choose sample PETH.
- Run
sbatch trainBlock.shon HPC to evokeBlockTime.py. All weights after certain training epochs will be saved. - Run
sbatch testBlockTime.shon HPC to evokeTestBlockTime.py. The weights saved will be loaded to test the performance of the models and the results will be saved in the folderBlockTime. - Run jupyter notebook
Block.ipynb.
- Run
sbatch RatioTime.shon HPC to evokeTrainRatioTime.py. All weights after certain training epochs will be saved. - Run
sbatch testTrainingTimeRatio.shon HPC to evokeTestTrainingTimeRatio.py. The weights saved will be loaded to test the performance of the models and the results will be saved in the folderRatioTime. - Run jupyter notebook
TrainingTimeRatio.ipynbto check the performace over time. - Run jupyter notebook
Ratio.ipynb.
- Run
countSpikes.mto produce spike counts. - Run
convertBehavior.mto extract necessary information from the original huge data file for running Python scripts. - Run
realRatEphysTrainClfs.pyandrealRatEphysTrainClfsTarget.py - Run
ratSGDrule.m,ratSGDTarget.m,RNN_SGD_rule.mandRNN_SGD_target.m. - Run jupyter notebook
realRatEphys.ipynb. . Run jupyter notebookrealRatEphysTarget.ipynb. - Run jupyter notebook
realRatBehavior.ipynb.