How philshiu/drosophila_brain_model works
This repository is a connectome-based Drosophila brain simulator: users define neuron activation and silencing experiments, run Brian 2 simulations, and obtain spike-time data that can be summarized as firing rates. The graph separates input data, experiment control, simulation internals, and result analysis. The README documents notebook use and additional figure calculations; those notebooks are represented, but their unsampled code is not assumed to call particular helpers.
Main entry points: model.py Trial Orchestrator · example.ipynb Experiment Tutorial · results Simulation Results · utils.py Result Loader
Components 16
Connectome Inputs
- Neuron Completeness
Completeness_783.csv - Neuron Connectivity
Connectivity_783.parquet
Experiment Workflow
- Experiment Tutorial
example.ipynb - Experiment Runner
model.py - Trial Orchestrator
model.py - Spike Dataframe
model.py
Neural Simulation
- Network Builder
model.py - Poisson Activation
model.py - Synapse Silencing
model.py - Brian 2 Runtime
- Spike Extraction
model.py
Results Analysis
- Figure Calculations
figures.ipynb - Simulation Results
results - Result Loader
utils.py - Rate Summaries
utils.py
Other components
- Researcher
Connections 18
- Researcher → Experiment Tutorial: uses tutorial
Readme.md - Researcher → Figure Calculations: runs calculations
Readme.md - Experiment Tutorial → Experiment Runner: uses model
Readme.md - Neuron Completeness → Network Builder: loads neurons
model.py - Neuron Connectivity → Network Builder: loads connections
model.py - Experiment Runner → Trial Orchestrator: dispatches trials
model.py - Trial Orchestrator → Network Builder: builds network
model.py - Trial Orchestrator → Poisson Activation: adds inputs
model.py - Trial Orchestrator → Synapse Silencing: zeros weights
model.py - Trial Orchestrator → Brian 2 Runtime: runs simulation
model.py - Network Builder → Brian 2 Runtime: creates objects
model.py - Poisson Activation → Brian 2 Runtime: creates inputs
model.py - Synapse Silencing → Brian 2 Runtime: modifies synapses
model.py - Trial Orchestrator → Spike Extraction: extracts spikes
model.py - Experiment Runner → Spike Dataframe: formats trials
model.py - Spike Dataframe → Simulation Results: writes results
model.py - Simulation Results → Result Loader: loads parquet
utils.py - Result Loader → Rate Summaries: summarizes rates
utils.py