Skip to main content

NeuroBridge API

The analysis engine for biological neural networks.

57 analysis modules · 125 API endpoints · One-click full report on any organoid recording.

Live API Tests Python License: MIT

Built for researchers working with brain organoids on FinalSpark, Cortical Labs, and university MEA platforms.

Live: neurocomputers.io | API Docs: api.neurocomputers.io/docs


Quick Start

# Clone
git clone https://github.com/Luckyguybiz/neurobridge-api.git
cd neurobridge-api

# Setup
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# Run
python main.py
# → http://localhost:8847/docs (Swagger UI)

Generate synthetic data and analyze (against live API):

# Generate 30s of synthetic spike data
DSID=$(curl -s -X POST "https://api.neurocomputers.io/api/generate?duration=30" \
  | python3 -c "import sys, json; print(json.load(sys.stdin)['dataset_id'])")

# Run a cheap analysis first
curl "https://api.neurocomputers.io/api/analysis/$DSID/summary"

# Get NCI Score (Network Complexity Index)
curl "https://api.neurocomputers.io/api/analysis/$DSID/iq"
# → {"iq_score": 51.0, "grade": "C", ...}

# Full report (runs everything — takes a while)
curl "https://api.neurocomputers.io/api/analysis/$DSID/full-report"

Load the built-in FinalSpark 118-hour recording:

DSID=$(curl -s -X POST \
  "https://api.neurocomputers.io/api/load-local?filename=SpikeDataToShare_fs437data.csv&sampling_rate=437" \
  | python3 -c "import sys, json; print(json.load(sys.stdin)['dataset_id'])")

# 2.6M spikes, 32 channels, 4 organoids, 5 days
curl "https://api.neurocomputers.io/api/analysis/$DSID/summary"

Upload your own data:

curl -X POST "https://api.neurocomputers.io/api/upload" \
  -F "file=@my_spikes.csv"

Supported formats: CSV, HDF5, Parquet, JSON, NWB. 100 MB max per file.

Operational notes

  • Rate limits: 60 req/min regular endpoints, 5 req/min for heavy analyses (bursts/connectivity/cross-correlation/transfer-entropy/full-report). Per-IP.
  • Per-analysis timeout: 45 s. Slower computations return 504 Gateway Timeout with a readable message.
  • Concurrent heavy computations: 1 at a time (single CPU semaphore). Others queue.
  • Dataset capacity: 2 concurrent datasets in RAM; oldest is evicted and returns 410 Gone on subsequent access.
  • Auto-subsampling: heavy endpoints cap input to 10K–20K spikes for pairwise O(N²) work. Responses include _subsampled: true when this happens.

Analysis Modules

Standard Neuroscience (8 modules)

Module Endpoint Description
Spike Analysis /analysis/{id}/firing-rates Spike detection, ISI, firing rates, amplitudes
Spike Sorting /analysis/{id}/spike-sorting PCA + K-means / HDBSCAN clustering
Burst Detection /analysis/{id}/bursts Network bursts, single-channel, profiles
Connectivity /analysis/{id}/connectivity Co-firing graph, degree, clustering
Cross-Correlation /analysis/{id}/cross-correlation Pairwise correlograms
Transfer Entropy /analysis/{id}/transfer-entropy Directed information flow
Statistics /analysis/{id}/summary Full summary, quality, temporal dynamics
Spectral /analysis/{id}/power-spectrum PSD, frequency bands, coherence

Novel Analysis (unique to NeuroBridge)

Module Endpoint What it does
Organoid IQ /analysis/{id}/iq Composite intelligence score (0-100) across 6 dimensions
STDP Mapping /analysis/{id}/stdp Spike-timing dependent plasticity curves
Learning Detection /analysis/{id}/learning Temporal changes in plasticity = learning episodes
Attractor Landscape /analysis/{id}/attractors Memory as dynamical attractors (Hopfield theory)
Phase Transitions /analysis/{id}/phase-transitions Neural reorganization moments + optimal stim timing
Predictive Coding /analysis/{id}/predictive-coding Does the organoid minimize prediction error?
Weight Inference /analysis/{id}/weights Infer synaptic connectome from spike timing
Weight Tracking /analysis/{id}/weight-tracking Watch learning happen in real-time
Neural Replay /analysis/{id}/replay Memory consolidation during "rest" periods
Reservoir Computing /analysis/{id}/memory-capacity Memory capacity benchmark
Causal Emergence /analysis/{id}/emergence Integrated information (Phi)
Multi-Timescale /analysis/{id}/multiscale Complexity at 12 timescales
Fingerprinting /analysis/{id}/fingerprint Unique organoid identity signature
Sonification /analysis/{id}/sonify Neural activity → audio WAV
Health Monitor /analysis/{id}/health Organoid viability assessment
Predictions /analysis/{id}/predict/bursts Burst probability forecast
Anomaly Detection /analysis/{id}/anomalies Isolation Forest on neural features
State Classification /analysis/{id}/states Resting / active / bursting states

