A state-of-the-art neural network simulation incorporating modern neuroscience discoveries, including dendritic computation, synaptic plasticity, neuromodulation, and homeostatic mechanisms.
- Overview
- New Features
- Requirements
- Installation
- Usage
- Configuration
- Technical Details
- Output Files
- Data Analysis
- Contributing
- License
This advanced simulation implements a biologically-detailed neural network model that incorporates recent discoveries in neuroscience. The model features:
- Realistic dendritic computation
- Multiple forms of synaptic plasticity
- Neuromodulatory systems
- Homeostatic scaling
- Burst detection and processing
- Correlated neural noise
- Advanced calcium dynamics
- Multiple dendritic segments per neuron
- Local NMDA spikes
- Nonlinear dendritic integration
- Compartmentalized synaptic plasticity
- Branch-specific calcium dynamics
- Spike-Timing-Dependent Plasticity (STDP)
- Metaplasticity mechanisms
- Homeostatic scaling
- Activity-dependent modification
- Synaptic trace mechanisms
typedef struct {
double dopamine;
double serotonin;
double noradrenaline;
double acetylcholine;
} Neuromodulators;
- Implementation of major neuromodulatory systems
- Burst-dependent modulation
- Plasticity modification
- Behavioral state simulation
typedef struct {
double threshold_baseline;
double adaptation_rate;
double target_activity;
double current_activity;
} HomeostaticScaling;
- Target activity maintenance
- Adaptive threshold adjustment
- Synaptic scaling
- Metaplasticity regulation
- Real-time burst analysis
- Burst-triggered plasticity
- Neuromodulator release
- Pattern detection capabilities
- GCC compiler (version 8.0 or higher)
- Make build system
- Minimum 16GB RAM (32GB recommended)
- Multi-core processor recommended
- POSIX-compliant operating system
- C Standard Library
- Math Library (libm)
- Standard C Time Library
- OpenMP (optional, for parallelization)
- GSL (GNU Scientific Library) for advanced mathematical functions
- Clone the repository:
git clone https://github.com/yourusername/advanced-neural-simulation.git
cd advanced-neural-simulation
- Configure build options:
./configure --enable-openmp --with-gsl
- Compile the source code:
make
- Run tests:
make test
./neural_sim [options]
Options:
-c, --config <file> Specify configuration file
-o, --output <dir> Specify output directory
-t, --time <seconds> Simulation duration
-s, --seed <number> Random seed
-n, --neurons <number> Number of neurons
-d, --dendrites <number> Dendrites per neuron
-p, --plasticity <type> Plasticity rule (stdp/hebbian/homeostatic)
-m, --modulation <bool> Enable neuromodulation
-b, --burst <bool> Enable burst detection
-v, --verbose Enable verbose output
--gpu Use GPU acceleration (if available)
- Basic Simulation:
./neural_sim --config basic.conf --time 10.0
- Advanced Features:
./neural_sim --config advanced.conf --dendrites 20 --plasticity stdp --modulation true
- Large-Scale Simulation:
./neural_sim --neurons 1000 --dendrites 50 --gpu --output large_sim/
[Network]
num_pyramidal = 1000
num_inhibitory = 200
dt = 0.00001
connection_rate = 0.1
[Dendrites]
num_dendrites = 20
num_synapses_per_dendrite = 100
dendrite_coupling = 0.5
nmda_threshold = 0.8
[Plasticity]
stdp_window = 0.020
stdp_rate = 0.01
meta_plasticity_rate = 0.001
homeostatic_tau = 1000.0
[Neuromodulation]
dopamine_baseline = 1.0
serotonin_baseline = 1.0
modulator_decay = 0.100
burst_threshold = -50.0
[Homeostasis]
target_rate = 10.0
adaptation_rate = 0.01
scaling_tau = 1000.0
The simulation implements a multi-compartmental dendritic model:
- Local Potential Evolution:
dV_dend/dt = (-g_leak*(V_dend-E_leak) + I_syn + I_NMDA + I_coupling)/C_dend
- NMDA Spike Generation:
I_NMDA = g_NMDA * s_NMDA * (V_dend-E_NMDA) * Mg_block(V_dend)
- Dendritic Integration:
V_soma = sum(w_i * V_dend_i) + V_baseline
- STDP with Metaplasticity:
dw/dt = A+ * exp(-Δt/τ+) * M(w) for Δt > 0
dw/dt = -A- * exp(Δt/τ-) * M(w) for Δt < 0
- Homeostatic Scaling:
dθ/dt = (r_current - r_target)/τ_homeo
The impact of neuromodulators on synaptic plasticity:
Δw_effective = Δw_base * (1 + α_DA * [DA] + α_ACh * [ACh])
The simulation generates several detailed output files:
-
neuron_activity.txt
:time neuron_id voltage calcium burst_state modulator_levels
-
synaptic_weights.txt
:time pre_id post_id dendrite_id weight meta_plasticity
-
population_statistics.txt
:time mean_rate burst_frequency average_weight modulator_levels
Example Python script for analyzing burst patterns:
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
def analyze_bursts(filename):
# Load data
data = np.loadtxt(filename)
time = data[:, 0]
voltage = data[:, 1]
# Detect bursts
burst_threshold = -50
burst_indices = np.where(voltage > burst_threshold)[0]
# Analyze burst patterns
burst_intervals = np.diff(time[burst_indices])
# Plot results
plt.figure(figsize=(12, 6))
plt.hist(burst_intervals, bins=50, density=True)
plt.xlabel('Inter-burst Interval (ms)')
plt.ylabel('Probability Density')
plt.title('Burst Interval Distribution')
plt.show()
return burst_intervals
# Usage
intervals = analyze_bursts('neuron_activity.txt')
print(f"Mean burst interval: {np.mean(intervals):.2f} ms")
We welcome contributions! Areas of particular interest:
-
New Features
- Additional neuron types
- More complex dendrite morphologies
- Glial cell interactions
- Extracellular field effects
- Detailed ion channel dynamics
-
Performance Improvements
- GPU acceleration
- Parallel processing
- Memory optimization
- Numerical method improvements
-
Analysis Tools
- Real-time visualization
- Advanced analytics
- Machine learning integration
- Pattern detection algorithms
- Fork the repository
- Create a feature branch
- Implement your changes
- Add tests and documentation
- Submit a pull request
- Follow C99 standard
- Use consistent indentation (4 spaces)
- Document all functions and complex code sections
- Include unit tests for new features
- Follow neuroscientific naming conventions
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this software in your research, please cite:
@software{advanced_neural_sim_2024,
title = {Advanced Neural Network Simulation},
author = {Author, A.},
year = {2024},
url = {https://github.com/yourusername/advanced-neural-simulation},
version = {2.0.0}
}
For more information, bug reports, or feature requests, please:
- Open an issue in the GitHub repository
- Contact the maintainers
- Check our documentation