3-DIMENSIONAL HELICAL PROGRAMS

The programs described below were written by R.A Crowther (RAC) and are distributed as part of the MRC image processing package. The Documentation here was formated from the file emhlx.doc
  1. HLXSEARCH Determine tilt and origin (RAC)
  2. HLXDUMP Dumps layer line data from transform (RAC)
  3. HLXFIT Orientations & origins of different particles (RAC)
  4. HLXAVG Averages data from different particles (RAC)
  5. HLXFOUR Fourier program (RAC)
  6. HLXPROJ 2D filtered image from layer line data (RAC)
  7. EM2FOLD Imposes twofold normal to axis (RAC)
  8. HLXSEPDAT Feeder for HLXSEPR (RAC)
  9. HLXSEPR Separates overlapping Bessel functions (RAC)
  10. HLXLLOUT Graphs standard layer line data (RAC)
  11. HLXSIMUL Simulates image of helix (RAC)

HLXSEARCH

The purpose of this program is to determine the tilt angle of the helix axis out of the plane normal to the direction of view and at the same time to position the phase origin on the particle axis.

The user feeds the program with values of amplitude and phase for pairs of peaks in the computed transform. It then computes the sum of F*(phi1-phi2) over these pairs of related reflections. Values of (phi1-phi2) are corrected to allow for odd Bessel orders. They are also corrected for specified values of phase shift and tilt angle. The sum for each combination of phase shift and tilt angles is normalised by dividing by 360n and then scaled from 0 to 90. The normalised sums are output as an array.

Different indexing schemes may be tested in a single run, as described below. A separate residual array is output for each scheme.

Data Cards:

  1. TITLE (20A4)
  2. OMEGAM, DOMEGA, NOMEGA, EXM, DEX, NEX, NNLAY, NOP, IDIM1, IDIM2 (*)
  3. Y, D, F, DPHI (*) One card for each pair of reflections
  4. NLAY(I), I=1,NNLAY (8I5) One card for each pair of reflections

    Pairs of cards 3 & 4 are repeated for each pair of reflections

HLXDUMP

Extracts lines of F and phi from transforms of helical particles produced by FFTRANS. The user specifies the location of the layer line in reciprocal space, its length and sampling frequency.

In general, the user will wish to have data at points in reciprocal space which do not correspond to the grid points calculated by FFTRANS, HLXDUMP assigns values to these points by bilinear interpolation. The transform is phase-shifted to bring its origin to the geometric centre of the box transformed (this position is stored on the disc area by BOXIM) before any interpolation is carried out. The results of the interpolation are of course only valid if the original sampling in reciprocal space is fine enough for the phases of the centred array to change slowly from point to point.

The program also corrects for tilts of the helix axis out of the plane normal to the direction of view. The effect of such a tilt is to intersect the cylindrical rings of Gn,l(R) on a chord not passing through the origin. As a result, Gn,l(R) are missed for very small values of R (this is called the eclipsed region). Gn,l(R) for larger values have the correct amplitude but the wrong phase; in addition the radii have been wrongly assigned. The program corrects the phase and reinterpolates along the line at evenly spaced intervals (selected by the user).

It is often found that the layer lines do not have their symmetry axis on the line through the origin which is normal to the layer lines. This problem seems to arise from a shear deformation of the object which manifests itself as a skewness of the transform. The user determines the angle of skewness of the pattern and sets SHEAR. The program centres the lines accordingly.

In addition, ORIGX, ORIGY often does not correspond to the projected axis of the particle. The user can bring the phase origin to the axis by adjusting XSHFT &/or YSHFT, which cause translations of the phase origin parallel to &/or normal to the layer lines respectively.

Note: Near side means side nearest to the observer of the densitometered array. For this side, reflections from right-handed helices (positive n) are in the top left quarter of the transform, reflections from left-handed helices (negative n) in the top right quarter. Which side it corresponds to physically depends on the orientation of the film during densitometry By our conventions, the side of the particle next to the carbon support film is nearest to the electron beam, and the e.m. film is printed and densitometered emulsion up (same orientation as in the microscope during exposure), so the observer is put in the position of the electron beam, looking at the particle through the carbon.

