Git Product home page Git Product logo

kasthuri2015's Introduction

Reproducible Scalable Science

Currently, scientific research groups produce data in a variety of data formats and different conventions, making it difficult to share information across labs and reproduce results.

We propose a foundational, flexible data standard for large-scale neuroscience data called RAMON (Reusable Annotation Markup for Open Neuroscience). This serves as a key enabling technology for communication and data democratization.

Converting Kasthuri2015 raw data to parsed NeuroData format Supplemental Methods

Ingest Template

For ingesting data, we provide a simple csv format, organized as kv pairs by RAMONType. For each RAMON Object, a number of standard fields are available to aid in standardization and efficient queries. However, from an ingest perspective,

Input data

  • The raw image and annotation data was obtained as an export from VAST. This contained both object IDs, names, and hierarcy information
  • Separately, annotation labels were provided indicating synapse, mitochondria, and vesicle locations.
  • A spreadsheet was provided with additional metadata

Data ingest

We ingested the data beginning with full xy png stacks exported from VAST. Neurodata offers several methods to ingest data, including an auto-ingest process. This process is described in detail elsewhere.

Semantic Understanding

The VAST metadata was combined with information in the Cell supplemental information spreadsheet to create a metadata about each object. When feasible, object statistics were recomputed from the raw data. We choose to do this process using MATLAB because the VAST scripts and data are most amenable to parsing using existing tools.

From the spreadsheet, several important pieces of metadata were gleaned:

From synapse spreadsheet

  • Associations of connections between neuronal processes
    • Mapping of synapse paint to synapse ID
    • Presynaptic bouton (or axon if not available)
    • Post synaptic spine (or shaft or dendrite as appropriate)
  • Axon type (Excitatory, Inhibitory, Myelinated, Unknown)
  • Axon terminal or en-passant
  • Dendrite type
  • Spine apparatus

From VAST data

  • Raw image and annotation labels
  • PSD centroids
  • Cylinder location
  • PSD size
  • Single synapse spine
  • Cylinder locations and masks
  • Linkages between paint

From VAST Metadata Export

  • Object IDs
  • Object Hierarchy
  • Object names (not currently used)

From spreadsheet, but could be from data

further development will compute these from data

  • Vesicle count
  • Number of mitochondria in axon bouton
  • Multi synaptic axon bouton
  • Axon skeleton length
  • Spine synapse

RAMONification

  • Each object is identified by its unique Id - this serves as the primary key for the object. We use RAMON types to make it easy for users to identify, store, and access the information. For this paper, we primarily focus on the following types:

    • RAMONSegment: Allows for individual neurites and other cell fragments to be identified
    • RAMONNeuron: Container of RAMONSegments
    • RAMONSynapse: Represents the paint and metadata associated with neuronal connections
    • RAMONOrganelle: Used for capturing sub-cellular objects like mitochondria and vesicles
  • We initially assign each object a RAMONType based on a somewhat manual parsing of the VAST hierarchy labels and names

  • Object metadata is then assigned using a combination of pre-determined standard fields and extensible key-value pairs

All of this information is stored in NeuroData databases - we choose to store the data in four channels within a single unifying project (neurons, synapses, mitochondria, vesicles). The original raw data are also available for provenance and to allow others to parse this data in other ways.

Queries

Once all of the data is parsed, we are able to do reproducible, scalable scientific discovery! To retrieve the parsed data from the databases, we offer solutions in MATLAB, Python, and via RESTful endpoint. To illustrate the diversity of queries and to provide reproducible results from the Kasthuri paper, we have created ipython notebooks for each claim. We use ndio to facilitate getting data.

A full list of claims will be provided with a more detailed explaination. For now, the claims may be viewed here, and are under active development.

NeuroData now offers the capabilities to crete RAMON objects during the process of manual or automatic discovery and annotation. Please contact us for details on how to organize your data so that your claims are reproducible and available to the community as part of your publication process.

Things that are easy and things that are hard

Next steps

kasthuri2015's People

Contributors

