Talk:Chromosome structure via Euclidean Distance Matrices
From Wikimization
(→E.coli realization) |
|||
Line 32: | Line 32: | ||
I regard the autocorrelation data you provided as a Gram matrix. | I regard the autocorrelation data you provided as a Gram matrix. | ||
- | Then conversion to | + | Then conversion to a Euclidean distance matrix (EDM) is straightforward - <br>Chapter 5.4.2 of [http://meboo.convexoptimization.com/BOOK/EuclideanDistanceMatrix.pdf Convex Optimization & Euclidean Distance Geometry]. |
- | The program calculates only the first 20 eigenvalues of | + | The program calculates only the first 20 eigenvalues of a projection of the EDM on a positive semidefinite (PSD) cone. |
You can see at runtime that there are many significant eigenvalues; which means, the Euclidean body (the molecule) lives in a space higher than dimension 3, assuming I have interpreted the E.coli data correctly. | You can see at runtime that there are many significant eigenvalues; which means, the Euclidean body (the molecule) lives in a space higher than dimension 3, assuming I have interpreted the E.coli data correctly. | ||
Line 40: | Line 40: | ||
To get a picture corresponding to physical reality, we project the EDM on that PSD cone, rank 3 subset; this means, precisely, we truncate eigenvalues. | To get a picture corresponding to physical reality, we project the EDM on that PSD cone, rank 3 subset; this means, precisely, we truncate eigenvalues. | ||
- | It is unlikely that this picture is an accurate representation unless the number of eigenvalues of | + | It is unlikely that this picture is an accurate representation unless the number of eigenvalues of that EDM projection approaches 3 to begin with. |
Matlab Figures allow 3D rotation in real time, so you can get a good idea of the body's shape. | Matlab Figures allow 3D rotation in real time, so you can get a good idea of the body's shape. | ||
I include a low-resolution figure here (frame 4) for reference. | I include a low-resolution figure here (frame 4) for reference. |
Revision as of 21:35, 7 August 2008
%%% Ronan Fleming, E.coli molecule data %%% -Jon Dattorro, August 2008 clear all load ecoli frame = 4; % 1 through 12 G = her49imfs12movfull(frame).cdata; % uint8 G = (double(G)-128)/128; % Gram matrix N = size(G,1); D = diag(G)*ones(N,1)' + ones(N,1)*diag(G)' - 2*G; % EDM D clear her49imfs12movfull G; Vn = [-ones(1,N-1); speye(N-1)]; VDV = (-Vn'*D*Vn)/2; clear D Vn [evec evals flag] = eigs(VDV, [], 20, 'LA'); if flag, disp('convergence problem'), return, end; close all Xs = sqrt(real(evals(1:3,1:3)))*real(evec(:,1:3))'; % Projection of -VDV on PSD cone rank 3 plot3(Xs(1,:), Xs(2,:), Xs(3,:), '.')
E.coli realization
I regard the autocorrelation data you provided as a Gram matrix.
Then conversion to a Euclidean distance matrix (EDM) is straightforward -
Chapter 5.4.2 of Convex Optimization & Euclidean Distance Geometry.
The program calculates only the first 20 eigenvalues of a projection of the EDM on a positive semidefinite (PSD) cone.
You can see at runtime that there are many significant eigenvalues; which means, the Euclidean body (the molecule) lives in a space higher than dimension 3, assuming I have interpreted the E.coli data correctly.
To get a picture corresponding to physical reality, we project the EDM on that PSD cone, rank 3 subset; this means, precisely, we truncate eigenvalues.
It is unlikely that this picture is an accurate representation unless the number of eigenvalues of that EDM projection approaches 3 to begin with.
Matlab Figures allow 3D rotation in real time, so you can get a good idea of the body's shape.
I include a low-resolution figure here (frame 4) for reference.