Skip to main content

Calcium Imaging and Behavior Analysis

Project description

caliban: Calcium Imaging and Behavior Analysis

...in dreaming,
The clouds methought would open, and show riches
Ready to drop upon me; that, when I waked,
I cried to dream again.

The Tempest, Act III, Scene ii

Twinkling calcium imaging videos are certainly filled with riches. Whereas Caliban is showered with riches in his slumber, we must dig a little harder to mine these datasets. This software was developed to assist fellow wayward travelers on their journey to understanding how neurons encode information.

This code base was written with the intention of serving as a toolbox for:

  1. Statistical Testing of neuron classification by behavior.
  2. Visualization of neural activity and behavior data
  3. Graph Theoretical Analysis of networks of neurons.
  4. Data Visualization tool -- see the "full picture" of the data garnered from experiments with integration of calcium imaging movies, behavioral videos, and data processing results.

For any feature requests, create an issue.

Getting Started

Docker (Windows Users)

Certain functions do not work properly on Windows, so it is advised that you run your analysis on a Docker container. This will set up a virtual linux environment on your computer. It also allows you to easily control which packages and versions that are present when you run your analysis. Thus, if you or someone else wants to rerun the analysis in the future, they can load your container to get the same computational environment.

  1. Download and install Anaconda (Python 3.X)

  2. Download and install Docker (Windows 10 is strongly recommended).

  3. Clone the repository:

git clone https://github.com/jaberry/caliban.git
  1. Navigate into your local repository and build the Docker image:
cd caliban
docker build --build-arg USERNAME=your_GitHub_username --build-arg PASSWORD=your_GitHub_password . -t jupyter
  1. Use the image to run a container:
docker run -it -p 9999:9999 my_analysis_container

If you need to mount data to the container, then use the following command:

docker run -it -p 9999:9999 -v source_directory:target_directory my_analysis_containter

For example, if you have data in myfolder1/data, and a folder of notebooks in myfolder2/notebooks, then you can mount both using:

docker run -it -p 9999:9999 -v myfolder1/data:/mnt/data -v myfolder2/notebooks:/mnt/notebooks my_analysis_container
  1. You should see something along the lines of:
...
    Or copy and paste one of these URLs:
        http://127.0.0.1:9999/?token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Now open your browser window and go to the URL that was created for you. You can see the containers you have created by opening the Docker Dashboard that is part of the Docker application. They are given weird codenames like "admiring_bohr". You can open previous containers that you created from the Dashboard, so you don't need to do docker run again unless you want to make a new container.

Installation on Mac or Linux (Python 3.x)

Using a Docker container is optional for Mac or Linux, since all the functions should work properly. However, you can follow the instructions above if you wish to use Docker.

  1. Download and install Anaconda (Python 3.X)

  2. Clone the repository:

git clone https://github.com/jaberry/caliban.git
  1. Navigate into your local repository and create your environment:
cd caliban
bash create_env.sh

Troubleshooting

Create an issue For members of the Hen Lab, feel free to message Jack Berry via Slack.

dependencies = [ 'cython==0.29', 'jupyter==1.0.0', 'networkx=2.2', 'numpy=1.15.4', 'pandas=0.24.1', 'python=3.7.1', 'scikit-learn=0.20.1', 'seaborn=0.9.0', 'h5py', 'holoviews', 'shapely', 'py-opencv', 'bokeh' ]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jb-caliban-0.0.2.tar.gz (137.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jb_caliban-0.0.2-py3-none-any.whl (146.3 kB view details)

Uploaded Python 3

File details

Details for the file jb-caliban-0.0.2.tar.gz.

File metadata

  • Download URL: jb-caliban-0.0.2.tar.gz
  • Upload date:
  • Size: 137.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

File hashes

Hashes for jb-caliban-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b3c2254f4ce2931b596c3f4a19b59fb8b18d3a24613f83c544e734aea4029781
MD5 d6ff399d47904f08434652238448784d
BLAKE2b-256 c977198965421b62eb27377b109c3e25513201fcfd3c59d66a0e4d6232a6c21b

See more details on using hashes here.

File details

Details for the file jb_caliban-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: jb_caliban-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 146.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

File hashes

Hashes for jb_caliban-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b5d04d5d4cd47ea8354ee18e3eb73f80025435f8eeeec48ea7d83a966cd7f24d
MD5 b044eaf44e29a4f4bcde796a03fdcf0b
BLAKE2b-256 c1b9d0d737ba243a6a425c23faedaabd8d6cbe9aa40139cb9791fa9d2123ee42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page