230 likes | 353 Views
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.
E N D
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 ID10D 20D 30D 40D 50D 60D 70D 80D 90D
chrom1 chrom2 chrom3 chrom4 RG218 RG437 RG104 RG472 13.0 7.7 8.1 RZ262 RG348 RG544 8.6 19.2 5.3 13.2 RG190 RG246 RZ329 12.6 RG171 6.9 16.1 22.2 RZ892 RG908 9.8 13.7 K5 RG157 RG91 4.8 2.8 RG100 3.2 U10 RG449 4.7 27.4 RG532 17.5 RG191 16.1 RZ318 RG788 15.3 6.3 RZ678 8.4 W1 RZ565 15.5 RG173 16.8 29.3 Pall 41.6 RZ675 Amy1B 15.0 21.4 RZ58 RZ574 3.8 RZ276 10.2 RG163 CDO686 37.1 3.3 RG146 8.8 RZ284 28.2 Amy1A/C RZ590 34.3 15.6 12.8 2.7 RG345 RZ394 RG214 2.5 RG95 8.4 18.5 12.2 RG381 pRD10A RG143 23.5 RG654 5.1 2.5 5.9 RZ19 RZ403 10.0 RG620 8.2 RG256 RG690 5.0 5.4 RG179 28.6 13.2 RZ730 13.1 RZ213 CDO337 1.9 RZ123 RZ337A 33.1 22.5 RZ801 RZ448 RG520 15.0 2.6 RG810 RZ519 RG331 32.1 9.2 Pgi -1 7.1 CDO87 9.2 RG910 17.9 RG418A
Interval Mapping Program - Type of Study - Genetic Design
Interval Mapping Program - Data and Options Names of Markers (optional) Cumulative Marker Distance (cM) Map Function QTL Searching Step cM Parameters Here for Simulation Study Only
Interval Mapping Program - Data Put Markers and Trait Data into box below OR
Interval Mapping Program - Analyze Data
Interval Mapping Program - Profile
Interval Mapping Program - Permutation Test #Tests Cut Point at Level Is Based on Tests.
r=a+b-2ab M a Q b N F2 Population – Three Point
Differentiating L with respect to each unknown parameter, setting derivatives equal zero and solving the log-likelihood equations L(y,M|) = i=1n[1|if1(yi) + 0|if0(yi)] log L(y,M|) = i=1n 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=1n1|i (3) 0 = i=1n(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=1n30|i)/(n2+n3) (6)
Random Generate Markers for Backcross Population 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, Cont’ 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
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;
EM algorithm for Interval Mapping 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 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
EM algorithm for Interval Mapping %%Simplex Local Search Method 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 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;