Skip to content

elifesciences-publications/apicalTuftPaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About Apical Tuft Paper code repository:

This repository contains all the code and data used within the following manuscript:
Cell-type specific innervation of cortical pyramidal cells at their apical dendrites
Ali Karimi*, Jan Odenthal*, Florian Drawitsch, Kevin M. Boergens, Moritz Helmstaedter
* equally contributing

This code repository was developed at the Max Planck Insitute for brain research (2015-2020)

How to get the code repository:

You can download the complete code repository via the Download option on top of this page (cloud icon).
Alternatively, you can type one of the following commands in your command prompt:
HTTPS:

git clone https://gitlab.mpcdf.mpg.de/connectomics/apicaltuftpaper.git

SSH:

git clone git@gitlab.mpcdf.mpg.de:connectomics/apicaltuftpaper.git

Make sure you have git installed. In addition, you need to configure your SSH keys in case you do not want to use HTTPS.

You can then set your matlab working directory to this code repository and run the following command:

>> startup

This should add the necessary paths to you matlab working environment.

Requirements:

This code repository is written in MATLAB and tested using version R2019a. In addition to the basic matlab installation, specific segments of the code might require the following packages to be installed as well:

  • 'Statistics and Machine Learning Toolbox'
  • 'Curve Fitting Toolbox'
  • 'Bioinformatics Toolbox'
  • 'Parallel Computing Toolbox'
  • 'MATLAB Distributed Computing Server'

However, most analysis carried out does not require any of the packages

General purpose

The purpose of this repository is to provide an easily accessible MATLAB interface for generation of the figures used in the manuscript.
In addition, this repository contains utility functionality for reading and analyzing skeleton reconstruction of neurons. These reconstructions were generated using webKnossos. All 6 electron microscopy datasets are available publicly (see section "Data availability" in the manuscript for specific URLs).

Contents

This code repository is organized into MATLAB packages (folders starting with "+") To access the methods/scripts of each package you need to use dot notation. Here's some examples:

>> mypackage.script
>> mypackage.mysubpackage.script
%% Example from this code repository: synapse density Fig. 1d,f
>> Figure1.DE_synapsePathDensity

Here's a list of the contents:

  • /code
  • +FigureN: Contains scripts to generate figures used in Figures 1-7 of the publication
  • +axon: Routines used for presynaptic analysis (mostly used in Fig. 3-4)
  • +dendrite: Routines used for postsynaptic analysis
  • +surface: Routines used for surface generation from volumetric data. This section is only used to generate isosurfaces imported to Amira.
  • +util: All the utility functionalities specific to this repository
  • +config: configuration files for each annotation NML file type
  • @apicalTuft: Class used for parsing the skeleton annotations and their properties. This is a subclass of the skeleton class (See auxiliaryMethods).
  • auxiliaryMethods: Other utilities used for the analysis.
  • /data
  • skeletonReconstruction: contains all the skeleton reconstructions used for the analysis.
  • Other: contains other data files such as volume annotations (wkw format), MAT and excel files containing the raw data.

Structure of scripts in /code/+FigureN/

These scripts generally implement the following structure (with exceptions):

  1. Data is read from the NML files (XML-based format) into objects of type apicalTuft (see "/code/@apicalTuft/apicalTuft.m" for more details). This is a subclass of skeleton class ("/code/auxiliaryMethods/@skeleton") that represents skeleton reconstruction as a Graph (nodes and edges connecting them). Each node also contains comments (strings) added by annotator to note various features such as synapse type.
  2. Features of annotations (dendrite or axons) such as synapse count, location, path length of dendrite, diameter measurements are extracted using methods of apicalTuft object and other utility functions in +util, +dendrite and +axon matlab packages.
  3. Then some combination of the following steps happen:
    • Data is processed and passed to matlab graphing functionality to generate the figure panels. Figures are then usually saved as SVG files (vector graphics) to be imported into illustrator.
    • Specific measures (e.g. synaptic density, total dendritic/axonal path length) are extracted to be reported in the manuscript. This results are saved to excel/text files.
    • 3D shapes are written for use in 3D visualizations in Amira (Surface meshes, tubes and spheres, i.e. Figs. 1b,c, 2a)

Authors

The Apical Tuft Paper code repository was developed by

  • Ali Karimi

With significant contributions by

  • Jan Odenthal

under scientific supervision by

  • Moritz Helmstaedter

Most analysis is done on webKnossos NML neurite skeleton files and makes use of an efficient NML parser developed by

  • Alessandro Motta

The Matlab class used to represent single neurite skeletons and other utility functionalities used for analysis is developed by:

  • Benedikt Staffler
  • Alessandro Motta
  • Florian Drawitsch
  • Ali Karimi
  • Kevin Boergens

Volumetric data used to generate surfaces uses the Webknossos-wrapper file format. You can visit their website for a complete list of authors.

License

This project is licensed under the MIT license. Copyright (c) 2020 Department of Connectomics, Max Planck Institute for Brain Research, D-60438 Frankfurt am Main, Germany

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages