Coder Social home page Coder Social logo

localconnectome's Introduction

Introduction

This repository (LocalConnectome/LC) contains structural/functional interrogations (including visualisations) of various connectome datasets (H01, LDC, ADC, CEC), and software used in their derivation.

The "Local Connectome" is taken as the connectivity data between those neurons (neuron_id) which have cell soma/centroids that reside within a connectome Release dataset. The local connectome is analysed along with its immediate incoming and outgoing connections.

With the expansion of the LC software to support multiple, complete brain datasets (LDC/ADC/CEC), the title of the repository "Local Connectome" now refers more generally to the local machine processing of connectome data.

Acknowledgements

INDEXED_CSV_DATABASE_H01

Source datasets are from the H01 Release of the Petascale Reconstruction of the Human Cortex, as provided by The Lichtman laboratory at Harvard University and the Connectomics at Google team (https://h01-release.storage.googleapis.com/landing.html):

Shapson-Coe, A., Januszewski, M., Berger, D.R., Pope, A., Wu, Y., Blakely, T., Schalek, R.L., Li, P., Wang, S., Maitin-Shepard, J. et al. (2021). A connectomic study of a petascale fragment of human cerebral cortex. bioRxiv. (https://www.biorxiv.org/content/10.1101/2021.05.29.446289v4)

SVG plots of excitatory/inhibitory connections in local connectome (connection types derived from EM images, directionality not encoded):

C3 Synaptic connections database - export of synaptic connections in Apache Avro/Json format (connection types derived from EM images, pre-post synaptic directionality encoded):

Local connectome connections dataset [intermediary] as provided by Dr Yuelong Wu of The Lichtman laboratory (includes cell centroids and cell types, pre-post synaptic directionality encoded):

  • in_body_cell_connection.csv

Local connectome somas dataset available from the bioRxiv v4 release of the H01 paper (includes cell centroids and cell types):

The LCindexedCSVdatabase software was developed during the H01 bioRxiv v2 release, before the release of the official H01 local connectome somas dataset. Additional H01 Release datasets or updates thereto are expected. As of the bioRxiv v2 release of the H01 paper, the synapse predictions were still being refined and may be subject to future changes. The cell types, synapses types etc. were all generated by deep learning models trained by The Lichtman laboratory and their collaborators at Google, and they internally used Google BigQuery to share the data. Because the BigQuery tables are not discoverable by outside groups, they exported the synapse table to Avro format when releasing the data.

INDEXED_CSV_DATABASE_LDC

Source datasets are from the complete LDC (Larval Drosophila Connectome);

Winding, M., Pedigo, B.D., Barnes, C.L., Patsolic, H.G., Park, Y., Kazimiers, T., Fushiki, A., Andrade, I.V., Khandelwal, A., Valdes-Aleman, J. and Li, F., 2023. The connectome of an insect brain. Science, 379(6636), p.eadd9330. (https://www.science.org/doi/abs/10.1126/science.add9330)

larvalDrosophilaConnectome (local connectome analysis only; entire organism neuronal dataset is represented in local connectome)

INDEXED_CSV_DATABASE_ADC

Source datasets are from the complete ADC (Adult Drosophila Connectome);

Dorkenwald, S., Matsliah, A., Sterling, A.R., Schlegel, P., Yu, S., McKellar, C.E., Lin, A., Costa, M., Eichler, K., Yin, Y. et al. (2023). Neuronal wiring diagram of an adult brain. bioRxiv. (https://www.biorxiv.org/content/10.1101/2023.06.27.546656v1)

Schlegel, P., Yin, Y., Bates, A.S., Dorkenwald, S., Eichler, K., Brooks, P., Han, D.S., Gkantia, M., dos Santos, M., Munnelly, E.J. et al. (2023). A consensus cell type atlas from multiple connectomes reveals principles of circuit stereotypy and variation. bioRxiv. (https://www.biorxiv.org/content/10.1101/2023.06.27.546055v1)

adultDrosophilaConnectome (local connectome analysis only; entire organism neuronal dataset is represented in local connectome)

INDEXED_CSV_DATABASE_CEC

Source datasets are from the complete CEC (Caenorhabditis Elegans Connectome);

Varshney, L. R., Chen, B. L., Paniagua, E., Hall, D. H., & Chklovskii, D. B. (2011). Structural properties of the Caenorhabditis elegans neuronal network. PLoS computational biology, 7(2), e1001066.

caenorhabditisElegansConnectome (local connectome analysis only; entire organism neuronal dataset is represented in local connectome)

License

All BAI LocalConnectome repository software is licensed with the MIT License unless otherwise specified.

Content

LC indexed CSV database software

LCindexedCSVdatabase

Installation

Requirements

  • Recommended: Ubuntu 20.04 LTS
  • GNU GCC
  • BAI SHARED C++ library
  • Eigen 3 C++ library

Compilation

./compileLCindexedCSVdatabase.sh

Command line interface

Usage:  LCindexedCSVdatabase.exe [options]

where options are any of the following (see documentation)

-mode [int]                             : execution mode (1: create, 2: query, 3: visualise, 4: trace, 5: read (def: 2) [required]
-query [int]                            : query mode (1: extract, 2: map, 3: generate, 4: count, 5: complete, 6: crawl, 7:extrapolate (def: 4) [required for mode:query]
-read [int]                             : read mode (1: count, 2: extrapolate (def: 1) [required for mode:read]
-preprocess [int]                       : preprocess mode (1: connections, 2: neurons (def: 1) [required for mode:preprocess]

-avro_json_database_folder [string]     : H01 C3 Synaptic connections database json folder (def: /media/user/datasets/h01data/data/exported/json)
-indexed_csv_database_folder [string]   : LC indexed CSV database folder (def: /media/user/ssddata/indexed)
-local_connectome_folder_base [string]  : H01 local connectome base folder containing "datasets" and "visualisations" (def: ../)


execution mode 1 - INDEXED_CSV_DATABASE_CREATE - converts H01 Avro Json C3 Synaptic connections database to indexed CSV database (indexed by pre/postsynaptic neuron ID)
execution mode 2 - INDEXED_CSV_DATABASE_QUERY - queries LC indexed CSV database, based on local connectome neuron id list
execution mode 3 - INDEXED_CSV_DATABASE_VISUALISE_LOCAL_CONNECTOME - visualises local connectome datasets
execution mode 4 - INDEXED_CSV_DATABASE_TRACE_LOCAL_CONNECTOME - traces local connectome dataset (saving visualisation)
execution mode 5 - INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME - read local connectome dataset
execution mode 6 - INDEXED_CSV_DATABASE_PREPROCESS - preprocess DC dataset

query mode 1 - INDEXED_CSV_DATABASE_QUERY_EXTRACT_INCOMING_OUTGOING_CONNECTIONS - lookup indexed CSV database by neuron ID, and find incoming/outgoing target connections, and write them to file
query mode 2 - INDEXED_CSV_DATABASE_QUERY_PERFORM_INCOMING_AXON_MAPPING - lookup indexed CSV database by neuron ID, find incoming target connections, and generate visualisation
query mode 3 - INDEXED_CSV_DATABASE_QUERY_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - automatically generate localConnectomeConnections-typesFromPresynapticNeurons.csv/localConnectomeConnections-typesFromEMimages.csv from localConnectomeNeurons.csv and indexed CSV database
query mode 4 - INDEXED_CSV_DATABASE_QUERY_COUNT_CONNECTIONS - lookup indexed CSV database by neuron ID, count/infer proportion of incoming/outgoing excitatory/inhibitory target connections to local vs distal neurons
query mode 5 - INDEXED_CSV_DATABASE_QUERY_COMPLETE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - lookup indexed CSV database by post/pre synaptic connection neuron ID, and identify connection with pre/post synaptic X/Y coordinates (if pre/post synaptic type=UNKNOWN), add pre/post synaptic neuron ID, Z coordinates, and type coordinates to connection dataset [incomplete]
query mode 6 - INDEXED_CSV_DATABASE_QUERY_CRAWL_CONNECTIONS - crawl indexed CSV database by pre/post synaptic connection neuron ID, and count number of unique axons/dendrites as specified by neuron ID - not explicitly connected to local connectome [incomplete]

read mode 1 - INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME_COUNT_CONNECTIONS - count excitatory/inhibitory connections
read mode 2 - INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME_GENERATE_LARGE_MODEL - generate large artificial cortical model; extrapolate z region same size as x/y [incomplete]

#ifdef INDEXED_CSV_DATABASE_LDC
preprocess mode 1 - INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - automatically generate localConnectomeConnections-typesFromPresynapticNeurons.csv from Supplementary Material connections matrix
preprocess mode 2 - INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET - automatically generate localConnectomeNeurons.csv from Catmaid skeletons and Supplementary Material files
#elif defined INDEXED_CSV_DATABASE_ADC
preprocess mode 1 - INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - automatically generate localConnectomeConnections-typesFromPresynapticNeurons.csv/typesFromEMimages.csv from Codex FlyWire Connectome Data
preprocess mode 2 - INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET - automatically generate localConnectomeNeurons.csv from Codex FlyWire Connectome Data
#elif defined INDEXED_CSV_DATABASE_CEC
preprocess mode 1 - INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - automatically generate localConnectomeConnections-typesFromPresynapticNeurons.csv/typesFromEMimages.csv from CElegansTP data
preprocess mode 2 - INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET - automatically generate localConnectomeNeurons.csv from CElegansTP data
#endif

Usage examples

./compileLCindexedCSVdatabase.sh
./LCindexedCSVdatabase.exe -mode 1 -avro_json_database_folder "/media/user/datasets/h01data/data/exported/json" -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 2 -query 1 -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 2 -query 2 -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 2 -query 3 -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 2 -query 4 -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 2 -query 5 -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 2 -query 6 -indexed_csv_database_folder "/media/user/ssddata/indexed"
./LCindexedCSVdatabase.exe -mode 3
./LCindexedCSVdatabase.exe -mode 4
./LCindexedCSVdatabase.exe -mode 5 -read 1
./LCindexedCSVdatabase.exe -mode 5 -read 2
./LCindexedCSVdatabase.exe -mode 6 -preprocess 1
./LCindexedCSVdatabase.exe -mode 6 -preprocess 2

Development notes

  • INDEXED_CSV_DATABASE_H01/INDEXED_CSV_DATABASE_LDC/INDEXED_CSV_DATABASE_ADC - dataset selection
  • INDEXED_CSV_DATABASE_QUERY_COUNT_CONNECTIONS_LOCAL - independently count the connections within the local connectome connections dataset (layer to layer matrix): compare local connectome counts against counts from https://www.biorxiv.org/content/10.1101/2021.05.29.446289v3/v4 Supplementary Table 5. Summary of Machine Learning-identified connections
  • LOCAL_CONNECTOME_OFFICAL_RELEASE_C3_SOMAS: use official somas dataset (https://h01-release.storage.googleapis.com/data.html - gs://h01-release/data/20210601/c3/tables/somas.csv)
  • INDEXED_CSV_DATABASE_VISUALISE_LOCAL_CONNECTOME: For backwards compatibility with dev ODS generated visualisations, enable LOCAL_CONNECTOME_VISUALISATION_BACKWARDS_COMPATIBILITY_WITH_ODS_GENERATED_FILES and LOCAL_CONNECTOME_DATASET_CONNECTIONS_REDUNDANT_DEPRECIATED

Source code description

LCindexedCSVdatabase.cpp/.hpp:

  • Description: LC indexed CSV database (global defs)

LCindexedCSVdatabaseMain.cpp/.hpp:

  • Description: LC indexed CSV database Main (INDEXED_CSV_DATABASE_CREATE/INDEXED_CSV_DATABASE_QUERY/INDEXED_CSV_DATABASE_VISUALISE_LOCAL_CONNECTOME/INDEXED_CSV_DATABASE_TRACE_LOCAL_CONNECTOME)

LCindexedCSVdatabaseOperations.cpp/.hpp:

  • Description: LC indexed CSV database operations

LCindexedCSVdatabaseCreate.cpp/.hpp (execution mode 1: INDEXED_CSV_DATABASE_CREATE):

  • Description: LC indexed CSV database create - convert C3 Synaptic connections Avro Json To indexed CSV database (indexed by pre/postsynaptic neuron ID)
  • Input: C3 Synaptic connections database (gs://h01-release/data/20210601/c3/synapses/exported/json)
  • Output Format: ssddata/indexed/123/csvPreSynapticNeuronID123456.csv - presynapticSiteNeuronID, postsynapticSiteNeuronID, presynapticSiteType, postsynapticSiteType, presynapticSiteClassLabel, postsynapticSiteClassLabel, presynapticSiteBaseNeuronID, postsynapticSiteBaseNeuronID, synapseLocationXcoordinates, synapseLocationYcoordinates, synapseLocationZcoordinates, synapseType

LCindexedCSVdatabaseQuery.cpp/.hpp (execution mode 2: INDEXED_CSV_DATABASE_QUERY):

  • Description: LC indexed CSV database query -
    • INDEXED_CSV_DATABASE_QUERY_EXTRACT_INCOMING_OUTGOING_CONNECTIONS - lookup indexed CSV database by neuron ID, and find incoming/outgoing target connections, and write them to file
    • INDEXED_CSV_DATABASE_QUERY_PERFORM_INCOMING_AXON_MAPPING - lookup indexed CSV database by neuron ID, find incoming target connections, and generate visualisation
    • INDEXED_CSV_DATABASE_QUERY_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - automatically generate localConnectomeConnections-typesFromPresynapticNeurons.csv/localConnectomeConnections-typesFromEMimages.csv from localConnectomeNeurons.csv and indexed CSV database
    • INDEXED_CSV_DATABASE_QUERY_COUNT_CONNECTIONS - lookup indexed CSV database by neuron ID, count/infer proportion of incoming/outgoing excitatory/inhibitory target connections to local vs distal neurons
    • INDEXED_CSV_DATABASE_QUERY_COMPLETE_LOCAL_CONNECTOME_CONNECTIONS_DATASET - lookup indexed CSV database by post/pre synaptic connection neuron ID, and identify connection with pre/post synaptic X/Y coordinates (if pre/post synaptic type=UNKNOWN), add pre/post synaptic neuron ID, Z coordinates, and type coordinates to connection dataset [incomplete: will print UNKNOWN neurons (with x/y coordinates only) along with candidate neuron_ids but not reconcile them] [depreciated: use H01 Release C3 neurons dataset and LOCAL_CONNECTOME_OFFICAL_RELEASE_C3_SOMAS+INDEXED_CSV_DATABASE_QUERY_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET instead]
    • INDEXED_CSV_DATABASE_QUERY_CRAWL_CONNECTIONS - crawl indexed CSV database by pre/post synaptic connection neuron ID, and count number of unique axons/dendrites as specified by neuron ID - not explicitly connected to local connectome [incomplete]
  • Input:
    • INDEXED_CSV_DATABASE_QUERY_OUTPUT_CONNECTIONS: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type | localConnectomeNeuronIDlistDistinct.csv - id
    • INDEXED_CSV_DATABASE_QUERY_PERFORM_INCOMING_AXON_MAPPING: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type | localConnectomeNeuronIDlistDistinct.csv - id
    • INDEXED_CSV_DATABASE_QUERY_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type | localConnectomeNeuronIDlistDistinct.csv - id
    • INDEXED_CSV_DATABASE_QUERY_COUNT_CONNECTIONS: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type | localConnectomeNeuronIDlistDistinct.csv - id
    • INDEXED_CSV_DATABASE_QUERY_COMPLETE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: localConnectomeConnections-typesFromEMimages-useAllValuesAvailableFromInBodyCellConnection.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type
    • INDEXED_CSV_DATABASE_QUERY_CRAWL_CONNECTIONS: N/A
  • Output:
    • INDEXED_CSV_DATABASE_QUERY_OUTPUT_CONNECTIONS: localConnectomeNeuronIDlistConnectionsPresynaptic.csv/localConnectomeNeuronIDlistConnectionsPostsynaptic.csv - connectionNeuronID1, connectionType1 [, locationObjectContentsXcoordinatesContent1, locationObjectContentsYcoordinatesContent1, locationObjectContentsZcoordinatesContent1], connectionNeuronID2, connectionType2 [, locationObjectContentsXcoordinatesContent2, locationObjectContentsYcoordinatesContent2, locationObjectContentsZcoordinatesContent2], etc
    • INDEXED_CSV_DATABASE_QUERY_PERFORM_INCOMING_AXON_MAPPING:
      • INDEXED_CSV_DATABASE_QUERY_PERFORM_INCOMING_AXON_MAPPING_3D_LINEAR_REGRESSION:
        • INDEXED_CSV_DATABASE_QUERY_OUTPUT_INCOMING_AXON_MAPPING_LDR: localConnectomeIncomingAxonMapping.ldr - LDR_TYPE_LINE ldrawColor plot3DpointStart.x plot3DpointStart.y plot3DpointStart.z plot3DpointEnd.x plot3DpointEnd.y plot3DpointEnd.z
        • INDEXED_CSV_DATABASE_QUERY_OUTPUT_INCOMING_AXON_MAPPING_CSV: localConnectomeIncomingAxonMapping.csv - polyFit.connectionNeuronID, polyFit.estSynapseType, polyFit.origin.x, polyFit.origin.y, polyFit.origin.z, polyFit.axis.x, polyFit.axis.y, polyFit.axis.z
      • INDEXED_CSV_DATABASE_QUERY_PERFORM_INCOMING_AXON_MAPPING_2D_POLY_REGRESSION:
        • INDEXED_CSV_DATABASE_QUERY_OUTPUT_INCOMING_AXON_MAPPING_CSV: localConnectomeIncomingAxonMapping.csv - polyFit.connectionNeuronID, polyFit.estSynapseType, polyFit.a, polyFit.b, polyFit.c
    • INDEXED_CSV_DATABASE_QUERY_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: localConnectomeConnections-typesFromPresynapticNeurons/typesFromEMimages.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type
    • INDEXED_CSV_DATABASE_QUERY_COUNT_CONNECTIONS: N/A
    • INDEXED_CSV_DATABASE_QUERY_COMPLETE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: localConnectomeConnections-typesFromEMimages.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type
    • INDEXED_CSV_DATABASE_QUERY_CRAWL_CONNECTIONS: N/A

LCindexedCSVdatabaseVisualiseLocalConnectome.cpp/.hpp (execution mode 3: INDEXED_CSV_DATABASE_VISUALISE_LOCAL_CONNECTOME):

  • Description: LC indexed CSV database visualise local connectome - visualises local connectome datasets
  • Input: localConnectomeNeurons.csv / localConnectomeConnectionsX.csv
  • Output Format: SVG (2D) / LDR (3D)

LCindexedCSVdatabaseTraceLocalConnectome.cpp/.hpp (execution mode 4: INDEXED_CSV_DATABASE_TRACE_LOCAL_CONNECTOME):

  • Description: LC indexed CSV database trace local connectome - traces local connectome dataset (saving visualisation)
  • Input: localConnectomeNeurons.csv / localConnectomeConnectionsX.csv
  • Output Format: SVG (2D) / LDR (3D) [multiple files for video construction]

LCindexedCSVdatabaseReadLocalConnectome.cpp/.hpp (execution mode 5: INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME):

  • Description: LC indexed CSV database read local connectome - read local connectome dataset
  • Input:
    • INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME_COUNT_CONNECTIONS: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type; localConnectomeConnections-typesFromPresynapticNeurons/typesFromEMimages.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type
    • INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME_GENERATE_LARGE_MODEL: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type; localConnectomeConnections-typesFromPresynapticNeurons/typesFromEMimages.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type
  • Output:
    • INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME_COUNT_CONNECTIONS: N/A
    • INDEXED_CSV_DATABASE_READ_LOCAL_CONNECTOME_GENERATE_LARGE_MODEL: localConnectomeConnectionsLargeModel-typesFromPresynapticNeurons/typesFromEMimages.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type; localConnectomeNeuronsLargeModel.csv - id, x, y, z, type, excitation_type

LCindexedCSVdatabaseReadLocalConnectome.cpp/.hpp (execution mode 6: INDEXED_CSV_DATABASE_PREPROCESS):

  • Description: LC indexed CSV database read local connectome - read local connectome dataset
  • Input: #ifdef INDEXED_CSV_DATABASE_LDC
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: aa_connectivity_matrix.csv/ad_connectivity_matrix.csv/da_connectivity_matrix.csv/dd_connectivity_matrix.csv
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET: skeleton[SKID].swc, science.add9330_data_s2.csv/science.add9330_data_s3.csv/science.add9330_data_s4.csv, inputs.csv #elif defined INDEXED_CSV_DATABASE_ADC
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: connections.csv, neurons.csv
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET: neurons.csv, coordinates.csv #elif defined INDEXED_CSV_DATABASE_CEC
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: Connectome.csv, distances.csv
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET: distances.csv #endif
  • Output:
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_CONNECTIONS_DATASET: localConnectomeConnections-typesFromPresynapticNeurons/typesFromEMimages.csv - pre_id, post_id, pre_class_label, post_class_label, syn_num, excitation_type
    • INDEXED_CSV_DATABASE_PREPROCESS_GENERATE_LOCAL_CONNECTOME_NEURONS_DATASET: localConnectomeNeurons.csv - id, x, y, z, type, excitation_type

Examples

Local connectome visualisations

visualisations/connectionTypesFromEMimages
visualisations/connectionTypesFromPresynapticNeurons

Current local connectome visualisations for connectionTypesDerivedFromEMimages/connectionTypesDerivedFromPresynapticNeurons include:

2D (SVG)

  • connections_IE1.svg - connections coloured by excitatory/inhibitory type and pre/post synaptic direction; neurons coloured by cell type.
  • connections_IE2.svg - connections coloured by excitatory/inhibitory type; neurons coloured by cell type.
  • connections_IE_flow1.svg - connections coloured by excitatory/inhibitory type and flow direction (through the cortical layers); neurons coloured by cell type.
  • connections_IE_flow2.svg - connections coloured by excitatory/inhibitory type, pre/post synaptic direction, and flow direction (through the cortical layers) [unique hue for connection source and target]; neurons coloured by cell type.
  • connections_IE_flow3.svg - connections coloured by excitatory/inhibitory type, pre/post synaptic direction, and flow direction (through the cortical layers) [unique hue for connection target only]; neurons coloured by cell type.
  • connections_IE_layered1.svg (connections_IE_layered1_Lx.svg) - connections coloured by excitatory/inhibitory type and pre/post synaptic direction; neurons coloured by cell type.
  • connections_IE_layered2.svg (connections_IE_layered2_Lx.svg) - connections coloured by excitatory/inhibitory type; neurons coloured by cell type.
  • connections_IE_layered3.svg (connections_IE_layered3_Lx.svg) - neurons/connections coloured by layer (excitatory/inhibitory connection types indicated by saturation).
  • connections_IE_layered_flow1.svg (connections_IE_layered_flow1_Lx.svg) - connections coloured by excitatory/inhibitory type and flow direction (through the cortical layers); neurons coloured by cell type.
  • connections_IE_layered_flow2.svg (connections_IE_layered_flow2_Lx.svg) - connections coloured by excitatory/inhibitory type, pre/post synaptic direction, and flow direction (through the cortical layers) [unique hue for connection source and target]; neurons coloured by cell type.
  • connections_IE_layered_flow3.svg (connections_IE_layered_flow2_Lx.svg) - connections coloured by excitatory/inhibitory type, pre/post synaptic direction, and flow direction (through the cortical layers) [unique hue for connection target only]; neurons coloured by cell type.

- A web browser/Inkscape/etc can be used to view 2D SVG visualisations.
- 2D SVG colour sets can be changed by modifying the visualisations/templates/connections_IE_part2-*.svg file <"linearGradient"> tags.
- 2D SVG colour sets can be added/removed by modifying LCindexedCSVdatabase.hpp: LOCAL_CONNECTOME_VISUALISATION_SVG_FILENAME_*_NUMBER_COLOURSETS and adding/removing visualisations/templates/connections_IE_part2-*X.svg.

3D (LDR)

  • connections_IE1.ldr - connections coloured by excitatory/inhibitory type; neurons coloured by cell type.
  • connections_IE2.ldr - connections coloured by excitatory/inhibitory type; neurons coloured by cell type.
  • connections_IE_flow1.ldr - connections coloured by excitatory/inhibitory type and flow direction (through the cortical layers); neurons coloured by cell type.
  • connections_IE_layered1.ldr (connections_IE_layered1_Lx.ldr) - connections coloured by excitatory/inhibitory type; neurons coloured by cell type.
  • connections_IE_layered2.ldr (connections_IE_layered2_Lx.ldr) - connections coloured by excitatory/inhibitory type; neurons coloured by cell type.
  • connections_IE_layered3.ldr (connections_IE_layered1_Lx.ldr) - neurons/connections coloured by layer (excitatory/inhibitory connection types indicated by saturation).
  • connections_IE_layered_flow1.ldr (connections_IE_layered_flow1_Lx.ldr) - connections coloured by excitatory/inhibitory type and flow direction (through the cortical layers); neurons coloured by cell type.

- LDView can be used to view 3D LDR visualisations (https://tcobbs.github.io/ldview/Downloads.html - LDView Ubuntu 20.04 installation)
- 3D LDR colour sets can be changed by modifying LCindexedCSVdatabase.hpp: local_connectome_visualisation_neurons_colour_*. / local_connectome_visualisation_connections_colour_*.
- 3D LDR colour sets can be added/removed by modifying LCindexedCSVdatabase.hpp: LOCAL_CONNECTOME_VISUALISATION_LDR_FILENAME_*_NUMBER_COLOURSETS and upgrading the source code (advanced).

INDEXED_CSV_DATABASE_H01

Visualisation Link
connections_IE1.svg connections_IE1.svg
connections_IE2.svg connections_IE2.svg
connections_IE_flow1.svg connections_IE_flow1.svg
connections_IE_flow2.svg connections_IE_flow2.svg
connections_IE_flow3.svg connections_IE_flow3.svg
connections_IE_layered1.svg connections_IE_layered1.svg

INDEXED_CSV_DATABASE_LDC

Visualisation Link
connections_IE1.svg connections_IE1.svg
connections_IE2.svg connections_IE2.svg
connections_IE_flow1.svg connections_IE_flow1.svg
connections_IE_flow2.svg connections_IE_flow2.svg
connections_IE_flow3.svg connections_IE_flow3.svg
connections_IE_layered1.svg connections_IE_layered1.svg

INDEXED_CSV_DATABASE_ADC

Visualisation Link
connections_IE1.svg connections_IE1.svg
connections_IE2.svg connections_IE2.svg
connections_IE_flow1.svg connections_IE_flow1.svg
connections_IE_flow2.svg connections_IE_flow2.svg
connections_IE_flow3.svg connections_IE_flow3.svg
connections_IE_layered1.svg connections_IE_layered1.svg

INDEXED_CSV_DATABASE_CEC

Visualisation Link
connections_IE1.svg connections_IE1.svg
connections_IE2.svg connections_IE2.svg
connections_IE_flow1.svg connections_IE_flow1.svg
connections_IE_flow2.svg connections_IE_flow2.svg
connections_IE_flow3.svg connections_IE_flow3.svg
connections_IE_layered1.svg connections_IE_layered1.svg

localconnectome's People

Contributors

bairesearch avatar

Stargazers

 avatar Shawn Handran avatar

Watchers

 avatar

localconnectome's Issues

Issues creating database with LCindexedCSVdatabase

Hi,

I've downloaded the JSON data for the H01 dataset from gs://h01-release/data/20210729/c3/synapses/exported/. I've compiled the program and tried to execute. I've found two issues:

  1. The executions starts to generate really deep folder structures, and each folder contains a csv file with just one row. I've debugged
  2. I've created a Python script to analyzed the JSON files and I've found that the ids of the neurons are seldomly repeated, meaning that there are much more distinct neuron ids than supposed. I stopped the script with a count of 6M neurons when there should be less than 60K.

What I'm doing wrong? Any hints?

Thanks in advance

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.