sherlock-topic-model-paper
sherlock-topic-model-paper copied to clipboard
Data and code for the paper "Geometric models reveal behavioural and neural signatures of transforming naturalistic experiences into episodic memories" by Andrew C. Heusser, Paxton C. Fitzpatrick, and...
Geometric models reveal behavioural and neural signatures of transforming naturalistic experiences into episodic memories
This repository contains data and code used to produce the paper "Geometric models reveal behavioural and neural signatures of transforming naturalistic experiences into episodic memories" by Andrew C. Heusser, Paxton C. Fitzpatrick, and Jeremy R. Manning.
The repository is organized as follows:
root
├── code : all analysis code used in the paper
│ ├── notebooks : Jupyter notebooks for paper analyses
│ ├── scripts : Python scripts for running analyses on a HPC cluster (Moab/TORQUE)
│ │ ├── embedding : scripts for optimizing the UMAP embedding for the trajectory figure
│ │ └── searchlights : scripts for performing the brain searchlight analyses
│ └── sherlock_helpers : Python package with support code for analyses
├── data : all data analyzed in the paper
│ └── raw : raw video annotations and recall transcripts
│ └── processed : all processed data
└── paper : all files to generate paper
└── figs : pdf copies of all figures
We also include a Dockerfile to reproduce our computational environment. Instruction for use are below (copied and modified from the MIND repo):
One time setup
- Install Docker on your computer using the appropriate guide below:
- Launch Docker and adjust the preferences to allocate sufficient resources (e.g. >= 4GB RAM)
- To build the Docker image, open a terminal window, navigate to your local copy of the repo, and run
docker build -t sherlock . - Use the image to run a container with the repo mounted as a volume so the code and data are accessible.
- The command below will create a new container that maps the repository on your computer to the
/mntdirectory within the container, so that location is shared between your host OS and the container. Be sure to replaceLOCAL/REPO/PATHwith the path to the cloned repository on your own computer (you can get this by navigating to the repository in the terminal and typingpwd). The below command will also share port9999with your host computer, so any Jupyter notebooks launched from within the container will be accessible atlocalhost:9999in your web browser docker run -it -p 9999:9999 --name Sherlock -v /LOCAL/REPO/PATH:/mnt sherlock- You should now see the
root@prefix in your terminal. If you do, then you've successfully created a container and are running a shell from inside!
- The command below will create a new container that maps the repository on your computer to the
- To launch any of the notebooks, simply enter
jupyter notebookand copy/paste the link generated into your browser.
Using the container after setup
- You can always fire up the container by typing the following into the terminal
docker start Sherlock && docker attach Sherlock- When you see the
root@prefix, letting you know you're inside the container
- If you launch the notebooks, you'll notice your shell is occupied by the output log from the
jupyterserver. To stop the notebook server, pressctrl + c, and thenywhen prompted. - To close the running container, press
ctrl + dor typeexitfrom the same terminal window you used to launch the container. - You can also open a second bash shell inside the container simultaneously by running
docker exec -it Sherlock bashfrom the terminal outside the container. Note that when you enter the container this way (rather than by usingdocker attach Sherlock), the container isn't automatically stopped when you exit it. To stop the container after exiting, enterdocker stop Sherlock.