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 ([email protected])
Jeffrey Erlich ([email protected])
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.sh
on HPC to evokeTrainingTime.py
. All weights after certain training epochs will be saved. - Run
sbatch testTrainingTime.sh
on HPC to evokeTestTrainingTime.py
. Similarly runsbatch testTrainingTimeFine.sh
to 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.ipynb
andDiluteActivation.ipynb
to obtain figures. - Run jupyter notebook
PETH.ipynb
to choose sample PETH.
- Run
sbatch trainBlock.sh
on HPC to evokeBlockTime.py
. All weights after certain training epochs will be saved. - Run
sbatch testBlockTime.sh
on 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.sh
on HPC to evokeTrainRatioTime.py
. All weights after certain training epochs will be saved. - Run
sbatch testTrainingTimeRatio.sh
on 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.ipynb
to check the performace over time. - Run jupyter notebook
Ratio.ipynb
.
- Run
countSpikes.m
to produce spike counts. - Run
convertBehavior.m
to extract necessary information from the original huge data file for running Python scripts. - Run
realRatEphysTrainClfs.py
andrealRatEphysTrainClfsTarget.py
- Run
ratSGDrule.m
,ratSGDTarget.m
,RNN_SGD_rule.m
andRNN_SGD_target.m
. - Run jupyter notebook
realRatEphys.ipynb
. . Run jupyter notebookrealRatEphysTarget.ipynb
. - Run jupyter notebook
realRatBehavior.ipynb
.