Code covered by the BSD License
-
DisplayModel(M, L, iterations...
Display the HMM described by M, the log likelihood value,
-
ForBackF(M,Y)
Forward-backward algorithm for step-HMM
-
ForwardBackward_3(M,Y,I0,test...
function [LL newM gamma] = ForwardBackward_3(M,Y,I0,test,BigB)
-
M=MakeMonotonicModel(nu, yQua...
function M=MakeMonotonicModel(nu, yQuantum, noiseSigma, transProb, stepSizes, stepSigma)
-
ModelChange(M1,M0)
Check the changes in the transition probabilities. Looks at the
-
PlotAndLabelPeaks(x,y,minsize...
function PlotAndLabelPeaks(x,y,minsize,xscale)
-
RestorationPlot(Y, EstY, wrap...
function RestorationPlot(Y, EstY, wrap, yquantum, EYbase,markerstr) Fancy
-
WtConvol(a,b,m)
-
[EstY EstI LP Wrap]=ViterbiRe...
% Viterbi algorithm for step-HMM
-
[X,Y]=StepSimulator(M,N)
function [X,Y]=StepSimulator(M,N)
-
[X,Y]=StepSimulatorC(M,N)
Given the number of time points N and the model M, simulate a staircase
-
[sigma nu]=EstSigmaAndNu(Y,I0)
Find reasonable values for these variables based on the step data vector
-
b=Makeb(nu,sigma,DutyCycle,Er...
-
ms=QuickShift(m,shift)
Faster replacement for circshift for time-critical applications.
-
ms=QuickShiftMex(m,shift)
Faster replacement for circshift for time-critical applications.
-
n=NextNiceNumber(x,f)
function n=NextNiceNumber(x)
-
xs=Step125(x)
-
MotorHMM1.m
-
MotorHMM2.m
-
View all files
from
Hidden Markov Models for Molecular Motors
by Fred Sigworth
A set of functions for analysing noisy recordings of the random stepping of molecular motors
|
| ModelChange(M1,M0) |
function RelDif = ModelChange(M1,M0)
% Check the changes in the transition probabilities. Looks at the
% change in N.C(0,i,j) and the change in M.C(~0,i,j)
% relative to the maximum nonzero element. The maximum of all these is
% returned.
epsi=.001;
[nu ns ns1]=size(M1.C);
A0=squeeze(M0.C(1,:,:));
A1=squeeze(M1.C(1,:,:));
Ad=max(max((abs(2*(A1-A0)/(A1+A0+epsi)))));
% Now we zero out the no-step entry and compute the rest.
M0.C(1,:,:)=0;
M1.C(1,:,:)=0;
N0=squeeze(sum(M0.C));
N1=squeeze(sum(M1.C));
Nd=max(max( squeeze(max(2*abs(M1.C-M0.C)))./(N1+N0+epsi) ));
% Ad
% Nd
RelDif=max(Ad,Nd);
|
|
Contact us at files@mathworks.com