[projects] added solution to isicorrelations
This commit is contained in:
parent
012c3e39b4
commit
f76ab7170e
@ -29,8 +29,7 @@ Improve questions
|
|||||||
|
|
||||||
project_isicorrelations
|
project_isicorrelations
|
||||||
medium-difficult
|
medium-difficult
|
||||||
Add statistical test for dependence on adapttau!
|
Need to finish solution
|
||||||
Need to program a solution!
|
|
||||||
|
|
||||||
project_isipdffit
|
project_isipdffit
|
||||||
Too technical
|
Too technical
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
\textbf{Evaluation criteria:}
|
\textbf{Evaluation criteria:}
|
||||||
|
|
||||||
You can view the evaluation criteria on the
|
You can view the evaluation criteria on the
|
||||||
emph{SciCompScoreSheet.pdf} on Ilias.
|
\emph{SciCompScoreSheet.pdf} on Ilias.
|
||||||
|
|
||||||
\vspace{1ex}
|
\vspace{1ex}
|
||||||
\textbf{Dates:}
|
\textbf{Dates:}
|
||||||
@ -23,7 +23,7 @@
|
|||||||
zip-file.
|
zip-file.
|
||||||
|
|
||||||
Hint: make the zip file you want to upload, unpack it somewhere
|
Hint: make the zip file you want to upload, unpack it somewhere
|
||||||
else and check if your main script is running properly.
|
else and check if your main script is still running properly.
|
||||||
|
|
||||||
\vspace{1ex}
|
\vspace{1ex}
|
||||||
\textbf{Code:}
|
\textbf{Code:}
|
||||||
|
@ -19,7 +19,8 @@ clean:
|
|||||||
|
|
||||||
latex:
|
latex:
|
||||||
pdflatex $(BASENAME).tex
|
pdflatex $(BASENAME).tex
|
||||||
|
pdflatex $(BASENAME).tex
|
||||||
|
|
||||||
zip: pdf
|
zip: latex
|
||||||
rm -f zip $(BASENAME).zip
|
rm -f zip $(BASENAME).zip
|
||||||
zip $(BASENAME).zip *.pdf *.m data/* $(ZIPFILES)
|
zip $(BASENAME).zip *.pdf *.m data/* $(ZIPFILES)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
\documentclass[a4paper,12pt,pdftex]{exam}
|
\documentclass[a4paper,12pt,pdftex]{exam}
|
||||||
|
|
||||||
\newcommand{\ptitle}{Interspike-intervall correlations}
|
\newcommand{\ptitle}{Adaptation and interspike-interval correlations}
|
||||||
\input{../header.tex}
|
\input{../header.tex}
|
||||||
\firstpagefooter{Supervisor: Jan Benda}{phone: 29 74573}%
|
\firstpagefooter{Supervisor: Jan Benda}{phone: 29 74573}%
|
||||||
{email: jan.benda@uni-tuebingen.de}
|
{email: jan.benda@uni-tuebingen.de}
|
||||||
@ -20,10 +20,10 @@
|
|||||||
Explore the dependence of interspike interval correlations on the firing rate,
|
Explore the dependence of interspike interval correlations on the firing rate,
|
||||||
adaptation time constant and noise level.
|
adaptation time constant and noise level.
|
||||||
|
|
||||||
The neuron is a neuron with an adaptation current.
|
The neuron is a neuron with an adaptation current. It is
|
||||||
It is implemented in the file \texttt{lifadaptspikes.m}. Call it
|
implemented in the file \texttt{lifadaptspikes.m}. Call it with the
|
||||||
with the following parameters:
|
following parameters:
|
||||||
\begin{lstlisting}
|
\begin{lstlisting}
|
||||||
trials = 10;
|
trials = 10;
|
||||||
tmax = 50.0;
|
tmax = 50.0;
|
||||||
input = 10.0; % the input I
|
input = 10.0; % the input I
|
||||||
@ -31,7 +31,7 @@ Dnoise = 1e-2; % noise strength
|
|||||||
adapttau = 0.1; % adaptation time constant in seconds
|
adapttau = 0.1; % adaptation time constant in seconds
|
||||||
adaptincr = 0.5; % adaptation strength
|
adaptincr = 0.5; % adaptation strength
|
||||||
|
|
||||||
spikes = lifadaptspikes( trials, input, tmax, Dnoise, adapttau, adaptincr );
|
spikes = lifadaptspikes(trials, input, tmax, Dnoise, adapttau, adaptincr);
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
The returned \texttt{spikes} is a cell array with \texttt{trials} elements, each being a vector
|
The returned \texttt{spikes} is a cell array with \texttt{trials} elements, each being a vector
|
||||||
of spike times (in seconds) computed for a duration of \texttt{tmax} seconds.
|
of spike times (in seconds) computed for a duration of \texttt{tmax} seconds.
|
||||||
@ -39,29 +39,42 @@ spikes = lifadaptspikes( trials, input, tmax, Dnoise, adapttau, adaptincr );
|
|||||||
and the adaptation time constant via \texttt{adapttau}.
|
and the adaptation time constant via \texttt{adapttau}.
|
||||||
|
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part Measure the intensity-response curve of the neuron, that is the mean firing rate
|
\part Show a spike-raster plot and a time-resolved firing rate of
|
||||||
as a function of the input for a range of inputs from 0 to 120.
|
the neuron for an input current of 50 for three different
|
||||||
|
adaptation time constants \texttt{adapttau} (10\,m, 100\,ms,
|
||||||
\part Compute the correlations between each interspike interval $T_i$ and the next one $T_{i+1}$
|
1\,s). How do the neural responses look like and how do they
|
||||||
(serial interspike interval correlation at lag 1). Plot this correlation as a function of the
|
depend on the adaptation time constant?
|
||||||
firing rate by varying the input as in (a).
|
|
||||||
|
\uplevel{For all the following analysis we only use the spike
|
||||||
\part How does this dependence change for different values of the adaptation
|
times of the steady-state response, i.e. we skip all spikes
|
||||||
time constant \texttt{adapttau}? Use values between 10\,ms and
|
occuring before at least three times the adaptation time
|
||||||
1\,s for \texttt{adapttau}.
|
constant.}
|
||||||
|
|
||||||
\part Determine the firing rate at which the minimum interspike interval correlation
|
\part \label{ficurve} Measure the intensity-response curve of the
|
||||||
occurs. How does the minimum correlation and this firing rate
|
neuron, that is the mean firing rate as a function of the input
|
||||||
depend on the adaptation time constant \texttt{adapttau}?
|
for a range of inputs from 0 to 120.
|
||||||
|
|
||||||
\part How do the results change if the level of the intrinsic noise \texttt{Dnoise} is modified?
|
\part Additionally compute the correlations between each
|
||||||
Use values of 1e-4, 1e-3, 1e-2, 1e-1, and 1 for \texttt{Dnoise}.
|
interspike interval $T_i$ and the next one $T_{i+1}$ (serial
|
||||||
|
interspike interval correlation at lag 1) for the same range of
|
||||||
|
inputs as in (\ref{ficurve}). Plot the correlation as a function
|
||||||
\uplevel{If you still have time you can continue with the following question:}
|
of the input.
|
||||||
|
|
||||||
\part How do the interspike interval distributions look like for the different noise levels
|
\part How does the intensity-response curve and the
|
||||||
at some example values for the input and the adaptation time constant?
|
interspike-interval correlations depend on the adaptation time
|
||||||
|
constant \texttt{adapttau}? Use several values between 10\,ms and
|
||||||
|
1\,s for \texttt{adapttau} (logarithmically distributed).
|
||||||
|
|
||||||
|
\part Determine the firing rate at which the minimum interspike
|
||||||
|
interval correlation occurs. How does the minimum correlation and
|
||||||
|
this firing rate (or the inverse of it, the mean interspike
|
||||||
|
interval) depend on the adaptation time constant
|
||||||
|
\texttt{adapttau}? Is this dependence siginificant? If yes, can
|
||||||
|
you explain this dependence?
|
||||||
|
|
||||||
|
\part How do all the results change if the level of the intrinsic
|
||||||
|
noise \texttt{Dnoise} is modified? Use values of 1e-4, 1e-3,
|
||||||
|
1e-2, 1e-1, and 1 for \texttt{Dnoise}.
|
||||||
|
|
||||||
\end{parts}
|
\end{parts}
|
||||||
|
|
||||||
|
@ -41,11 +41,8 @@ function spikes = lifadaptspikes( trials, input, tmaxdt, D, tauadapt, adaptincr
|
|||||||
if v >= vthresh
|
if v >= vthresh
|
||||||
v = vreset;
|
v = vreset;
|
||||||
a = a + adaptincr/tauadapt;
|
a = a + adaptincr/tauadapt;
|
||||||
spiketime = i*dt;
|
times(j) = i*dt;
|
||||||
if spiketime > 4.0*tauadapt
|
j = j + 1;
|
||||||
times(j) = spiketime - 4.0*tauadapt;
|
|
||||||
j = j + 1;
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
spikes{k} = times;
|
spikes{k} = times;
|
||||||
|
11
projects/project_isicorrelations/solution/firingrate.m
Normal file
11
projects/project_isicorrelations/solution/firingrate.m
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
function [ rate ] = firingrate(spikes, t0, t1)
|
||||||
|
% compute the firing rate from spikes between t0 and t1
|
||||||
|
|
||||||
|
rates = zeros(length(spikes), 1);
|
||||||
|
for k = 1:length(spikes)
|
||||||
|
spiketimes = spikes{k};
|
||||||
|
rates(k) = length(spiketimes((spiketimes>=t0)&(spiketimes<=t1)))/(t1-t0);
|
||||||
|
end
|
||||||
|
rate = mean(rates);
|
||||||
|
end
|
||||||
|
|
36
projects/project_isicorrelations/solution/isicorrelations.m
Normal file
36
projects/project_isicorrelations/solution/isicorrelations.m
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
trials = 5;
|
||||||
|
tmax = 10.0;
|
||||||
|
Dnoise = 1e-2; % noise strength
|
||||||
|
adapttau = 0.1; % adaptation time constant in seconds
|
||||||
|
adaptincr = 0.5; % adaptation strength
|
||||||
|
t0=2.0;
|
||||||
|
t1=tmax;
|
||||||
|
maxlag = 5;
|
||||||
|
|
||||||
|
taus = [0.01, 0.1, 1.0];
|
||||||
|
colors = ['r', 'b', 'g'];
|
||||||
|
for j = 1:length(taus)
|
||||||
|
adapttau = taus(j);
|
||||||
|
% f-I curves:
|
||||||
|
Is = [0:10:80];
|
||||||
|
rate = zeros(length(Is),1);
|
||||||
|
corr = zeros(length(Is),maxlag);
|
||||||
|
for k = 1:length(Is)
|
||||||
|
input = Is(k);
|
||||||
|
spikes = lifadaptspikes(trials, input, tmax, Dnoise, adapttau, adaptincr);
|
||||||
|
rate(k) = firingrate(spikes, t0, t1);
|
||||||
|
corr(k,:) = serialcorr(spikes, t0, t1, maxlag);
|
||||||
|
end
|
||||||
|
|
||||||
|
figure(1);
|
||||||
|
hold on
|
||||||
|
plot(Is, rate, colors(j));
|
||||||
|
hold off
|
||||||
|
|
||||||
|
figure(2);
|
||||||
|
hold on
|
||||||
|
plot(Is, corr(:,2), colors(j));
|
||||||
|
hold off
|
||||||
|
end
|
||||||
|
|
||||||
|
pause
|
50
projects/project_isicorrelations/solution/lifadaptspikes.m
Normal file
50
projects/project_isicorrelations/solution/lifadaptspikes.m
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
function spikes = lifadaptspikes( trials, input, tmaxdt, D, tauadapt, adaptincr )
|
||||||
|
% Generate spike times of a leaky integrate-and-fire neuron
|
||||||
|
% with an adaptation current
|
||||||
|
% trials: the number of trials to be generated
|
||||||
|
% input: the stimulus either as a single value or as a vector
|
||||||
|
% tmaxdt: in case of a single value stimulus the duration of a trial
|
||||||
|
% in case of a vector as a stimulus the time step
|
||||||
|
% D: the strength of additive white noise
|
||||||
|
% tauadapt: adaptation time constant
|
||||||
|
% adaptincr: adaptation strength
|
||||||
|
|
||||||
|
tau = 0.01;
|
||||||
|
if nargin < 4
|
||||||
|
D = 1e0;
|
||||||
|
end
|
||||||
|
if nargin < 5
|
||||||
|
tauadapt = 0.1;
|
||||||
|
end
|
||||||
|
if nargin < 6
|
||||||
|
adaptincr = 1.0;
|
||||||
|
end
|
||||||
|
vreset = 0.0;
|
||||||
|
vthresh = 10.0;
|
||||||
|
dt = 1e-4;
|
||||||
|
|
||||||
|
if max( size( input ) ) == 1
|
||||||
|
input = input * ones( ceil( tmaxdt/dt ), 1 );
|
||||||
|
else
|
||||||
|
dt = tmaxdt;
|
||||||
|
end
|
||||||
|
spikes = cell( trials, 1 );
|
||||||
|
for k=1:trials
|
||||||
|
times = [];
|
||||||
|
j = 1;
|
||||||
|
v = vreset + (vthresh-vreset)*rand();
|
||||||
|
a = 0.0;
|
||||||
|
noise = sqrt(2.0*D)*randn( length( input ), 1 )/sqrt(dt);
|
||||||
|
for i=1:length( noise )
|
||||||
|
v = v + ( - v - a + noise(i) + input(i))*dt/tau;
|
||||||
|
a = a + ( - a )*dt/tauadapt;
|
||||||
|
if v >= vthresh
|
||||||
|
v = vreset;
|
||||||
|
a = a + adaptincr/tauadapt;
|
||||||
|
times(j) = i*dt;
|
||||||
|
j = j + 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
spikes{k} = times;
|
||||||
|
end
|
||||||
|
end
|
15
projects/project_isicorrelations/solution/serialcorr.m
Normal file
15
projects/project_isicorrelations/solution/serialcorr.m
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
function [ isicorrs ] = serialcorr(spikes, t0, t1, maxlag)
|
||||||
|
% compute the serial correlations from spikes between t0 and t1
|
||||||
|
|
||||||
|
ics = zeros(length(spikes), maxlag);
|
||||||
|
for k = 1:length(spikes)
|
||||||
|
spiketimes = spikes{k};
|
||||||
|
isis = diff(spiketimes((spiketimes>=t0)&(spiketimes<=t1)));
|
||||||
|
if length(isis) > 2*maxlag
|
||||||
|
for j=1:maxlag
|
||||||
|
ics(k, j) = corr(isis(j:end)', isis(1:end+1-j)');
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
isicorrs = mean(ics, 1);
|
||||||
|
end
|
@ -36,22 +36,29 @@ resting potential before stimulus onset.
|
|||||||
project, however, you can treat it as if it was the intensity.)
|
project, however, you can treat it as if it was the intensity.)
|
||||||
|
|
||||||
\begin{parts}
|
\begin{parts}
|
||||||
\part{} Create a plot of the raw data. For each light intensity plot the average response
|
\part Create a plot of the raw data. For each light intensity plot
|
||||||
as a function of time. This plot should also depict the across-trial
|
the average response as a function of time. This plot should also
|
||||||
variability in an appropriate way.\\[0.5ex]
|
depict the across-trial variability in an appropriate way.
|
||||||
\part{} You will notice that the responses have three main parts, a
|
|
||||||
|
\part You will notice that the responses have three main parts, a
|
||||||
pre-stimulus phase, the phase in which the light was on, and
|
pre-stimulus phase, the phase in which the light was on, and
|
||||||
finally a post-stimulus phase. Create an characteristic curve that
|
finally a post-stimulus phase. Create an characteristic curve that
|
||||||
plots the response strength as a function of the stimulus
|
plots the response strength as a function of the stimulus
|
||||||
intensity for the ``onset'' and the ``steady state''
|
intensity for the ``onset'' and the ``steady state''
|
||||||
phases of the light response.\\[0.5ex]
|
phases of the light response.
|
||||||
\part{} The light switches on at time zero. Estimate the delay between stimulus and response.\\[0.5ex]
|
|
||||||
\part{} Analyze the across trial variability in the ``onset'' and ``steady state''. Check for statistically significant differences.
|
\part The light switches on at time zero. Estimate the delay
|
||||||
\pate{} The membrane potential shows some fluctuations (noise)
|
between stimulus and response.
|
||||||
|
|
||||||
|
\part Analyze the across trial variability in the ``onset'' and
|
||||||
|
``steady state''. Check for statistically significant differences.
|
||||||
|
|
||||||
|
\part The membrane potential shows some fluctuations (noise)
|
||||||
compare the noise before stimulus onset and in the steady state
|
compare the noise before stimulus onset and in the steady state
|
||||||
phase of the response.
|
phase of the response.
|
||||||
\part{} (optional) You may also analyze the post-stimulus response in some
|
|
||||||
more detail.
|
\part (optional) You may also analyze the post-stimulus response
|
||||||
|
in some more detail.
|
||||||
\end{parts}
|
\end{parts}
|
||||||
\end{questions}
|
\end{questions}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user