# Talk:Chromosome structure via Euclidean Distance Matrices

(Difference between revisions)
 Revision as of 23:11, 6 August 2008 (edit)← Previous diff Revision as of 23:16, 6 August 2008 (edit) (undo) (→E.coli realization)Next diff → Line 34: Line 34: Then conversion to an EDM is straightforward - Chapter 5.4.2 of [http://meboo.convexoptimization.com/BOOK/EuclideanDistanceMatrix.pdf Convex Optimization & Distance Geometry]. Then conversion to an EDM is straightforward - Chapter 5.4.2 of [http://meboo.convexoptimization.com/BOOK/EuclideanDistanceMatrix.pdf Convex Optimization & Distance Geometry]. - The program calculates only the first 20 eigenvalues of the projection of the EDM on the positive semidefinite (PSD) cone. + The program calculates only the first 20 eigenvalues of the projection of the EDM on a positive semidefinite (PSD) cone. - You can see 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. - To get a picture corresponding to physical reality, we project on the PSD cone, rank 3 subset. + To get a picture corresponding to physical reality, we project the EDM on the 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 the projection approaches 3. + It is unlikely that this picture is an accurate representation unless the number of eigenvalues of the 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 for reference. + I include a low-resolution figure here (frame 4) for reference.

## Revision as of 23:16, 6 August 2008

```%%% Ronan Fleming, E.coli molecule data
%%% -Jon Dattorro, August 2008
clear all

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, 'LR');
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

Test image E.coli

I regard the autocorrelation data you provided as a Gram matrix.

Then conversion to an EDM is straightforward - Chapter 5.4.2 of Convex Optimization & Distance Geometry.

The program calculates only the first 20 eigenvalues of the 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 the 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 the 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.