Application Center - Maplesoft

App Preview:

Rosalind Franklin's X-ray diffraction Photograph of DNA

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application



Rosalind Franklin's X-ray Diffraction Photograph of DNA 

Frank Wang 


In the April 25, 1953 issue of Nature, James D. Watson and Francis H. C. Crick announced one of the most significant scientific discoveries ever: the double helix model for the structure of DNA.  They could not have proposed their celebrated structure for DNA without access to experimental results obtained by Rosalind Franklin, particularly this crucial X-ray diffraction photograph taken by her.     



This worksheet uses Maple to show why Franklin's photograph suggests a helix structure.   

> restart:

> with(plots):

The mathematics of diffraction is nothing but adding waves.  Before discussing Franklin's work, we describe the single slit diffraction which students have learned from general physics.  For a single slit of width a, the intensity of diffraction pattern is proportional to the square of the sum of electric fields.  Such a sum can be considered as the Fourier transform of electric fields.   

> Et := Int(exp(I*k*x), x=-a/2..a/2);

Et := Int(exp(k*x*I), x = -a/2 .. a/2) (1)

> Et := value(%);

Et := (exp(-1/2*I*k*a)-exp(1/2*I*k*a))*I/k (2)

> Et := evalc(Et);

Et := 2*sin(k*a/2)/k (3)

> Itn := Et^2;

Itn := 4*sin(k*a/2)^2/k^2 (4)

> a := 1;

a := 1 (5)

> plot(Itn, k=-6*Pi..6*Pi);


We use Maple's densityplot command to simulate the appearance of the diffraction pattern on a photograph plate.   

> densityplot(Itn, k=-6*Pi..6*Pi, y=-1..1, style=patchnogrid, grid=[128,2], axes=none, scaling=constrained);


Now we know that the DNA molecule has a double helix structure.  Let us use Maple to graph such a structure. 

> r := 10; d := 3.4;

r := 10 (6)

d := 3.4 (6)

> p1 := tubeplot([r*cos(2*Pi*t+2*Pi*3/8), r*sin(2*Pi*t+2*Pi*3/8), 10*d*t], t=0..3, scaling=constrained, color=red):

> p2 := tubeplot([r*cos(2*Pi*t), r*sin(2*Pi*t), 10*d*t], t=0..3, scaling=constrained, color=blue):

> display([p1, p2]);


Historically, in 1951 Linus Pauling announced his discovery of the alpha helix, the most important regular structure found in proteins.  Franklin's colleague Maurice Wilkins asked Alec Stokes to work out the X-ray diffraction pattern produced by a helical structure.  While Stokes was reluctant to publish his work, Cochran, Crick and Vand performed the task independently and published a mathematical prediction of the pattern that atoms arranged in a helix would form when diffracted by X-rays.  In the paper of Franklin and Gosling (Nature, April 25, 1953, pp. 740-741), the result was cited as follows.  


"For a smooth single-strand helix the structure factor on the nth layer line is given by 

F[n] = J[n](2*Pi*r*R)*exp(I*n*(Psi+Pi/2)) 

where J[n](u) is the nth-order Bessel function of u, r is the radius of the helix, and R and Psi are the radial and azimuthal coordinates in the reciprocal space."   

The derivation of this result is too technical to be discussed here, but using Maple we can see that the Fourier transform of a helix, which involves an integral of exp(-I*2*Pi*R*r*cos(2*Pi*z/P-Psi)) over z, indeed yields a Bessel function.   

> Int(exp(-I*cos(z)), z=0..Pi/2);

Int(exp(-I*cos(z)), z = 0 .. Pi/2) (7)

> value(%);

1/2*Pi*BesselJ(0, 1)-1/2*I*Pi*StruveH(0, 1) (8)

It is amusing to remind young students that scientists in the days before Maple often need to copy down by hand Bessel function tables from the library.  It is convenient to use Maple to graph Bessel functions; Stokes named the mathematical diagram of undulating lines "waves at Bessel-on-Sea."       

> plot3d(BesselJ(n, x)^2, x=0..15, n=0..10, axes=framed);


> xs := evalf(2*Pi*r); ys := 10*d;

xs := 62.83185308 (9)

ys := 34.0 (9)

> s:=xs/ys;

s := 1.847995679 (10)

We again use Maple's densityplot command to simulate the appearance of the diffraction pattern on a photograph plate.   