j6k4m8 avatar wrgr avatar jovo avatar

Stargazers

Alex Andonian avatar Elia Shahbazi avatar Roman K avatar

Watchers

Daniel Sussman avatar  avatar James Cloos avatar  avatar Randal Burns avatar Johnson Chetty avatar Runze Tang avatar Alex Eusman avatar  avatar

Forkers

wrgr mtcoin406

kasthuri2015's Issues

Claim 3: Count: Unmyelinated Axons = 1407

Do Something:

  • Download all neuron metadata
  • Download segments for each neuron
  • Do majority vote of each segments to determine dendrite v. axon
  • Report total number of axons
  • Report total number of axons that are myelinated and non-myelinated

Potential Improvements:

  • Add myelinated axon as a kv pair for better reporting
  • Determine relevant volume

neurodata instantion requires an argument

Hi,
When trying the ipython notebook claims I get an error at nd = neurodata()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() takes at least 2 arguments (1 given)

I've tried python 2.7.11 and 2.7.6.

Thank you,
-Sam

Claim 1: The 64,000 um3 box imaged at high resolution had roughly 13.7 million cell profiles in its 1850 sections.

Do Something:

  • Download volume at scale 3
  • Do connected components on each slice
  • Sum unique labels per slice

Potential Improvements:

  • Ensure that branched objects with the same label are counted twice
  • Resolve which masking to use for this claim
  • Use only dense cylinder and extrapolate to full volume
  • Correct for relabeling cell parts (e.g., spines to dendrites)
  • Try to understand discrepancy with paper number

add touch matrix

This was harder than expected. Currently have added functionality to better parse metadata so that we have a good way to isolate spines and their shafts, and made progress toward the below items.

Roadmap (completion beginning of next week):

  • Efficiently parse segment metadata (done)
  • Isolate spines (done)
  • Rewrite segment paint to common neuron paint
  • Build a matrix in a way compatible with the cell paper [3xN?]
  • dilate spines (1 by 1? All at once?) and form matrix

@jovo - comments/feedback welcome. My top ND issue for the week.

for claims in general

  • make sure to include their actual claim somewhere
  • including timing for each is great, when possible, include the start and stop times in a single cell.

@WillGray @j6k4m8

Claim 2: Count: Dendrites = 193 (92% Spiny)

Do Something:

  • Download all neuron metadata
  • Download segments for each neuron
  • Do majority vote of each segments to determine dendrite v. axon
  • If any segments have spines, declare that dendrite is a spiny dendrite
  • Report total number of dendrites and fraction that are spiny

Potential Improvements:

  • Flag any segment group that is not all axon or all dendrite
  • Determine better criteria for spiny dendrite
  • Determine relevant volume

Enumerated Kasthuri Claim List

Introduction

  • We reconstructed 1500 um^3 of neocortical tissue
  • Make a graph!

RESULTS.VAST

  • In 500 um^3 cylinder, no axonal or dendritic orphans, 568 spines and 601 terminal axon branches

RESULTS.RHOANA/GALA

  • 6.4 profiles/um^2 in a section; in 64,000 um^3 estimate of 13.7 million cell profiles in 1850 sections
  • 92.6% of pixels or 87.6% of profiles (of 92747) were correctly segmented
  • 0.9 split operations and 5.8 merge operations to correct splits per um^3

RESULTS.BIOLOGICAL ANALYSIS

  • Medium resolution volume - 21/30 cells were pyramidal (no known metadata)
  • 3 cylinders 600 um^3 each, 1500 um^3 total reconstruction
  • 30 somata in medium resolution data (no known metadata)

