Skip to main content

Population and element-level analysis of neuronal computations

Project description

DRIADA

Dimensionality Reduction for Integrated Activity Data - A unified framework bridging single-neuron selectivity analysis with population-level dimensionality reduction for biological and artificial neural systems.

Python Version PyPI version License Tests codecov

๐ŸŽฏ Vision

DRIADA creates a seamless bridge between understanding individual neurons and population-level neural dynamics. Our framework enables researchers to:

  1. Identify which neurons encode specific variables (using INTENSE)
  2. Extract collective latent variables from population activity
  3. Connect single-cell selectivity to population manifolds
  4. Interpret how neural populations represent information

The DRIADA Workflow

DRIADA uniquely combines single-neuron and population-level analyses in one framework. While traditional methods analyze neurons in isolation OR populations as a whole, DRIADA reveals how individual neural selectivity gives rise to collective representations.

Dimensionality reduction  โ†  Population Activity  โ†  Single Neurons  โ†’  INTENSE
         โ†“                                                                โ†“
Latent Variables                                                 Individual Selectivity
         โ†“                                                                โ†“
          โ†’ โ†’ โ†’ โ†’ โ†’ โ†’ โ†’ โ†’ โ†’  Integration Analysis โ† โ† โ† โ† โ† โ† โ† โ† โ† โ† โ† โ† โ†
                                       โ†“
         Connect single-cell selectivity to population-level variables

Overview

DRIADA provides a comprehensive toolkit for analyzing both individual neural selectivity and collective population dynamics:

  • ๐Ÿ” Individual Analysis: Discover which neurons encode specific behavioral variables using information theory
  • ๐ŸŒ Population Analysis: Extract latent variables and manifolds from neural population activity
  • ๐Ÿ”— Integrated Workflows: Connect single-cell properties to population-level representations
  • ๐Ÿงช Validation Tools: Generate synthetic populations with known ground truth for algorithm testing

Key Capabilities

๐Ÿง  INTENSE Module - Single Neuron Analysis

  • Detect both linear and nonlinear relationships using mutual information
  • Rigorous two-stage statistical testing with multiple comparison correction
  • Handle temporal delays between neural activity and behavior
  • Disentangle mixed selectivity when neurons respond to multiple variables

๐Ÿ“Š Population-Level Analysis - Collective Neural Dynamics

  • Dimensionality Estimation: Measure intrinsic dimensionality of neural manifolds
    • Linear methods: PCA-based dimension, effective rank
    • Nonlinear methods: k-NN dimension, correlation dimension
  • Dimensionality Reduction: Extract latent variables from population activity
    • Classical: PCA, Factor Analysis
    • Manifold learning: Isomap, UMAP, diffusion maps
    • Specialized neural methods (coming soon)
  • Latent Variable Extraction: Recover behavioral variables from neural populations
    • Extract circular variables (e.g., head direction)
    • Reconstruct spatial maps from place cell activity
    • Identify task-relevant population subspaces

๐Ÿ”— Integrated Analysis - Bridging Scales

  • Map single-cell selectivity to population manifolds
  • Understand how individual neurons contribute to collective representations
  • Visualize relationships between neural selectivity and population structure

๐Ÿงช Synthetic Data Generation - Algorithm Validation

  • Generate populations with known ground truth:
    • Head direction cells on circular manifolds
    • Place cells on 2D/3D spatial manifolds
    • Mixed populations with manifold + feature-selective neurons
  • Test and validate analysis methods before applying to real data
  • Benchmark different algorithms on controlled datasets

Perfect for:

  • ๐Ÿง  Cognitive neuroscience: Identify task-relevant neural subspaces and their dynamics
  • ๐Ÿค– AI interpretability: Understand representations in artificial neural networks
  • ๐Ÿ”ฌ Systems neuroscience: Bridge cellular and population-level descriptions

Installation

# Basic installation
pip install driada

# With GPU support (recommended for large datasets)
pip install driada[gpu]

Quick Start

For complete code examples, tutorials, and API documentation, please visit the official documentation.

โš ๏ธ WARNING: Pre-Release Version

DRIADA is currently in pre-release stage (v0.x.x) and will be finalized to v1.0 soon.

Until the stable v1.0 release:

  • ๐Ÿ“š Documentation takes precedence over example code
  • ๐Ÿ”ง Examples and notebooks may be incomplete or broken
  • ๐Ÿšง API may undergo changes
  • ๐Ÿ“– Please refer to the official documentation for the most up-to-date information

Documentation

๐Ÿ“– Official Documentation - Complete API reference, tutorials, and guides

Additional Resources

Requirements

  • Python 3.8+
  • NumPy, SciPy, scikit-learn
  • numba (for performance optimization)
  • matplotlib, seaborn (for visualization)
  • See pyproject.toml for complete list

Installation from Source

git clone https://github.com/iabs-neuro/driada.git
cd driada
pip install -e .  # Editable installation

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone the repository
git clone https://github.com/iabs-neuro/driada.git
cd driada

# Create conda environment
conda create -n driada python=3.9
conda activate driada

# Install in development mode
pip install -e .[gpu]

# Run tests
pytest

Citation

If you use DRIADA in your research, please cite:

@software{driada2024,
  title = {DRIADA: Dimensionality Reduction for Integrated Activity Data},
  author = {Pospelov, Nikita and contributors},
  year = {2025},
  url = {https://github.com/iabs-neuro/driada}
}

Publications

DRIADA has been used in the following research:

Biological Neural Systems

Artificial Neural Networks

Methodological Applications

See PUBLICATIONS.md for the complete list with abstracts and details.

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.


Note: DRIADA is actively developed. We recommend using the latest stable release for production work.

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

driada-0.7.2.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

driada-0.7.2-py3-none-any.whl (568.1 kB view details)

Uploaded Python 3

File details

Details for the file driada-0.7.2.tar.gz.

File metadata

  • Download URL: driada-0.7.2.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for driada-0.7.2.tar.gz
Algorithm Hash digest
SHA256 15f2797e20df82b9e6928cc23d0513603a6dc6fbcc9d32e5e6545164e227d168
MD5 d9c5b7a1bed0394a6892211662cbc6dd
BLAKE2b-256 e31200f3c041e2679545e82442da672577bbae5b621e68cc9b6ea82b02948c59

See more details on using hashes here.

File details

Details for the file driada-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: driada-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 568.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for driada-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d4dab1d5390a060ef3e873a6d054e258d3b805328d9c36410bdc1ee8db2afba3
MD5 384004f2435c254cbd9889f65f78107a
BLAKE2b-256 a762226f749ff3bbbd789b07b34dac298d077b381d06d3200a9693fe9a16b756

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