Discovery Analysis (10 modules)

Module Endpoint What it does
Sleep-Wake /analysis/{id}/sleep-wake UP/DOWN state detection, slow-wave oscillations
Habituation /analysis/{id}/habituation Response decay — simplest form of learning
Metastability /analysis/{id}/metastability Kuramoto synchronization, brain-like state switching
Information Flow /analysis/{id}/information-flow Granger causality, hub detection
Network Motifs /analysis/{id}/motifs 3-node subgraph patterns vs random
Energy Landscape /analysis/{id}/energy-landscape Ising model, attractor basins
Consciousness /analysis/{id}/consciousness PCI + Phi + recurrence composite score
Comparative /analysis/{id}/comparative vs cortical slice, C. elegans, fruit fly, mouse hippocampus
Turing Test /analysis/{id}/turing-test Can you distinguish from Poisson/LIF?
Welfare /analysis/{id}/welfare Health + suffering detection + recommendations

Learning & Memory (4 modules)

Module Endpoint What it does
Catastrophic Forgetting /analysis/{id}/forgetting Do early patterns survive over time?
Transfer Learning /analysis/{id}/transfer Does learning task A help task B?
Consolidation /analysis/{id}/consolidation Offline memory consolidation events
Channel Capacity /analysis/{id}/channel-capacity Multi-bit information capacity

Connectomics (5 endpoints)

Module Endpoint What it does
Full Connectome /analysis/{id}/connectome Weighted adjacency, communities, modularity
Graph Theory /analysis/{id}/graph-theory Rich-club, small-world, efficiency, centrality
Effective Connectivity /analysis/{id}/effective-connectivity Directed causal connections
Topology /analysis/{id}/topology Betti numbers, persistent homology

Experiments (6 endpoints)

Module Endpoint What it does
Pong POST /experiments/{id}/pong/simulate DishBrain Pong simulation
Logic Gates POST /experiments/{id}/logic/benchmark AND, OR, XOR, NAND benchmark
Vowels POST /experiments/{id}/vowels/simulate Brainoware 240-vowel classification
Memory Tests /experiments/{id}/memory-tests Working, short-term, long-term, associative
Closed-Loop POST /experiments/{id}/closed-loop/simulate DishBrain mode simulation
Architecture Search POST /analysis/{id}/architecture-search NAS for optimal stimulation

Full Report

# Run ALL analyses in one call (~5 seconds)
curl "http://localhost:8847/api/analysis/{id}/full-report"

Returns 21+ analysis results in a single JSON response.


Data Formats

Input

  • CSV: columns time, electrode, amplitude
  • HDF5: FinalSpark format or generic arrays
  • Parquet: columnar format
  • JSON: array of objects or nested structure
  • NWB: Neurodata Without Borders

Column names are auto-detected. FinalSpark electrode indexing (modulo 32) is handled automatically.

FinalSpark Compatibility

  • Sampling rate: 30 kHz (configurable)
  • Spike detection: 6× median(σ) threshold (Section 4.2 of Jordan et al. 2024)
  • MEA: 4 × 8 electrodes = 32 channels
  • Electrode index > 32 → modulo 32 applied automatically

Tech Stack

  • Python 3.12 + FastAPI
  • NumPy / SciPy / Pandas — core computation
  • scikit-learn — ML (Isolation Forest, KMeans, Ridge, PCA)
  • h5py — HDF5 file support

API Reference

Data Management

POST   /api/upload              Upload spike data file
POST   /api/generate            Generate synthetic data
GET    /api/datasets             List loaded datasets
GET    /api/datasets/{id}        Dataset info
GET    /api/datasets/{id}/spikes Spike data with filters