RESULTS.PARTS LIST

  • 193 dendrites, 92% spiny, remainder smooth
  • 1407 unmyelinated axons, 93% excitatory, most of remaining are inhibitory, 5 have no/ambiguous connections
  • 1700 synapses with a density of 1 synapse/1.13 um^3
  • We also observed astrocytic processes, myelinated axons, oligodendrocyte processes and 20 entities we could not easily classify
  • Neuronal processes (axons and dendrites) occupy 92% of the cellular volume with glial processes occupying much of the reamaining 8%
  • The non-cellular (extracellular) space accounts for 6% of the total volume, less than half the space estimates from living brains
  • We analyzed the shape of the 660 excitatory axons that entered cylinder 1 and found only 3 established branches that were non-terminal within the volume (0.5%)
  • Axons extend into a 7 fold greater volume than dendrites on average.
  • ~1600 different neurons within this small region of mammalian brain (several billionths of the whole brain)
  • Count the total number of neuron fragments individually labeled in the volume

SYNAPSES

  • 1700 synaptic connections
  • 92% 177/193 dendrites are spiny and purportedly excitatory
  • 93% 1308/1407 of axons are excitatory
  • 95% (1610/1700) of presynaptic varicosities are ecitatory
  • Each excitatory axon establishes slightly more synapses in the volume than each inhibitory axon (~1.2 vs. 0.9) respectively
  • The excitatory to inhibitory synapse ratio is 20.2 for the dendrites of excitatory neurons (1494 excitatory synapses vs 74 inhibitory synapses)
  • The ratio is only 9.7 (116 excitatory synapses and 12 inhibitory synapses for the input to inhibitory dendrites
  • Most (71%; n = 1,207/1,700) of the synapses in the volume derive from varicosities along axons (en passant synapses), and the rest are at the end of short branches (terminal synapses).
  • 18% of excitatory, and 43% of the inhibitory, axonal varicosities are presynaptic to multiple partners
  • Excitatory axons establish synapses mostly on spines (94%; n = 1,406/1,700), and inhibitory axons establish mostly on shafts (81%, n = 70/86). A few (1%; n = 7) of the unmyelinated axons, despite having vesicle-filled varicosities, do not make traditional close synaptic contacts with any target cell within the volume
  • glial processes associate with synapses in an uneven way: ~50% of synapses were not adjacent to any glial process.

VESICLES

  • In cylinder 1, we identified the location of each synaptic vesicle at 774 synapses
  • The number of vesicles per synaptic varicosity range from 2 to 1,366 for varicosities with one postsynaptic target (mean = 153 ± 127)
  • significantly greater numbers of vesicles at multi-synaptic varicosities (mean = 200 ± 173; Wilcoxon rank-sum test; p = 0.0005)
  • All of the synaptic vesicles in cylinder 1 (n = 162,259)

MITOCHONDRIA

  • We also identified 607 mitochondria in cylinder 1 with a density of 1/mm3 [also reported as 635]
  • Mitochondria occupy twice as much volume in inhibitory dendrites than in excitatory dendrites
  • Only very rarely (n = 3/1,425) do mitochondria reside in dendritic spines

SPINES

  • We itemized 1,425 dendritic spines in the 3 cylinder volume. They occupy $9% percent of the intracellular space.
  • the central ‘‘red’’ dendrite contributes only 12%; n = 77/ 628 of the spines in cylinder 1
  • spines appear more densely packed (~51 spines per 10 mm dendritic length for the red dendrite in cylinder 1) and often of greater length (mean ~1.8 ± 0.6 um and longest ~3.8 um; n = 77)
  • Larger spine volumes were positively correlated with spine apparati (r = 0.36; p < 0.000001), larger postsynaptic densities (r = 0.77; p < 0.000001), larger numbers of presynaptic vesicles (r = 0.58; p < 0.000001), and presynaptic mitochondria (r = 0.141; p = 0.007).
  • Approximately 5% (39/780) of spines belonging to the central dendrite were not innervated by an axon.
  • Individual filopodia occupied less volume (0.03 ± 0.02 mm3) than innervated spines (0.10 ± 0.08 mm3) and only $30% of them have spine apparati versus 60% of inner- vated spines.

CONNECTIVITY OF EXCITATORY AXONS

  • We examined excitatory axonal input to dendritic spines that account for three-quarters of the synapses (n = 1,286/1,700)
  • In cylinder 1, the 77 excitatory spine synapses onto its central (red) apical dendrite came from only 63 different axons because eight axons innervated two spines each and three axons innervated three spines
  • In cylinder 2, 12 of a total of 84 axons innervated two spines of the green dendrite, accounting for 22% of that dendrite’s spines.
  • In cylinder 1 there were 34 instances in which an axon established synapses on two spines of the same dendrite, 4 instances in which an axon innervated three spines on the same dendrite, and the 1 instance of five just mentioned. Therefore, 46 synapses were ‘‘redundant’’ in the sense that these synapses replicated synaptic connec- tions that were already established by a different synapse of the same axon on the same target cell.
  • For all spines in cylinders 1–3, we counted 97 redundant synapses.
  • However, there was only a weak correlation between the total length of excitatory axons that crossed through cylinder 1 and the number of synapses they established with its central dendrite (n = 63 axons, 77 synapses; correlation = 0.16
    LOW RES
  • 8 of the 1308 excitatory axons (<1%) in the volumes are likely branches from the same parent neuron (LOW RES)
  • 2 dendritic shafts in cylinder 1 from the same neuron (out of 100)
    Note that cylinder 3 is proofread; cylinder 1 is RED, cylinder 2 is GREEN
  • Many axons touched each spine (8.9 ± 4.3 excitatory axons touched each spine), but in almost all cases (~99%) only one excitatory axon innervated each
  • To further explore this idea that excitatory axons show preferences in terms of the dendritic spines they innervate (and those they don’t) among the larger population of dendritic spines... (p656)

STATS

  • First, for the 77 dendritic spines of the central dendrite in cylinder 1, we found little correlation (correlation coef- ficient = 0.0001) between the number of these spines that an excitatory axon touches versus the number of synapses it estab- lishes on these spines, as would be expected if synapse proba- bility is just related to the number of opportunities based on prox- imity to spines
  • The axons that touched, but did not establish synapses with the central dendrite, were on average slightly longer in the volume than the axons that established synapses (mean 9.9 ± 6.6 mm synapsing versus mean 10.8 ± 5.18 mm touching)
  • Peter's rule: We analyzed the 7,505 spine touches and 1,037 synapses between all the excitatory axons (n = 916) with dendritic spines (n = 1,036) in cylinders 1 and 2. For each axon we itemized all the spines that it touched and the subset of these that were actual synapses
  • In a run of 80,000 randomization trials, none of the randomized connectivity patterns had as many redundant synapses as the 78 found in the actual dataset of cylinder 1+2 (simulation median = 52 redundant synapses; p < 0.00001

Current priorities - biological results
Less important - automated result characterization, low res data

fix example download script

We should clean this up with more obvious token names and such. :)

Tuesday?

Also, potentially we have full volume downloads available now and I can share those links?

@jovo

fix kasthuri data map

As we go, need to migrate everything to one place.

e.g., non ramonified raw segments live in kasthuri11segments, annotation

Kasthuri Claims v0.15

Due on THURSDAY, 9/24 (when Will's back)

  • Enumerate larger list of Kasthuri claims, to include counting and data characterization type actions
  • Characterize each claim as easy, medium, hard, and whether we plan to accomplish via CAJAL or OCPY
  • To facilitate ndio python notebooks and reproducible kasthuri science, complete baseline of ndio by wrapping all RESTful calls in a ndio.Remote (so, ndio.OCPRemote.get_cutout( . . . ), ndio.OCPRemote.get_all_of_type( . . . ) etc) - this completes core functionality and also identifies any gaps in restful call documentation
  • Submit a git issue to openconnectome repo with any documentation that is unclear
  • Run at least 5 new Kasthuri claims

@jovo

Claim 4: Count: Excitatory (Axons) Synapses = 93%

Do Something:

  • Download all synapse metadata
  • Download segments for each synapse
  • Count total number of synapses
  • Determine which synapses have axonal partners
  • Report total number of excitatory synapses and total number of synapses

Potential Improvements:

  • Refine claim to add kv pair indicating excitatory synapses
  • Resolve orphan synapses
  • Determine relevant volume

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.