neuroscience
Neural science including neuronal modeling, synaptic transmission, neural networks, brain imaging analysis, and cognitive neuroscience for biomedical applications.
معلومات المصدر
- المستودع
- ffsshhttiikk/opencode-agents-skills
- آخر نشاط في المصدر
- ٢٨ فبراير ٢٠٢٦ في ٢٢:٥٣
- لغة SKILL.md المكتشفة
- الإنجليزية
- النجوم
- ٣
- التفرعات
- ٢
خيارات التثبيت
يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.
مراجعة ملفات المصدر
اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.
عرض SKILL.md
SKILL.md
تعليمات المصدر · معاينة للقراءة فقط- name
- Neuroscience
- description
- Neural science including neuronal modeling, synaptic transmission, neural networks, brain imaging analysis, and cognitive neuroscience for biomedical applications.
- license
- MIT
- compatibility
- python>=3.8
- audience
- neuroscientists, cognitive-scientists, researchers, medical-professionals
- category
- biology
# Neuroscience
## What I Do
I provide comprehensive neuroscience tools including neuronal modeling, synaptic dynamics, neural network analysis, brain imaging quantification, EEG/MEG signal processing, and cognitive assessment for biomedical research applications.
## When to Use Me
- Neuronal spiking models
- Synaptic plasticity analysis
- Brain imaging data analysis
- Neural signal processing
- Cognitive testing analysis
- Neuropharmacology studies
## Core Concepts
- **Neuronal Models**: Hodgkin-Huxley, integrate-and-fire
- **Synaptic Transmission**: Neurotransmitter release, receptors
- **Synaptic Plasticity**: LTP, LTD, STDP
- **Neural Networks**: Connectivity, activity patterns
- **Brain Imaging**: fMRI, PET, structural analysis
- **Neural Signals**: EEG, MEG, LFP analysis
- **Cognitive Neuroscience**: Behavioral paradigms
- **Neuropharmacology**: Drug-receptor interactions
## Code Examples
### Hodgkin-Huxley Model
```python
import numpy as np
def alpha_n(V):
return 0.01 * (V + 55) / (1 - np.exp(-(V + 55) / 10))
def beta_n(V):
return 0.125 * np.exp(-(V + 65) / 80)
def alpha_m(V):
return 0.1 * (V + 40) / (1 - np.exp(-(V + 40) / 10))
def beta_m(V):
return 4 * np.exp(-(V + 65) / 18)
def alpha_h(V):
return 0.07 * np.exp(-(V + 65) / 20)
def beta_h(V):
return 1 / (1 + np.exp(-(V + 35) / 10))
def hodgkin_huxley_step(V, n, m, h, dt, I_ext):
dn = (alpha_n(V) * (1 - n) - beta_n(V) * n) * dt
dm = (alpha_m(V) * (1 - m) - beta_m(V) * m) * dt
dh = (alpha_h(V) * (1 - h) - beta_h(V) * h) * dt
dV = (I_ext - 36 * n**4 * (V - 12) - 120 * m**3 * h * (V + 115) - 0.3 * (V + 10.613)) * dt
return V + dV, n + dn, m + dm, h + dh
def simulate_hh(dt=0.01, T=100, I_inj=10):
V = -65
n = alpha_n(V) / (alpha_n(V) + beta_n(V))
m = alpha_m(V) / (alpha_m(V) + beta_m(V))
h = alpha_h(V) / (alpha_h(V) + beta_h(V))
t = np.arange(0, T, dt)
V_trace = np.zeros_like(t)
for i, ti in enumerate(t):
V, n, m, h = hodgkin_huxley_step(V, n, m, h, dt, I_inj)
V_trace[i] = V
return t, V_trace
```
### Integrate-and-Fire Model
```python
class LeakyIntegrateAndFire:
def __init__(self, C=1, gL=0.1, EL=-70, Vth=-50, Vreset=-75, tau_ref=2):
self.C = C
self.gL = gL
self.EL = EL
self.Vth = Vth
self.Vreset = Vreset
self.tau_ref = tau_ref
self.V = EL
def update(self, I, dt):
if self.tau_ref > 0:
self.tau_ref -= dt
return False
dV = (-self.gL * (self.V - self.EL) + I) / self.C * dt
self.V += dV
if self.V >= self.Vth:
self.V = self.Vreset
self.tau_ref = 2
return True
return False
def simulate(self, I_func, T, dt):
t = np.arange(0, T, dt)
spikes = []
V_trace = []
for ti in t:
I = I_func(ti) if callable(I_func) else I
spiked = self.update(I, dt)
if spiked:
spikes.append(ti)
V_trace.append(self.V)
return np.array(t), np.array(V_trace), np.array(spikes)
neuron = LeakyIntegrateAndFire()
t, V, spikes = neuron.simulate(lambda t: 2.5, 100, 0.1)
print(f"Spike count: {len(spikes)}")
print(f"Average firing rate: {len(spikes) / 100 * 1000:.1f} Hz")
```
### Spike Timing Dependent Plasticity
```python
def stdp_rule(dt, A_plus=1, tau_plus=20, A_minus=1, tau_minus=20):
if dt > 0:
return A_plus * np.exp(-dt / tau_plus)
else:
return -A_minus * np.exp(dt / tau_minus)
def update_weights_stdp(weights, pre_spikes, post_spikes, dt, time_window=100):
dw = np.zeros_like(weights)
for i, t_pre in enumerate(pre_spikes):
for j, t_post in enumerate(post_spikes):
delta_t = t_post - t_pre
if abs(delta_t) <= time_window:
dw[i, j] = stdp_rule(delta_t)
weights = np.clip(weights + dw, 0, 1)
return weights
def hebbian_learning(pre_activity, post_activity, learning_rate=0.01):
delta_w = learning_rate * np.outer(pre_activity, post_activity)
return delta_w
def oja's_rule(pre_activity, post_activity, w, alpha=0.001):
delta_w = post_activity * (pre_activity - alpha * post_activity * w)
return delta_w
```
### Neural Signal Processing
```python
from scipy import signal
def bandpower(data, fs, band):
f, Pxx = signal.welch(data, fs=fs, nperseg=1024)
idx_band = np.logical_and(f >= band[0], f <= band[1])
return np.trapz(Pxx[idx_band], f[idx_band])
def extract_lfp_features(lfp_signal, sampling_rate=1000):
theta = bandpower(lfp_signal, sampling_rate, [4, 8])
gamma = bandpower(lfp_signal, sampling_rate, [30, 100])
delta = bandpower(lfp_signal, sampling_rate, [0.5, 4])
return {'theta': theta, 'gamma': gamma, 'delta': delta}
def detect_spikes_amplitude(data, threshold=-3):
std = np.std(data)
mean = np.mean(data)
threshold_val = mean + threshold * std
spikes = np.where(data > threshold_val)[0]
return spikes
def coherence_analysis(signal1, signal2, fs=1000):
f, Cxy = signal.coherence(signal1, signal2, fs=fs, nperseg=256)
return f, Cxy
```
### fMRI Analysis Basics
```python
def spm_hrf(TR, num_volumes):
import scipy.stats as stats
d = np.arange(0, num_volumes * TR, TR)
hrf = stats.gamma.pdf(d, 6) - stats.gamma.pdf(d, 16) / 6
return hrf / np.sum(hrf)
def motion_correction(motion_params):
corrections = {
'translation_x': motion_params[0],
'translation_y': motion_params[1],
'translation_z': motion_params[2],
'rotation_x': motion_params[3],
'rotation_y': motion_params[4],
'rotation_z': motion_params[5]
}
return corrections
def compute_beta_maps(design_matrix, bold_timeseries):
betas = np.linalg.lstsq(design_matrix, bold_timeseries, rcond=None)[0]
return betas
def roi_timeseries提取(roi_mask, bold_data):
n_timepoints = bold_data.shape[3]
roi_ts = np.zeros(n_timepoints)
for t in range(n_timepoints):
roi_ts[t] = np.mean(bold_data[:, :, :, t][roi_mask])
return roi_ts
```
## Best Practices
1. **Model Validation**: Compare with experimental data
2. **Parameter Sensitivity**: Test parameter ranges
3. **Noise**: Include realistic noise models
4. **Spatial Resolution**: Consider imaging limitations
5. **Multiple Comparisons**: Correct for fMRI analysis
## Common Patterns
```python
# Firing rate calculation
def firing_rate(spike_times, bin_size, time_range):
bins = np.arange(time_range[0], time_range[1] + bin_size, bin_size)
counts, _ = np.histogram(spike_times, bins)
return counts / bin_size
# Information theory measures
def mutual_information(rate1, rate2):
from sklearn.metrics import mutual_info_score
return mutual_info_score(rate1, rate2)
# Neural decoding
def neural_decoding(patterns, labels):
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression()
clf.fit(patterns, labels)
return clf.score(patterns, labels)
```
## Core Competencies
1. Biophysical neuron modeling
2. Synaptic plasticity mechanisms
3. Neural signal processing
4. Brain imaging analysis
5. Cognitive paradigm analysis
عرض على GitHub