> p3 := densityplot(BesselJ(n, x*s)^2, x=0..5, n=0..10, grid=[64, 64], style=patchnogrid):

> p4 := densityplot(BesselJ(n, -x*s)^2, x=-5..0, n=0..10, grid=[64, 64], style=patchnogrid):

> p5 := densityplot(BesselJ(-n, x*s)^2, x=0..5, n=-10..0, grid=[64, 64], style=patchnogrid):

> p6 := densityplot(BesselJ(-n, -x*s)^2, x=-5..0, n=-10..0, grid=[64, 64], style=patchnogrid):

> display([p3, p4, p5, p6], scaling=constrained, axes=none);


The resemblance of this plot and the X-ray picture shown above made Watson believe that DNA must have a helical structure.  He wrote in The Double Helix that "the instance I saw the picture [taken by Franklin] my mouth fell open and my pulse began to race."   

The dimension of the helix can be obtain from the tilting and spacing of the photograph.  In Wilkins, Stokes and Wilson's paper (Nature, April 25, 1953, pp. 738-740), they wrote:  


"A uniform continuous helix gives a series of layer lines of spacing corresponding to the helix pitch, the intensity distribution along the nth layer line being proportional to the square of J[n], the nth order Bessel function.  A straight line may be drawn approximately through the innermost maxima of each Bessel function and the origin.  The angle this line makes with the equator is roughly equal to the angle between an element of the helix and the helix axis."   


We can use Maple to plot the Bessel functions to observe the statement described in Wilkins et al, and numerically evaluate the maxima of each Bessel function.   

> plot([5*BesselJ(0,x*s)^2, 5*BesselJ(1,x*s)^2+1, 5*BesselJ(2,x*s)^2+2, 5*BesselJ(3,x*s)^2+3, 5*BesselJ(4,x*s)^2+4, 5*BesselJ(5,x*s)^2+5, 1, 2, 3, 4, 5],x=-5..5, scaling=constrained, color=black);



> m0:=fsolve(diff(BesselJ(0,x),x)=0, x);

m0 := 0. (11)

> m1:=fsolve(diff(BesselJ(1,x),x)=0, x=1..3);

m1 := 1.841183781 (12)

> m2:=fsolve(diff(BesselJ(2,x),x)=0, x=2..4);

m2 := 3.054236928 (13)

> m3:=fsolve(diff(BesselJ(3,x),x)=0, x=4..5);

m3 := 4.201188941 (14)

> m4:=fsolve(diff(BesselJ(4,x),x)=0, x=5..6);

m4 := 5.317553126 (15)

> m5:=fsolve(diff(BesselJ(5,x),x)=0, x=6..7);

m5 := 6.415616376 (16)

> plot([[m1/xs,1/ys], [m2/xs, 2/ys], [m3/xs, 3/ys], [m4/xs, 4/ys], [m5/xs, 5/ys], [-m1/xs,1/ys], [-m2/xs, 2/ys], [-m3/xs, 3/ys], [-m4/xs, 4/ys], [-m5/xs, 5/ys], [m1/xs,-1/ys], [m2/xs, -2/ys], [m3/xs, -3/ys], [m4/xs, -4/ys], [m5/xs, -5/ys], [-m1/xs, -1/ys], [-m2/xs, -2/ys], [-m3/xs, -3/ys], [-m4/xs, -4/ys], [-m5/xs, -5/ys]], style=point, symbolsize=15, scaling=constrained);


Putting all the evidence together, Franklin and Gosling reported: 


"In the present case the fibre-axis period is 34 A and the very strong reflexion at 3.4 A lies on the tenth layer line. ... measurements of R[1], R[2], R[3] and R[5] all lead to values of r of about 10 A."    


Postscript: After the author completed this worksheet, he discovered an article "X-ray Diffraction and the Discovery of the Structure of DNA" by David T. Crouse to be appeared in Journal of Chemical Education, 84 (5), 803 -- 809 (2007), which offered a more realistic consideration of the X-ray diffraction of the DNA molecule.     


Legal Notice: The copyright for this application is owned by the author(s). Neither Maplesoft nor the author are responsible for any errors contained within and are not liable for any damages resulting from the use of this material. This application is intended for non-commercial, non-profit use only. Contact the author for permission if you wish to use this application in for-profit activities.