Analysis

GET    /api/analysis/{id}/summary           Full statistics
GET    /api/analysis/{id}/quality            Data quality metrics
GET    /api/analysis/{id}/firing-rates       Time-binned rates
GET    /api/analysis/{id}/isi                Inter-spike intervals
GET    /api/analysis/{id}/amplitudes         Amplitude distributions
GET    /api/analysis/{id}/temporal           Temporal dynamics
POST   /api/analysis/{id}/spike-sorting      Spike sorting
GET    /api/analysis/{id}/bursts             Network bursts
GET    /api/analysis/{id}/connectivity       Connectivity graph
GET    /api/analysis/{id}/cross-correlation  Correlograms
GET    /api/analysis/{id}/transfer-entropy   Directed information
GET    /api/analysis/{id}/entropy            Shannon entropy
GET    /api/analysis/{id}/mutual-information Mutual information
GET    /api/analysis/{id}/complexity         LZ complexity
GET    /api/analysis/{id}/power-spectrum     Power spectral density
GET    /api/analysis/{id}/coherence          Spectral coherence
GET    /api/analysis/{id}/avalanches         Criticality
GET    /api/analysis/{id}/digital-twin/fit   LIF model fitting
POST   /api/analysis/{id}/digital-twin/simulate  Simulate twin
GET    /api/analysis/{id}/anomalies          Anomaly detection
GET    /api/analysis/{id}/states             State classification
GET    /api/analysis/{id}/pca                PCA embedding
GET    /api/analysis/{id}/stdp               STDP plasticity
GET    /api/analysis/{id}/learning           Learning episodes
GET    /api/analysis/{id}/iq                 Organoid IQ
GET    /api/analysis/{id}/predict/firing-rates  Rate forecast
GET    /api/analysis/{id}/predict/bursts     Burst probability
GET    /api/analysis/{id}/health             Health assessment
GET    /api/analysis/{id}/replay             Neural replay
GET    /api/analysis/{id}/sequences          Neural circuits
GET    /api/analysis/{id}/memory-capacity    Reservoir MC
GET    /api/analysis/{id}/nonlinearity       Computation benchmark
GET    /api/analysis/{id}/fingerprint        Organoid fingerprint
GET    /api/analysis/{id}/sonify             Audio sonification
GET    /api/analysis/{id}/rhythms            Rhythmic analysis
GET    /api/analysis/{id}/emergence          Phi / causal emergence
GET    /api/analysis/{id}/attractors         Attractor landscape
GET    /api/analysis/{id}/state-space        State space geometry
GET    /api/analysis/{id}/phase-transitions  Phase transitions
GET    /api/analysis/{id}/predictive-coding  Predictive coding
GET    /api/analysis/{id}/weights            Synaptic weights
GET    /api/analysis/{id}/weight-tracking    Weight changes
GET    /api/analysis/{id}/multiscale         Multi-timescale
GET    /api/analysis/{id}/full-report        ALL analyses

Export

GET    /api/export/{id}/csv    Download as CSV
GET    /api/export/{id}/json   Download as JSON

License

MIT


NeuroBridge — Biocomputing-as-a-Service Platform

Metadata

Release files for neurocomputers 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neurocomputers 0.2.0
File Size Uploaded
neurocomputers-0.2.0.tar.gz 289.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neurocomputers 0.2.0
File Interpreter ABI Platform
neurocomputers-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 604.5 kB

Release files / neurocomputers-0.2.0.tar.gz

Download URL neurocomputers-0.2.0.tar.gz
Size 289.7 kB
Tags Source
SHA-256 checksum
How to use checksums
51313493f631f85df9afa4b8a388f6155b1dd6a20d1ea786a385d62b92d7d598
BLAKE2b-256 checksum
How to use checksums
9effba8b2ce03f0897d77cf0b70e150cc16efc99cb2579cb21d829d7471fac67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / neurocomputers-0.2.0-py3-none-any.whl

Download URL neurocomputers-0.2.0-py3-none-any.whl
Size 314.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec6cb28cb318a4766b03a3b11b019b5ac14fc92020c3459396dad8abbf8e81e6
BLAKE2b-256 checksum
How to use checksums
fb14a17f034f6037424bd2a172f733105af2a836b97357a288f62501b7b08b60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page