Skip to main content

Tools for the GridTape-TEM dataset of an adult female fly's Brain And Nerve Cord

Project description

The Brain And Nerve Cord fly connectome

The BANC (pronounced "bank") is the Brain And Nerve Cord, a GridTape-TEM dataset of an adult Drosophila melanogaster's entire central nervous system. This dataset was generated by Jasper Phelps and Minsu Kim in Wei-Chung Lee's lab at Harvard Medical School. A paper describing the dataset is currently in preparation.

This repository contains:

  • A python package for interacting with the connectome data (see the folder banc/, and installation instructions below).
    • The banc package is a fork on the fanc (Female Adult Nerve Cord) package, which can be found at the upstream repository. Note that to make it easier to synchronize new features in banc and fanc packages, the folder banc/ in this repo is a link to the folder fanc/ – but files in this repo's version of the fanc/ folder have been adapted for use with the BANC.
  • Other information about the dataset and about the community effort to proofread the connectome (see the wiki).

Have any questions? Please open an issue or contact Jasper Phelps (jasper.s.phelps@gmail.com).

Installing and configuring the banc python package

Before you start

As is always the case in python, consider making a virtual environment (using your preference of virtualenv/virtualenvwrapper or conda) before installing.

Installation option 1: pip install from PyPI

pip install banc

Installation option 2: pip install directly from GitHub

The code on GitHub will sometimes be slightly more up to date than the version on PyPI

pip install git+https://github.com/jasper-tms/BANC-fly-connectome.git

Installation option 3: Clone then install

This is the best option if you want to make changes yourself to the code

cd ~/repos  # or wherever you keep your repos
git clone https://github.com/jasper-tms/BANC-fly-connectome.git
cd BANC-fly-connectome
pip install -e .

Troubleshooting

Depending on your Python 3 version and your operating system, you may need to battle some bugs in order to get the pip install commands above to succeed.

If you get something that looks like

.. ERROR:: Could not find a local HDF5 installation.
   You may need to explicitly state where your local HDF5 headers and
   library can be found by setting the ``HDF5_DIR`` environment
   variable or by using the ``--hdf5`` command-line option.

and you're on a Mac, install brew (https://brew.sh) if you haven't yet, then use brew to install HDF5 with brew install hdf5, then put HDF5_DIR=/opt/homebrew/opt/hdf5 in front of your pip install command (e.g. HDF5_DIR=/opt/homebrew/opt/hdf5 pip install banc).

If you get an error that contains

Error compiling Cython file:
...
Cython.Compiler.Errors.CompileError: tables/utilsextension.pyx

try to pip install the latest version of tables from GitHub by running HDF5_DIR=/opt/homebrew/opt/hdf5 pip install git+https://github.com/PyTables/PyTables, or alternatively, use conda to install it (conda install tables). After you get this package installed successfully, try installing banc again.

Provide credentials

Access to the latest reconstruction of BANC is restricted to authorized users. If you are a member of the BANC community (see Collaborative community on this repo's wiki) and have been granted access, you can generate an API key by visiting https://global.daf-apis.com/auth/api/v1/create_token and logging in with your BANC-authorized google account. Copy the key that is displayed, then run the following commands in python to save your key to the appropriate file:

import banc
banc.save_cave_credentials("THE API KEY YOU COPIED")

Alternatively, you can manually do what the command above accomplishes, which is to create a text file at ~/.cloudvolume/secrets/cave-secret.json with these contents:

{
  "token": "THE API KEY YOU COPIED",
  "brain_and_nerve_cord": "THE API KEY YOU COPIED"
}

You can verify that your API key has been saved successfully by running:

import banc
client = banc.get_caveclient()

Optional installation steps for additional functionality

Install Elastix to transform neurons into alignment with the VNC template

The mesh manipulation and coordinate transform code requires pytransformix, which is itself a Python wrapper for Elastix. Therefore, Elastix must be installed and its lib and bin paths must be appended to the LD_LIBRARY_PATH and PATH environment variables. See pytransformix documentation for specific instructions.

Documentation

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

banc-0.5.3.tar.gz (103.5 kB view details)

Uploaded Source

Built Distribution

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

banc-0.5.3-py3-none-any.whl (94.2 kB view details)

Uploaded Python 3

File details

Details for the file banc-0.5.3.tar.gz.

File metadata

  • Download URL: banc-0.5.3.tar.gz
  • Upload date:
  • Size: 103.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for banc-0.5.3.tar.gz
Algorithm Hash digest
SHA256 e98613c99377e5c9082f7cf7d02b1e058f8444cdf6f98806f3fd8014935d5e8c
MD5 cbd304faa0b8d91ea5dc1e121aa6a78c
BLAKE2b-256 2aad3e3f9f8b45e5d1c9b9444a8a0088162c7867300563b15440e35e67a3e7ab

See more details on using hashes here.

File details

Details for the file banc-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: banc-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 94.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for banc-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c885bd6a07b0709b07abd7734c5e64c8c70880602b6f32df0cc8b4b1003c9d10
MD5 629c9344fe34d80e214b6f8d52ff833c
BLAKE2b-256 0da34ca954bc582a15df0a11d1e3dce8524ebbdd99693c5ed2a09d583549e296

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