Data Cards

  1. TITLE (10A4)
  2. LLTOT,SAMPL,XSHFT,YSHFT,DELBR,ROT,SHEAR,TILT (*)
  3. RMIN,RMAX,IDUMP,MERID (*)
  4. LLNO,NORD,YSP (*)
  5. NL1,NL2,NR1,NR2 (*) This record only read in if IDUMP.GE.1 Items 4 (and 5 for IDUMP.NE.0) repeated for each layer line

FORMAT OF HLXDUMP OUTPUT:

HLXDUMP automatically separates the layer lines into halves and sorts the halves out into near and far side data, according to the signs of the NORD values. The output, which is read by HLXFOUR etc, has the following format:

TITLE, LLINFO, WTFAC, NORD, LLNO       (10A4,10A1,F10.3,2I5)

R, F, PHI                    (3E10.3)

The last record is repeated for each point along the layer line.

The list of points is terminated by a blank record (i.e. R=0.0) However, R=0.0 is not a terminator if it is on the first record after the title record.

Thus, if there are no points for a particular half layer line,the output at this position will consist of three records; the title record, followed by two blank records.

HLXFIT

Program to determine the relative orientations of two different helical particles, by comparing the phases of corresponding points along the layer lines. The best relative radial scaling of the two images can also be determined.

The 'residual' calculated is:

