Upload
ashlyn-ferguson
View
225
Download
0
Embed Size (px)
Citation preview
Interval mapping with maximum likelihood
Data Files:
•Marker file – all markers•Traits file – all traits •Linkage map – built based on markers
For example:
Interval mapping with maximum likelihood ID #PN RG472 RG246 K5 U10 RG532 W1 RG173 Amy1B RZ276 RG146
Interval mapping with maximum likelihood ID 10D 20D 30D 40D 50D 60D 70D 80D 90D
RG472
RG24619.2
16.1K5U10RG532
W1RG173
RZ276
Amy1B
RG146
RG345
RG381
RZ19
RG690
RZ730
RZ801
RG810
RG331
4.84.7
15.315.5
15.03.8
3.3
34.3
2.5
23.5
8.2
13.2
33.1
2.6
9.2
RG437
RG544
RG171
RG157
RZ318
Pall
RZ58
CDO686
Amy1A/C
RG95
RG654
RG256
RZ213
RZ123
RG520
13.0
5.3
22.2
27.4
6.3
29.3
10.2
8.8
12.8
8.4
5.110.0
5.4
13.1
RG104RG348
RZ329RZ892
RG100
RG191RZ678
RZ574
RZ284
RZ394
pRD10A
RZ403
RG179
CDO337
RZ337A
RZ448
RZ519
Pgi -1
CDO87
RG910
RG418A
7.7
13.26.99.82.8
17.5
41.6
37.1
15.6
18.5
2.5
5.028.6
1.9
22.5
15.0
32.1
7.1
9.217.9
RG218
RZ262
RG190
RG908RG91RG449
RG788RZ565
RZ675
RG163
RZ590
RG214
RG143
RG620
8.18.6
12.6
13.73.2
16.18.4
16.8
21.4
28.2
2.7
12.2
5.9
chrom1 chrom2 chrom3 chrom4
Simulation
- Type of Study
Back
Interval Mapping Program
F2
Backcross
- Genetic Design
- Data and Options
Names of Markers (optional)
Cumulative Marker Distance (cM)
Means sigma^2
QTL position
Interval Mapping Program
N
Haldane
KosambiMap Function
Parameters Here for Simulation Study Only
QTL Searching Step cM
H2 Calculate H2 or Sigma2
Back
- Data
Back
Interval Mapping Program
Put Markers and Trait Data into box below OR Simulate Data
- Analyze Data
Back
Interval Mapping Program
Analyze
Regression ModelMixture Model
- Profile
Back
Interval Mapping Program
(0.50)
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
4.00
0 20 40 60 80 100
QTL at 91 (091 1.756 1.455 0.182 3.649)
- Permutation Test
Back
Interval Mapping Program
(1.00)
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
0 20 40 60 80 100
QTL at 91 (091 1.756 1.455 0.182 3.649)
#Tests
Test
Cut Point atLevel Is Based on Tests.
Reset
Backcross Population – Two Point
Freq Qq qq
Mm 1/2 (1-r)/2 r/2
mm 1/2 r/2 (1-r)/2
Backcross Population – Three Point
Freq Qq qq
Mm Nn (1-r)/2 (1-r1)(1-r2) r1*r2
Mm nn r/2 (1-r1)r2 r1 (1-r2)
mm Nn r/2 r1 (1-r2) (1-r1)r2
mm nn (1-r)/2 r1*r2 (1-r)/2
M Q N
F2 Population – Two Point
Freq QQ Qq qq
MM 1/4 (1-r)2/4 (1-r)r/2 r2/4
Mm 1/2 (1-r)r/2 ½-(1-r)r (1-r)r/2
mm 1/4 r2/4 (1-r)r/2 (1-r)2/4
F2 Population – Three PointFreq QQ Qq qq
MM NN (1-r)2/4 1/4(1-a)2(1-b)2 1/2a(1-a)b(1-b) 1/4a2b2
Nn (1-r)r/2 1/2(1-a)2b(1-b) 1/2a(2b2-2b+1)(1-a)
1/2a2b(1-b)
nn r2/4 1/4(1-a)2b2 1/2a(1-a)b(1-b) 1/4a2(1-b)2
Mm NN (1-r)r/2 1/2a(1-a)(1-b)2 1/2b(1-2a+2a2)(1-b)
1/2a(1-a)b2
Nn ½-(1-r)r a(1-a)b(1-b) 1/2(2b2-2b+1)(1-2a+2a2)
a(1-a)b(1-b)
Nn (1-r)r/2 1/2a(1-a)b2 1/2b(1-2a+2a2)(1-b)
1/2a(1-a)(1-b)2
mm NN r2/4 1/4a2(1-b)2 1/2a(1-a)b(1-b) 1/4(1-a)2b2
Nn (1-r)r/2 1/2a2b(1-b) 1/2a(2b2-2b+1)(1-a)
1/2(1-a)2b(1-b)
nn (1-r)2/4 1/4a2b2 1/2a(1-a)b(1-b) 1/4(1-a)2(1-b)2
M a Q b Nr=a+b-2ab
Differentiating L with respect to each unknown parameter, setting derivatives equal zero and
solving the log-likelihood equationsL(y,M|) = i=1
n[1|if1(yi) + 0|if0(yi)]log L(y,M|) = i=1
n log[1|if1(yi) + 0|if0(yi)]
Define
1|i = 1|if1(yi)/[1|if1(yi) + 0|if0(yi)] (1)0|i = 0|if1(yi)/[1|if1(yi) + 0|if0(yi)] (2)
1 = i=1n(1|iyi)/ i=1
n1|i (3)0 = i=1
n(0|iyi)/ i=1n0|i (4)
2 = 1/ni=1n[1|i(yi-1)2+0|i(yi-0)2] (5)
= (i=1n21|i +i=1
n30|i)/(n2+n3) (6)
function [mk, testres]=GenMarkerForBackcross(dist, N)%%genarate N Backcross Markers from marker disttance (cM) dist.if dist(1)~=0, cm=[0 dist]/100;else cm=dist/100;end n=length(cm);rs=1/2*(exp(2*cm)-exp(-2*cm))./(exp(2*cm)+exp(-2*cm));
for j=1:N mk(j,1)=(rand>0.5);end
Random Generate Markers for Backcross Population
for i=2:n for j=1:N if mk(j,i-1)==1, mk(j,i)=rand>rs(i); else mk(j,i)=rand<rs(i); end end end
Random Generate Markers for Backcross Population, Cont’
EM algorithm for Interval Mapping
function intmapbackross(Datas, mrkplace)%% for example, mrkplace=[0 20 40 60 80];N=size(Datas,1);nmrk=size(mrkplace);
mm=mean(Datas(:,size(Datas,2)));vv=var(Datas(:,size(Datas,2)),1); ll0 = N * (-log(2 * 3.1415926 * vv) - 1) / 2; %%likelihood at null
res=[];omu1=0;
for cm = 1:2:mrkplace(nmrk) for i = 1:nmrk if mrkplace(i) <= cm qtlk = i end end theta = (cm - mrkplace(qtlk)) / (mrkplace(qtlk + 1) - mrkplace(qtlk)); th(1) = 1; th(2) = 1 - theta; th(3) = theta; th(4) = 0; mu1 = mm; mu0 = mm; s2=vv;
EM algorithm for Interval Mapping
EM algorithm for Interval Mapping while (abs(mu1 - omu1) > 0.00000001) omu1 = mu1; cmu1 = 0; cmu0 = 0; cs2 = 0; cpi = 0; ll = 0; for j = 1:N f1 = 1 / sqrt(2 * 3.1415926 * s2) * exp(-(Datas(j, nmrk+1) - mu1)^2 / 2 / s2); f0 = 1 / sqrt(2 * 3.1415926 * s2) * exp(-(Datas(j, nmrk+1) - mu0)^2 / 2 / s2); pi1i = th(4 - Datas(j, qtlk + 1) - Datas(j, qtlk) * 2); pi0i = 1 - pi1i; ll = ll + log(pi1i * f1 + pi0i * f0); BPi1i = pi1i * f1 / (pi1i * f1 + pi0i * f0); %%E-Step BPi0i = 1 - BPi1i; cmu1 = cmu1 + BPi1i * Datas(j, nmrk+1); %%M-STEP cmu0 = cmu0 + BPi0i * Datas(j, nmrk+1); cs2 = cs2 + BPi1i * (Datas(j, nmrk+1) - mu1) ^ 2 + BPi0i * (Datas(j, nmrk+1) - mu0) ^ 2; cpi = cpi + BPi1i; end mu1 = cmu1 / cpi; mu0 = cmu0 / (N - cpi); %%M-STEP s2 = cs2 / N; end
prob=th(4 - Datas(:, qtlk + 1) - Datas(:, qtlk) * 2)'; [mmmm, llll]=fminsearch(@(p) likelihoodback(p, … Datas(:,nmrk+1), [prob 1-prob]), [mm mm vv]); %%Simplex Local Search Method
LR = 2 * (ll - ll0); res=[res; [cm mu1 mu0 s2 LR]]; end
EM algorithm for Interval Mapping
%%Simplex Local Search Method
function A=likelihoodback(par, y, marker)mu1=par(1); mu0=par(2); s2=par(3);yy1=y-mu1; yy0=y-mu0;
A=sum( log( sum([exp(-yy1.^2/2/s2) … exp(-yy0.^2/s2/2)].*marker,2)) ... -log(s2)/2-1/2*log(2*pi)) -10.E5*(s2<0.001);
A=-A;
EM algorithm for Interval Mapping