sqrt( sum(F*(phi1-phi2')2)/sum(F) )

where phi2' = phi2 - n dphi + 2pi Z dz

which is tabulated for each angle of rotation (dphi) about the z-axis, each axial shift (dz) and each radial scaling factor applied to the data for particle 2. Any data absent from the data set for particle 2, but present in the reference data set (particle 1) adds a penalty of F1*(90)2 to the residual sum, if IMISS is set to 1 (otherwise, missing data is simply ignored).

If particle 2 is thought to be upside-down relative to particle 1, phi2 is negated.

Data Cards:

  1. FILREF (A)
  2. LLMAX, CANG, DELBR, IPRINT, IMISS (*)
  3. WT(L), L=1,LLMAX (*)
  4. FILIN (A)
  5. TITLE (20A4)
  6. ISIDE, IPOLE (*)
  7. PHIMIN, PHIMAX, DPHI (*)
  8. ZMIN, ZMAX, DZED (*)
  9. RSCMIN, RSCMAX, DRSC (*)

    Items 4 to 9 may be repeated as many times as required, so that several data sets may be compared with the same reference (particle 1).

    Note that each data set should have the same number of layer lines, in the same order. Dummy data should be inserted for missing layer lines (Title record + 2 blank records - see specification for HLXDUMP output).

HLXAVG

Program for averaging different sets of layer line data. (Note : HLXFOUR is able to average the two sides of a single particle). The relative orientations of different particles are first determined using HLXFIT, which also supplies amplitude scaling factors if required.

Data for a difference Fourier can be produced, using scaling factors of appropriate signs.

Data sets can be modified for various purposes, e.g. changing the sampling distance (DELBR) of the layer lines, or changing the radial scale.

Data Cards:

  1. TITLE (10A5)
  2. LLMAX, NSIDE, CANG, DELBR, IPRINT (*)
  3. FILIN (A)
  4. ISIDE, IPOLE, PHISHF, ZSHIFT, RSCALE (*)
  5. FSCAL(L), L=1,LLMAX (*) items 3 to 5 are repeated for each data set (half transforms ?) to be included in the average. Note that each data set should have layer lines in the same order, with no gaps. Dummy data should be inserted for missing layer lines (Title record, followed by 2 blank records - see specification for HLXDUMP output).

HLXFOUR

Program to carry out a Fourier-Bessel transformation of layer line data to produce a three-dimensional density map, which may be output as sectiions of various types.

The transformation is described by Klug, Crick & Wyckoff (Acta Cryst. 1968, 11, 199) and their conventions are adhered to - e.g. a positive value of n corresponds to a right-handed helix. rho(r,phi,z) = 1/c * Sum over l & n (gnl(r)*exp(i(n*phi-2pi*l*z/c))

where

gnl(r) = exp(-i*n(PHI+pi/2)) * integral (Fl(R) * Jn(2pi*R*r) 2pi*R*dR

The input values of the transform (HLXDUMP output) are implicitly assigned to the plane PHI = +- pi/2 , where PHI is measured from the X-axis.

Input-output streams:

Data Cards:

  1. TITLE (10A4)
  2. C, DELBR, RMAX, DELSR (*)
  3. LLMAX, ISIDE, KOUT (*)
  4. WT(L), L=1,LLMAX (*)
  5. IHFH, IHFC, IHFV, IHFP, IHFZP, IQATOR, MAP, ITRFN (*)

    Followed by one or more sets of output parameters, in the following order :

HLXPROJ

Reverse transforms selected layer line data, output by HLXDUMP, to synthesize a filtered projected image. The particle may be rotated about the helix axis to obtain views different from the original. The filtered images are output as numerical arrays on disc for plotting

Data Cards:

  1. TITLE (20A4)
  2. LLTOT, C, DELBR (*)
  3. RMAX, DELSR, IRSTEP, IJUMP, NV (*)
  4. WT(L), L=1,LLTOT (*)
  5. PHI(IV), IV=1,NV (*)
  6. ZMIN, ZMAX, DELZED, DMIN (*)
  7. FILIN (A)

Warning

Note : RMAX/DELSR * (ZMAX - ZMIN)/DELZED must not excced 50000
       up to 40 layer lines
       up to 200 steps / layer line
       up to 20 views

EM2FOLD

not yet converted for VAX - IBM version

Searches for the orientation in which the particle appears to have the best approximation to a 2-fold normal to the helix axis. Phases are corrected to the nearest real value and the layer line data output on to disc for HLXFOUR

Data cards:

  1. TITLE (7A4)
  2. LLMAX,RECC,DELBR,NSP1,NSP2,ILIST1,ILIST2 (*)
  3. ISIDE,IPOLE (*)
  4. PHIMIN,PHIMAX,DELPHI (*)
  5. ZMIN,ZMAX,DELZED (*)

HLXSEPDAT

This is a feeder program for HLXSEPR which copies layer line data from different views in known orientations(found in HLXFIT) to a direct access area. It assumes that the layer line data are sampled at the same spacing in each view.

Inputs on stream 2 with filenames specified in data

Output to direct access area on stream 3

Data cards :

  1. NVIEW,LLMAX,DELBR,C,IREST (*)

    Then for each side :

  2. FILIN (A)
  3. PHI,XSHIFT,YSHIFT,IPOLE (*)

HLXSEPR

Program to separate overlapping Bessels , using views of helix in different orientations. Uses LINFIL least squares package. The separated Bessel functions produced correspond to a "NEAR SIDE" set of transform values, ready to go into HLXFOUR.

Input layer line data on direct access file 2 , created by HLXSEPDAT program.

Output separated Bessel functions on stream 3 , in HLXFOUR format. Plot graphs of separated Bessels on printer.

Data cards:

  1. TITLE (10A4)
  2. NVIEW,LLMAX,RADIUS,IGRAPH (*)
  3. (RSCAL(NV),NV=1,NVIEW) (*)
    Then for each layer line:
  4. NL,NORD,(IORD(NO),NO=1,NORD) (*)
  5. (FITWT(NV),NV=1,NVIEW) (*)

HLXLLOUT

Program to select and graph standard format layer line data either with autoscaling for each layer line or on constant amplitude scale

Layer line input on stream 1 (IN)

Data cards:

  1. TITLE (10A4)
  2. LLMAX,FSCA,FMAX,RMIN,RMAX,CANG (*)
  3. IPLOT(I),I=1,LLMAX (*)

HLXSIMUL

Program to simulate projected image of helix for testing helical reconstruction programs. Subunits built from arbitrary numbers of spherical blobs of different size, position and density. Single start helix specified by helical parameters DZ,DPHI. Multi-start helix produced by putting more blobs into subunit, related by appropriate rotational symmetry. The generated piece of helix is centered in the z direction, which is vertical in TONE. y axis is horizontal in TONE and x axis comes out towards observer. Back or front of helix can be cut off and a linear ramp weighting applied in order to simulate one sided or partially one-sided images.

Output standard image on stream 1 (OUT)

Present dimensions of output image are 256 x 512

DATA CARDS

  1. NBLOB,NUNIT,AXIS,DZ,DPHI,PHIROT,TILT,PBACK,PFRNT,IRAMP (*)
  2. RADH,RADS,Z0,PHI0,WT (*)
    (2) repeated NBLOB times(ie - for each blob in the subunit)

| EMBL Home Page | Search EMBL | Mail to EMBL Webmaster
Author: Stephen Fuller
=======================> Return to Top Virus Page
Last Updated: 26 July, 1995