Published using Google Docs
MULTAN78PLUS
Updated automatically every 5 minutes

単結晶X線解析

 直接法位相決定プログラム ”MULTAN ”

  SUNワークステーションへの移植と機能拡張(1992)

  Compaq社製AlphaServerES40への移植(2001)

                                            原野 一誠(熊本大学薬学部在職時に執筆)

はじめに

 平成6年に熊本大学総合情報処理センターの汎用大型計算機のオペレーティングシステムMSPが廃止され,完全にUNIXに替わったため,大型計算機上で動いていたX線解析プログラムUNICS3(理化学研究所)をUNIXワークステーションに移植した.その際,正しい解(構造)を確認するための確認法,すなわちグラフィックス表示による構造確認の機能拡張を試みた.  UNICS3の機能はそのままで,多重解で得られる座標セットをGKSグラフィックパッケージを用いて次々に画面表示させるように改良した.本改良により,座標セットを取り出し,パソコンで構造を確認する必要がなくなり,迅速な解析が可能になった.

 以下にMULTANのマニュアル(オリジナル),準備するデータセット,新規に作成したプロプラムのリストを示す.さらに,平成13年に薬学部分子薬学専攻の教育システム用に導入されたCompaq社製AlphaServerES40への移植を行った.SUNワークステーションへの移植の際,実現した同一WSによる分子構造表示は,パソコン側のウインドウで簡単に実現できるようになったので,今回は移植を見送った.

---------------------------------------------------------------------------------

マニュアルはラインプリンタに出力するような形式で提供されていた.そのため等幅フォントで表示した.

      *******************************************************************

      *                                                                 *

      *   M     M U     U L     TTTTTTT   AAA   NN    N 777777  8888    *

      *   MM   MM U     U L        T     A   A  NNN   N      7 8    8   *

      *   M M M M U     U L        T    A     A N NN  N     7   8888    *

      *   M  M  M U     U L        T    AAAAAAA N  NN N    7   8    8   *

      *   M     M U     U L        T    A     A N   NNN    7   8    8   *

      *   M     M  UUUUU  LLLLLL   T    A     A N    NN    7    8888    *

      *                                                                 *

      *******************************************************************

                A  system  of  computer  programmes  for  the

              automatic  solution  of  crystal  structures  from

                           X-ray  diffraction  data.

    Principal author:                 Peter Main

           Department of physics,  University of york,  York,  England.

    Others closely associated with the development of MULTAN:

     S. E. Hull,  I. Lessinger,  G. Germain,  J-P. Declercq,  M. M. Woolfson.

                                  March  1978

------------------------------------------------------------------ 1992/8 -------

             Modified for S-4/2

             Executable as Chain job

                 NORM -> NEWMULTAN -> EXFFT -> SEARCH -> XSTRUC

                               

                                                                 K. harano

------------------------------------------- Kumamoto University -----------------

Following datasets are used.

The INPUT data should be prepared according to this manual.

During the calculation process, the following files are created.

Finally, the peak coordinates are written on the data set "PEAK", which are

plotted on the graphic window of SUN WS using the GKS tool.

 

---------------------------------------------------------------------------------

(1) NORMIN --> normmal (nrom)  --> MORMOLT

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == UNICS III NORM CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=700,FILE='NORMIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=700,FILE='NORMOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

c     rewind 8

c     OPEN( 8,ERR=700,STATUS='SCRATCH')

      OPEN( 8,ERR=700,file='F8',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT08 =='')')

      OPEN( 9,ERR=700,FILE='F9',FORM='FORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT09 =='')')

      OPEN(15,ERR=700,STATUS='SCRATCH')

c     WRITE(*,'(/,'' == OPEN UNIT15 =='')')

C   ---------------------------------------------------------------------------

 

(2) MULTIN --> newmultan (newmult) --> MULTOLT

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == UNICS III NEWMULTAN CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=1080,FILE='MULTIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=1080,FILE='MULTOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

      OPEN( 9,ERR=1080,FILE='F9',STATUS='OLD')

c     WRITE(*,'(/,'' == OPEN UNIT09 =='')')

      OPEN(10,ERR=1080,FILE='F10',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT10 =='')')

      OPEN(11,ERR=1080,STATUS='SCRATCH',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT11 =='')')

C   ---------------------------------------------------------------------------

(3) EXFFIN --> exfft (exfft) --> EXFFOLT

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == MOPAC V6 CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=999,FILE='EXFFIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=999,FILE='EXFFOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

      OPEN( 8,ERR=999,STATUS='SCRATCH',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT08 =='')')

      OPEN(10,ERR=999,FILE='F10',STATUS='OLD',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT10 =='')')

      OPEN(13,ERR=999,FILE='F13',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT13 =='')')

C   ---------------------------------------------------------------------------

(4) SRCHIN --> search (srch) --> ARCHOLT + PEAK

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == MOPAC V6 CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=999,FILE='SRCHIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=999,FILE='SRCHOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

      OPEN(13,ERR=999,FILE='F13',STATUS='OLD',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT13 =='')')

      OPEN(14,ERR=999,FILE='PEAK',FORM='FORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT14 =='')')

C   ---------------------------------------------------------------------------

(5) PEAK   --> xstruc (xstruc) --> graphics

c

      write(*,154)

  154 format('Please input file name (PEAK)')

      read(*,155) afile

  155 format(a14)

      if(afile.eq.'') then

      afile='PEAK'

      endif

C     ------ OPEN MNDO OUTPUT data (M3) ------

      OPEN(1,ERR=99,FILE=afile)

      open(2,err=99,file='kekka',form='formatTED')

c    

C     ------ open workstation & activate ------  

      call gopks(0, -1)

      call gopwk(1, 0, 4)

      call gacwk(1)

C

c     ------------ window/view ------------

      call gswn(1,0.0,2000.0,0.0,2000.0)

      call gselnt(1)

      call gsvp(1,0.0,1.0,0.0,1.0)

C     ------------ Read Title -----------

c-------------------------------------------------------------------

------------------------------------------------------------------ 1992/8 -------


1                                                                       page   2

                                  ************

                                  * Contents *

                                  ************

                   Section                                         page

          Introduction                               . . . .         3

          Preparation of data for NORMAL             . . . .         5

          Preparation of data for MULTAN             . . . .         9

          Preparation of data for EXFFT              . . . .        14

          Preparation of data for SEARCH             . . . .        15

          Running the programmes                     . . . .        17

          Flow diagram of MULTAN78                   . . . .        18

          Computer dependence of MULTAN78            . . . .        19

          On changing array sizes                    . . . .        20

          Description of NORMAL                      . . . .        21

          Description of SIGMA2                      . . . .        23

          Description of CONVERGE                    . . . .        25

          Description of FASTAN                      . . . .        28

          Figures of merit                           . . . .        29

          Description of the fourier procedure       . . . .        31

          Check-list for difficult structures        . . . .        33


1                                                                       page   3

                               ****************

                               * Introduction *

                               ****************

MULTAN78 is an updated version of the previously issued MULTAN77.

The major alteration is the ability to use knowledge of molecular structure as described by Main (1976, crystallographic computing techniques, ed. F. R. Ahmed, pp. 97 - 105, Munksgaard). Among other things, this allows the use of an oriented molecular fragment (possibly obtained from an E-map) to help in the structure determination. Even if the position of the fragment is not known, the orientation still provides useful information to the phase determination process. In addition, an imporved 'magic integer' phase permutation is used, the progmamme NORMAL has been rewritten and SEARCH contains more general molecular recognition routines.

The complete set of programmes will perform all the necessary calculations drom the normalisation of structure factors to the output of a 'picture' of the structure on the lineprinter. The programmes are developed on a dec system 10 computer at york and an IBM 370/158 at Louvain. Earlier development took place on an ICL 1906A at Leeds University, England, and an IBM 370/165 at the centre Europeen de Calcul Atomique et Moleculaire, Orsay, France, the use of whose computing facilities the authors gratefully acknowledge. Acknowledgement is also due to the many people who have passed on helpful suggestions and given constructive criticism of earlier versions of MULTAN. Without this feedback from users, development of the programmes would take very much longer.

The general aim in producing MULTAN78 has been to provide a system of programmes which will solve crystal structures in a single computer job. The automatic operation means the user need not be an expert in direct methods to use the system successfully, yet it is hoped that the programmes are sufficiently flexible to allow user intervention at certain critical points if necessary. In addition, the authors hope the programmes are easy to use and they will continue to develop the system towards these ends. There can be no guarantee that the programmes are free of bugs or crystallographer traps and, indeed, the authors will be pleased to hear of any misbehaviour or special difficulties in implementing MULTAN78 on a particular computer.

The programmes are written in FORTRAN IV and should run, with a minimum of alteration, on any computer with a 64k store of 32-bit words. If the operating system allows several programmes to be run in the same job, it is possible to execute the programmes sequentially and obtain a solution of the crystal structure in a single computer run.

To help the implementation of the programmes, they are usually distributed with test data and the lineprinter output the data is expected to produce. As MULTAN78 is not completely machine independent, the actual output obtained may not be identical in all details to the one supplied.

Phase determination is carried out using the tangent formula of Karle and Hauptman (1956, Acta Cryst., 9, 635) which is based on the SIGMA2 probability formula of Cochran (1955, Acta Cryst., 8, 473). The tangent formula as used in MULTAN works most satisfactorily with equal atom structures but the presence of a heavy atom does not invalidate the theory. In fact, the easiest way to determine a heavy-atom structure is probably to use MULTAN to determine the heavy atom positions and as much of the remainder of the structure as the E-map gives. The remaining atoms can then be found using the NORMAL weighted fourier techniques.


1                                                                       page   4

The complete system of programmes is made up of the following:

 

 NORMAL     computes normalised structure amplitudes from F(obs) values using >

 ******     either a K-curve, a Wilson plot or a Debye curve.  Outputs intensity  

            statistics as a check on the scaling and an aid to space group determination.

            Prepares a reflexion input file for MULTAN or can be used to prepare files for Karle

            recycling or for weighted fourier calculations.

             

            K-curve, Wilson plot, a Debye curveを用いてF(obs)から規格化構造因子 (E) の計算する.

 MULTAN     consists of three logical sections:

 ******     a) SIGMA2 finds sets of three reflexions whose indices are related as h, h' and h-h'.

 

            h, h', h-h'関係の反射を求める.

             

            b) CONVERGE finds the starting reflexions for the tangent formula by

            application of the SIGMA1 formula and by assigning phase values to

            reflexions which define the origin and enantiomorph.  A small number

            of other reflexions may be chosen which give a 'good start' to the

            tangent formula.  As the values of these phases are initially unknown,

            a number of different phase values are assigned by 'magic integers',

            thus producing a multiple starting point and hence the name of the programme.

           

            Tangent 式のための原点になる反射を求める.

           

            c) FASTAN determines phases for all reflexions from each starting set produced

            by CONVERGE using the tangent formula.  Figures of merit for each set of phases

            are also computed.

           

            FASTANは用いた反射の位相を決定する.任意の反射数に応じた多重解となる.

 EXFFT      computes an E-map from a set of normalised structure factors.  This

 *****      programme uses the Cooley-Tukey fourier transform algorithm and is

            adapted from a crystallographic programme written by L. F. Ten Eyck.

           

            フーリエ合成を行い,電子密度図 E-mapを計算する.

 SEARCH     finds the coordinates of the highest peaks in the E-map and, for a

 ******     molecular structure, looks for groups of peaks which could form a

            molecule or a molecular fragment consisting of at least five atoms.

      Computes bond lengths and angles for each molecular fragment and outputs on

      the lineprinter a properly scaled view of the peaks plotted on the least

      squares plane.  Other orthogonal projections can be output if required.  Each

      fragment is interpreted in terms of bonded atoms by applying simple

      stereochemical constraints and alternative interpretations are output if found.

      The interpreted fragments are compared with those input by the user and

      corresponding atoms are identified.  This part of the programme is a rewritten

      version of the original by Michel Koch (Acta Cryst., 1974, B30, 67).

 

      電子密度図 E-mapから原子位置を算出する.


1                                                                       page   5

                      **********************************

                      * Preparation of data for NORMAL *

                      **********************************

------------------------------------------------------------

 Card 1  FORMAT(20A4)  TITLE - any FORTRAN characters in cols. 1 - 80

      The TITLE is reproduced at the head of a number of pages of output.  It is

      recommended that it include useful information such as name or mnemonic of

      compound, chemical formula, space group and number of atoms per unit cell.

------------------------------------------------------------

 Card 1'

  col      5   ifile = 0 read data from cards

                      = 1 read data from file

------------------------------------------------------------

 Card 2  FORMAT(I5,4X,A1,7I5,F5.0,I5,F5.0)     programme parameters

         Note that this card is changed from the MULTAN74 version.

  col      5   ICENT = 0 for non-centrosymmetric space group

                     = 1 for centrosymmetric space group

  col     10    LATT = p,a,b,c,i,f or r  (lattice type)

                       if the lattice type is r, the space group symmetry may

                       be described by either rhombohedral or hexagonal axes.

  cols 11-15    NSYM = number of symmetry cards to be input (see cards 5 below)

  cols 16-20     NGP = number of atom groups of known geometry to be input (<10)

                       (see descriptions of NORMAL and MULTAN for explanation)

  col     25   INORM = 0 to normalise using Debye curve (same as Wilson plot if

                       NGP = 0)

                     = 1 to normalise using K-curve, i.e. a non-analytical curve

                       is fitted to the Debye curve for scaling

  cols 26-30      NB = number of points on Wilson (or Debye) plot.  If left

                       blank, the default value of  8*log10(n/20)  is used (5.GT.NB

                       .LT.20), where  N  is the total number of reflexions input

  col     35  ISCALE = 0 to apply separate scale factor for each parity group or

                       other appropriate index group so that   = 1.0

                     = 1 to apply a single overall scale factor

  col     40   ILIST = 0 to suppress listing of complete set of calculated E's

                     = 1 to obtain listing of E's

  cols 41-45    NREF = number of reflexions with the largest E-values to be

                       written on the MULTAN data file (channel 9).

                     = 0 gives the default value of  100 + 4*(number 0f

                       independent atoms).

                       see below for limits on the value of NREF.

  cols 46-50    EMIN = minimum E-value accepted for the nref strong reflexions.

                     = 0 gives the default value of 1.2

  cols 51-55    IZRO = number of smallest E-values to be written on the MULTAN

                       data file (IZRO < NREF) for the PSI(ZERO) figure of

                       merit (see section on 'figures of merit').

                     = 0 gives the default value of 50

  cols 56-60    EMAX = largest E-value accepted for the IZRO weak reflexions.

                     = 0 gives the default value of 0.2

 ISCALE = 0 is recommended unless there are specific reasons to use

 ISCALE = 1.  the index groups are as follows (the order is fixed):

   Triclinic: parity groups  eee, oee, eoe, ooe, eeo, oeo, eoo, ooo.

   Monoclinic, Orthorhombic: same as triclinic.

   Tetragonal: modified parity groups eee, oee+eoe, ooe, eeo, oeo+eoo, ooo.

   Trigonal, Hexagonal: evaluate mod(h,3), mod(k,3), mod(h+k,3), mod(l,2).

   Cubic: evaluate mod(l-h,3), mod(k-l,3), mod(h-k,3), mod(h+k+l,2).

   Primitive rhombohedral: same as cubic

      For trigonal and higher symmetries, reflexions are divided into the

      following six groups:  oooe, ooee+oeoe+eooe, eeee, oooo, ooeo+oeoo+eooo,

      eeeo. where e denotes a zero and o denotes non-zero for the above

      quantities.


1                                                                       page   6

      If some or all of the molecular geometry is known, as much as possible

 should be included in the NGP atomic groups.

      It should not be necessary to use more than 10 reflexions per atom in the

 asymmetric unit.  Usually NREF may be set at about 7 or 8 times the number of

 atoms for orthorhombic symmetry.  More reflexions may be required for lower

 symmetry and fewer reflexions for higher symmetry.  MULTAN limits the number of

 reflexions to the minimum of  KUSER3  and  KUSER2/NSYM.  The parameters KUSER3

 and KUSER2 are set at the beginning of MULTAN to 500 and 2500 respectively and

 are related to array sizes.  These may be changed by the user as explained in

 the section 'on changing array sizes'. because of packing, NREF is limited to

 417 for 24-bit word computers.

------------------------------------------------------------

 Card 3  FORMAT(9F8.0)     Temperature factor and scale factor card

 If the programme is to calculate its own scale and temperature factors,

 this card should be left blank or put temp = 0.0 (note that some computers

 ignore completely blank cards).

  cols  1- 8   TEMP = temperature factor B (must be supplied if scale factor(s)

                      are to be supplied, but temp only may be supplied and the

                      programme will calculate its own scale factor(s)).

  cols  9-16  SCALE1 = overall scale factor if ISCALE = 1

                     = first of 8 (or 6) scale factors if ISCALE = 0, the

                       remaining scale factors being punched in cols 17-24 etc.

      Because of default options, temp must not be exactly 0.0 if supplied.

   The scale factors are for the appropriate index groups, and in the same

   order, as listed under card 2 for ISCALE.

      F**2(absolute) = k * F**2(observed)  defines the scale factor to be used.

      if INORM = 1, TEMP and SCALE1 etc. will always be calculated.

------------------------------------------------------------

 Card 4  FORMAT(6F10.6)     Unit cell parameters

      a, b, c (angstroms)  alpha, beta, gamma (degrees)

------------------------------------------------------------

 Cards 5  Free FORMAT     the NSYM symmetry cards

 Each card contains one general equivalent position punched, for example,

 as                          1/4-x, y, 1/2+z

 spaces are ignored on input and the three fields are separated by commas.

      If the space group is centrosymmetric, do not include equivalent positions

      related by the centre of symmetry.

      If the space group is centred, include only those general equivalent

      positions associated with one lattice point.

 

 Example:     C2/c   NSYM = 2   and the 2 symmetry cards are  x, y, z  and

 x, -y, 1/2+z

------------------------------------------------------------

 Card 6  FORMAT(8(3X,A2,I5))     unit cell contents

  cols  4- 5  NAT(1,1) = chemical symbol of atomic type 1

  cols  6-10  NAT(1,2) = number of atoms of this type in the unit cell

                         etc. to a maximum of 8 atomic types

      Input the total contents of the unit cell - include all atoms whether the


1                                                                       page   7

lattice is centred or primitive.  Include all atoms whether input later as part

of a group or not.

        The scattering factors for 50 different kinds of atom are stored in the

 programme.  In order of atomic number, their chemical symbols as punched are:

 H, LI, Be, B, C, N, O, F, Na, Mg, Al, Si, P, S, Cl, K, Ca, Ti, V, Cr, Mn, Fe,

 Co, Ni, Cu, Zn, As, Se, Br, Rb, Sr, Zr, Mo, Ru, Rh, Pd, Ag, Cd, Sn, Sb, I, Cs,

 Ba, W, Os, Pt, Au, Hg, Pb, Bi.

        If the atomic symbols punched on the card are not one of the above, the

 constants for the analytical scattering factor should be read in from the

 following cards.

------------------------------------------------------------

 Cards 7  FORMAT(5F10.0)     analytical scattering factor constants

      These cards are included only if an atomic type does not correspond to

      one of the above 50 and are input in the order of appearance of the

      atoms on card 6

      The scattering factor curve is represented as

                  f = a * exp(-a'*s**2) + b * exp(-b'*s**2) + c

       where s = sin(theta)/lambda  and the 5 constants are input in the order

       a, a', b, b' and c.

 For values of the constants see for example Frsyth and Wells (1959) Acta

 Cryst.,12,412.

------------------------------------------------------------

 Cards 8  FORMAT(1X,A4,2I5,F5.0,6F10.3/(80A1))   the NGP atomic groups

      if NGP = 0 these cards are omitted.  Note the parameter NINF additional

      to the MULTAN77 version.

 These are groups of atoms whose geometry, orientation or position are

 known.  For each group, the first card is:

  cols  2- 5  IDENT = any four characters to identify the group, e.g. BENZ

  cols  6-10   NINF = 2 for group of random orientation and position

                    = 3 for group of known orientation and random position

                    = 4 for known atomic positions

                    = 5 if atoms to be used for Karle recycling

                      groups of type 2 may be included with groups of type 5

                    = 6 if atoms to be used in weighted fourier calculations

                      for groups of type 6 iscale on card 2 must be 1,

                      and scale1 and bt must be specified on card 3 (values

                      can be taken from a previous run of NORMAL)

                      no other groups should be included with a group of type 6

  cols 11-15     NT = number of atoms in this group

  cols 16-20     GN = number of times this group is present in the unit cell

  cols 21-30, 31-40, et seq.  aa, bb, cc (a), alpha, beta, gamma (deg.)

                      the coordinate system to which the fractional coordinates

                      of the atoms in this group are referred.  Leave blank for

                      default option (see below).

 The remaining cards contain the chemical symbols and coordinates of the NT

 atoms in the group in free FORMAT, separated by spaces.  Each card contains:

  NF = chemical symbol of atom.  Note that this symbol must be identical to one

       of those on card 6.

   x )  fractional coordinates of atom referred to the specified system of axes.

   y )  if NINF = 2, the origin and orientation of the group are arbitrary.

   z )  if NINF = 3, the origin is arbitrary.


1                                                                       page   8

 If NINF = 2, the spherically averaged molecular scattering factor is

 calculated to aid the scaling either by the debye curve or K-curve method.

 If the orientation or position of the group is known (NINF = 3 or 4), it is

 automatically passed on to MULTAN to be used in the estimation of the phase and

 variance of SIGMA2 relationships.

 If NINF = 2, the default for the coordinate system to be used for the

 atomic positions is  aa = bb = cc = 1.0,  alpha = beta = gamma = 90.0,  i.e.

 the coordinates are given in angstroms referred to an orthogonal system of

 axes.  If NINF = 3 or 4, the coordinate system is that on card 4.

------------------------------------------------------------

 Card 9  FORMAT(I5,18A4)        FORMAT for reflexion data

  cols  1- 5  NNN = number of reflexions punched on each card  (.LE. 12)

                    if NNN is negative, a file of all input reflexions is

                    created on channel 15.

  cols  6-77  FMT = FORMAT for reading reflexion cards

  example:   -5     (5(3I3,F5.2,I2))

  It is suggested that NNN>12 be used to signify input of reflexion data

 from magnetic tape or disc (channel 15).  Individual installations may arrange

 the exact form of input for themselves, but the programmes as issued can read

 the 'standard' file by putting NNN = 15.  (Note that NNN = -15 will read

 reflexions from the file then rewrite the file after calculating the E's.

------------------------------------------------------------

 Cards 10  FORMAT as specified on card 9     reflexion data

      include only if  NNN .le. 12

  The programme expects  NNN  reflexions per card.  For each reflexion, the

 programme expects  h, k, l, F(obs), ID  where all are integer except F(obs).

 (note that the decimal point need not be punched, but may have its position

 specified by the FORMAT description.  This may save space in packing the

 reflexions on to the cards.)

      ID = 0 for observed reflexion;  ID = 1 for unobserved.  The programme will

      not allow reflexions with  ID = 1  to be used in MULTAN for phase

      determination no matter how large the E-value.

      Because of packing, the maximum magnitude of h, k or l  (also h+k for

 trigonal or hexagonal) is 49 for 24-bit word machines and 127 for 32-bit words.

 The data are terminated by a dummy reflexion with a negative F(obs).

 The programme expects a complete set (observed and unobserved) of unique

 reflexions (those not related by symmetry).  It assumes that systematically

 absent reflexions (caused by screw axes, glide planes and lattice centrings)

 will not be input.  Failure to observe these points will usually result in

 inaccurate scaling of the E's.

 The highest NREF E's will be written onto the MULTAN data file (channel

 9) with the restriction that  E > Emin and the reflexion is observed.

 the lowest izro E's will also be written onto the MULTAN data file for

 the PSI(ZERO) test with the restriction that  E < EMAX.

 (see the section on figures of merit).

 下記の例は,空間群P(-)の1非対称単位に2個の分子が入っている難解な例である.

前段階の規格化構造因子 (E)の計算の段階で,E>7.0を越える異常な反射が1個あり,

試行錯誤の結果,後段の位相決定の際,悪影響を及ぼしている可能性が示唆されたの

で,これを除外した. Eの数は,念のため500個に増やした.

 MULTANの段階ではNANYを8-10個に増やして解析した.1024個の解の中から

Combined Figure of Meritが2.0を越える解(2.2415)が正解であった.

********** Input Data Example **********

cpcot64 adduct

    0

    1    P    1    0    0    0    0    1  500    0    0    0

16.197    20.990    9.505     134.32    91.72     90.35

X,Y,Z

    H   96    C  116    O   20

    1     (I3,2I4,F8.2,I1,F5.2)

  0   0   1  256.73  0.80

  0   0   2  259.48  1.14

  0   0   3  138.70  1.44

  0   0   4   15.56  1.75

  0   0   5   92.86  1.04

  0   0   6   17.23  2.39

  0   0   7    7.40  5.28

  0   0   8   12.85  3.64

  0   1  -8    7.96  5.68

  0   1  -7   13.51  3.18

  0   1  -6   32.27  1.40

  0   1  -5   16.74  1.99

  0   1  -4   14.33  1.86

  0   1  -3   56.45  0.73

  0   1  -2  100.14  1.14

  0   1  -1  119.49  0.74

  0   1   0    2.52  1.80

  0   1   1  188.00  0.95

  0   1   2   75.46  0.81

  0   1   3   50.44  0.76

  0   1   4   27.34  1.22

          ・

  (Total 4274 RD)

          ・

 10  -9  -3    7.69  0.00

 10  -9  -2   10.67  0.00

 10  -9  -1   39.62  0.00

 10  -9   0   18.82  0.00

 10  -9   1    5.68  0.00

             -10.0

             -10.0

****************************************


1                                                                       page   9

                      **********************************

                      * Preparation of data for MULTAN *

                      **********************************

------------------------------------------------------------

 Card 1  FORMAT(20A4)  TITLE - any FORTRAN characters in cols 1-80

------------------------------------------------------------

 Card 2  FORMAT(I5)    control parameter

  col      5   IPATH = 0 to run SIGMA2, CONVERGE and FASTAN using default

                       values throughout, i.e. no further data need be supplied.

                     = 1 to run SIGMA2   (cards  3- 7)

                     = 2 to run CONVERGE (cards  8- 9)

                     = 4 to run FASTAN   (cards 10-15)

                     = 8 to halt the programme, i.e. no calculation takes place.

      Any sensible sum of the above codes is also accepted to run sections of

 the programme in combination.  IPATH = 5 is not allowed.  Include only those

 data cards needed for the sections of the programme asked for.  If IPATH = 0,

 no data cards at all are required and default values will be used throughout.

 In this case, the data file written by NORMAL must be used.

------------------------------------------------------------

 Card 3  FORMAT(16I5)     unit cell contents

  cols  1- 5   JN(1) = number of atoms of type 1 in the unit cell

  cols  6-10   JZ(1) = atomic number of atom type 1.

               etc. to a maximum of 8 different atomic types.

      If the data file written by NORMAL is used for input to MULTAN, this card

 should be left blank, otherwise the complete contents of the unit cell should

 be given.  Note that this differs from the input of unit cell contents to

 NORMAL.

------------------------------------------------------------

 Card 4  FORMAT(3I5,4X,A1,2I5,F10.0)       SIGMA2 parameters

      If the data file written by NORMAL is used, only ilist and nsrmax need be

 supplied.

  col      5   ILIST = 1 to request SIGMA2 listing

                     = 0 to suppress SIGMA2 listing

  cols  6-10  NSRMAX = maximum number of unique phase relationships to be used.

                       NSRMAX can not exceed KUSER4/3.

                     = 0 gives the default value of 11 * NREF - 500.

  col     15   ICENT = 0 for non-centrosymmetric space group

                     = 1 for centrosymmetric space group

  col     20    LATT = p,a,b,c,i,f,r  (lattice type)

  cols 21-25    NSYM = number of symmetry cards to follow  (= 0 if the data file

                       written by NORMAL is used).

  cols 26-30     NGP = number of atomic groups to be input on cards 5a.

  cols 31-40    EMIN = minimum value of E to be used.  All E's less than this

                       are ignored on input.

      The programme sets up all possible phase relationships and selects the

 NSRMAX strongest.  From experience, the optimum ratio of number of phase

 relationships to number of reflexions is about 8.  Fewer relationships than

 this may result in failure to solve some structures, while more relationships

 tends to use computer time unnecessarily.  For difficult structures, use as

 many relationships as possible.


1                                                                       page  10

------------------------------------------------------------

 Cards 5  free FORMAT     the NSYM symmetry cards

      If the data file written by NORMAL is used, these cards are omitted.

      Each card contains one general equivalent position punched as described

      in the input to NORMAL e.g.

          1/2 - x,  -y,  1/2 + z

      If the space group is centrosymmetric, do not include equivalent

      positions related by the centre of symmetry.

      If the space group is centred, include only those general equivalent

 positions associated with one lattice point.

------------------------------------------------------------

 Cards 5a  FORMAT(2I5/(I5,3F10.6))     the NGP atomic groups

      These are groups of atoms whose orientation or position is known and are

 to be used in the estimation of the phase and variance of SIGMA2 relationships.

 If these groups have already been input to NORMAL and the data file written by

 NORMAL is used by MULTAN, they will be used automatically and should not be

 input again here.

      For each group, the first card is:

  cols  1- 5    NINF = 3 for group of known orientation and random position

                     = 4 for known atomic positions

  cols  6-10     NAG = number of atoms in the group.

      the remaining cards contain the atomic number and coordinates of the NAG

      atoms in the group.  Each card contains:

  cols  1- 5      NZ = atomic number

                   X ) fractional atomic coordinates

                   Y ) the origin is arbitrary if ninf = 3

                   Z )

------------------------------------------------------------

 Cards 6  variable FORMAT     reflexion data

      If the data file written by NORMAL is used, these cards are omitted.

      The first card contains the FORMAT statement for the data which follows,

 one reflexion per card.     example:   (3I4,F8.2)

      Each subsequent card contains h,k,l,E for one reflexion.

      The last card contains a dummy reflexion with a negative E-value.

      It should not be necessary to use more than 10 reflexions per atom in the

 asymmetric unit and usually about 7 or 8 times the number of atoms may be used.

 The programme limits the number of reflexions to the minimum of  KUSER3-1  and

 KUSER2/NSYM.  The parameters KUSER3 and KUSER2 are set at the beginning of

 MULTAN to 500 and 2500 respectively and are related to array sizes.  These may

 be changed by the user as explained in the section 'on changing array sizes'.

      The reflexion cards may be input in any order as the programme decides

 internally on the optimum order for phase determination.  However, it should

 be noted that the order of input of reflexions in the E-map data is the same as

 the order of input here.


1                                                                       page  11

------------------------------------------------------------

 Cards 7  Same FORMAT as cards 6     The PSI(ZERO) reflexions

      (see 'description of SIGMA2' and 'figures of merit')

      If the data file written by NORMAL is used, these cards are omitted.

      each card contains h, k, l, E

      The last card contains a dummy reflexion with a negative E-value.  If no

 PSI(ZERO) reflexions are included, the terminating card must still be present.

      The number of PSI(ZERO) reflexions must be less than the number of

 reflexions in cards 6.  Normally, about 50 reflexions with very small or zero

 E-value will produce a sensitive figure of merit.  (Do not use systematically

 absent reflexions).

------------------------------------------------------------

 Card 8  FORMAT(6I5,F10.0)        CONVERGE parameters

  col      5    LIST = 1 to obtain complete listing of convergence map

                     = 0 to list bottom of convergence map only.

                     = -1 to suppress listing of convergence map

  cols  6-10  NINPUT = number of reflexions to be input to converge on cards 9

  cols 11-15   NSPEC = number of special reflexions required in starting set

  cols 16-20    NGEN = number of general reflexions required in starting set

  cols 21-25    NANY = number of reflexions of any sort required in starting set

  cols 26-30   NSREQ = maximum number of phase sets to be generated by FASTAN.

                     = 0 gives the default value of 64.

                       NSREQ is only used if NSPEC = NGEN = NANY = NINPUT = 0.

  cols 31-40    PROB = lower limit of probability for acceptance of a phase

                       determined by the SIGMA1 formula.  (see 'description of

                       CONVERGE' for advice on the use of this parameter).

                     = 0 gives the default value of 0.95

      The reflexions which appear in the starting set will be those needed for

 origin definition, the SIGMA1 reflexions and the  NINPUT + NSPEC + NGEN + NANY

 others.  See 'description of CONVERGE' for the number of phase sets these

 reflexions will generate.

      If NINPUT = NSPEC = NGEN = NANY = 0, the programme will choose the number

 of starting reflexions required with the constraint that the number of phase

 sets generated will not exceed nsreq.

      Special reflexions are those whose phases are restricted to two values

 such as zero or pi.  General reflexions are those whose phases may take on any

 value.  Note that in centrosymmetric space groups there are no general

 reflexions; all reflexions are special.

      At least one phase must be permuted for FASTAN to work.

------------------------------------------------------------

 Cards 9  FORMAT(5I5,F10.0)     The NINPUT reflexions for CONVERGE

      These reflexions allow the user to impose his own choice of starting point

      on the programme.  Each card contains information for one reflexion.

  cols  1- 5  KODE = code number of reflexion as listed in SIGMA2 output

  cols  6-10     H )  indices of reflexion in 'standard' form

  cols 11-15     K )  as listed in the SIGMA2 output

  cols 16-20     L )

  cols 21-25  IFAZ = phase angle in degrees


1                                                                       page  12

  cols 26-35  WATE = -2.0 for enantiomorph-fixing reflexion (IFAZ ignored)

                   = -1.0 for starting set reflexion (IFAZ ignored)

                   = 0.0 to 1.0 the weight of a known phase

                   = 2.0 for origin-fixing reflexion.

      Either kode or h, k, l may be used to specify a reflexion.  If KODE is

 punched, h, k, l are ignored.

      For an enantiomorph-fixing or starting set reflexion, IFAZ is ignored

 since the programme will assign an appropriate phase value and permute it in

 the normal way.

      For a known phase, a weight greater than 0.99 will be interpreted as

 meaning certainty and the phase will be fixed during tangent formula refinement

      Apart from its obvious purpose, this facility of inputting reflexions to

 CONVERGE can be used to persuade the programme to choose different origin

 defining reflexions if the user is dissatisfied with its original choice.

 One, two or three origin-defining reflexions of the user's own choice may be

 read in here and, if necessary, the programme will choose the remaining reflexions

 needed to define the origin completely.

------------------------------------------------------------

 Card 10  FORMAT(5I5,3F10.0)            FASTAN parameters

  cols  1- 5     IMK = number of starting phases to be input from cards

                     = 0 if starting phases to be generated by the programme

  col     10  IPRINT = 1 to obtain listing of final phase values

                     = 0 to suppress listing of final phase values

  col     15    ISET = 0 no action.

                     = 1 read phase set numbers off cards 11 and generate these

                       phase sets only.

  col     20   IFOUR = 0 to request preparation of data file (on channel 10)

                       for input to EXFFT to calculate E-maps

                     = 1 if no such data file is required

                       note that the significance of these values of IFOUR has

                       been reversed from those in MULTAN77.

  cols 21-25   ISKIP = number of phase permutations to be skipped before

                       calculations begin.  MULTAN begins with permutation

                       number iskip+1, so normally ISKIP = 0.

  cols 26-35  WTFOM1 = weight for absolute figure of merit

  cols 36-45  WTFOM2 = weight for PSI(ZERO) figure of merit

  cols 46-55  WTFOM3 = weight for residual figure of merit

      The maximum number of starting phases which can be introduced from cards

 (parameter IMK) is KUSER3/2.  The parameter KUSER3 is set at the beginning of

 MULTAN and is normally 500.  For more information see the section 'on changing

 array sizes'.

      When rerunning a job that ran out of time, ISKIP should be set to the

 number of sets of phases previously written on channel 10.  Note that this may

 not correspond to the last set of phases listed on the lineprinter because of

 buffering.  To do this the files on channels 10 and 11 must be saved from the

 previous run, and parts 1 and 2 of MULTAN must not be rerun.

      The WTFOM parameters are used in the calculation of the combined figure

      of merit (see section on 'figures of merit').  If left blank, these weights will

 be set to their default values of 1.0.  If the space group contains no

 translational symmetry, better discrimination may be obtained with  0.8, 1.2

 and  1.0  as the three weights.


1                                                                       page  13

------------------------------------------------------------

 Cards 11  FORMAT(20I4)          Phase set numbers

      include only if ISET = 1

  cols  1- 4  NUMSET = number of phase set to be generated

  cols  5- 8   etc.    phase set numbers should be in ascending order

                     = -1 to terminate input of numbers

      As many cards 11 as desired may be input.  This facility allows the

 generation of particular sets of phases from a previous run of the programme.

------------------------------------------------------------

 Cards 12-15  include only if IMK > 0.    (maximum value of IMK is KUSER3/2).

 Cards 12  FORMAT(20I4)    code numbers of the IMK starting reflections

------------------------------------------------------------

 Cards 13  FORMAT(20i4)    markers of the IMK starting reflexions

           = 1 if phase is to be allowed to vary from the start of phase

             determination

           = -1 if phase is to be kept fixed and only allowed to vary during the

           last few cycles of tangent formula refinement

------------------------------------------------------------

 Cards 14  FORMAT(20F4.0)    weights of the IMK starting reflexions (0.0 to 1.0)

 origin and enantiomorph defining reflexions should be given weights of 1.0

 Cards 15  FORMAT(20I4)     phases, in degrees, of the IMK starting reflexions

  and NUMSET (in field IMK+1)

  NUMSET = identification number of set of phases

      As many cards 15 as desired may be input to produce different starting

 points for the tangent formula.  Data is terminated by a dummy set of phases

 with NUMSET = 0.

 MULTANの段階ではNANYを8-10個に増やして解析した.1024個の解の中から

Combined Figure of Meritが2.0を越える解(2.2415)が正解であった.

********** Input Data Example **********

cpcot

    7

     

    0

                       10

    0

****************************************

MULTANの出力リストのまとめ部分を抽出

ABS FOM, PSI ZERO, RESIDから総合評価COMBINED FOMを算出した部分

                    cpcot                                                                          

                                 SUMMARY OF FIGURES OF MERIT OUTPUT BY TANGENT FORMULA

                                                    ABS FOM          PSI ZERO          RESID

                           MAXIMUM VALUE             2.0092            5.992           46.77

                           MINIMUM VALUE             0.4546            0.934           14.80

                          RELATIVE WEIGHTS            1.00             1.00             1.00

                         (FOR COMBINED FOM)

                        NUMSET       ABS FOM           PSI ZERO        RESID       COMBINED FOM

                           1          2.0092             5.992         14.80

+                                                                                  2.0000 誤った解

                         446          1.1302             0.934         20.97

+                                                                                  2.2415 第446目の解が正解


1                                                                       page  14

                       *********************************

                       * Preparation of data for EXFFT *

                       *********************************

------------------------------------------------------------

 Card 1  FORMAT(2I5,5X,I5,4F5.0)        E-map parameters

  cols  1- 5   NOSET = serial number of the set of phases from which to

                       calculate the E-map

                     = 0 to choose set with highest combined figure of merit.

                       if EXFFT is rerun with NOSET = 0, the set with the next

                       highest combined figure of merit will be used.

  cols  6-10   LEVEL   all numerical values in the E-map greater than level are

                       underlined with **** in the lineprinter output to

                       facilitate contouring.  If LEVEL = 0, the default value

                       of 100 is used.  Note that the map is automatically

                       scaled between + & -999 (approximately) at the grid

                       points at which it is calculated.

  col     20  IPRINT = 0 to suppress printing of the E-map

                     = 1 to obtain the printing of the E-map

  cols 21-25  FACTOR   the grid on which the E-map is evaluated will have a

                       spacing of approximately 1/factor angstroms.

                     = 0 gives the default value of 3.0

  cols 26-30    XMAX )

  cols 31-35    YMAX )  printing limits along the x, y, z directions

  cols 36-40    ZMAX )

      If IPRINT = 1, the E-map will be printed for the portion of the unit cell

 running from 0.0 to xmax in x,  0.0 to ymax in y, 0.0 to zmax in z.

      If xmax, ymax and zmax are all 0.0, the default values are 1.0, 1.0, 1.0

 (complete unit cell).

      The printing of the E-map will normally be used only rarely.  The output

 is in sections of constant y with x across the page and z running down it on a

 grid of about 3 points per angstrom.  The maximum number of grid points across

 the page is 36 (i.e. about 12A in length).  If more are needed, a new page is

 started.  All numerical values greater than level are underlined with **** to

 facilitate contouring.

------------------------------------------------------------

 Card 2  FORMAT(6F10.0)          unit cell parameters

      include only if not already supplied to NORMAL

      a, b, c  (angstroms),  alpha, beta, gamma  (degrees).

********** Input Data Example **********

  446

****************************************


1                                                                       page  15

                       **********************************

                       * Preparation of data for SEARCH *

                       **********************************

------------------------------------------------------------

 Card 1  FORMAT(4I5,5F10.0)     Programme parameters

  cols  1- 5     NPC = number of peaks to SEARCH for (<180).

                     = 0 gives the default of (11*n)/9 where n = number of

                       independent atoms (excluding h).  If two fragments are

                       within 2.8a of each other, the default is automatically

                       increased to (3*n)/2.

  cols  6-10      NA = number of additional atoms to be included in the

                       interpretation of the map (NPC+NA < 200)

                     = 0 if no additional atoms.

  cols 11-15    MFRN > 0 if bond sequences to be input for molecular recognition

                     = 0 if no bond sequences input.

  cols 16-20   NPROJ = number of orthogonal projections of each fragment to be

                       plotted (maximum of 3).

                     = 0 programme decides number for itself (maximum of 2).

                     = -1 no projections are plotted at all.

  cols 21-30     DMT   interpeak distances less than DMT are output (maximum of

                       25 distances for each peak).

                     = 0 gives the default value of 2.4A.

  cols 31-40     DMN = minimum allowed bond length in the interpretation

                     = 0 gives the default of 1.1A.

  cols 41-50     DMX = maximum allowed bond length in the interpretation

                     = 0 gives the default of 1.95A.

  cols 51-60   ANGMN = minimum allowed bond angle in the interpretation

                     = 0 gives the default of 85 degrees.

  cols 61-70   ANGMX = maximum allowed bond angle in the interpretation

                     = 0 gives the default of 145 degrees.

      The three orthogonal projections of each fragment which can be requested

 by the NPROJ parameter are on the least squares plane, the plane orthogonal to

 the least and most squares plane and on the most squares plane, in that order.

 If the default is used (NPROJ=0) the programme will always give the first

 projection (on the least squares plane).  It will output the second projection

 if the fragment is cylindrical or globular.  The third projection (on the most

 squares plane) is output only if NPROJ = 3.

      Note that the acceptable bond distances and angles given by the default

 values do not include all possible chemical configurations of atoms.

------------------------------------------------------------

 Card 2  FORMAT (20A4)         FORMAT for atom cards (include only if NA>0).

  cols  1-80         FORMAT for reading in coordinates of additional atoms on

                     cards 3.   e.g. (3F10.5)

------------------------------------------------------------

 Cards 3  FORMAT as specified on card 2     atomic coordinates (only for NA>0)

      There are na cards, each containing x,y,z, for one additional atom.

      The additional atoms input here are included in the bond-lengths and

 angles calculation and are also output as part of the picture.  This facility

 will not normally be used for the interpretation of E-maps, but is very useful

 in the later stages of crystal structure determination when a difference

 fourier may be used to locate hydrogen atoms. If SEARCH is used for this task,

 inclusion of the subtracted atoms at this point ensures they are included in

 the bond-lengths and angles calculations and also that they appear in the


1                                                                       page  16

 lineprinter picture of the structure.

------------------------------------------------------------

 Cards 4  Free FORMAT       Bond sequence codes (include only if MFRN>0)

      The bond codes allow the programme to compare the molecular fragment it

 finds with that input here.  They are not used by the programme in its SEARCH

 for a fragment and are therefore optional.

      The bond codes for any molecule are found as follows:

      (a)  Draw the molecule or fragment whose chemical structure (not

 necessarily geometry) is known.

 e.g.           0--0      0

               i    i    i i

              0      0--0   0

               i    i    i i

                0--0      0

      (b)  Number the atoms in any order

 e.g.           1--3      8

               i    i    i i

              4      2--6   10

               i    i    i i

                5--7      9

      (c)  Specify the connections to each atom as follows:

 1 3 4/2 3 6 7/3 1 2/4 1 5/5 4 7/6 2 8 9/7 2 5/8 6 10/9 6 10/10 8 9//

 which means atom 1 is bonded to atoms 3 and 4; 2 is bonded to 3, 6 and 7 etc.

           Redundant information may be removed from the bond sequence

 e.g.  1 3 4/2 3 6 7/4 5/5 7/6 8 9/8 10/9 10//

 or    1 3 4/2 3 6 7/5 4 7/8 6 10/9 6 10//

 in which each bond is specified only once.

      (d)  Type any of these descriptions in free FORMAT, ending the information

with //.  The maximum number of atoms in the molecule is 200.  Up to five

molecules can be input in this way and the complete data is terminated with ///

      The comparison routines in this version of SEARCH are described by Main &

 Hull (1978) Acta Cryst., in press.  All identified peaks are put in a data file

 (on channel 14) for use by NORMAL in one of the recycling procedures.  No peaks

 will be identified if no bond sequences are input.  In this case, file 14 will

 contain the peaks from the largest interpreted fragment.  However, it is

 strongly recommended that the output from SEARCH be examined carefully, since

 it will most often be the case that user intervention will be either helpful or

 necessary before recycling can be intelligently used.

********** Input Data Example **********

    0    0    0

****************************************

ピークサーチプログラムで見つけられた分子座標はラインプリンタ用に投影図が書き出される.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

     cpcot                                                                                SET NO.446     FRAGMENT  1

                           PLOT OF PEAKS ON LEAST SQUARES PLANE          SCALE  =  2.50  CMS/A

+                                                68

+                                                             27

+                                    67

+                            90

+                                                                  62

+                                   33

+                                                                     20

+                                                       59

+                                85

+                                            31

+                                                                              50

+                                                                                                         79

+                                                                                 83

+                                                                   43

+                                                               102

+                                              16

+                                                     5

+                                                                        34

+                                                                                          35

+                                                                             81

+                                       76

+                                               23

+                                                                                      80

+                                                                                                       58

+                                                                        19

+                                                                                     10

+                                                            22

+                         26

+                                                                        6

+                                                                                                               64

+                                  24

+                                                                                             57

+                                                                                             53

+                                                       32

+                                                                                              88

+                                       97

+                                                                                                         41

+                                                                              52

+                                                             11

+                                                                             100

+                                              70

+                                       1

+                                                        69

+                                  93

+                                                                    63

+                          51

+                                                              37

+        74

+                                                                                   87

+                                                                    66

+                              94

+                                                                    96

+                                                                         78

+                                                                      61

+                                                             30

+                                      39

+                                                                                    56

+                                           75

+                                                 47

+                                         17

+                                                   49

+                                                                            2

+                                                                                  77

+                                                9

+                                                    14

+                                                                                     60

+                                                      12

+                                                                   44

+                                                                                                 89

+                                                                28

+                                                           73

+                                                                             55

+                       54

+                                                                         3

+                                                   98

+                                                  4

+            38

+                                    15

+                                                                                    18

+                                                                                               29

+                                                                                  8

+                                                            7

+         42

+                                                                               91

+                                                                                             46

+                                                                                         99

+                               25

+                                                                                          86

+                                                                                         72

+                   40

+                                                           21

+                            92

+                                                   45

+                                                                   13

+                                                               82

+                                                                              84

+                                                     36

+                                                                                 71

+                                              101

+                                                                    65

+                                                              48

+                                                                             95

同時にPEAKというファイルが作られるので,パソコン端末側に転送するかあるいはウインドウ間でCOPY&PASTEして,適当な分子表示プログラム(Chem3D等)で表示させる.

  16.19700  20.99000   9.50500 134.31999  91.72000  90.35000

    1   0.91654   0.10039   0.71643

    5   0.98118   0.24933   0.83630

    6   0.99326   0.18481   0.46550

   10   0.81588   0.31442   0.67992

   11   0.74400   0.23430   0.83691

   16   1.04354   0.21386   0.80041

   19   0.85892   0.29219   0.76030

   20   0.98051   0.40226   0.96471

   22   0.85445   0.25498   0.82697

   23   0.91607   0.24852   0.93442

   24   0.91673   0.16137   0.89727

   26   0.90274   0.17101   1.04021

   27   1.07441   0.42386   1.05675

   31   0.92117   0.34026   1.16239

   32   0.72206   0.27174   0.99548

   33   1.00422   0.34941   1.24725

   34   1.00112   0.26437   0.61226

   35   0.77739   0.38666   0.79738

   37   0.59825   0.20045   0.83239

   41   0.76232   0.29823   0.42574

   43   0.96009   0.29823   0.78069

   50   1.04659   0.31097   0.61521

   51   0.92052   0.01617   0.68339

   52   1.00617   0.13851   0.26814

   53   0.82126   0.27953   0.50422

   59   0.89885   0.42113   1.21909

   62   0.93749   0.45155   1.12982

   63   0.69948   0.18876   0.67320

   64   0.72201   0.36607   0.52053

   66   0.62276   0.16103   0.66153

   67   1.07733   0.38493   1.27752

   68   1.11841   0.41669   1.17501

   69   0.62304   0.24909   0.98994

   79   0.78241   0.46866   0.78160

   85   0.87975   0.38140   1.42638

   88   0.69511   0.33536   0.68603

   90   0.98498   0.39008   1.43519

   94   0.93902  -0.06179   0.45468

   97   0.74637   0.21819   1.06296


1                                                                       page  17

                           **************************

                           * Running the programmes *

                           **************************

      The separate programmes in MULTAN78 communicate with each other through

 data files.  The programmes, together with the files used and their logical

 numbers are set out on the next page.  File 9 contains symmetry information,

 the unit cell contents and the reflexions used by MULTAN for phase

 determination and the PSI(ZERO) test.  File 15 contains the complete data set

 input to NORMAL and can be used for subsequent runs of NORMAL.  File 11

 contains all the reflexions used by MULTAN together with the SIGMA2

 relationships, SIGMA1 information and the tangent formula starting reflexions

 chosen by CONVERGE.  File 10 contains the phase sets output by MULTAN which

 are then passed on to EXFFT for the computation of E-maps.  Files containing

 formatted information (card images) are 9, 12 and 14.  All other files are

 unformatted (binary).

      Normally, it will not be found necessary to output a SIGMA2 listing, any

 of the phase sets produced by FASTAN or any of the E-maps.  the 'pictures'

 output by SEARCH together with their interpretations will be found satisfactory

 for the elucidation of most structures.  Several E-maps may be produced in a

 single job by running EXFFT and SEARCH for each map required using default

 values each time.  The E-maps will be computed in order of the combined figure

 of merit.  Further E-maps can be obtained in subsequent jobs again by using

 default values for EXFFT and SEARCH with the same file 10.

      If only a partial structure appears in an E-map, it may be used to compute

      starting phases for a rerun of the tangent formula.  This is done by NORMAL

 which prepares the necessary input file to MULTAN.  Alternatively, if the

 partial structure is in the wrong position in the cell, it can be used to

 estimate the phase and variance of SIGMA2 relationships in a redetermination of

 the structure.  Such oriented groups of atoms can be input to NORMAL or MULTAN

 as already described.

      Note that if only a small number of atoms are missing from the E-map, It

 may be better to find them using a weighted fourier synthesis than to use the

 tangent formula recycling procedure.  NORMAL can be used to prepare the input

 needed by EXFFT to produce the fourier synthesis.


1                                                                       page  18

                          ****************************

                          * Flow diagram of MULTAN78 *

                          ****************************

                                    ********

      standard data file (15)---><--*NORMAL*---<---input file or card reader (5)

         (binary)                 ********

                                       i      NORMAL requires one binary

                                       i          scratch file (8)

                                       i

                     transfer file (9) v

                      (formatted)      i

                                       i

                                       i

        MULTAN requires one binary  ********

            scratch file (11)       *MULTAN*---<---input file or card reader (5)

                                    ********

                                       i

                                       i

                                       i

               binary phases file (10) v

                                       i

                                       i

                                       i

         EXFFT requires one binary  *******

             scratch file (8)       *EXFFT*----<---input file or card reader (5)

                                    *******

                                       i

                                       i

                                       i

                 fourier map file (13) v

                      (binary)         i

                                       i

                                       i

                                    ********

                                    *SEARCH*---<---input file or card reader (5)

                                    ********

                                       i

                                       i

             peak coordinate file (14) v

                 (formatted)           i

                 All programmes use channel 6 for lineprinter output

 Numbers in parentheses are the logical numbers by which the files are accessed.

                                Karle recycling

                                ---------------

 NORMAL produces a file on channel 12 (formatted) which should be used as input

 to MULTAN on channel 5.

                                Weighted fourier

                                ----------------

 NORMAL produces a file on channel 10 (binary) for input to EXFFT. MULTAN may

 be bypassed altogether or supplied with a file on channel 5 with ipath = 8.


1                                                                       page  19

                     ***********************************

                     * Computer dependence of MULTAN78 *

                     ***********************************

      All programmes in the MULTAN system have been written in a fairly standard

      FORTRAN IV in the hope that they will be largely computer independent.

 Unfortunately, it is not possible to make them completely machine independent

 and the authors will welcome information from users who have any difficulties

 implementing the system on their own machine.

      The programmes will work on machines with 24-bit words, but this imposes

 limitations due to packing.  Only two cards have to be changed in this case as

 shown below.  On 24-bit word machines, MULTAN will handle a maximum of 417

 reflexions and this restriction is removed completely if the word size is

 larger.

  Serial number

    MU005100   length of integer word (use 32 unless it is smaller)

    EX002900   as above

    SE006300   number of lines per inch on the line printer


1                                                                       page  20

                          ***************************

                          * On changing array sizes *

                          ***************************

      To enable users to alter storage space for reflexions and phase

 relationships, all relevant array sizes are defined by programme parameters at

 the beginning of MULTAN:

 Parameter  Present     Function       Dimension of arrays           Constraints

             value

 KUSER1      5000    number of SIGMA2         none             = KUSER4 / 3  and

                     relationships                          mod(KUSER1,KUSER3)=0

 KUSER2      3000    hemisphere of        (IC,IOC,IOR)   3*KUSER2.le.KUSER4-1000

                     reflexions

 KUSER3       500    number of         (MKG,MKANG,PALF,IZ)            none

                     reflexions       IH,E,IPHAZ,WT,ALPHA,      (but see KUSER5)

                                              IORDE

                                   dimension of LIM = KUSER3+1

                                   dimension of KDSTOR,MKSTOR,

                           *************************

      The programme NORMAL converts F(obs) values to E(obs) according to the

 formula

                          E(obs)**2 = F(obs)**2 / (i)

 where  (i) is the expected intensity of that particular reflexion.

      For randomly positioned atoms in the unit cell,  (i) is given by Wilson's

 statistics as

               (i) = sum over i (F(i)**2) * (Debye-Waller factor))

 where F(i) is the scattering factor of the ith atom.

      This formula is modified slightly for particular reflexions by space group

      symmetry elements as indicated by Wilson.  For example, in P2 (i) the 0k0

 reflexions are expected to have twice the average intensity of other

 reflexions because of the two-fold screw axis.  The above formula is then

 modified to

               (i) = 2.0 * sum over i (F(i)**2) * (Debye-Waller factor))

 for these reflexions.  NORMAL automatically uses the correct formula for the

 space group.

      If something is known about the stereochemistry of the structure, the

 assumption of randomly distributed atoms need not be made in calculating(i).

 instead, it can be assumed there are randomly distributed groups of atoms in

 the unit cell.  In this case, F(i) in the formula for (i) is replaced by G(i),

 the spherically averaged scattering factor of the ith group.  G(i) is

 calculated from the Debye scattering formula

        G(i)**2 = sum over j & k (F(j) * F(k) * sin(t*rjk) / (t * Rjk))

 where        t = 4 * pi * sin(THETA) / lambda

 and        Rjk = distance between the jth and kth atoms (in the ith group)

      It is recommended that as much stereochemical knowledge as possible is

 used in this way, the larger the atomic groups the better.  Ideally, the

 complete molecule should be included as a single group, but often the whole of

 its stereochemistry is not known.  However, the geometry of fragments of the

 molecule may well be available and these fragments can be included as separate

 groups in the data for NORMAL.  As the group scattering factor is spherically

 averaged, the orientation of the group as it appears in the data for NORMAL is

 arbitrary.

      Use of molecular scattering factors in the calculation of E-values is

 especially valuable for planar molecules consisting of fused six-membered rings

 These structures can be awkward to solve and the E-map may reveal a hexagonal

 net rather than a picture of a discrete molecule.  Making use of the known

 stereochemistry of such molecules in the calculation of the E's has the effect

 of reducing the height of the spurious peaks and sometimes completely removing

 the central peak in each ring.

      The Wilson plot is printed out with the symbols wwww following a smooth

 curve through the points.  The symbols dddd follow a smooth curve through the

 'Debye' points, i.e. those obtained using molecular rather than atomic

 scattering factors.  If no atomic groups have been input to NORMAL, the two

 curves wwww and dddd will coincide.  If the correct stereochemistry has been

 input, the Debye curve will be closer to a straight line than the Wilson plot.

 if the complete stereochemistry has been input, the Debye curve should be a

 straight line within experimental error.


1                                                                       page  22

      The user may choose one of two methods of scaling the F's to obtain E's.

 The programme always calculates the least squares straight line through the

 debye points to obtain the Debye-Waller factor and the scale factor needed to

 put (i) and F(obs)**2 on the same scale.  The least squares line may also be

 used to estimate (i) from the molecular scattering factors as a function of

 sin(theta) in the calculation of E's.  This is the recommended method of

 scaling when the Debye curve does not deviate wildly from a straight line,

 which ought to be the case if a lot of stereochemical information has been

 used.  If no stereochemistry is input to NORMAL, the Debye curve becomes

 identical to the Wilson plot.  In the case where the Debye curve is obviously

 not a straight line, the K-curve may be used for scaling.  In this method, a

 non-analytical curve is fitted to the Debye points so that it goes exactly

 through every point.  The K-curve, instead of the least squares straight line,

 is then used to estimate (i) in the calculation of E's.  The K-curve is

 extrapolated by drawing a straight line, parallel to the least squares straight line,

 through the last Debye point at each end of the plot.  Even if the

 K-curve is used for scaling, the programme will be helped by the input of

 stereochemical information provided this makes the Debye curve closer to a

 straight line than the Wilson plot.  The success (or otherwise) of the

 structure determination depends to a large extent upon the E's which are

 produced here and a little care and intelligent thought in their calculation

 is always handsomely repaid.

      NORMAL includes a facility for applying a separate scale factor to

 reflexions in different index groups.  The groups used depend upon the space

 group symmetry and are assigned automatically by the programme.  See

 'preparation of data for NORMAL' for more details of the index groups used.

 The scale factors are computed to make the average value of E**2 equal to unity

 for each group separately.  From practical experience, the use of this facility

 is always recommended unless there is good reason for not using it.  Very

 often, the expected value of the intensity of a reflexion, (i), is a function

 of index, e.g. whether h, k or l is even or odd, as well as of sin(theta),

 hence this facility.  In addition, the convergence procedure used to find a

 starting set of reflexions for the tangent formula is greatly assisted by

 having the same average E**2 in all major reflexion groups.

      The lineprinter output of NORMAL includes intensity distributions of

 reflexions in principal zones as well as the distribution for general

 reflexions.  This is not only a check on the scaling of the E's but also a

 valuable aid to space group determination if the symmetry is not completely

 determined by systematic absences.  For normal to produce correct statistics,

 all unique reflexions to a maximum value of sin(theta) should be supplied,

 leaving out systematic absences.

      It is always wise to check the distribution of average E**2 as a function

 of sin(theta).  If this distribution indicates that the E's at high angles are

 generally too strong, i.e. average E**2 much greater than unity, this can give

 trouble during phase determination in MULTAN.  It will be better to rescale

 the E's using a lower temperature factor.

      The file written by NORMAL for input to MULTAN contains much of the input

 data including symmetry information and unit cell dimensions and contents.

 The strongest E's are also written on the file, the exact number being chosen by

 the user.  In general, the number of reflexions used need not exceed 10 times

 the number of atoms to be located and often 7 times the number of atoms is

 quite sufficient.  In addition, a number of the weakest E's are output

 (usually 50, but can be changed by the user) for use in the PSI(ZERO) figure of

 merit in MULTAN.


1                                                                       page  23

                           *************************

                           * Description of SIGMA2 *

                           *************************

      The SIGMA2 section of MULTAN sets up the SIGMA2 phase relationships which

 will be used later by the tangent formula.  The data required to do this

 consist of space group information and a number of strong reflexions either

 input from cards or from the data file written by NORMAL.  The number of

 reflexions used need not exceed 10 times the number of atoms to be located in

 the crystal structure and 7 times the number of atoms will normally be

 sufficient.  The reflexions may be input in any order.

      All the data are listed immediately after input.  It will be found that

 each reflexion is referred to by a code number which is listed along with its

 indices and, in much of the subsequent output, only the code number appears in

 order to cut down the volume of paper generated by the programme.  In addition,

 the indices are 'standardised' so that all reflexions will lie in the same part

 of the reciprocal lattice and it is the phase of the 'standardised' reflexion

 which is eventually computed by the tangent formula.  SIGMA2 then sets up all

 phase relationships of the form

              phi(-h) + phi(k) + phi(h-k) = q(h,k)

 where q(h,k) is the estimated phase of the SIGMA2 relationship with a weight

 ka(h,k) given by

              ka(h,k) = 2 * s3 * s2**(-1.5) * E(h) * E(k) * E(h-k)

 where             sn = sum over j (z(j)**n)

 the quantity q(h,k) will be zero unless groups of atoms of known orientation

 or position have been input either to NORMAL or MULTAN.  In this case, q(h,k) is

 estimated as described by Main (1976, crystallographic computing techniques,

 ed. F. R. Ahmed, pp. 97 - 105, munksgaard) and the value of ka(h,k) is also

 modified.

      In order to save storage space and computer time, only the strongest

 relationships are retained and used by the tangent formula, the actual number

 being specified by the user.  Normally, the number of relationships used should

 be about 8 times the number of reflexions.  Fewer relationships than this may

 result in failure to solve some structures, while more tends to use computer

 time unnecessarily.  Difficult structures will need more relationships than 8

 times the number of reflexions.  Users should note that this may require

 expanding the arrays iee and iph throughout MULTAN where the relationships are

 stored.  The programming has been arranged to make such changes of array size

 as easy as possible as explained in the section 'on changing array sizes'.

      A SIGMA2 listing is usually unnecessary but, if it has been requested,

      the programme outputs all the phase relationships it will eventually use in the

 tangent formula.  The relationships common to any one reflexion are listed

 under the heading of that reflexion, in order of magnitude of ka(h,k), so each

 relationship will appear three times in the listing, once under each of the

 three contributing reflexions.  All reflexions are referred to by their code

 numbers, which are printed as negative if the Friedel opposite is to be used.

 In addition, upon transforming a reflexion to its standard form, a phase shift

 may occur and this is output in units of pi/12.  Thus, the entry in the SIGMA2

 listing of   75 -80  12  10.79   under the heading of reflexion code number 6

 signifies the relationship

               phi(6) = phi(75) - phi(80) + pi

 with a value of ka(h,k) of 10.79.  the reflexions are in their standardised

 form and phi(6) means the phase of the reflexion with code number 6.


1                                                                       page  24

      The PSI(ZERO) reflexions to be input to SIGMA2 are always present on the

 data file written by NORMAL.  If this file is not used for input to MULTAN, The

 PSI(ZERO) reflexions may also be input from cards.  These reflexions are used

 for the PSI(ZERO) figure of merit and are optional, but the use of this figure

 of merit is highly recommended.  Each card should contain h,k,l and E values

 for very weak or absent reflexions (not systematic absences, however).  Any

 number of reflexions may be input up to a maximum of the number of strong

 reflexions previously input, but about 50 reflexions should give a sensitive

 figure of merit.  The SIGMA2 routine is then used to set up the right-hand-side

 of Sayre's equation for these reflexions using only the high E's previously

 input.  This information is passed on to FASTAN where the figure of merit is

 actually computed.


1                                                                       page  25

                          ***************************

                          * Description of CONVERGE *

                          ***************************

      The CONVERGE section of the programme uses the space group information

 previously input to determine which reflexions are structure seminvariants,

 how many reflexions are needed to define the origin uniquely and what phase

 restrictions are imposed by the crystal symmetry.  This latter information is

 transmitted to FASTAN and phase restrictions are automatically applied during

 phase determination.  The information on structure seminvariants and phase

 restrictions is used to apply the SIGMA1 formula as described later.  CONVERGE

 also determines the 'best' reflexions for origin and enantiomorph definition

 and finds a small number of other reflexions which appear to provide a good

 starting point for phase determination.

      The SIGMA1 formula in CONVERGE is obtained as a special case of the SIGMA2

      relationship in which two of the reflexions are the same.  After

 'standardisation' of the indices, such a relationship may be written as

                    phi(i) +- phi(j) +- phi(j) - delta = 0

 where delta is a phase shift caused by translational space group symmetry.  If

 phi(i) is the phase of a structure seminvariant and is restricted in value,

 this relationship may be used to estimate it.  For example, if the signs of the

 two phi(j)'s are different, we clearly have the indication

                         phi(i) = delta

 while if the signs are the same we have

                         phi(i) = -+ 2 * phi(j) + delta

 the value of 2 * phi(j) will be known if phi(j) is restricted in value and once

 more we have an indication of the value of phi(i).  These phase indications for

 phi(i) are added vectorially, each with a weight of  E(j)**2 - 1.0,  and the

 resultant vector is projected on to the direction of the possible phase values

 for phi(i).  If the length of this projection is  s1,  the probability that it

 indicates the correct phase of phi(i) is given by

               p = 0.5 + 0.5 * tanh(e(i) * s1 / (2.0 * sqrt(n)))

 where n is the number of atoms in the unit cell.

      The indicated phase of each reflexion to which the SIGMA1 formula has been

      applied is output together with its associated probability.  The number of

 reflexions contributing to the calculation of the probability is also output

 in the columns headed 'nc'.  Those reflexions whose probabilities exceed a

 threshold set by the user are included in the starting point for the tangent

 formula where they are given an initial weight of  2.0 * p - 1.0.  Because of

 this weighting, The threshold probability may be set as low as 0.90 or 0.85.

 however, The SIGMA1 formula must always be used with care and if there are any

 doubts at all about the scaling of the E's, this threshold should be set quite

 high.  A particularly bad situation for SIGMA1 is when the average intensity of

 certain classes of reflexions is very much greater than the average intensity

 elsewhere.  Under these circumstances, a phase may be indicated with a

 probability of unity and still be incorrect.  In general, a probability value

 will be more reliable the larger the number of contributing reflexions.

      The next operation of the programme CONVERGE is to find the 'best'

 reflexions to use for origin definition and to look for several other

 reflexions which appear to provide a good starting point for phase

 determination.  The exact number and type of these additional reflexions is

 set by the user.  A good starting point will be one which uses the strongest phase

 relationships and leads quickly to multiple indications for unknown phases,

 thus increasing the reliability of phase determination during the initial

 crucial stages.  The algorithm used to find such a starting point is described

1                                                                       page  26

 by Germain, Main & Woolfson (Acta Cryst., 1970, B26, 274) and so will not be

 given in detail here.

      The table of estimated alpha's is output together with the indices and

 E-value of each reflexion.  In addition, the reflexion type and phase

 restrictions are given in the columns headed 'mk'.  If a phase value is

 unrestricted by space group symmetry, the value of mk is 1.  Any other value

 of mk denotes a restricted phase, one of whose possible values is  15 * (mk - 1)

 degrees, the other being  15 * (mk - 1) + 180 degrees.  All reflexions marked

 with an asterisk (*) are structure seminvariants.

      If a convergence mapping has been requested, this is printed out next.

 Each reflexion is listed as it is eliminated in the convergence procedure with

 its estimated alpha computed from the reflexions remaining.  Also listed are

 all the relationships contributing to this estimated alpha, printed, for

 example, as    1 -97  12  1.88.   If the reflexion just eliminated has a code

 number of 277, this relationship is   phi(277) = phi(1) - phi(97) + 12*(pi/12)

 with a ka(h,k) value of 1.88.  As each reflexion is eliminated, those remaining

 are examined to ensure they contain all the necessary reflexions for origin

 definition.  If not, the reflexion just eliminated is reinstated and becomes

 one of the reflexions used to define the origin.

      If CONVERGE can not find all the reflexions required to define the origin

 uniquely, the programme will print the message, 'origin can not be properly

 defined' and then stop.  Apart from an unforeseen programming error, the only

 reason for this can be that the necessary reflexion types are either

 completely absent or they enter into no phase relationships with other

 reflexions.  The only recovery is to add the missing classes of reflexions to

 the data set and to set up more phase relationships.

      After the origin defining reflexions have been found, the other reflexions

      in the starting set (requested by parameters NSPEC, NGEN and NANY) are chosen.

 As the phases of these are unknown, they are assigned a number of different

 values as determined by the appropriate 'magic integer' sequence (Main, 1977,

 Acta Cryst., A33, 750 - 757  and  1978, Acta Cryst., A34, 31 - 38), or given

 the two values allowed by space group symmetry if the phase is restricted, thus

 producing a multiple starting point for the tangent formula.  The sets of

 phases assigned to the starting reflexions are evenly distributed over the

 whole possible range of phase sets so that at least one should be close to the

 correct set.  The number of starting sets is given by  (NSETS)*(2**NS)*(EF)

 where NSETS is the number of phase sets produced by the magic integers, NS is

 the number of reflexions whose phases take on just two values and EF is an

 enantiomorph factor which will have one of the values 1/2, 1, 2 or 4.  The

 value of NSETS as a function of NGEN, the number of general phases to be

 permuted in the starting set, is given in the following table along with the

 r.m.s. Error of the 'best' set of starting phases:

        NGEN         0    1    2    3    4    5    6    7    8    9   10

        NSETS        1    4   12   20   32   50   80  128  206  332  536

        RMS error    0   26   29   37   42   45   47   48   49   50   50

 The value of EF depends upon how the programme decides to fix the origin and

 enantiomorph for a particular space group and set of data, but it will normally

 be 1/2 or 1.  The values of 2 and 4 occur when general reflexions are used for

 origin definition where special reflexions could have been used, as indicated

 in the following table:


1                                                                       page  27

 EF = 1/2 if an unknown phase is used to define the enantiomorph - the range of

      permutation is restricted to 1/2 the phase circle.

    = 1 if the enantiomorph can be defined by restricting the origin-defining

      phases to fixed values, or

      if the enantiomorph is fixed by the space group.

    = 2 if the enantiomorph is defined by restricting the origin-defining phases

      to two sets of values (one phase must take on two values).

    = 4 if the enantiomorph is defined by restricting the origin-defining phases

      to four sets of values (two phases each take on two values).

      the reflexions which are eliminated last in the convergence procedure will

      be the most important for phase determination and will appear at the end of

      the convergence map.  It will be seen that, starting from the end of the

 convergence map and working upwards, each phase may be computed from the

 relationships listed with it, since these relationships use only the starting

 set reflexions and phases already determined.  The programme therefore

 remembers the order in which reflexions appear in the convergence map and

 determines their phases in reverse order by the tangent formula in FASTAN.  It

 follows that any reflexion near the bottom of the convergence map with a zero

 estimated alpha and no contributing relationships represents a weak link during

 the first few steps of phase determination.  The additional reflexions in the

 starting set, whose phases are permuted, are chosen to minimise the number of

 such weak links.

      A good starting point for the tangent formula is one which not only leads

 quickly to multiple phase indications, but one which makes full use of all

 starting set reflexions within the first few steps of phase determination.

 This is especially true of the origin defining reflexions and if they are not

 all used during the determination of the first 25 unknown phases a warning

 message is printed, 'MULTAN has difficulty finding good origin defining

 reflexions - please look critically at the convergence results'.  The usual

 cause of this is that a whole class of reflexions is systematically weak and so

 is completely eliminated well before the end of convergence.  If one of these

 reflexions is required for origin definition, the warning message will be

 printed.  If no action is taken by the user, MULTAN will continue with the

 tangent formula and may well determine the structure successfully.  However,

 if a solution is not found, a better starting point may be found by renormalising

 the F's so that   = 1  for each class of reflexions separately, thus

 enhancing the effect of the systematically weak reflexions.

      The final lineprinter output from this section of the programme is a

 complete listing of all reflexions chosen to start phase determination - the

 SIGMA1 reflexions, origin definition and those reflexions whose phases are

 permuted.  As far as possible, the programme chooses reflexions with restricted

 phases for origin definition.  However, this criterion may be relaxed if

 suitable reflexions can not be found and general reflexions may be chosen

 instead.  Under these circumstances, the origin defining reflexions will be

 used to define the enantiomorph also and sometimes one or even two of them will

 be given two possible phase values to start the phase determination.  This

 information is also printed out with the origin defining reflexions.

      The definitions of the permuted phases in terms of the magic integer

 sequence used are also printed out.  Each general phase is defined by

                                phi(i) = m(i) * x

 where m(i) is the magic integer and x is a variable which takes on different

 values at equal intervals in the range 0 to 2*pi radians.  The interval of x

 is chosen to make the r.m.s. Difference in the phases from one set to the next

 equal to the r.m.s. error in the 'best' set of phases.


1                                                                       page  28

                           *************************

                           * Description of FASTAN *

                           *************************

      The tangent formula section of the programme generates each starting set

 of phases by assigning phase values given by a 'magic integer' sequence to

 those reflexions chosen by CONVERGE.  By means of the tangent formula, FASTAN

 then develops them into a complete set of phases using the phase relationships

 output by SIGMA2.  Starting phases may be input from cards if so desired.

 together with each set of phases are output a number of figures of merit to

 enable the programme (or the user) to decide which phases should be used in

 the computation of E-maps.

      Phases are determined and refined using a weighted tangent formula

 (Germain, Main & Woolfson, 1971, Acta Cryst., A27, 368)

                 sum over k (w(k)*w(h-k)*ka(h,k)*sin(phi(k)+phi(h-k)))   t(h)

   tan(phi(h)) = ----------------------------------------------------- = ----

                 sum over k (w(k)*w(h-k)*ka(h,k)*cos(phi(k)+phi(h-k)))   b(h)

 where w(h) is the weight associated with the phase phi(h).  Each weight is

 computed from

                          w(h) = amin1(1.0, 0.2*aa(h))

 where                aa(h)**2 = t(h)**2 + b(h)**2

 when groups of atoms of known orientation or position have been input, the

 tangent formula is modified as described by main (1976, Crystallographic

 computing techniques, ed. F. R. Ahmed, pp. 97 - 105, Munksgaard).  The weights

 of reflexions whose phases have been determined by the SIGMA1 formula are

 initially set at  2.0 * p - 1.0,  where p is the probability of the SIGMA1

 determination.  The weights of all other reflexions in the starting set are

 unity while reflexions whose phases are undetermined are given a weight of

 zero.  The programme determines initial phases values for the bottom 60 phases

 from the convergence map and refines them before going on to determine phases

 for the complete data set.  These are determined in the order indicated by

 CONVERGE and also refined in the same order.  All SIGMA1 phases are kept

 constant and contribute to the phase determination with their initial weight

 until they are determined by the tangent formula with a larger weight.

 Thereafter they take on the value and weight indicated by the tangent formula.

 the other reflexions in the starting set are kept constant until the tangent

 formula refinement has essentially converged; they are then allowed to refine

 to their final values, which takes about two further cycles.

      Since the tangent formula is weighted, all reflexions are included the

 whole of the time and there is no rejection criterion for a phase other than

 the weight being calculated as very small or zero.  The form of weighting

 ensures that poorly determined phases have little effect in the determination

 of other phases, while the fact that all phases are included in the phase

 determination process leads to very efficient propagation of phase knowledge

 throughout the data set.

      Provision is made in FASTAN for the input of starting phases from cards.

 This may be used to input one's own starting reflexions if those chosen by the

 programme are unsatisfactory in some way.  If this facility is used in a

 recycling procedure in which the starting phases are given by a previously

 obtained partial structure, It is advisable to make the reflexion markers

 negative.  This will fix the phases at their input values and ensures the new

 phases determined conform to the input information.  All phases are then

 allowed to refine for the last two or three cycles of tangent formula

 refinement.  If the input phases are allowed to refine immediately, they may

 change their values completely and so bear no relation to those input.


1                                                                       page  29

                              ********************

                              * Figures of merit *

                              ********************

      For each set of phases determined, three figures of merit are computed

 and output with the tangent formula results with the titles 'ABS FOM', 'PSI ZERO'

 and 'RESID'.  They are used by the programme to decide in which order to

 compute the E-maps.

      The 'absolute figure of merit', ABS FOM, is a measure of internal

 consistency among the SIGMA2 relationships and is calculated from

       ABS FOM = sum over h (aa(h) - ar(h)) / sum over h (ae(h) - ar(h))

 where aa(h) is defined in the previous section, ae(h) is the estimated value of

 aa(h) calculated during the convergence procedure and ar(h) is the value of

 aa(h) expected from random phases, i.e.

                       ar(h)**2 = sum over k (ka(h,k)**2)

 ABS FOM is clearly zero for random phases and unity if the sum of all the aa(h)

 is equal to its expectation value.  If the space group contains translational

 symmetry elements, the correct set of phases should give one of the highest

 values of ABS FOM.  Because the tangent formula tends to maximise the internal

 consistency of the phase relationships, this is the least reliable of the

 figures of merit.  Values of ABS FOM above unity are common.  Sometimes the

 correct set of phases has given ABS FOM as low as 0.7, but this is unusual.

      The next figure of merit, PSI(ZERO), was first used by Cochran & Douglas

 (Proc. Roy. Soc., 1957, A243, 281) and is defined as

        PSI(ZERO) = sum over h (PSI(h)) / PSI(rand)

 where     PSI(h) = magnitude of sum over k (E(k) * E(h-k))

 and    PSI(rand) = sum over h (sqrt(sum over k ((magnitude of E(k)*E(h-k))**2))

 The terms in the summation for PSI(h) are those for which phases are known and

 the values of h in the first summation are those for which the corresponding

 E-value is either very small or zero, hence the PSI(ZERO) reflexions input to

 SIGMA2.  Since PSI(h) is essentially the right hand side of sayre's equation

 for small E(h), it should have a low value for the correct phases.  The value

 of PSI(ZERO) should therefore be as small as possible.  Practical experience

 shows this to be a powerful discriminator against incorrect sets of phases -

 it is very sensitive to molecular position and is completely independent of the

 tangent formula.

      The third figure of merit, resid, is merely an ordinary crystallographic

 residual for the equations

                           E(h) = s *

 where < > means 'average value of' and the scale factor s is computed to

 minimise resid.  The reliability of this figure of merit increases with the

 ratio of phase relationships to reflexions.  Clearly, resid should be a minimum

 for the correct set of phases.

      After all sets of phases have been generated, MULTAN outputs a summary of

 the figures of merit including a 'combined figure of merit', c, calculated from

                af - af(min)           ps(max) - ps           r(max) - r

      c = w1 * --------------- + w2 * --------------- + w3 * -------------

               af(max)-af(min)        ps(max)-ps(min)        r(max)-r(min)

 where af is ABS FOM, ps is PSI(ZERO) and r is resid.  The weights w1, w2 and w3

 given to each term have default values of unity, but may also be input as data

 to FASTAN.  Clearly, c has a maximum value of  w1 + w2 + w3,  a minimum of zero

 and is a maximum for the 'best' set of phases.  The combined figure of merit

 has been found to be a more reliable indicator of the correct set of phases

 than either of the other three figures of merit separately.  Therefore, it is


1                                                                       page  30

 used by EXFFT to decide on the order of computation of E-maps.

     It should be noted here that when the space group contains no translational

     symmetry elements, the SIGMA2 phase relationships are perfectly satisfied when

 the phases are a linear function of the indices.  These phases will necessarily

 produce the highest possible value of ABS FOM and will be almost invariably

 wrong.  Therefore in space groups such as P1 or C2, the PSI(ZERO) figure of

 merit will be much more reliable than ABS FOM and may be given a higher weight

 in the calculation of the combined figure of merit.


1                                                                       page  31

                    ****************************************

                    * Description of the fourier procedure *

                    ****************************************

      The remaining programmes in the MULTAN system, EXFFT and SEARCH, are

 normally run consecutively to calculate and interpret E-maps and will be

 described together in this section.

      Using default values in the data, EXFFT will always produce the E-map with

      the largest combined figure of merit which has so far not been computed.

 Alternatively, the particular set of phases which is to be used in the E-map

 calculation may be specified.  The E-map is not normally output, but is

 immediately passed on to the peak SEARCH programme SEARCH.

      SEARCH looks for the highest peaks in the map and lists their coordinates

 in order of peak height.  The number of peaks listed is normally about 22 per

 cent more than the number of atoms to be located unless the actual number is

 specified by the user.  SEARCH also looks for bonded sequences of peaks among

 those located, taking a default value of 1.95A as the maximum bonding distance

 allowed.  These sequences are sorted into molecular fragments and the fragment

 number is printed along with the peak coordinates.  Peaks which are not within

 bonding distance of any other are given a fragment number of zero.  If two

 fragments containing at least five peaks each are found to be within 2.8A of

 each other, SEARCH assumes they are joined by a weak peak not yet found.  It

 then automatically increases the number of peaks to 50 per cent more than the

 number of atoms and this increased number of peaks is used throughout the rest

 of the programme.  This automatic increase in the number of peaks is only given

 if the default number of peaks has been used.  Interpeak distances and angles

 are calculated and then tabulated in the next section of lineprinter output.

      For each fragment containing more than 8 peaks, SEARCH projects the peaks

 onto the least squares plane and plots their positions on the lineprinter.  Up

 to two more orthogonal projections can be output if requested or if the

 programme decides it is desirable.  These are on the plane orthogonal to the

 least and most squares planes and on the most squares plane, in that order.  

 If the default option is used (NPROJ = 0) SEARCH will always give the first

 projection and will output the second if the fragment is cylindrical or

 globular.  The criterion used to output the second projection is that the sum

 of the squares of the distances of all the peaks from the plane, sumdsq,

 should be less than twice the value of SUMDSQ for the least squares plane.  All three

 projections can be output for any fragment by setting NPROJ = 3.

      The simple stereochemical criteria of maximum and minimum bond lengths

      and angles are applied to each fragment in an attempt to identify spurious peaks.

 In order to satisfy these criteria, different peaks may be assumed to be

 spurious and so a number of interpretations of the fragment are sometimes

 possible.  The programme searches for different interpretations in this way,

 but the SEARCH is not exhaustive.  Up to three interpretations which are

 thought to be significantly different can be output.

      If the user has input the bond sequence of the molecule, this is compared

 with the bond sequence of each interpretation and corresponding atoms are

 identified as far as possible.  The comparison routines used are described by

 Main & Hull (1978) Acta Cryst., in press.  They are completely general and are

 capable of matching any two molecules no matter what their connectivities.  In

 this version, the input molecule plays a passive role and is used only as a

 check on the molecule found in the map.  SEARCH is being developed further to

 enable the input molecule to be used actively in the E-map interpretation.


1                                                                       page  32

      It may sometimes happen that the peaks corresponding to one or two atoms

 are quite small and so are not plotted.  This could have the effect of

 splitting the molecule into two disconnected fragments making it almost

 unrecognisable in the way it is presented by SEARCH.  The user should be aware

 of this and, if he suspects it is happening, should request a larger number of

 peaks to be plotted.  This also has the effect, of course, of plotting more

 spurious peaks as well as the genuine ones sought for.  As a last resort, the

 complete map can be output directly from EXFFT.  This should be rarely

 necessary, however, and is usually reserved for cases where the data are poor

 and the atoms are not properly resolved.


1                                                                       page  33

                    ***************************************

                    * Check-list for difficult structures *

                    ***************************************

      If MULTAN has failed to solve the structure and the data have been checked

      for errors, the following points may suggest a possible course of further

 action.

      (1)  Make sure that all available knowledge of the stereochemistry of the

 structure has been used in the calculation of normalised structure factors.

 The larger the atomic groups input to NORMAL for the calculation of molecular

 scattering factors the better.  If the Debye curve is far from being straight,

 use a K-curve to normalise the structure factors.

      (2)  After normalisation, check the distribution of average  E**2  with

 sin(theta).  If the E's at high angles are too large (average E**2 > 1.0) it

 may be necessary to renormalise using a smaller temperature factor.

      (3)  The number of strong reflexions chosen for phase determination

 should normally be about 7 or 8 times the number of atoms to be located.

 Changing the number of reflexions (either a greater or a smaller number will

 do) often makes the programme behave differently and, with luck, it will solve

 the structure.  The number of reflexions required per atom tends to be more

 for lower symmetry space groups than for higher symmetry.

      (4)  The number of unique phase relationships used should NORMALly

      be more than about 8 times the number of reflexions.  Fewer than this may result in

 failure to solve some structures.  For specially difficult problems, use as

 many relationships as possible.  MULTAN has been written to make increases in

 array sizes as easy as possible if this proves to be necessary.

      (5)  If there are too few phase relationships per reflexion and there is

 room for more relationships in the computer, increase the number of reflexions.

 this will result in more relationships being set up and will increase the

 number of relationships per reflexion.  If there are already too many

 relationships for the computer to hold, decrease the number of reflexions to

 the point where most of the relationships set up can be held in store.  This

 will maximise the number of relationships per reflexion.

      (6)  Look critically at the phases determined by the SIGMA1 formula, if

 any.  Normally the threshold probability for the acceptance of these phases

 can be set quite low, but if there are any doubts about the scaling of the E's,

 this threshold should be high.  The SIGMA1 formula can not easily be applied

 when the average intensity of certain groups of reflexions is very much greater

 than the average intensity of the remainder.  In this situation, a phase may

 be indicated with a probability of unity and still be incorrect.

      (7)  Make sure the starting point for the tangent formula is a good one.

 all the reflexions in the starting set should be used during the first few

 stages of phase determination.  This can be checked by looking at the bottom

 of the convergence map.  If a starting set reflexion (apart from SIGMA1's) is not

 used at all during the early stages of phase determination, a better starting

 point can sometimes be obtained by including at least one other reflexion whose

 phase depends upon that of the 'late starter'.  However, the remedy for a poor

 starting point will depend upon the particular situation and general rules can

 not be given.


1                                                                        page 34

      (8)  If there are 'gaps' near the bottom of the convergence map, i.e.

 reflexions eliminated with a zero estimated alpha and no SIGMA2 contributors,

 it may be necessary to increase the number of reflexions in the starting set.

 even without gaps, an extra starting set reflexion may help, but only at the

 expense of increased computing time.

      (9)  If the convergence map is very 'thin' near the bottom, i.e. many

 phases are determined by only one or two relationships each at the very start

 of phase determination, this may be a cause of failure to solve the structure.

 the remedy for this is to increase the number of reflexions and use all the

 relationships the programme sets up.

      (10)  Check to see if all the reflexions at the bottom of the convergence

 map have something obvious in common, i.e. do they all have the l index even,

 or h divisible by 3 or h+k even, etc.  If so, then make sure that the average

 value of  E**2  is equal to unity for all such reflexion groups separately, by

 renormalisation.

      (11)  Be sure to use the PSI(ZERO) figure of merit especially when the

 space group contains no translational symmetry.  This figure of merit is

 automatically used if NORMAL has supplied the input to MULTAN, but the

 PSI(ZERO) reflexions can be omitted if MULTAN is used in isolation.

      (12)  For a difficult structure, the combined figure of merit may not

 indicate the 'correct' set of phases very reliably.  Be sure to examine E-maps

 further down the ranking order than is usually necessary.

      (13)  When certain atoms are missing from an E-map, the molecule quickly

 becomes unrecognisable.  It may happen that these key atoms are present as

 rather weak peaks and so are not plotted by SEARCH.  by plotting more peaks

 (using the parameter NPC in the data for SEARCH), parts of the E-map may

 become more easily interpretable.

      (14)  A common incorrect solution is a correctly oriented molecular

 fragment misplaced with respect to the symmetry elements.  Such fragments can

 be used to help MULTAN determine the structure by including them in the NGP

 atomic groups in the data for NORMAL and rerunning the programme system in the

 usual way.

      (15)  When everything else has failed, the authors are usually willing

 either to discuss a particular structure or to attempt a solution of the

 structure themselves.  As MULTAN continues to develop, the version of the

 programme available to the authors may be more powerful than that available to

 the general user.

 End of MULTAN write-up


--------------------------------- plot program for SUN WS Window ---------------------------------

C ====== MAIN PROGRAM (xstruc.f) ======

C SIMPLE DRAWING FOR CRYSTAL STRUCTURE  1989.8.12  WRITTEN BY K. HARANO

C DEVICE: F6683 DISPLAY AND G-150 VIA NMC ON FACOM M-360

C CODED BY FORT77 USING GRACE IV

C 1989.10.18 BOLD TYPE DRAWING (RETRACE)

C 1991.2.2 BOND CONNECTION TABLE

C 1991.5.20 DRAWING FOR MNDO OPTIMIZED STRUCTURE

C 1991.5.24 DRAWING FOR MOPAC OPTIMIZED STRUCTURE ON SUN4/2 USING GKS

C 1991.6.04 atom drawing and bond distance calculation ON SUN4/2 USING GKS

C 1991.11.08 Input of any file name. Insen syoukyo.

c 1992.4.3 PostScript Adaptation by K. Harano

c 1992.8.27 MULTAN PEAK DRAWING

      character afile*14

      character*80 LINE,TITLEA,dmy

      character*2  ATOM(120)

      character*2  atmn(120)      

      dimension CO(3,120),CA(3,120),P(3,120),

     1CB(3,120),NOA(120),ITBL(120,6),ad(6),angd(3),xyz(3,120)

c

      integer errind, mode, esw, istat, ichnr, pet, ldr

      real    earea(4)

      character*80 datrec0(10),datrec1(10),atomcht

      character*12 chstrs0(5),chstrs1(5)

      integer chlens(5)

      integer intrec(2)

      real    rdummy

      integer status,choice

      data chstrs0 /'x-axis','y-axis','z-axis','kaiten','exit  '/

      data chstrs1 /'Right ','Left  ','Atom  ','Bond L','Change'/

      data chlens /6,6,6,6,6/

      data intrec /5,2/

c

      data XMAX,YMAX,ZMAX /3*-500.0/

      data XMIN,YMIN,ZMIN /3*500.0/

      RAD=3.1415927/180.0

c

      write(*,154)

  154 format('Please input file name (SRCHOLT)')

      read(*,155) afile

  155 format(a14)

      if(afile.eq.'') then

      afile='SRCHOLT'

      endif

C     ------ OPEN MNDO OUTPUT data (M3) ------

      OPEN(1,ERR=99,FILE=afile)

      open(2,err=99,file='kekka',form='formatTED')

c    

C     ------ open workstation & activate ------  

      call gopks(0, -1)

      call gopwk(1, 0, 4)

      call gacwk(1)

C

c     ------------ window/view ------------

      call gswn(1,0.0,2000.0,0.0,2000.0)

      call gselnt(1)

      call gsvp(1,0.0,1.0,0.0,1.0)

C     ------------ Read Title -----------

      DO 11 I=1,2

        READ(1,101) TITLEA

  101 format(A80)

   11 CONTINUE

c     titlea='MULTAN PEAK SEARCH'

      do 12 i=1,20

        read(1,101) dmy

   12 continue

c     read(1,85) ad(1),ad(2),ad(3),angd(1),angd(2),angd(3)

c  85 format(6F10.5)

      do 213 i=1,3

      read(1,'(59x,f8.4)') ad(i)

  213 continue

      do 14 i=1,3

      read(1,'(59x,f8.4)') angd(i)

   14 continue

      print *,ad(1),ad(2),ad(3),angd(1),angd(2),angd(3)

      do 115 i=1,100

      read(1,101) dmy

      if (index(dmy,'HEIGHT').GT.0) go to 116

  115 continue

  116 read(1,101) dmy

C     ------ READ COORDINATES ------

      atomcht=' H H C C N N O O SCLAABBCCDDEEFFGGHHIIJJ'

      isf=2

      biso=3.5

      N=0

   15 N=N+1

c      READ(1,102) atmn(N),ATOM(N),(CO(I,N),I=1,3)

c     read(1,102,end=16) atmn(n),(xyz(i,n),i=1,3),xhght

c 102 format(3x,a2,3F10.5,f10.0)

      read(1,102,end=16) atmn(n),xhght,(xyz(i,n),i=1,3)

  102 format(4x,a2,8x,f5.0,10x,F7.4,3x,f7.4,3x,f7.4)

      if (xhght.lt.1.0) go to 16

      write(2,122) atmn(n),isf,(xyz(i,n),i=1,3),biso

  122 format(a4,5x,i1,3f10.5,f5.2)

      noa(n)=n

      ihght=nint(xhght/300)*2-1

      atom(N)=atomcht(ihght:ihght+1)

c     atom(n)=' N'

      GO TO 15

   16 close(1)

      NA=N-1

      call CRYSTL(NA,AD,ANGD,noa,xyz,co)

c-------------------------------------------------------------------

C     ------ PRINT NAME ------

      WRITE (2,100)

  100 format (1H0,'****** CRYSTAL NAME ******')

      WRITE (2,'(A)') TITLEA

C     ------ PRINT AP data ------

      WRITE (2,104)

  104 format (1H0,'****** ATOMIC PARAMETERS ******')

      WRITE (2,'(A)')TITLEA

      DO 17 N=1,NA

        WRITE (2,102) atmn(n),(CO(I,N),I=1,3)

   17 CONTINUE

C

C     ------ CREATION OF BOND TABLE ------

      DO 305 I=1,NA

        DO 305 J=1,6

         ITBL(I,J)=0

  305 CONTINUE

      DO 310 I=1,NA-1

       IB=0

      DO 310 J=I+1,NA

      R1=(CO(1,I)-CO(1,J))**2+(CO(2,I)-CO(2,J))**2+(CO(3,I)-CO(3,J))**2

      R=SQRT(R1)

      IF(R.GT.1.93.OR.R.LT.0.80) GO TO 310

      IB=IB+1

      ITBL(I,IB)=J

  310 CONTINUE

C     ------ MIN & MAX ------

      CALL MIMAX(NA,CO,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX)

      write(2,110) xmin,ymin,zmin,xmax,ymax,zmax

  110 format(6f10.4)

C     ------ SIZE & SCALE ------

      DX=XMAX-XMIN

      DY=YMAX-YMIN

      DZ=ZMAX-ZMIN

      DMX=AMAX1(DX,DY,DZ)

      SCX=DX/DMX

      SCY=DY/DMX

      SCZ=DZ/DMX

      write(2,111) dx,dy,dz,dmx,scx,scy,scz

  111 format(7f10.4)

C     ------ HEIKOU IDOU ------

      DO 41 N=1,NA

        CA(1,N)=CO(1,N)-(XMIN+XMAX)*0.5

        CA(2,N)=CO(2,N)-(YMIN+YMAX)*0.5

        CA(3,N)=CO(3,N)-(ZMIN+ZMAX)*0.5

       write(2,112) ca(1,n),ca(2,n),ca(3,n)

  112  format(3f10.5)

   41 CONTINUE

C

c-------------------------- mouse  -------------------

c        Initialize the choice device

   25 call gqchs(1,1,10,errind,mode,esw,istat,

     1             ichnr,pet,earea,ldr,datrec0)

c

c        Number of choices, colour

        intrec(1) = 5

        intrec(2) = 0

        call gprec(2,intrec,0,rdummy,5,chlens,chstrs0,

     1             10,errind,ldr,datrec0)

        call ginch(1,1,gok,3,1,earea(1),earea(2),earea(3),

     1             earea(4),ldr,datrec0)

c

c        Get the user's choice (x,y,z, or EXIT)

   24 continue

      call gmsg(1,'Select projection axis by MOUSE\n')

      call grqch (1,1,status,choice)

c

c        select axis depending on the choice

        if (choice.eq.1) then

                ipa=1

                go to 290

        else if (choice.eq.2) then

                ipa=2

                go to 290

        else if (choice.eq.3) then

                ipa=3

                go to 290

        else if (choice.eq.4) then

                kaiten=1

                dyy=1.0

                nrot=0

                ipa=3

                go to 290

        else

                go to 98

        endif

        go to 24

290        continue

      nrot=0

c

c     ------------------ change  axes ------------    

      DO 80 N=1,NA

       XR=CA(1,N)

       YR=CA(2,N)

       ZR=CA(3,N)

      GO TO (81,82,83),IPA

   81 PX=YR

      PY=ZR

      PZ=XR

      GO TO 84

   82 PX=ZR

      PY=XR

      PZ=YR

      GO TO 84

   83 PX=XR

      PY=YR

      PZ=ZR

   84 CB(1,N)=PX

      CB(2,N)=PY

      CB(3,N)=PZ

   80 CONTINUE

C

C     ------ ZAHYOU HENKAN ------

      DO 50 N=1,NA

        P(1,N)=0.0+0.9*SCX*2000.0*cb(1,N)/DX

        P(2,N)=0.0+0.9*SCY*2000.0*cb(2,N)/DY

        P(3,N)=0.0+0.9*SCZ*2000.0*cb(3,N)/DZ

c     write(2,113) p(1,n),p(2,n),p(3,n)

c 113 format(3f10.2)

   50 CONTINUE

C

C     ------ KAITEN ------

      TETAX=0.0

      TETAY=0.0

      TETAZ=0.0

      if(kaiten.eq.1) go to 54

C

c-------------------- mouse -------------------------

c        Initialize the choice device

c

        call gqchs(1,1,10,errind,mode,esw,istat,

     1             ichnr,pet,earea,ldr,datrec1)

c

c        Number of choices, colour

c

        intrec(1) = 5

        intrec(2) = 0

        call gprec(2,intrec,0,rdummy,5,chlens,chstrs1,

     1             10,errind,ldr,datrec1)

        call ginch(1,1,gok,3,1,earea(1),earea(2),earea(3),

     1             earea(4),ldr,datrec1)

c

c        Get the user's choice (x,y,z, or EXIT)

c

   23 continue

      call gmsg(1,'Rotate(L/R)/Atom draw/Length/Change axis\n')

      call grqch (1,1,status,choice)

c

c        select axis depending on the choice

c

        if (choice.eq.1) then

                dyy=2.0

                go to 295

        else if (choice.eq.2) then

                dyy=-2.0

                go to 295

        else if (choice.eq.3) then

                iatom=1

                go to 295

        else if (choice.eq.4) then

                ilgth=1

                go to 295

        else

                go to 25

        endif

        go to 23

295        continue

c

c ---------------------------------------------------------

c     call gclrwk(1, 1)

   54 TETAX=0.0

      TETAZ=0.0

      TETAY=dyy

c

      if(nrot.eq.0) go to 61

      DO 55 N=1,NA

        P(1,N)=-1000.0+p(1,N)

        P(2,N)=-1000.0+p(2,N)

        P(3,N)=-1000.0+p(3,N)

   55 CONTINUE

c

   61 CALL ROTATE(P,NA,TETAX,TETAY,TETAZ)

c     write(*,*) dyy,tetay

C

      DO 51 N=1,NA

        P(1,N)=1000.0+p(1,N)*1.0

        P(2,N)=1000.0+p(2,N)*1.0

        P(3,N)=1000.0+p(3,N)*1.0

   51 CONTINUE

      nrot=1

C

   90 CALL DRAWP(NA,P,TITLEA,ITBL,IATOM,ATOM,atmn,dmx,ilgth,noa)

      if(kaiten.eq.1) go to 54

      GO TO 23

C    

   98 call gdawk(1)

      call gclwk(1)

      call gclks

   99 STOP

      END

c

C *********************************************************************

      SUBROUTINE DRAWP(NA,PP,TITLEA,ITBL,IATOM,ATOM,atmn,dmx,ilgth,noa)

      character*80 TITLEA

      character*2 atom(120),atom1(120),atmn(120),atmn1(120)

      character*5 blgth

C     character*6 atmn(120)

      integer*4 iblgth

      dimension PP(3,120),XX(2),YY(2),zz(2),ITBL(120,6),RC(120),

     1pq(3,120),noa(120),noa1(120)

      real xw(2), yw(2)

      character*(80) datrec,sa(1)

      integer asflst(13)

      integer ldr

      integer ia(5)

      real ra(3),xw(4),yw(4)

      integer lsa(1)

      integer err

C

      data asflst /0,1,1,0,0,1,1,1,1,1,1,1,1/

C      

      call gsfais(1)

C

C     ------ COLOR SET ------

c       ------ black

      CALL GSCR(1, 0,0.0,0.0,0.0)

c       ------ red

      call gscr(1, 1,1.0,0.0,0.0)

c       ------ green

      CALL GSCR(1, 2,0.0,1.0,0.0)

c       ------ blue

      CALL GSCR(1, 3,0.0,0.0,1.0)

c       ------ yellow

      CALL GSCR(1, 4,1.0,1.0,0.0)

c       ------ cyan

      CALL GSCR(1, 5,0.0,1.0,1.0)

c       ------ magenta

      CALL GSCR(1, 6,1.0,0.0,1.0)

c       ------ orange

      CALL GSCR(1, 7,1.0,0.5,0.1)

c       ------ brown

      CALL GSCR(1, 8,0.85,0.90,0.95)

c       ------ violet

      CALL GSCR(1, 9,0.5,0.1,0.67)

c       ------ olive green

      CALL GSCR(1, 10,0.5,0.5,0.0)

c       ------ grey

      call gscr(1, 11,0.8,0.8,0.8)

c       ------ light green

c     call gscr(1, 12,0.8,1.0,0.8)

      call gscr(1, 12,0.55,0.5,0.55)

c       ------ light red

      CALL GSCR(1, 13,0.95,0.75,0.75)

c       ------ light blue

      CALL GSCR(1, 14,0.6,0.8,1.0)

c       ------ white

      CALL GSCR(1, 15,1.0,1.0,1.0)

c       ------ test

c     CALL GSCR(1, 16,0.5,0.5,0.67)

c

c     ------ line width ------

      call gslwsc(6.0)

      call gsasf(asflst)

C      

C     ------ clear scr ------

      call gsfaci(8)

      xw(1)=0.0

      yw(1)=0.0

      xw(2)=2000.0

      yw(2)=0.0

      xw(3)=2000.0

      yw(3)=2000.0

      xw(4)=0.0

      yw(4)=2000.0

      ia(1)=2

      ia(2)=1

      call gprec(2,ia,0,ra,0,lsa,sa,1,err,ldr,datrec)

      call ggdp(4,xw,yw,19,ldr,datrec)

c

C     ------ PRINT CRYSTAL NAME ------

      call gstxci(1)

      call gschxp(2.0)

      call gschh(20.0)

      CALL gtxs(0.0,20.0,72,TITLEA)

C

C     ------ DRAWING OF BONDS ------

      call gsplci( 7)

      DO 350 k=1,NA

       DO 330 l=1,6

        i=noa(k)

        j=noa(l)

         IB=ITBL(I,J)

         if(atom(I).eq.' H'.and.atom(ib).eq.' H') go to 325

         IF(IB.EQ.0) GO TO 325

          XX(1)=PP(1,I)

          XX(2)=PP(1,IB)

          YY(1)=PP(2,I)

          YY(2)=PP(2,IB)

          zz(1)=PP(3,I)

          zz(2)=PP(3,IB)

           call gpl(2,xx,yy)

         if(ilgth.ne.1) go to 330

           xm=(xx(1)+xx(2))/2.0-60.0

           ym=(yy(1)+yy(2))/2.0

           bl=sqrt((xx(1)-xx(2))**2+(yy(1)-yy(2))**2

     1+(zz(1)-zz(2))**2)

      bl=bl*dmx/1.8

      iblgth=int(bl)

      call gschxp(2.0)

      call gschh(20.0)

      call gstxci(0)

      call conv(iblgth,blgth)

c     write(*,*) iblgth

c     write(*,*) blgth

      call gtxs(xm,ym,5,blgth)

  325 if(ilgth.ne.1) go to 330

      call gstxci( 3)

      call gschxp(2.0)

      call gschh(15.0)

      call gtxs(pp(1,i)-60.0,pp(2,i)+10.0,2,atmn(i))

  330 continue

  350 CONTINUE

      ilgth=0

      if(IATOM.ne.1) go to 90

C

C     ====== Circle drawing ======

c     call gsfaci(15)

c     call sort(na,pp,noa,atom,pq)

      call sort(na,pp,pq,atom,atom1,atmn)

C      

C     ------ Diameter of Circle ------

      CALL MIMAX(NA,Pq,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX)

c

      DO 315 I=1,NA

      if(atom1(i).eq.' H') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+10

        else if(atom1(i).eq.' O') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+20

        else if(atom1(i).eq.' N') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+30

        else if(atom1(i).eq.' S') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+40

        else if(atom1(i).eq.'CL') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+50

        else if(atom1(i).eq.'AA') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+60

        else if(atom1(i).eq.'BB') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+70

        else if(atom1(i).eq.'CC') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+80

        else if(atom1(i).eq.'DD') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+90

        else if(atom1(i).eq.'EE') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+100

        else if(atom1(i).eq.'FF') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+120

        else if(atom1(i).eq.'GG') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+130

        else if(atom1(i).eq.'HH') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+140

        else

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+15

        end if

        go to 315

  315 CONTINUE

c

      DO 340 I=1,NA

         xw(1) = Pq(1,I)

         xw(2) = Pq(1,I)

         yw(1) = Pq(2,I)

         yw(2) = (Pq(2,I)+RC(I)+10.0)

       call gsfaci(8)

           call ggdp( 2, xw, yw, 3, 0, datrec)

c

         xw(1) = Pq(1,I)

         xw(2) = Pq(1,I)

         yw(1) = Pq(2,I)

         yw(2) = (Pq(2,I)+RC(I)+8.0)

      if(atom1(i).eq.' H')  call gsfaci(5)

      if(atom1(i).eq.' C')  call gsfaci(0)

      if(atom1(i).eq.' N')  call gsfaci(3)

      if(atom1(i).eq.' O')  call gsfaci(1)

      if(atom1(i).eq.' S')  call gsfaci(4)

      if(atom1(i).eq.'CL')  call gsfaci(2)

      if(atom1(i).eq.'AA')  call gsfaci(2)

      if(atom1(i).eq.'BB')  call gsfaci(2)

      if(atom1(i).eq.'CC')  call gsfaci(2)

      if(atom1(i).eq.'DD')  call gsfaci(2)

      if(atom1(i).eq.'EE')  call gsfaci(2)

      if(atom1(i).eq.'FF')  call gsfaci(2)

      if(atom1(i).eq.'GG')  call gsfaci(2)

      if(atom1(i).eq.'HH')  call gsfaci(2)

           call ggdp( 2, xw, yw, 3, 0, datrec)

  340 CONTINUE

      iatom=0

c

   90 RETURN

      END

C

      SUBROUTINE MIMAX(N,C,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX)

      dimension C(3,120)

c     data aXMAX,aYMAX,aZMAX /3*-500.0/

c     data aXMIN,aYMIN,aZMIN /3*500.0/

      xmax=-500.0

      ymax=-500.0

      zmax=-500.0

      xmin=500.0

      ymin=500.0

      zmin=500.0

      DO 10 I=1,N

        XMAX=AMAX1(C(1,I), xmax)

        YMAX=AMAX1(C(2,I), ymax)

        ZMAX=AMAX1(C(3,I), zmax)

        XMIN=AMIN1(C(1,I), xmin)

        YMIN=AMIN1(C(2,I), ymin)

        ZMIN=AMIN1(C(3,I), zmin)

   10 CONTINUE

      RETURN

      END

C

      SUBROUTINE ROTATE(C,NA,TETAX,TETAY,TETAZ)

      dimension C(3,120)

      PI=3.1415927/180.0

      XX=TETAX*PI

      YY=TETAY*PI

      ZZ=TETAZ*PI

c

      DO 10 I=1,NA

        A1= C(1,I)

        A2= C(2,I)*COS(XX)+C(3,I)*SIN(XX)

        A3=-C(2,I)*SIN(XX)+C(3,I)*COS(XX)

c

        B2= A2

        B3= A3*COS(YY)+A1*SIN(YY)

        B1=-A3*SIN(YY)+A1*COS(YY)

c

        C(1,I)= B1*COS(ZZ)+B2*SIN(ZZ)

        C(2,I)=-B1*SIN(ZZ)+B2*COS(ZZ)

        C(3,I)= B3

   10 CONTINUE

      RETURN

      END

c

      subroutine sort(n,c,c1,atom,atom1)

      dimension c(3,120),c1(3,120)

      character*2 atom(120),f,atom1(120)

C     subroutine sort(n,c,noa,atom,c1)

C     dimension c(3,100),noa(100),c1(3,100)

C     character*2 atom(100)

      real x,y,z

      do 5 i=1,n

        c1(1,i)=c(1,i)

        c1(2,i)=c(2,i)

        c1(3,i)=c(3,i)

        atom1(i)=atom(i)

c     write(2,*) atom(i),c(1,i),c(2,i),c(3,i)

    5 continue

C

      do 20 i=1,n

      do 10 j=i,n

       if(c1(3,j).gt.c1(3,i)) go to 10

        x=c1(1,i)

        y=c1(2,i)

        z=c1(3,i)

c       e=noa(i)

        f=atom1(i)

        c1(1,i)=c1(1,j)

        c1(2,i)=c1(2,j)

        c1(3,i)=c1(3,j)

c        noa(i)=noa(j)

        atom1(i)=atom1(j)

        c1(1,j)=x

        c1(2,j)=y

        c1(3,j)=z

c        noa(j)=e

        atom1(j)=f

   10 continue        

   20 continue

      do 30 i=1,n

c     write(2,*) atom1(i),c1(1,i),c1(2,i),c1(3,i)

   30 continue

      return

      end

c

      subroutine conv(ia,ca)

      character*1 c(4),ten

      character*5 ca

      character*10 a

      a='0123456789'

      ten='.'

      i1=int(ia/1000)

      i2=int((ia-i1*1000)/100)

      i3=int((ia-i1*1000-i2*100)/10)

      i4=ia-(i1*1000+i2*100+i3*10)

      c(1)=a(i1+1:i1+1)

      c(2)=a(i2+1:i2+1)

      c(3)=a(i3+1:i3+1)

      c(4)=a(i4+1:i4+1)

      ca=c(1)//ten//c(2)//c(3)//c(4)

      return

      end

C

      SUBROUTINE CRYSTL(N,AD,ANGD,ITYPE,XYZ,CO)

C     THIS SUBROUTINE USES THE CRYSTALLOGRAPHIC PARAMETERS A, B, C,

C     ALPHA, BETA, AND GAMMA TO TRANSFORM THE CRYSTAL COORDINATES

C     INTO CARTESIAN COORDINATES.

C     TAKEN FROM MM2 (MODIFIED BY K. HARANO)

C

      DIMENSION AD(6),ANGD(3),XYZ(3,150),ITYPE(150),CO(3,150)

C     INTEGER*2 ITYPE

C     READ (INP,5) A,B,C,ALPHA,BETA,GAMMA

C   5 FORMAT (6F10.5,I5)

      A=AD(1)

      B=AD(2)

      C=AD(3)

      ALPHA=ANGD(1)

      BETA=ANGD(2)

      GAMMA=ANGD(3)

C

      RADN=57.29578

      PIR=1./RADN

      AL=PIR*ALPHA

      BT=PIR*BETA

      GM=PIR*GAMMA

      SINA=SIN(AL)

      SING=SIN(GM)

      COSA=COS(AL)

      COSB=COS(BT)

      COSG=COS(GM)

      Q = (COSB-COSA*COSG)/SING

      P = SQRT(SINA*SINA-Q*Q)

      DO 10 I=1,N

      XX=XYZ(1,I)*A

      YY=XYZ(2,I)*B

      ZZ=XYZ(3,I)*C

      CO(1,I) = XX*SING+ZZ*Q

      CO(2,I) = YY+XX*COSG+ZZ*COSA

   10 CO(3,I) = ZZ*P

      WRITE (6,20) A,B,C,ALPHA,BETA,GAMMA

   20 FORMAT (1H0,'THE ABOVE ARE REDUCED CRYSTAL COORDINATES.  TO ',

     1    'CONVERT THEM TO'/1H ,'CARTESIAN COORDINATES, THE FOLLOW',

     2    'ING PARAMETERS ARE USED'/1H ,'A=',F12.5,3X,'B=',

     3    F12.5,3X,'C=',F12.5/1H ,'ALPHA=',F12.5,3X,'BETA='

     4    ,F12.5,3X,'GAMMA=',F12.5)

      WRITE (6,30)

   30 FORMAT (1H0,'CONVERTED ATOMIC COORDINATES'/1H ,1X,'ATOM',8X,

     1    'X',11X,'Y',11X,'Z')

      DO 40 I=1,N

      K=ITYPE(I)

      WRITE (6,50) I,CO(1,I),CO(2,I),CO(3,I),K

   50 FORMAT (1H ,1H(,I2,1H),3F12.5,3X,1H(,I2,1H))

   40 CONTINUE

      RETURN

      END

以上,等幅フォントで記載


単結晶X線解析

 直接法位相決定プログラム ”MULTAN ”

  SUNワークステーションへの移植と機能拡張(1992)

  Compaq社製Alpha ServerES40への移植(2001)

                                                   熊本大学薬学部 原野一誠

はじめに

 平成6年に熊本大学総合情報処理センターの汎用大型計算機のオペレーティングシステムMSPが廃止され,完全にUNIXに替わったため,大型計算機上で動いていたX線解析プログラムUNICS3(理化学研究所)をUNIXワークステーションに移植した.その際,正しい解(構造)を確認するための確認法,すなわちグラフィックス表示による構造確認の機能拡張を試みた.  UNICS3の機能はそのままで,多重解で得られる座標セットをGKSグラフィックパッケージを用いて次々に画面表示させるように改良した.本改良により,座標セットを取り出し,パソコンで構造を確認する必要がなくなり,迅速な解析が可能になった.

 以下にMULTANのマニュアル(オリジナル),準備するデータセット,新規に作成したプロプラムのリストを示す.  さらに,平成13年に薬学部分子薬学専攻の教育システム用に導入されたCompaq社製AlphaServerES40への移植を行った.SUNワークステーションへの移植の際,実現した同一WSによる分子構造表示は,パソコン側のウインドウで簡単に実現できるようになったので,今回は移植を見送った.

---------------------------------------------------------------------------------

追記

熊本大学定年退職後に再就職した崇城大学薬学部にはリガクの全自動の単結晶X線解析装置が設置されたため,UNICSプログラムを使うことはなかった.崇城大学定年後は自宅パソコンで使用する環境を整え,残務整理に利用している.


***************************************************************************************                                                                                                              

*     M     M  U       U   L       TTTTTTT      AAA      NN    N  777777   8888       *

*     MM   MM  U       U   L          T         A A      NNN   N       7  8    8      *

*     M M M M  U       U   L          T        A   A     N NN  N      7    8888       *

*     M  M  M  U       U   L          T       AAAAAAA    N  NN N     7    8    8      *

*     M     M  U       U   L          T      A       A   N   NNN     7    8    8      *

*     M     M    UUUUU     LLLLLL     T     A         A  N    NN     7     8888       *                                                                                                                      

***************************************************************************************

                A  system  of  computer  programmes  for  the

              automatic  solution  of  crystal  structures  from

                           X-ray  diffraction  data.

    Principal author:                 Peter Main

    Department of physics,  University of york,  York,  England.

    Others closely associated with the development of MULTAN:

   S. E. Hull,  I. Lessinger,  G. Germain,  J-P. Declercq,  M. M. Woolfson.

                                                 March  1978

------------------------------------------------------------------ 1992/8 -------

             Modified for S-4/2

             Executable as Chain job

                 NORM -> NEWMULTAN -> EXFFT -> SEARCH -> XSTRUC

                               

                                                                 K. harano

------------------------------------------- Kumamoto University ---------------------------

Following datasets are used.

The INPUT data should be prepared according to this manual.

During the calculation process, the following files are created.

Finally, the peak coordinates are written on the data set "PEAK", which are

plotted on the graphic window of SUN WS using the GKS tool.

 

-----------------------------------------------------------------------------------------------------

(1) NORMIN --> normmal (nrom)  --> MORMOLT

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == UNICS III NORM CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=700,FILE='NORMIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=700,FILE='NORMOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

c     rewind 8

c     OPEN( 8,ERR=700,STATUS='SCRATCH')

      OPEN( 8,ERR=700,file='F8',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT08 =='')')

      OPEN( 9,ERR=700,FILE='F9',FORM='FORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT09 =='')')

      OPEN(15,ERR=700,STATUS='SCRATCH')

c     WRITE(*,'(/,'' == OPEN UNIT15 =='')')

C   ---------------------------------------------------------------------------

 

(2) MULTIN --> newmultan (newmult) --> MULTOLT

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == UNICS III NEWMULTAN CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=1080,FILE='MULTIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=1080,FILE='MULTOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

      OPEN( 9,ERR=1080,FILE='F9',STATUS='OLD')

c     WRITE(*,'(/,'' == OPEN UNIT09 =='')')

      OPEN(10,ERR=1080,FILE='F10',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT10 =='')')

      OPEN(11,ERR=1080,STATUS='SCRATCH',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT11 =='')')

C   ---------------------------------------------------------------------------

(3) EXFFIN --> exfft (exfft) --> EXFFOLT

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == MOPAC V6 CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=999,FILE='EXFFIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=999,FILE='EXFFOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

      OPEN( 8,ERR=999,STATUS='SCRATCH',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT08 =='')')

      OPEN(10,ERR=999,FILE='F10',STATUS='OLD',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT10 =='')')

      OPEN(13,ERR=999,FILE='F13',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT13 =='')')

C   ---------------------------------------------------------------------------

(4) SRCHIN --> search (srch) --> ARCHOLT + PEAK

C     ------------- Open files for SUN4/2 BY K. Harano (1992.8.21) -------------

c     WRITE(*,'(/,'' == MOPAC V6 CALCULATION START ON S4/2 =='')')

      close (5)

      OPEN( 5,ERR=999,FILE='SRCHIN')

c     WRITE(*,'(/,'' == OPEN UNIT05 =='')')

      close(6)

      OPEN( 6,ERR=999,FILE='SRCHOLT')

c     WRITE(*,'(/,'' == OPEN UNIT06 =='')')

      OPEN(13,ERR=999,FILE='F13',STATUS='OLD',form='UNFORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT13 =='')')

      OPEN(14,ERR=999,FILE='PEAK',FORM='FORMATTED')

c     WRITE(*,'(/,'' == OPEN UNIT14 =='')')

C   ---------------------------------------------------------------------------

(5) PEAK   --> xstruc (xstruc) --> graphics

c

      write(*,154)

  154 format('Please input file name (PEAK)')

      read(*,155) afile

  155 format(a14)

      if(afile.eq.'') then

      afile='PEAK'

      endif

C     ------ OPEN MNDO OUTPUT data (M3) ------

      OPEN(1,ERR=99,FILE=afile)

      open(2,err=99,file='kekka',form='formatTED')

c    

C     ------ open workstation & activate ------  

      call gopks(0, -1)

      call gopwk(1, 0, 4)

      call gacwk(1)

C

c     ------------ window/view ------------

      call gswn(1,0.0,2000.0,0.0,2000.0)

      call gselnt(1)

      call gsvp(1,0.0,1.0,0.0,1.0)

C     ------------ Read Title -----------

c-------------------------------------------------------------------

------------------------------------------------------------------ 1992/8 -------

1                                                                       page   2

                                  **************

                                  * Contents *

                                  **************

           Section                                                                     page

          Introduction                                                    . . . .         3

          Preparation of data for NORMAL                  . . . .         5

          Preparation of data for MULTAN                   . . . .         9

          Preparation of data for EXFFT                     . . . .        14

          Preparation of data for SEARCH                  . . . .        15

          Running the programmes                             . . . .        17

          Flow diagram of MULTAN78                        . . . .        18

          Computer dependence of MULTAN78         . . . .        19

          On changing array sizes                               . . . .        20

          Description of NORMAL                                . . . .        21

          Description of SIGMA2                                 . . . .        23

          Description of CONVERGE                          . . . .        25

          Description of FASTAN                                 . . . .        28

          Figures of merit                                             . . . .        29

          Description of the fourier procedure              . . . .        31

          Check-list for difficult structures                    . . . .        33


1                                                                       page   3

                               ****************

                               * Introduction *

                               ****************

MULTAN78 is an updated version of the previously issued MULTAN77.

The major alteration is the ability to use knowledge of molecular structure as described by Main (1976, crystallographic computing techniques, ed. F. R. Ahmed, pp. 97 - 105, Munksgaard). Among other things, this allows the use of an oriented molecular fragment (possibly obtained from an E-map) to help in the structure determination. Even if the position of the fragment is not known, the orientation still provides useful information to the phase determination process. In addition, an imporved 'magic integer' phase permutation is used, the progmamme NORMAL has been rewritten and SEARCH contains more general molecular recognition routines.

The complete set of programmes will perform all the necessary calculations drom the normalisation of structure factors to the output of a 'picture' of the structure on the lineprinter. The programmes are developed on a dec system 10 computer at york and an IBM 370/158 at Louvain. Earlier development took place on an ICL 1906A at Leeds University, England, and an IBM 370/165 at the centre Europeen de Calcul Atomique et Moleculaire, Orsay, France, the use of whose computing facilities the authors gratefully acknowledge. Acknowledgement is also due to the many people who have passed on helpful suggestions and given constructive criticism of earlier versions of MULTAN. Without this feedback from users, development of the programmes would take very much longer.

The general aim in producing MULTAN78 has been to provide a system of programmes which will solve crystal structures in a single computer job. The automatic operation means the user need not be an expert in direct methods to use the system successfully, yet it is hoped that the programmes are sufficiently flexible to allow user intervention at certain critical points if necessary. In addition, the authors hope the programmes are easy to use and they will continue to develop the system towards these ends. There can be no guarantee that the programmes are free of bugs or crystallographer traps and, indeed, the authors will be pleased to hear of any misbehaviour or special difficulties in implementing MULTAN78 on a particular computer.

The programmes are written in FORTRAN IV and should run, with a minimum of alteration, on any computer with a 64k store of 32-bit words. If the operating system allows several programmes to be run in the same job, it is possible to execute the programmes sequentially and obtain a solution of the crystal structure in a single computer run.

To help the implementation of the programmes, they are usually distributed with test data and the lineprinter output the data is expected to produce. As MULTAN78 is not completely machine independent, the actual output obtained may not be identical in all details to the one supplied.

Phase determination is carried out using the tangent formula of Karle and Hauptman (1956, Acta Cryst., 9, 635) which is based on the SIGMA2 probability formula of Cochran (1955, Acta Cryst., 8, 473). The tangent formula as used in MULTAN works most satisfactorily with equal atom structures but the presence of a heavy atom does not invalidate the theory. In fact, the easiest way to determine a heavy-atom structure is probably to use MULTAN to determine the heavy atom positions and as much of the remainder of the structure as the E-map gives. The remaining atoms can then be found using the NORMAL weighted fourier techniques.


1                                                                       page   4

The complete system of programmes is made up of the following:

 

 NORMAL     computes normalised structure amplitudes from F(obs) values using >

 ******     either a K-curve, a Wilson plot or a Debye curve.  Outputs intensity  

            statistics as a check on the scaling and an aid to space group determination.

            Prepares a reflexion input file for MULTAN or can be used to prepare files for Karle

            recycling or for weighted fourier calculations.

             

     K-curve, Wilson plot, a Debye curveを用いてF(obs)から規格化構造因子 (E) の計算する.

 MULTAN     consists of three logical sections:

 ******     a) SIGMA2 finds sets of three reflexions whose indices are related as h, h' and h-h'.

 

            h, h', h-h'関係の反射を求める.

             

            b) CONVERGE finds the starting reflexions for the tangent formula by

            application of the SIGMA1 formula and by assigning phase values to

            reflexions which define the origin and enantiomorph.  A small number

            of other reflexions may be chosen which give a 'good start' to the

            tangent formula.  As the values of these phases are initially unknown,

            a number of different phase values are assigned by 'magic integers',

            thus producing a multiple starting point and hence the name of the programme.

           

            Tangent 式のための原点になる反射を求める.

           

            c) FASTAN determines phases for all reflexions from each starting set produced

            by CONVERGE using the tangent formula.  Figures of merit for each set of phases

            are also computed.

           

            FASTANは用いた反射の位相を決定する.任意の反射数に応じた多重解となる.

 EXFFT      computes an E-map from a set of normalised structure factors.  This

 *****      programme uses the Cooley-Tukey fourier transform algorithm and is

            adapted from a crystallographic programme written by L. F. Ten Eyck.

           

            フーリエ合成を行い,電子密度図 E-mapを計算する.

 SEARCH     finds the coordinates of the highest peaks in the E-map and, for a

 ******     molecular structure, looks for groups of peaks which could form a molecule or a

              molecular fragment consisting of at least five atoms.

      Computes bond lengths and angles for each molecular fragment and outputs  

                     on the lineprinter a properly scaled view of the peaks plotted on the least

      squares plane.  Other orthogonal projections can be output if required.  Each

      fragment is interpreted in terms of bonded atoms by applying simple

      stereochemical constraints and alternative interpretations are output if found.

      The interpreted fragments are compared with those input by the user and

      corresponding atoms are identified.  This part of the programme is a rewritten

      version of the original by Michel Koch (Acta Cryst., 1974, B30, 67).

 

      電子密度図 E-mapから原子位置を算出する.


1                                                                       page   5

                      **********************************

                      * Preparation of data for NORMAL *

                      **********************************

------------------------------------------------------------

 Card 1  FORMAT(20A4)  TITLE - any FORTRAN characters in cols. 1 - 80

      The TITLE is reproduced at the head of a number of pages of output.  It is

      recommended that it include useful information such as name or mnemonic of

      compound, chemical formula, space group and number of atoms per unit cell.

------------------------------------------------------------

 Card 1'

  col      5   ifile = 0 read data from cards

                      = 1 read data from file

------------------------------------------------------------

 Card 2  FORMAT(I5,4X,A1,7I5,F5.0,I5,F5.0)     programme parameters

         Note that this card is changed from the MULTAN74 version.

  col      5   ICENT = 0 for non-centrosymmetric space group

                     = 1 for centrosymmetric space group

  col     10    LATT = p,a,b,c,i,f or r  (lattice type)

                       if the lattice type is r, the space group symmetry may

                       be described by either rhombohedral or hexagonal axes.

  cols 11-15    NSYM = number of symmetry cards to be input (see cards 5 below)

  cols 16-20     NGP = number of atom groups of known geometry to be input (<10)

                       (see descriptions of NORMAL and MULTAN for explanation)

  col     25   INORM = 0 to normalise using Debye curve (same as Wilson plot if

                       NGP = 0)

                     = 1 to normalise using K-curve, i.e. a non-analytical curve

                       is fitted to the Debye curve for scaling

  cols 26-30      NB = number of points on Wilson (or Debye) plot.  If left

                       blank, the default value of  8*log10(n/20)  is used (5.GT.NB

                       .LT.20), where  N  is the total number of reflexions input

  col     35  ISCALE = 0 to apply separate scale factor for each parity group or

                       other appropriate index group so that   = 1.0

                     = 1 to apply a single overall scale factor

  col     40   ILIST = 0 to suppress listing of complete set of calculated E's

                     = 1 to obtain listing of E's

  cols 41-45    NREF = number of reflexions with the largest E-values to be

                       written on the MULTAN data file (channel 9).

                     = 0 gives the default value of  100 + 4*(number 0f

                       independent atoms).

                       see below for limits on the value of NREF.

  cols 46-50    EMIN = minimum E-value accepted for the nref strong reflexions.

                     = 0 gives the default value of 1.2

  cols 51-55    IZRO = number of smallest E-values to be written on the MULTAN

                       data file (IZRO < NREF) for the PSI(ZERO) figure of

                       merit (see section on 'figures of merit').

                     = 0 gives the default value of 50

  cols 56-60    EMAX = largest E-value accepted for the IZRO weak reflexions.

                     = 0 gives the default value of 0.2

 ISCALE = 0 is recommended unless there are specific reasons to use

 ISCALE = 1.  the index groups are as follows (the order is fixed):

   Triclinic: parity groups  eee, oee, eoe, ooe, eeo, oeo, eoo, ooo.

   Monoclinic, Orthorhombic: same as triclinic.

   Tetragonal: modified parity groups eee, oee+eoe, ooe, eeo, oeo+eoo, ooo.

   Trigonal, Hexagonal: evaluate mod(h,3), mod(k,3), mod(h+k,3), mod(l,2).

   Cubic: evaluate mod(l-h,3), mod(k-l,3), mod(h-k,3), mod(h+k+l,2).

   Primitive rhombohedral: same as cubic

      For trigonal and higher symmetries, reflexions are divided into the following six groups:  oooe, ooee+oeoe+eooe, eeee, oooo, ooeo+oeoo+eooo, eeeo. where e denotes a zero and o denotes non-zero for the above quantities.


1                                                                       page   6

      If some or all of the molecular geometry is known, as much as possible should be included in the NGP atomic groups.

      It should not be necessary to use more than 10 reflexions per atom in the asymmetric unit.  Usually NREF may be set at about 7 or 8 times the number of atoms for orthorhombic symmetry.  More reflexions may be required for lower symmetry and fewer reflexions for higher symmetry.  MULTAN limits the number of  reflexions to the minimum of  KUSER3  and  KUSER2/NSYM.  The parameters KUSER3 and KUSER2 are set at the beginning of MULTAN to 500 and 2500 respectively and are related to array sizes.  These may be changed by the user as explained in the section 'on changing array sizes'. because of packing, NREF is limited to 417 for 24-bit word computers.

------------------------------------------------------------

 Card 3  FORMAT(9F8.0)     Temperature factor and scale factor card

 If the programme is to calculate its own scale and temperature factors, this card should be left blank or put temp = 0.0 (note that some computers ignore completely blank cards).

  cols  1- 8   TEMP = temperature factor B (must be supplied if scale factor(s)

                      are to be supplied, but temp only may be supplied and the

                      programme will calculate its own scale factor(s)).

  cols  9-16  SCALE1 = overall scale factor if ISCALE = 1

                     = first of 8 (or 6) scale factors if ISCALE = 0, the

                       remaining scale factors being punched in cols 17-24 etc.

      Because of default options, temp must not be exactly 0.0 if supplied.

   The scale factors are for the appropriate index groups, and in the same order, as listed under card 2 for ISCALE.

      F**2(absolute) = k * F**2(observed)  defines the scale factor to be used.

      if INORM = 1, TEMP and SCALE1 etc. will always be calculated.

------------------------------------------------------------

 Card 4  FORMAT(6F10.6)     Unit cell parameters

      a, b, c (angstroms)  alpha, beta, gamma (degrees)

------------------------------------------------------------

 Cards 5  Free FORMAT     the NSYM symmetry cards

 Each card contains one general equivalent position punched, for example,

 as                          1/4-x, y, 1/2+z

 spaces are ignored on input and the three fields are separated by commas.

      If the space group is centrosymmetric, do not include equivalent positions

      related by the centre of symmetry.

      If the space group is centred, include only those general equivalent

      positions associated with one lattice point.

 

 Example:     C2/c   NSYM = 2   and the 2 symmetry cards are  x, y, z  and

 x, -y, 1/2+z

------------------------------------------------------------

 Card 6  FORMAT(8(3X,A2,I5))     unit cell contents

  cols  4- 5  NAT(1,1) = chemical symbol of atomic type 1

  cols  6-10  NAT(1,2) = number of atoms of this type in the unit cell

                         etc. to a maximum of 8 atomic types

      Input the total contents of the unit cell - include all atoms whether the


1                                                                       page   7

lattice is centred or primitive.  Include all atoms whether input later as part of a group or not.

        The scattering factors for 50 different kinds of atom are stored in the

 programme.  In order of atomic number, their chemical symbols as punched are:

 H, LI, Be, B, C, N, O, F, Na, Mg, Al, Si, P, S, Cl, K, Ca, Ti, V, Cr, Mn, Fe,

 Co, Ni, Cu, Zn, As, Se, Br, Rb, Sr, Zr, Mo, Ru, Rh, Pd, Ag, Cd, Sn, Sb, I, Cs,

 Ba, W, Os, Pt, Au, Hg, Pb, Bi.

        If the atomic symbols punched on the card are not one of the above, the

 constants for the analytical scattering factor should be read in from the following cards.

------------------------------------------------------------

 Cards 7  FORMAT(5F10.0)     analytical scattering factor constants

      These cards are included only if an atomic type does not correspond to

      one of the above 50 and are input in the order of appearance of the

      atoms on card 6

      The scattering factor curve is represented as

                  f = a * exp(-a'*s**2) + b * exp(-b'*s**2) + c

       where s = sin(theta)/lambda  and the 5 constants are input in the order

       a, a', b, b' and c.

 For values of the constants see for example Frsyth and Wells (1959) Acta

 Cryst.,12,412.

------------------------------------------------------------

 Cards 8  FORMAT(1X,A4,2I5,F5.0,6F10.3/(80A1))   the NGP atomic groups

      if NGP = 0 these cards are omitted.  Note the parameter NINF additional

      to the MULTAN77 version.

 These are groups of atoms whose geometry, orientation or position are

 known.  For each group, the first card is:

  cols  2- 5  IDENT = any four characters to identify the group, e.g. BENZ

  cols  6-10   NINF = 2 for group of random orientation and position

                    = 3 for group of known orientation and random position

                    = 4 for known atomic positions

                    = 5 if atoms to be used for Karle recycling

                      groups of type 2 may be included with groups of type 5

                    = 6 if atoms to be used in weighted fourier calculations

                      for groups of type 6 iscale on card 2 must be 1,

                      and scale1 and bt must be specified on card 3 (values

                      can be taken from a previous run of NORMAL)

                      no other groups should be included with a group of type 6

  cols 11-15     NT = number of atoms in this group

  cols 16-20     GN = number of times this group is present in the unit cell

  cols 21-30, 31-40, et seq.  aa, bb, cc (a), alpha, beta, gamma (deg.)

                      the coordinate system to which the fractional coordinates

                      of the atoms in this group are referred.  Leave blank for

                      default option (see below).

 The remaining cards contain the chemical symbols and coordinates of the NT

 atoms in the group in free FORMAT, separated by spaces.  Each card contains:

  NF = chemical symbol of atom.  Note that this symbol must be identical to one

       of those on card 6.

   x )  fractional coordinates of atom referred to the specified system of axes.

   y )  if NINF = 2, the origin and orientation of the group are arbitrary.

   z )  if NINF = 3, the origin is arbitrary.


1                                                                       page   8

 If NINF = 2, the spherically averaged molecular scattering factor is calculated to aid the scaling either by the debye curve or K-curve method. If the orientation or position of the group is known (NINF = 3 or 4), it is automatically passed on to MULTAN to be used in the estimation of the phase and variance of SIGMA2 relationships.

 If NINF = 2, the default for the coordinate system to be used for the atomic positions is  aa = bb = cc = 1.0,  alpha = beta = gamma = 90.0,  i.e. the coordinates are given in angstroms referred to an orthogonal system of axes.  If NINF = 3 or 4, the coordinate system is that on card 4.

------------------------------------------------------------

 Card 9  FORMAT(I5,18A4)        FORMAT for reflexion data

  cols  1- 5  NNN = number of reflexions punched on each card  (.LE. 12)

                    if NNN is negative, a file of all input reflexions is

                    created on channel 15.

  cols  6-77  FMT = FORMAT for reading reflexion cards

  example:   -5     (5(3I3,F5.2,I2))

  It is suggested that NNN>12 be used to signify input of reflexion data from magnetic tape or disc (channel 15).  Individual installations may arrange the exact form of input for themselves, but the programmes as issued can read the 'standard' file by putting NNN = 15.  (Note that NNN = -15 will read reflexions from the file then rewrite the file after calculating the E's.

------------------------------------------------------------

 Cards 10  FORMAT as specified on card 9     reflexion data

      include only if  NNN .le. 12

  The programme expects  NNN  reflexions per card.  For each reflexion, the programme expects  h, k, l, F(obs), ID  where all are integer except F(obs). (note that the decimal point need not be punched, but may have its position specified by the FORMAT description.  This may save space in packing the reflexions on to the cards.)

      ID = 0 for observed reflexion;  ID = 1 for unobserved.  The programme will

      not allow reflexions with  ID = 1  to be used in MULTAN for phase

      determination no matter how large the E-value.

      Because of packing, the maximum magnitude of h, k or l  (also h+k for trigonal or hexagonal) is 49 for 24-bit word machines and 127 for 32-bit words.

 The data are terminated by a dummy reflexion with a negative F(obs).

 The programme expects a complete set (observed and unobserved) of unique reflexions (those not related by symmetry).  It assumes that systematically absent reflexions (caused by screw axes, glide planes and lattice centrings) will not be input.  Failure to observe these points will usually result in inaccurate scaling of the E's.

 The highest NREF E's will be written onto the MULTAN data file (channel 9) with the restriction that  E > Emin and the reflexion is observed.

 the lowest izro E's will also be written onto the MULTAN data file for  the PSI(ZERO) test with the restriction that  E < EMAX.  (see the section on figures of merit).

 下記の例は,空間群P(-)の1非対称単位に2個の分子が入っている難解な例である.

前段階の規格化構造因子 (E)の計算の段階で,E>7.0を越える異常な反射が1個あり,

試行錯誤の結果,後段の位相決定の際,悪影響を及ぼしている可能性が示唆されたの

で,これを除外した. Eの数は,念のため500個に増やした.

 MULTANの段階ではNANYを8-10個に増やして解析した.1024個の解の中から

Combined Figure of Meritが2.0を越える解(2.2415)が正解であった.

********** Input Data Example **********

cpcot64 adduct

    0

    1    P    1    0    0    0    0    1  500    0    0    0

16.197    20.990    9.505     134.32    91.72     90.35

X,Y,Z

    H   96    C  116    O   20

    1     (I3,2I4,F8.2,I1,F5.2)

  0   0   1  256.73  0.80

  0   0   2  259.48  1.14

  0   0   3  138.70  1.44

  0   0   4   15.56  1.75

  0   0   5   92.86  1.04

  0   0   6   17.23  2.39

  0   0   7    7.40  5.28

  0   0   8   12.85  3.64

  0   1  -8    7.96  5.68

  0   1  -7   13.51  3.18

  0   1  -6   32.27  1.40

  0   1  -5   16.74  1.99

  0   1  -4   14.33  1.86

  0   1  -3   56.45  0.73

  0   1  -2  100.14  1.14

  0   1  -1  119.49  0.74

  0   1   0    2.52  1.80

  0   1   1  188.00  0.95

  0   1   2   75.46  0.81

  0   1   3   50.44  0.76

  0   1   4   27.34  1.22

          ・

  (Total 4274 RD)

          ・

 10  -9  -3    7.69  0.00

 10  -9  -2   10.67  0.00

 10  -9  -1   39.62  0.00

 10  -9   0   18.82  0.00

 10  -9   1    5.68  0.00

             -10.0

             -10.0

****************************************


1                                                                       page   9

                      **********************************

                      * Preparation of data for MULTAN *

                      **********************************

------------------------------------------------------------

 Card 1  FORMAT(20A4)  TITLE - any FORTRAN characters in cols 1-80

------------------------------------------------------------

 Card 2  FORMAT(I5)    control parameter

  col      5   IPATH = 0 to run SIGMA2, CONVERGE and FASTAN using default

                       values throughout, i.e. no further data need be supplied.

                     = 1 to run SIGMA2   (cards  3- 7)

                     = 2 to run CONVERGE (cards  8- 9)

                     = 4 to run FASTAN   (cards 10-15)

                     = 8 to halt the programme, i.e. no calculation takes place.

      Any sensible sum of the above codes is also accepted to run sections of the programme in combination.  IPATH = 5 is not allowed.  Include only those data cards needed for the sections of the programme asked for.  If IPATH = 0,

 no data cards at all are required and default values will be used throughout. In this case, the data file written by NORMAL must be used.

------------------------------------------------------------

 Card 3  FORMAT(16I5)     unit cell contents

  cols  1- 5   JN(1) = number of atoms of type 1 in the unit cell

  cols  6-10   JZ(1) = atomic number of atom type 1.

               etc. to a maximum of 8 different atomic types.

      If the data file written by NORMAL is used for input to MULTAN, this card should be left blank, otherwise the complete contents of the unit cell should be given.  Note that this differs from the input of unit cell contents to NORMAL.

------------------------------------------------------------

 Card 4  FORMAT(3I5,4X,A1,2I5,F10.0)       SIGMA2 parameters

      If the data file written by NORMAL is used, only ilist and nsrmax need be

 supplied.

  col      5   ILIST = 1 to request SIGMA2 listing

                     = 0 to suppress SIGMA2 listing

  cols  6-10  NSRMAX = maximum number of unique phase relationships to be used.

                       NSRMAX can not exceed KUSER4/3.

                     = 0 gives the default value of 11 * NREF - 500.

  col     15   ICENT = 0 for non-centrosymmetric space group

                     = 1 for centrosymmetric space group

  col     20    LATT = p,a,b,c,i,f,r  (lattice type)

  cols 21-25    NSYM = number of symmetry cards to follow  (= 0 if the data file

                       written by NORMAL is used).

  cols 26-30     NGP = number of atomic groups to be input on cards 5a.

  cols 31-40    EMIN = minimum value of E to be used.  All E's less than this

                       are ignored on input.

      The programme sets up all possible phase relationships and selects the NSRMAX strongest.  From experience, the optimum ratio of number of phase relationships to number of reflexions is about 8.  Fewer relationships than this may result in failure to solve some structures, while more relationships tends to use computer time unnecessarily.  For difficult structures, use as many relationships as possible.


1                                                                       page  10

------------------------------------------------------------

 Cards 5  free FORMAT     the NSYM symmetry cards

      If the data file written by NORMAL is used, these cards are omitted.

      Each card contains one general equivalent position punched as described

      in the input to NORMAL e.g.

          1/2 - x,  -y,  1/2 + z

      If the space group is centrosymmetric, do not include equivalent

      positions related by the centre of symmetry.

      If the space group is centred, include only those general equivalent

 positions associated with one lattice point.

------------------------------------------------------------

 Cards 5a  FORMAT(2I5/(I5,3F10.6))     the NGP atomic groups

      These are groups of atoms whose orientation or position is known and are

 to be used in the estimation of the phase and variance of SIGMA2 relationships.

 If these groups have already been input to NORMAL and the data file written by

 NORMAL is used by MULTAN, they will be used automatically and should not be

 input again here.

      For each group, the first card is:

  cols  1- 5    NINF = 3 for group of known orientation and random position

                     = 4 for known atomic positions

  cols  6-10     NAG = number of atoms in the group.

      the remaining cards contain the atomic number and coordinates of the NAG

      atoms in the group.  Each card contains:

  cols  1- 5      NZ = atomic number

                   X ) fractional atomic coordinates

                   Y ) the origin is arbitrary if ninf = 3

                   Z )

------------------------------------------------------------

 Cards 6  variable FORMAT     reflexion data

      If the data file written by NORMAL is used, these cards are omitted.

      The first card contains the FORMAT statement for the data which follows,

 one reflexion per card.     example:   (3I4,F8.2)

      Each subsequent card contains h,k,l,E for one reflexion.

      The last card contains a dummy reflexion with a negative E-value.

      It should not be necessary to use more than 10 reflexions per atom in the

 asymmetric unit and usually about 7 or 8 times the number of atoms may be used.

 The programme limits the number of reflexions to the minimum of  KUSER3-1  and

 KUSER2/NSYM.  The parameters KUSER3 and KUSER2 are set at the beginning of

 MULTAN to 500 and 2500 respectively and are related to array sizes.  These may

 be changed by the user as explained in the section 'on changing array sizes'.

      The reflexion cards may be input in any order as the programme decides

 internally on the optimum order for phase determination.  However, it should

 be noted that the order of input of reflexions in the E-map data is the same as

 the order of input here.


1                                                                       page  11

------------------------------------------------------------

 Cards 7  Same FORMAT as cards 6     The PSI(ZERO) reflexions

      (see 'description of SIGMA2' and 'figures of merit')

      If the data file written by NORMAL is used, these cards are omitted.

      each card contains h, k, l, E

      The last card contains a dummy reflexion with a negative E-value.  If no PSI(ZERO) reflexions are included, the terminating card must still be present.

      The number of PSI(ZERO) reflexions must be less than the number of reflexions in cards 6.  Normally, about 50 reflexions with very small or zero E-value will produce a sensitive figure of merit.  (Do not use systematically absent reflexions).

------------------------------------------------------------

 Card 8  FORMAT(6I5,F10.0)        CONVERGE parameters

  col      5    LIST = 1 to obtain complete listing of convergence map

                     = 0 to list bottom of convergence map only.

                     = -1 to suppress listing of convergence map

  cols  6-10  NINPUT = number of reflexions to be input to converge on cards 9

  cols 11-15   NSPEC = number of special reflexions required in starting set

  cols 16-20    NGEN = number of general reflexions required in starting set

  cols 21-25    NANY = number of reflexions of any sort required in starting set

  cols 26-30   NSREQ = maximum number of phase sets to be generated by FASTAN.

                     = 0 gives the default value of 64.

                       NSREQ is only used if NSPEC = NGEN = NANY = NINPUT = 0.

  cols 31-40    PROB = lower limit of probability for acceptance of a phase

                       determined by the SIGMA1 formula.  (see 'description of

                       CONVERGE' for advice on the use of this parameter).

                     = 0 gives the default value of 0.95

      The reflexions which appear in the starting set will be those needed for origin definition, the SIGMA1 reflexions and the  NINPUT + NSPEC + NGEN + NANY others.  See 'description of CONVERGE' for the number of phase sets these reflexions will generate.

      If NINPUT = NSPEC = NGEN = NANY = 0, the programme will choose the number

 of starting reflexions required with the constraint that the number of phase sets generated will not exceed nsreq.

      Special reflexions are those whose phases are restricted to two values such as zero or pi.  General reflexions are those whose phases may take on any value.  Note that in centrosymmetric space groups there are no general reflexions; all reflexions are special.

      At least one phase must be permuted for FASTAN to work.

------------------------------------------------------------

 Cards 9  FORMAT(5I5,F10.0)     The NINPUT reflexions for CONVERGE

      These reflexions allow the user to impose his own choice of starting point

      on the programme.  Each card contains information for one reflexion.

  cols  1- 5  KODE = code number of reflexion as listed in SIGMA2 output

  cols  6-10     H )  indices of reflexion in 'standard' form

  cols 11-15     K )  as listed in the SIGMA2 output

  cols 16-20     L )

  cols 21-25  IFAZ = phase angle in degrees


1                                                                       page  12

  cols 26-35  WATE = -2.0 for enantiomorph-fixing reflexion (IFAZ ignored)

                   = -1.0 for starting set reflexion (IFAZ ignored)

                   = 0.0 to 1.0 the weight of a known phase

                   = 2.0 for origin-fixing reflexion.

      Either kode or h, k, l may be used to specify a reflexion.  If KODE is

 punched, h, k, l are ignored.

      For an enantiomorph-fixing or starting set reflexion, IFAZ is ignored since the programme will assign an appropriate phase value and permute it in the normal way.

      For a known phase, a weight greater than 0.99 will be interpreted as meaning certainty and the phase will be fixed during tangent formula refinement

      Apart from its obvious purpose, this facility of inputting reflexions to CONVERGE can be used to persuade the programme to choose different origin defining reflexions if the user is dissatisfied with its original choice. One, two or three origin-defining reflexions of the user's own choice may be read in here and, if necessary, the programme will choose the remaining reflexions needed to define the origin completely.

------------------------------------------------------------

 Card 10  FORMAT(5I5,3F10.0)            FASTAN parameters

  cols  1- 5     IMK = number of starting phases to be input from cards

                     = 0 if starting phases to be generated by the programme

  col     10  IPRINT = 1 to obtain listing of final phase values

                     = 0 to suppress listing of final phase values

  col     15    ISET = 0 no action.

                     = 1 read phase set numbers off cards 11 and generate these

                       phase sets only.

  col     20   IFOUR = 0 to request preparation of data file (on channel 10)

                       for input to EXFFT to calculate E-maps

                     = 1 if no such data file is required

                       note that the significance of these values of IFOUR has

                       been reversed from those in MULTAN77.

  cols 21-25   ISKIP = number of phase permutations to be skipped before

                       calculations begin.  MULTAN begins with permutation

                       number iskip+1, so normally ISKIP = 0.

  cols 26-35  WTFOM1 = weight for absolute figure of merit

  cols 36-45  WTFOM2 = weight for PSI(ZERO) figure of merit

  cols 46-55  WTFOM3 = weight for residual figure of merit

      The maximum number of starting phases which can be introduced from cards (parameter IMK) is KUSER3/2.  The parameter KUSER3 is set at the beginning of MULTAN and is normally 500.  For more information see the section 'on changing array sizes'.

      When rerunning a job that ran out of time, ISKIP should be set to the number of sets of phases previously written on channel 10.  Note that this may not correspond to the last set of phases listed on the lineprinter because of buffering.  To do this the files on channels 10 and 11 must be saved from the previous run, and parts 1 and 2 of MULTAN must not be rerun.

      The WTFOM parameters are used in the calculation of the combined figure of merit (see section on 'figures of merit').  If left blank, these weights will

 be set to their default values of 1.0.  If the space group contains no translational symmetry, better discrimination may be obtained with  0.8, 1.2 and  1.0  as the three weights.


1                                                                       page  13

------------------------------------------------------------

 Cards 11  FORMAT(20I4)          Phase set numbers

      include only if ISET = 1

  cols  1- 4  NUMSET = number of phase set to be generated

  cols  5- 8   etc.    phase set numbers should be in ascending order

                     = -1 to terminate input of numbers

      As many cards 11 as desired may be input.  This facility allows the

 generation of particular sets of phases from a previous run of the programme.

------------------------------------------------------------

 Cards 12-15  include only if IMK > 0.    (maximum value of IMK is KUSER3/2).

 Cards 12  FORMAT(20I4)    code numbers of the IMK starting reflections

------------------------------------------------------------

 Cards 13  FORMAT(20i4)    markers of the IMK starting reflexions

           = 1 if phase is to be allowed to vary from the start of phase

             determination

           = -1 if phase is to be kept fixed and only allowed to vary during the

           last few cycles of tangent formula refinement

------------------------------------------------------------

 Cards 14  FORMAT(20F4.0)    weights of the IMK starting reflexions (0.0 to 1.0) origin and enantiomorph defining reflexions should be given weights of 1.0 Cards 15  FORMAT(20I4)     phases, in degrees, of the IMK starting reflexions and NUMSET (in field IMK+1)

  NUMSET = identification number of set of phases

      As many cards 15 as desired may be input to produce different starting points for the tangent formula.  Data is terminated by a dummy set of phases with NUMSET = 0.

 MULTANの段階ではNANYを8-10個に増やして解析した.1024個の解の中からCombined Figure of Meritが2.0を越える解(2.2415)が正解であった.

********** Input Data Example **********

cpcot

    7

     

    0

                       10

    0

****************************************

MULTANの出力リストのまとめ部分を抽出

ABS FOM, PSI ZERO, RESIDから総合評価COMBINED FOMを算出した部分

                    cpcot                                                                          

        SUMMARY OF FIGURES OF MERIT OUTPUT BY TANGENT FORMULA

ABS FOM                                    PSI ZERO           RESID

MAXIMUM VALUE             2.0092             5.992            46.77

MINIMUM VALUE             0.4546             0.934            14.80

RELATIVE WEIGHTS            1.00              1.00              1.00

                         (FOR COMBINED FOM)

  NUMSET       ABS FOM          PSI ZERO         RESID       COMBINED FOM

    1          2.0092            5.992           14.80        2.0000 誤った解

  446          1.1302            0.934           20.97        2.2415 第446目の解が正解


1                                                                       page  14

                       *********************************

                       * Preparation of data for EXFFT *

                       *********************************

------------------------------------------------------------

 Card 1  FORMAT(2I5,5X,I5,4F5.0)        E-map parameters

  cols  1- 5   NOSET = serial number of the set of phases from which to

                       calculate the E-map

                     = 0 to choose set with highest combined figure of merit.

                       if EXFFT is rerun with NOSET = 0, the set with the next

                       highest combined figure of merit will be used.

  cols  6-10   LEVEL   all numerical values in the E-map greater than level are

                       underlined with **** in the lineprinter output to

                       facilitate contouring.  If LEVEL = 0, the default value

                       of 100 is used.  Note that the map is automatically

                       scaled between + & -999 (approximately) at the grid

                       points at which it is calculated.

  col     20  IPRINT = 0 to suppress printing of the E-map

                     = 1 to obtain the printing of the E-map

  cols 21-25  FACTOR   the grid on which the E-map is evaluated will have a

                       spacing of approximately 1/factor angstroms.

                     = 0 gives the default value of 3.0

  cols 26-30    XMAX )

  cols 31-35    YMAX )  printing limits along the x, y, z directions

  cols 36-40    ZMAX )

      If IPRINT = 1, the E-map will be printed for the portion of the unit cell

 running from 0.0 to xmax in x,  0.0 to ymax in y, 0.0 to zmax in z.

      If xmax, ymax and zmax are all 0.0, the default values are 1.0, 1.0, 1.0 (complete unit cell).

      The printing of the E-map will normally be used only rarely.  The output is in sections of constant y with x across the page and z running down it on a grid of about 3 points per angstrom.  The maximum number of grid points across the page is 36 (i.e. about 12A in length).  If more are needed, a new page is started.  All numerical values greater than level are underlined with **** to facilitate contouring.

------------------------------------------------------------

 Card 2  FORMAT(6F10.0)          unit cell parameters

      include only if not already supplied to NORMAL

      a, b, c  (angstroms),  alpha, beta, gamma  (degrees).

********** Input Data Example **********

  446

****************************************


1                                                                       page  15

                       **********************************

                       * Preparation of data for SEARCH *

                       **********************************

------------------------------------------------------------

 Card 1  FORMAT(4I5,5F10.0)     Programme parameters

  cols  1- 5     NPC = number of peaks to SEARCH for (<180).

                     = 0 gives the default of (11*n)/9 where n = number of

                       independent atoms (excluding h).  If two fragments are

                       within 2.8a of each other, the default is automatically

                       increased to (3*n)/2.

  cols  6-10      NA = number of additional atoms to be included in the

                       interpretation of the map (NPC+NA < 200)

                     = 0 if no additional atoms.

  cols 11-15    MFRN > 0 if bond sequences to be input for molecular recognition

                     = 0 if no bond sequences input.

  cols 16-20   NPROJ = number of orthogonal projections of each fragment to be

                       plotted (maximum of 3).

                     = 0 programme decides number for itself (maximum of 2).

                     = -1 no projections are plotted at all.

  cols 21-30     DMT   interpeak distances less than DMT are output (maximum of

                       25 distances for each peak).

                     = 0 gives the default value of 2.4A.

  cols 31-40     DMN = minimum allowed bond length in the interpretation

                     = 0 gives the default of 1.1A.

  cols 41-50     DMX = maximum allowed bond length in the interpretation

                     = 0 gives the default of 1.95A.

  cols 51-60   ANGMN = minimum allowed bond angle in the interpretation

                     = 0 gives the default of 85 degrees.

  cols 61-70   ANGMX = maximum allowed bond angle in the interpretation

                     = 0 gives the default of 145 degrees.

      The three orthogonal projections of each fragment which can be requested by the NPROJ parameter are on the least squares plane, the plane orthogonal to the least and most squares plane and on the most squares plane, in that order. If the default is used (NPROJ=0) the programme will always give the first projection (on the least squares plane).  It will output the second projection if the fragment is cylindrical or globular.  The third projection (on the most squares plane) is output only if NPROJ = 3.

      Note that the acceptable bond distances and angles given by the default values do not include all possible chemical configurations of atoms.

------------------------------------------------------------

 Card 2  FORMAT (20A4)         FORMAT for atom cards (include only if NA>0).

  cols  1-80         FORMAT for reading in coordinates of additional atoms on

                     cards 3.   e.g. (3F10.5)

------------------------------------------------------------

 Cards 3  FORMAT as specified on card 2     atomic coordinates (only for NA>0)

      There are na cards, each containing x,y,z, for one additional atom.

      The additional atoms input here are included in the bond-lengths and angles calculation and are also output as part of the picture.  This facility will not normally be used for the interpretation of E-maps, but is very useful in the later stages of crystal structure determination when a difference fourier may be used to locate hydrogen atoms. If SEARCH is used for this task, inclusion of the subtracted atoms at this point ensures they are included in the bond-lengths and angles calculations and also that they appear in the


1                                                                       page  16

 lineprinter picture of the structure.

------------------------------------------------------------

 Cards 4  Free FORMAT       Bond sequence codes (include only if MFRN>0)

      The bond codes allow the programme to compare the molecular fragment it finds with that input here.  They are not used by the programme in its SEARCH for a fragment and are therefore optional.

      The bond codes for any molecule are found as follows:

      (a)  Draw the molecule or fragment whose chemical structure (not

 necessarily geometry) is known.

 e.g.           0--0      0

               i    i    i i

              0      0--0   0

               i    i    i i

                0--0      0

      (b)  Number the atoms in any order

 e.g.           1--3      8

               i    i    i i

              4      2--6   10

               i    i    i i

                5--7      9

      (c)  Specify the connections to each atom as follows:

 1 3 4/2 3 6 7/3 1 2/4 1 5/5 4 7/6 2 8 9/7 2 5/8 6 10/9 6 10/10 8 9//

 which means atom 1 is bonded to atoms 3 and 4; 2 is bonded to 3, 6 and 7 etc.

           Redundant information may be removed from the bond sequence

 e.g.  1 3 4/2 3 6 7/4 5/5 7/6 8 9/8 10/9 10//

 or    1 3 4/2 3 6 7/5 4 7/8 6 10/9 6 10//

 in which each bond is specified only once.

      (d)  Type any of these descriptions in free FORMAT, ending the information with //.  The maximum number of atoms in the molecule is 200.  Up to fivemolecules can be input in this way and the complete data is terminated with ///

      The comparison routines in this version of SEARCH are described by Main & Hull (1978) Acta Cryst., in press.  All identified peaks are put in a data file (on channel 14) for use by NORMAL in one of the recycling procedures.  No peaks will be identified if no bond sequences are input.  In this case, file 14 will contain the peaks from the largest interpreted fragment.  However, it is strongly recommended that the output from SEARCH be examined carefully, since it will most often be the case that user intervention will be either helpful or necessary before recycling can be intelligently used.

********** Input Data Example **********

    0    0    0

****************************************

ピークサーチプログラムで見つけられた分子座標はラインプリンタ用に投影図が書き出される.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

     cpcot                                                                                SET NO.446     FRAGMENT  1

                           PLOT OF PEAKS ON LEAST SQUARES PLANE          SCALE  =  2.50  CMS/A

                                                  68

+                                                68

                                      67                     27

+                                                             27

+                                    67

                              90

+                            90

                                                                    62

+                                                                  62

                                     33

+                                   33

                                                         59          20

+                                                                     20

+                                                       59

                                  85

+                                85

+                                            31

+                                                                              50

+                                                                                                         79

+                                                                                 83

+                                                                   43

+                                                               102

+                                              16

+                                                     5

+                                                                        34

+                                                                                          35

+                                                                             81

+                                       76

+                                               23

+                                                                                      80

+                                                                                                       58

+                                                                        19

+                                                                                     10

+                                                            22

+                         26

+                                                                        6

+                                                                                                               64

+                                  24

+                                                                                             57

+                                                                                             53

+                                                       32

+                                                                                              88

+                                       97

+                                                                                                         41

+                                                                              52

+                                                             11

+                                                                             100

+                                              70

+                                       1

+                                                        69

+                                  93

+                                                                    63

+                          51

+                                                              37

+        74

+                                                                                   87

+                                                                    66

+                              94

+                                                                    96

+                                                                         78

+                                                                      61

+                                                             30

+                                      39

+                                                                                    56

+                                           75

+                                                 47

+                                         17

+                                                   49

+                                                                            2

+                                                                                  77

+                                                9

+                                                    14

+                                                                                     60

+                                                      12

+                                                                   44

+                                                                                                 89

+                                                                28

+                                                           73

+                                                                             55

+                       54

+                                                                         3

+                                                   98

+                                                  4

+            38

+                                    15

+                                                                                    18

+                                                                                               29

+                                                                                  8

+                                                            7

+         42

+                                                                               91

+                                                                                             46

+                                                                                         99

+                               25

+                                                                                          86

+                                                                                         72

+                   40

+                                                           21

+                            92

+                                                   45

+                                                                   13

+                                                               82

+                                                                              84

+                                                     36

+                                                                                 71

+                                              101

+                                                                    65

+                                                              48

+                                                                             95


同時にPEAKというファイルが作られるので,パソコン端末側に転送するかあるいはウインドウ間でCOPY&PASTEして,適当な分子表示プログラム(Chem3D等)で表示させる.

  16.19700  20.99000   9.50500 134.31999  91.72000  90.35000

    1   0.91654   0.10039   0.71643

    5   0.98118   0.24933   0.83630

    6   0.99326   0.18481   0.46550

   10   0.81588   0.31442   0.67992

   11   0.74400   0.23430   0.83691

   16   1.04354   0.21386   0.80041

   19   0.85892   0.29219   0.76030

   20   0.98051   0.40226   0.96471

   22   0.85445   0.25498   0.82697

   23   0.91607   0.24852   0.93442

   24   0.91673   0.16137   0.89727

   26   0.90274   0.17101   1.04021

   27   1.07441   0.42386   1.05675

   31   0.92117   0.34026   1.16239

   32   0.72206   0.27174   0.99548

   33   1.00422   0.34941   1.24725

   34   1.00112   0.26437   0.61226

   35   0.77739   0.38666   0.79738

   37   0.59825   0.20045   0.83239

   41   0.76232   0.29823   0.42574

   43   0.96009   0.29823   0.78069

   50   1.04659   0.31097   0.61521

   51   0.92052   0.01617   0.68339

   52   1.00617   0.13851   0.26814

   53   0.82126   0.27953   0.50422

   59   0.89885   0.42113   1.21909

   62   0.93749   0.45155   1.12982

   63   0.69948   0.18876   0.67320

   64   0.72201   0.36607   0.52053

   66   0.62276   0.16103   0.66153

   67   1.07733   0.38493   1.27752

   68   1.11841   0.41669   1.17501

   69   0.62304   0.24909   0.98994

   79   0.78241   0.46866   0.78160

   85   0.87975   0.38140   1.42638

   88   0.69511   0.33536   0.68603

   90   0.98498   0.39008   1.43519

   94   0.93902  -0.06179   0.45468

   97   0.74637   0.21819   1.06296


1                                                                       page  17

                           **************************

                           * Running the programmes *

                           **************************

      The separate programmes in MULTAN78 communicate with each other through data files.  The programmes, together with the files used and their logical numbers are set out on the next page.  File 9 contains symmetry information, the unit cell contents and the reflexions used by MULTAN for phase determination and the PSI(ZERO) test.  File 15 contains the complete data set input to NORMAL and can be used for subsequent runs of NORMAL.  File 11 contains all the reflexions used by MULTAN together with the SIGMA2 relationships, SIGMA1 information and the tangent formula starting reflexions chosen by CONVERGE.  File 10 contains the phase sets output by MULTAN which are then passed on to EXFFT for the computation of E-maps.  Files containing formatted information (card images) are 9, 12 and 14.  All other files are unformatted (binary).

      Normally, it will not be found necessary to output a SIGMA2 listing, any of the phase sets produced by FASTAN or any of the E-maps.  the 'pictures' output by SEARCH together with their interpretations will be found satisfactory for the elucidation of most structures.  Several E-maps may be produced in a single job by running EXFFT and SEARCH for each map required using default values each time.  The E-maps will be computed in order of the combined figure of merit.  Further E-maps can be obtained in subsequent jobs again by using default values for EXFFT and SEARCH with the same file 10.

      If only a partial structure appears in an E-map, it may be used to compute

      starting phases for a rerun of the tangent formula.  This is done by NORMAL

 which prepares the necessary input file to MULTAN.  Alternatively, if the

 partial structure is in the wrong position in the cell, it can be used to

 estimate the phase and variance of SIGMA2 relationships in a redetermination of

 the structure.  Such oriented groups of atoms can be input to NORMAL or MULTAN

 as already described.

      Note that if only a small number of atoms are missing from the E-map, It may be better to find them using a weighted fourier synthesis than to use the tangent formula recycling procedure.  NORMAL can be used to prepare the input needed by EXFFT to produce the fourier synthesis.


1                                                                       page  18

                          ************************************

                          * Flow diagram of MULTAN78 *

                          ************************************

                                                      ********

      standard data file (15)---><--*NORMAL*---<---input file or card reader (5)

         (binary)                           ********

                                       i      NORMAL requires one binary

                                       i          scratch file (8)

                                       i

                     transfer file (9) v

                      (formatted)      i

                                       i

                                       i

        MULTAN requires one binary  ********

            scratch file (11)                  *MULTAN*---<---input file or card reader (5)

                                                         ********

                                       i

                                       i

                                       i

               binary phases file (10) v

                                       i

                                       i

                                       i

         EXFFT requires one binary  *******

             scratch file (8)                 *EXFFT*----<---input file or card reader (5)

                                                       *******

                                       i

                                       i

                                       i

                 fourier map file (13) v

                      (binary)         i

                                       i

                                       i

                                    ********

                                 *SEARCH*---<---input file or card reader (5)

                                    ********

                                       i

                                       i

             peak coordinate file (14) v

                 (formatted)           i

                 All programmes use channel 6 for lineprinter output

 Numbers in parentheses are the logical numbers by which the files are accessed.

                                Karle recycling

                                ---------------

 NORMAL produces a file on channel 12 (formatted) which should be used as input

 to MULTAN on channel 5.

                                Weighted fourier

                                ----------------

 NORMAL produces a file on channel 10 (binary) for input to EXFFT. MULTAN may

 be bypassed altogether or supplied with a file on channel 5 with ipath = 8.


1                                                                       page  19

                     ***********************************

                     * Computer dependence of MULTAN78 *

                     ***********************************

      All programmes in the MULTAN system have been written in a fairly standard

      FORTRAN IV in the hope that they will be largely computer independent.

 Unfortunately, it is not possible to make them completely machine independent

 and the authors will welcome information from users who have any difficulties

 implementing the system on their own machine.

      The programmes will work on machines with 24-bit words, but this imposes

 limitations due to packing.  Only two cards have to be changed in this case as

 shown below.  On 24-bit word machines, MULTAN will handle a maximum of 417

 reflexions and this restriction is removed completely if the word size is

 larger.

  Serial number

    MU005100   length of integer word (use 32 unless it is smaller)

    EX002900   as above

    SE006300   number of lines per inch on the line printer


1                                                                       page  20

                          ***************************

                          * On changing array sizes *

                          ***************************

      To enable users to alter storage space for reflexions and phase relationships, all relevant array sizes are defined by programme parameters at the beginning of MULTAN:

 Parameter  Present     Function       Dimension of arrays           Constraints

             value

 KUSER1      5000    number of SIGMA2         none             = KUSER4 / 3  and

                     relationships                          mod(KUSER1,KUSER3)=0

 KUSER2      3000    hemisphere of        (IC,IOC,IOR)   3*KUSER2.le.KUSER4-1000

                     reflexions

 KUSER3       500    number of         (MKG,MKANG,PALF,IZ)            none

                     reflexions       IH,E,IPHAZ,WT,ALPHA,      (but see KUSER5)

                                              IORDE

                                   dimension of LIM = KUSER3+1

                                   dimension of KDSTOR,MKSTOR,

                           *************************

      The programme NORMAL converts F(obs) values to E(obs) according to the

 formula

                          E(obs)**2 = F(obs)**2 / (i)

 where  (i) is the expected intensity of that particular reflexion.

      For randomly positioned atoms in the unit cell,  (i) is given by Wilson's statistics as

               (i) = sum over i (F(i)**2) * (Debye-Waller factor))

 where F(i) is the scattering factor of the ith atom.

      This formula is modified slightly for particular reflexions by space group symmetry elements as indicated by Wilson.  For example, in P2 (i) the 0k0 reflexions are expected to have twice the average intensity of other reflexions because of the two-fold screw axis.  The above formula is then modified to

               (i) = 2.0 * sum over i (F(i)**2) * (Debye-Waller factor))

 for these reflexions.  NORMAL automatically uses the correct formula for the space group.

      If something is known about the stereochemistry of the structure, the assumption of randomly distributed atoms need not be made in calculating(i). instead, it can be assumed there are randomly distributed groups of atoms in the unit cell.  In this case, F(i) in the formula for (i) is replaced by G(i), the spherically averaged scattering factor of the ith group.  G(i) is calculated from the Debye scattering formula

        G(i)**2 = sum over j & k (F(j) * F(k) * sin(t*rjk) / (t * Rjk))

 where        t = 4 * pi * sin(THETA) / lambda

 and        Rjk = distance between the jth and kth atoms (in the ith group)

      It is recommended that as much stereochemical knowledge as possible is used in this way, the larger the atomic groups the better.  Ideally, the complete molecule should be included as a single group, but often the whole of its stereochemistry is not known.  However, the geometry of fragments of the molecule may well be available and these fragments can be included as separate groups in the data for NORMAL.  As the group scattering factor is spherically averaged, the orientation of the group as it appears in the data for NORMAL is arbitrary.

      Use of molecular scattering factors in the calculation of E-values is especially valuable for planar molecules consisting of fused six-membered rings These structures can be awkward to solve and the E-map may reveal a hexagonal net rather than a picture of a discrete molecule.  Making use of the known stereochemistry of such molecules in the calculation of the E's has the effect of reducing the height of the spurious peaks and sometimes completely removing the central peak in each ring.

      The Wilson plot is printed out with the symbols wwww following a smooth curve through the points.  The symbols dddd follow a smooth curve through the 'Debye' points, i.e. those obtained using molecular rather than atomic scattering factors.  If no atomic groups have been input to NORMAL, the two curves wwww and dddd will coincide.  If the correct stereochemistry has been input, the Debye curve will be closer to a straight line than the Wilson plot. if the complete stereochemistry has been input, the Debye curve should be a straight line within experimental error.


1                                                                       page  22

      The user may choose one of two methods of scaling the F's to obtain E's.

 The programme always calculates the least squares straight line through the debye points to obtain the Debye-Waller factor and the scale factor needed to put (i) and F(obs)**2 on the same scale.  The least squares line may also be used to estimate (i) from the molecular scattering factors as a function of sin(theta) in the calculation of E's.  This is the recommended method of scaling when the Debye curve does not deviate wildly from a straight line, which ought to be the case if a lot of stereochemical information has been used.  If no stereochemistry is input to NORMAL, the Debye curve becomes identical to the Wilson plot.  In the case where the Debye curve is obviously not a straight line, the K-curve may be used for scaling.  In this method, a non-analytical curve is fitted to the Debye points so that it goes exactly through every point.  The K-curve, instead of the least squares straight line, is then used to estimate (i) in the calculation of E's.  The K-curve is extrapolated by drawing a straight line, parallel to the least squares straight line, through the last Debye point at each end of the plot.  Even if the K-curve is used for scaling, the programme will be helped by the input of stereochemical information provided this makes the Debye curve closer to a straight line than the Wilson plot.  The success (or otherwise) of the structure determination depends to a large extent upon the E's which are produced here and a little care and intelligent thought in their calculation is always handsomely repaid.

      NORMAL includes a facility for applying a separate scale factor to reflexions in different index groups.  The groups used depend upon the space group symmetry and are assigned automatically by the programme.  See 'preparation of data for NORMAL' for more details of the index groups used. The scale factors are computed to make the average value of E**2 equal to unity for each group separately.  From practical experience, the use of this facility is always recommended unless there is good reason for not using it.  Very often, the expected value of the intensity of a reflexion, (i), is a function of index, e.g. whether h, k or l is even or odd, as well as of sin(theta), hence this facility.  In addition, the convergence procedure used to find a starting set of reflexions for the tangent formula is greatly assisted by having the same average E**2 in all major reflexion groups.

      The lineprinter output of NORMAL includes intensity distributions of reflexions in principal zones as well as the distribution for general reflexions.  This is not only a check on the scaling of the E's but also a valuable aid to space group determination if the symmetry is not completely determined by systematic absences.  For normal to produce correct statistics, all unique reflexions to a maximum value of sin(theta) should be supplied, leaving out systematic absences.

      It is always wise to check the distribution of average E**2 as a function of sin(theta).  If this distribution indicates that the E's at high angles are generally too strong, i.e. average E**2 much greater than unity, this can give trouble during phase determination in MULTAN.  It will be better to rescale the E's using a lower temperature factor.

      The file written by NORMAL for input to MULTAN contains much of the input data including symmetry information and unit cell dimensions and contents. The strongest E's are also written on the file, the exact number being chosen by the user.  In general, the number of reflexions used need not exceed 10 times the number of atoms to be located and often 7 times the number of atoms is quite sufficient.  In addition, a number of the weakest E's are output (usually 50, but can be changed by the user) for use in the PSI(ZERO) figure of merit in MULTAN.


1                                                                       page  23

                           *************************

                           * Description of SIGMA2 *

                           *************************

      The SIGMA2 section of MULTAN sets up the SIGMA2 phase relationships which will be used later by the tangent formula.  The data required to do this consist of space group information and a number of strong reflexions either input from cards or from the data file written by NORMAL.  The number of reflexions used need not exceed 10 times the number of atoms to be located in the crystal structure and 7 times the number of atoms will normally be sufficient.  The reflexions may be input in any order.

      All the data are listed immediately after input.  It will be found that each reflexion is referred to by a code number which is listed along with its indices and, in much of the subsequent output, only the code number appears in order to cut down the volume of paper generated by the programme.  In addition, the indices are 'standardised' so that all reflexions will lie in the same part of the reciprocal lattice and it is the phase of the 'standardised' reflexion which is eventually computed by the tangent formula.  SIGMA2 then sets up all

 phase relationships of the form

              phi(-h) + phi(k) + phi(h-k) = q(h,k)

 where q(h,k) is the estimated phase of the SIGMA2 relationship with a weight ka(h,k) given by

              ka(h,k) = 2 * s3 * s2**(-1.5) * E(h) * E(k) * E(h-k)

 where             sn = sum over j (z(j)**n)

 the quantity q(h,k) will be zero unless groups of atoms of known orientation or position have been input either to NORMAL or MULTAN.  In this case, q(h,k) is estimated as described by Main (1976, crystallographic computing techniques, ed. F. R. Ahmed, pp. 97 - 105, munksgaard) and the value of ka(h,k) is also modified.

      In order to save storage space and computer time, only the strongest relationships are retained and used by the tangent formula, the actual number being specified by the user.  Normally, the number of relationships used should be about 8 times the number of reflexions.  Fewer relationships than this may result in failure to solve some structures, while more tends to use computer time unnecessarily.  Difficult structures will need more relationships than 8 times the number of reflexions.  Users should note that this may require expanding the arrays iee and iph throughout MULTAN where the relationships are stored.  The programming has been arranged to make such changes of array size as easy as possible as explained in the section 'on changing array sizes'.

      A SIGMA2 listing is usually unnecessary but, if it has been requested,  the programme outputs all the phase relationships it will eventually use in the tangent formula.  The relationships common to any one reflexion are listed under the heading of that reflexion, in order of magnitude of ka(h,k), so each relationship will appear three times in the listing, once under each of the three contributing reflexions.  All reflexions are referred to by their code numbers, which are printed as negative if the Friedel opposite is to be used. In addition, upon transforming a reflexion to its standard form, a phase shift may occur and this is output in units of pi/12.  Thus, the entry in the SIGMA2 listing of   75 -80  12  10.79   under the heading of reflexion code number 6 signifies the relationship

               phi(6) = phi(75) - phi(80) + pi

 with a value of ka(h,k) of 10.79.  the reflexions are in their standardised

 form and phi(6) means the phase of the reflexion with code number 6.


1                                                                       page  24

      The PSI(ZERO) reflexions to be input to SIGMA2 are always present on the data file written by NORMAL.  If this file is not used for input to MULTAN, The PSI(ZERO) reflexions may also be input from cards.  These reflexions are used for the PSI(ZERO) figure of merit and are optional, but the use of this figure of merit is highly recommended.  Each card should contain h,k,l and E values for very weak or absent reflexions (not systematic absences, however).  Any number of reflexions may be input up to a maximum of the number of strong reflexions previously input, but about 50 reflexions should give a sensitive figure of merit.  The SIGMA2 routine is then used to set up the right-hand-side of Sayre's equation for these reflexions using only the high E's previously input.  This information is passed on to FASTAN where the figure of merit is actually computed.


1                                                                       page  25

                          ***************************

                          * Description of CONVERGE *

                          ***************************

      The CONVERGE section of the programme uses the space group information previously input to determine which reflexions are structure seminvariants, how many reflexions are needed to define the origin uniquely and what phase restrictions are imposed by the crystal symmetry.  This latter information is transmitted to FASTAN and phase restrictions are automatically applied during phase determination.  The information on structure seminvariants and phase restrictions is used to apply the SIGMA1 formula as described later.  CONVERGE also determines the 'best' reflexions for origin and enantiomorph definition and finds a small number of other reflexions which appear to provide a good starting point for phase determination.

      The SIGMA1 formula in CONVERGE is obtained as a special case of the SIGMA2

      relationship in which two of the reflexions are the same.  After 'standardisation' of the indices, such a relationship may be written as

                    phi(i) +- phi(j) +- phi(j) - delta = 0

 where delta is a phase shift caused by translational space group symmetry.  If phi(i) is the phase of a structure seminvariant and is restricted in value, this relationship may be used to estimate it.  For example, if the signs of the two phi(j)'s are different, we clearly have the indication

                         phi(i) = delta

 while if the signs are the same we have

                         phi(i) = -+ 2 * phi(j) + delta

 the value of 2 * phi(j) will be known if phi(j) is restricted in value and once more we have an indication of the value of phi(i).  These phase indications for phi(i) are added vectorially, each with a weight of  E(j)**2 - 1.0,  and the resultant vector is projected on to the direction of the possible phase values for phi(i).  If the length of this projection is  s1,  the probability that it

 indicates the correct phase of phi(i) is given by

               p = 0.5 + 0.5 * tanh(e(i) * s1 / (2.0 * sqrt(n)))

 where n is the number of atoms in the unit cell.

      The indicated phase of each reflexion to which the SIGMA1 formula has been applied is output together with its associated probability.  The number of reflexions contributing to the calculation of the probability is also output in the columns headed 'nc'.  Those reflexions whose probabilities exceed a threshold set by the user are included in the starting point for the tangent formula where they are given an initial weight of  2.0 * p - 1.0.  Because of this weighting, The threshold probability may be set as low as 0.90 or 0.85. however, The SIGMA1 formula must always be used with care and if there are any doubts at all about the scaling of the E's, this threshold should be set quite high.  A particularly bad situation for SIGMA1 is when the average intensity of certain classes of reflexions is very much greater than the average intensity elsewhere.  Under these circumstances, a phase may be indicated with a probability of unity and still be incorrect.  In general, a probability value will be more reliable the larger the number of contributing reflexions.

      The next operation of the programme CONVERGE is to find the 'best' reflexions to use for origin definition and to look for several other reflexions which appear to provide a good starting point for phase determination.  The exact number and type of these additional reflexions is set by the user.  A good starting point will be one which uses the strongest phase relationships and leads quickly to multiple indications for unknown phases, thus increasing the reliability of phase determination during the initial crucial stages.  The algorithm used to find such a starting point is described


1                                                                       page  26

 by Germain, Main & Woolfson (Acta Cryst., 1970, B26, 274) and so will not be

 given in detail here.

      The table of estimated alpha's is output together with the indices and E-value of each reflexion.  In addition, the reflexion type and phase restrictions are given in the columns headed 'mk'.  If a phase value is unrestricted by space group symmetry, the value of mk is 1.  Any other value of mk denotes a restricted phase, one of whose possible values is  15 * (mk - 1) degrees, the other being  15 * (mk - 1) + 180 degrees.  All reflexions marked with an asterisk (*) are structure seminvariants.

      If a convergence mapping has been requested, this is printed out next. Each reflexion is listed as it is eliminated in the convergence procedure with its estimated alpha computed from the reflexions remaining.  Also listed are all the relationships contributing to this estimated alpha, printed, for example, as    1 -97  12  1.88.   If the reflexion just eliminated has a code number of 277, this relationship is   phi(277) = phi(1) - phi(97) + 12*(pi/12) with a ka(h,k) value of 1.88.  As each reflexion is eliminated, those remaining are examined to ensure they contain all the necessary reflexions for origin definition.  If not, the reflexion just eliminated is reinstated and becomes one of the reflexions used to define the origin.

      If CONVERGE can not find all the reflexions required to define the origin uniquely, the programme will print the message, 'origin can not be properly defined' and then stop.  Apart from an unforeseen programming error, the only reason for this can be that the necessary reflexion types are either completely absent or they enter into no phase relationships with other reflexions.  The only recovery is to add the missing classes of reflexions to the data set and to set up more phase relationships.

      After the origin defining reflexions have been found, the other reflexions in the starting set (requested by parameters NSPEC, NGEN and NANY) are chosen. As the phases of these are unknown, they are assigned a number of different values as determined by the appropriate 'magic integer' sequence (Main, 1977, Acta Cryst., A33, 750 - 757  and  1978, Acta Cryst., A34, 31 - 38), or given the two values allowed by space group symmetry if the phase is restricted, thus producing a multiple starting point for the tangent formula.  The sets of phases assigned to the starting reflexions are evenly distributed over the whole possible range of phase sets so that at least one should be close to the correct set.  The number of starting sets is given by  (NSETS)*(2**NS)*(EF) where NSETS is the number of phase sets produced by the magic integers, NS is the number of reflexions whose phases take on just two values and EF is an enantiomorph factor which will have one of the values 1/2, 1, 2 or 4.  The value of NSETS as a function of NGEN, the number of general phases to be permuted in the starting set, is given in the following table along with the r.m.s. Error of the 'best' set of starting phases:

        NGEN         0    1    2    3    4    5    6    7    8    9   10

        NSETS        1    4   12   20   32   50   80  128  206  332  536

        RMS error    0   26   29   37   42   45   47   48   49   50   50

 The value of EF depends upon how the programme decides to fix the origin and enantiomorph for a particular space group and set of data, but it will normally be 1/2 or 1.  The values of 2 and 4 occur when general reflexions are used for origin definition where special reflexions could have been used, as indicated in the following table:


1                                                                       page  27

 EF = 1/2 if an unknown phase is used to define the enantiomorph - the range of

      permutation is restricted to 1/2 the phase circle.

    = 1 if the enantiomorph can be defined by restricting the origin-defining

      phases to fixed values, or

      if the enantiomorph is fixed by the space group.

    = 2 if the enantiomorph is defined by restricting the origin-defining phases

      to two sets of values (one phase must take on two values).

    = 4 if the enantiomorph is defined by restricting the origin-defining phases

      to four sets of values (two phases each take on two values).

      the reflexions which are eliminated last in the convergence procedure will

      be the most important for phase determination and will appear at the end of

      the convergence map.  It will be seen that, starting from the end of the

 convergence map and working upwards, each phase may be computed from the

 relationships listed with it, since these relationships use only the starting set reflexions and phases already determined.  The programme therefore remembers the order in which reflexions appear in the convergence map and determines their phases in reverse order by the tangent formula in FASTAN.  It follows that any reflexion near the bottom of the convergence map with a zero estimated alpha and no contributing relationships represents a weak link during the first few steps of phase determination.  The additional reflexions in the starting set, whose phases are permuted, are chosen to minimise the number of such weak links.

      A good starting point for the tangent formula is one which not only leads quickly to multiple phase indications, but one which makes full use of all starting set reflexions within the first few steps of phase determination. This is especially true of the origin defining reflexions and if they are not all used during the determination of the first 25 unknown phases a warning message is printed, 'MULTAN has difficulty finding good origin defining

 reflexions - please look critically at the convergence results'.  The usual cause of this is that a whole class of reflexions is systematically weak and so is completely eliminated well before the end of convergence.  If one of these reflexions is required for origin definition, the warning message will be printed.  If no action is taken by the user, MULTAN will continue with the tangent formula and may well determine the structure successfully.  However,  if a solution is not found, a better starting point may be found by renormalising the F's so that   = 1  for each class of reflexions separately, thus enhancing the effect of the systematically weak reflexions.

      The final lineprinter output from this section of the programme is a complete listing of all reflexions chosen to start phase determination - the SIGMA1 reflexions, origin definition and those reflexions whose phases are permuted.  As far as possible, the programme chooses reflexions with restricted phases for origin definition.  However, this criterion may be relaxed if suitable reflexions can not be found and general reflexions may be chosen instead.  Under these circumstances, the origin defining reflexions will be used to define the enantiomorph also and sometimes one or even two of them will be given two possible phase values to start the phase determination.  This information is also printed out with the origin defining reflexions.

      The definitions of the permuted phases in terms of the magic integer sequence used are also printed out.  Each general phase is defined by

                                phi(i) = m(i) * x

 where m(i) is the magic integer and x is a variable which takes on different values at equal intervals in the range 0 to 2*pi radians.  The interval of x is chosen to make the r.m.s. Difference in the phases from one set to the next equal to the r.m.s. error in the 'best' set of phases.


1                                                                       page  28

                           *************************

                           * Description of FASTAN *

                           *************************

      The tangent formula section of the programme generates each starting set of phases by assigning phase values given by a 'magic integer' sequence to those reflexions chosen by CONVERGE.  By means of the tangent formula, FASTAN then develops them into a complete set of phases using the phase relationships output by SIGMA2.  Starting phases may be input from cards if so desired. together with each set of phases are output a number of figures of merit to enable the programme (or the user) to decide which phases should be used in the computation of E-maps.

      Phases are determined and refined using a weighted tangent formula (Germain, Main & Woolfson, 1971, Acta Cryst., A27, 368)

                 sum over k (w(k)*w(h-k)*ka(h,k)*sin(phi(k)+phi(h-k)))   t(h)

   tan(phi(h)) = ----------------------------------------------------- = ----

                 sum over k (w(k)*w(h-k)*ka(h,k)*cos(phi(k)+phi(h-k)))   b(h) where w(h) is the weight associated with the phase phi(h).  Each weight is computed from

                          w(h) = amin1(1.0, 0.2*aa(h))

 where                aa(h)**2 = t(h)**2 + b(h)**2

 when groups of atoms of known orientation or position have been input, the tangent formula is modified as described by main (1976, Crystallographic computing techniques, ed. F. R. Ahmed, pp. 97 - 105, Munksgaard).  The weights of reflexions whose phases have been determined by the SIGMA1 formula are initially set at  2.0 * p - 1.0,  where p is the probability of the SIGMA1 determination.  The weights of all other reflexions in the starting set are unity while reflexions whose phases are undetermined are given a weight of zero.  The programme determines initial phases values for the bottom 60 phases from the convergence map and refines them before going on to determine phases for the complete data set.  These are determined in the order indicated by CONVERGE and also refined in the same order.  All SIGMA1 phases are kept constant and contribute to the phase determination with their initial weight until they are determined by the tangent formula with a larger weight. Thereafter they take on the value and weight indicated by the tangent formula. the other reflexions in the starting set are kept constant until the tangent formula refinement has essentially converged; they are then allowed to refine to their final values, which takes about two further cycles.

      Since the tangent formula is weighted, all reflexions are included the whole of the time and there is no rejection criterion for a phase other than the weight being calculated as very small or zero.  The form of weighting ensures that poorly determined phases have little effect in the determination of other phases, while the fact that all phases are included in the phase determination process leads to very efficient propagation of phase knowledge throughout the data set.

      Provision is made in FASTAN for the input of starting phases from cards. This may be used to input one's own starting reflexions if those chosen by the programme are unsatisfactory in some way.  If this facility is used in a recycling procedure in which the starting phases are given by a previously obtained partial structure, It is advisable to make the reflexion markers negative.  This will fix the phases at their input values and ensures the new phases determined conform to the input information.  All phases are then allowed to refine for the last two or three cycles of tangent formula refinement.  If the input phases are allowed to refine immediately, they may change their values completely and so bear no relation to those input.


1                                                                       page  29

                              ********************

                              * Figures of merit *

                              ********************

      For each set of phases determined, three figures of merit are computed  and output with the tangent formula results with the titles 'ABS FOM', 'PSI ZERO' and 'RESID'.  They are used by the programme to decide in which order to compute the E-maps.

      The 'absolute figure of merit', ABS FOM, is a measure of internal consistency among the SIGMA2 relationships and is calculated from

       ABS FOM = sum over h (aa(h) - ar(h)) / sum over h (ae(h) - ar(h)) where aa(h) is defined in the previous section, ae(h) is the estimated value of aa(h) calculated during the convergence procedure and ar(h) is the value of aa(h) expected from random phases, i.e.

                       ar(h)**2 = sum over k (ka(h,k)**2)

 ABS FOM is clearly zero for random phases and unity if the sum of all the aa(h) is equal to its expectation value.  If the space group contains translational symmetry elements, the correct set of phases should give one of the highest values of ABS FOM.  Because the tangent formula tends to maximise the internal consistency of the phase relationships, this is the least reliable of the figures of merit.  Values of ABS FOM above unity are common.  Sometimes the correct set of phases has given ABS FOM as low as 0.7, but this is unusual.

      The next figure of merit, PSI(ZERO), was first used by Cochran & Douglas

 (Proc. Roy. Soc., 1957, A243, 281) and is defined as

        PSI(ZERO) = sum over h (PSI(h)) / PSI(rand)

 where     PSI(h) = magnitude of sum over k (E(k) * E(h-k)) and    PSI(rand) = sum over h (sqrt(sum over k ((magnitude of E(k)*E(h-k))**2))

 The terms in the summation for PSI(h) are those for which phases are known and the values of h in the first summation are those for which the corresponding E-value is either very small or zero, hence the PSI(ZERO) reflexions input to SIGMA2.  Since PSI(h) is essentially the right hand side of sayre's equation for small E(h), it should have a low value for the correct phases.  The value of PSI(ZERO) should therefore be as small as possible.  Practical experience shows this to be a powerful discriminator against incorrect sets of phases -  it is very sensitive to molecular position and is completely independent of the tangent formula.

      The third figure of merit, resid, is merely an ordinary crystallographic residual for the equations

                           E(h) = s *

 where < > means 'average value of' and the scale factor s is computed to minimise resid.  The reliability of this figure of merit increases with the ratio of phase relationships to reflexions.  Clearly, resid should be a minimum for the correct set of phases.

      After all sets of phases have been generated, MULTAN outputs a summary of the figures of merit including a 'combined figure of merit', c, calculated from

                af - af(min)           ps(max) - ps           r(max) - r

      c = w1 * --------------- + w2 * --------------- + w3 * -------------

               af(max)-af(min)        ps(max)-ps(min)        r(max)-r(min)

 where af is ABS FOM, ps is PSI(ZERO) and r is resid.  The weights w1, w2 and w3 given to each term have default values of unity, but may also be input as data to FASTAN.  Clearly, c has a maximum value of  w1 + w2 + w3,  a minimum of zero and is a maximum for the 'best' set of phases.  The combined figure of merit has been found to be a more reliable indicator of the correct set of phases than either of the other three figures of merit separately.  Therefore, it is


1                                                                       page  30

 used by EXFFT to decide on the order of computation of E-maps.

     It should be noted here that when the space group contains no translational symmetry elements, the SIGMA2 phase relationships are perfectly satisfied when the phases are a linear function of the indices.  These phases will necessarily produce the highest possible value of ABS FOM and will be almost invariably wrong.  Therefore in space groups such as P1 or C2, the PSI(ZERO) figure of merit will be much more reliable than ABS FOM and may be given a higher weight in the calculation of the combined figure of merit.


1                                                                       page  31

                    ****************************************

                    * Description of the fourier procedure *

                    ****************************************

      The remaining programmes in the MULTAN system, EXFFT and SEARCH, are normally run consecutively to calculate and interpret E-maps and will be described together in this section.

      Using default values in the data, EXFFT will always produce the E-map with the largest combined figure of merit which has so far not been computed. Alternatively, the particular set of phases which is to be used in the E-map calculation may be specified.  The E-map is not normally output, but is immediately passed on to the peak SEARCH programme SEARCH.

      SEARCH looks for the highest peaks in the map and lists their coordinates in order of peak height.  The number of peaks listed is normally about 22 per cent more than the number of atoms to be located unless the actual number is specified by the user.  SEARCH also looks for bonded sequences of peaks among those located, taking a default value of 1.95A as the maximum bonding distance allowed.  These sequences are sorted into molecular fragments and the fragment number is printed along with the peak coordinates.  Peaks which are not within bonding distance of any other are given a fragment number of zero.  If two fragments containing at least five peaks each are found to be within 2.8A of each other, SEARCH assumes they are joined by a weak peak not yet found.  It then automatically increases the number of peaks to 50 per cent more than the number of atoms and this increased number of peaks is used throughout the rest of the programme.  This automatic increase in the number of peaks is only given if the default number of peaks has been used.  Interpeak distances and angles are calculated and then tabulated in the next section of lineprinter output.

      For each fragment containing more than 8 peaks, SEARCH projects the peaks onto the least squares plane and plots their positions on the lineprinter.  U to two more orthogonal projections can be output if requested or if the programme decides it is desirable.  These are on the plane orthogonal to the least and most squares planes and on the most squares plane, in that order.   If the default option is used (NPROJ = 0) SEARCH will always give the first projection and will output the second if the fragment is cylindrical or globular.  The criterion used to output the second projection is that the sum of the squares of the distances of all the peaks from the plane, sumdsq, should be less than twice the value of SUMDSQ for the least squares plane.  All three projections can be output for any fragment by setting NPROJ = 3.

      The simple stereochemical criteria of maximum and minimum bond lengths and angles are applied to each fragment in an attempt to identify spurious peaks. In order to satisfy these criteria, different peaks may be assumed to be spurious and so a number of interpretations of the fragment are sometimes possible.  The programme searches for different interpretations in this way, but the SEARCH is not exhaustive.  Up to three interpretations which are thought to be significantly different can be output.

      If the user has input the bond sequence of the molecule, this is compared with the bond sequence of each interpretation and corresponding atoms are identified as far as possible.  The comparison routines used are described by Main & Hull (1978) Acta Cryst., in press.  They are completely general and are capable of matching any two molecules no matter what their connectivities.  In this version, the input molecule plays a passive role and is used only as a check on the molecule found in the map.  SEARCH is being developed further to enable the input molecule to be used actively in the E-map interpretation.


1                                                                       page  32

      It may sometimes happen that the peaks corresponding to one or two atoms are quite small and so are not plotted.  This could have the effect of splitting the molecule into two disconnected fragments making it almost unrecognisable in the way it is presented by SEARCH.  The user should be aware of this and, if he suspects it is happening, should request a larger number of peaks to be plotted.  This also has the effect, of course, of plotting more spurious peaks as well as the genuine ones sought for.  As a last resort, the complete map can be output directly from EXFFT.  This should be rarely necessary, however, and is usually reserved for cases where the data are poor and the atoms are not properly resolved.


1                                                                       page  33

                    ***************************************

                    * Check-list for difficult structures *

                    ***************************************

      If MULTAN has failed to solve the structure and the data have been checked for errors, the following points may suggest a possible course of further action.

      (1)  Make sure that all available knowledge of the stereochemistry of the structure has been used in the calculation of normalised structure factors.

 The larger the atomic groups input to NORMAL for the calculation of molecular scattering factors the better.  If the Debye curve is far from being straight, use a K-curve to normalise the structure factors.

      (2)  After normalisation, check the distribution of average  E**2  with sin(theta).  If the E's at high angles are too large (average E**2 > 1.0) it may be necessary to renormalise using a smaller temperature factor.

      (3)  The number of strong reflexions chosen for phase determination should normally be about 7 or 8 times the number of atoms to be located. Changing the number of reflexions (either a greater or a smaller number will do) often makes the programme behave differently and, with luck, it will solve the structure.  The number of reflexions required per atom tends to be more for lower symmetry space groups than for higher symmetry.

      (4)  The number of unique phase relationships used should NORMALly be more than about 8 times the number of reflexions.  Fewer than this may result in failure to solve some structures.  For specially difficult problems, use as many relationships as possible.  MULTAN has been written to make increases in array sizes as easy as possible if this proves to be necessary.

      (5)  If there are too few phase relationships per reflexion and there is room for more relationships in the computer, increase the number of reflexions. this will result in more relationships being set up and will increase the number of relationships per reflexion.  If there are already too many relationships for the computer to hold, decrease the number of reflexions to the point where most of the relationships set up can be held in store.  This will maximise the number of relationships per reflexion.

      (6)  Look critically at the phases determined by the SIGMA1 formula, if any.  Normally the threshold probability for the acceptance of these phases

 can be set quite low, but if there are any doubts about the scaling of the E's, this threshold should be high.  The SIGMA1 formula can not easily be applied when the average intensity of certain groups of reflexions is very much greater than the average intensity of the remainder.  In this situation, a phase may be indicated with a probability of unity and still be incorrect.

      (7)  Make sure the starting point for the tangent formula is a good one. all the reflexions in the starting set should be used during the first few stages of phase determination.  This can be checked by looking at the bottom of the convergence map.  If a starting set reflexion (apart from SIGMA1's) is not used at all during the early stages of phase determination, a better starting point can sometimes be obtained by including at least one other reflexion whose phase depends upon that of the 'late starter'.  However, the remedy for a poor starting point will depend upon the particular situation and general rules can not be given.


1                                                                        page 34

      (8)  If there are 'gaps' near the bottom of the convergence map, i.e. reflexions eliminated with a zero estimated alpha and no SIGMA2 contributors, it may be necessary to increase the number of reflexions in the starting set. even without gaps, an extra starting set reflexion may help, but only at the expense of increased computing time.

      (9)  If the convergence map is very 'thin' near the bottom, i.e. many phases are determined by only one or two relationships each at the very start of phase determination, this may be a cause of failure to solve the structure. the remedy for this is to increase the number of reflexions and use all the relationships the programme sets up.

      (10)  Check to see if all the reflexions at the bottom of the convergence map have something obvious in common, i.e. do they all have the l index even, or h divisible by 3 or h+k even, etc.  If so, then make sure that the average value of  E**2  is equal to unity for all such reflexion groups separately, by renormalisation.

      (11)  Be sure to use the PSI(ZERO) figure of merit especially when the space group contains no translational symmetry.  This figure of merit is automatically used if NORMAL has supplied the input to MULTAN, but the PSI(ZERO) reflexions can be omitted if MULTAN is used in isolation.

      (12)  For a difficult structure, the combined figure of merit may not indicate the 'correct' set of phases very reliably.  Be sure to examine E-maps further down the ranking order than is usually necessary.

      (13)  When certain atoms are missing from an E-map, the molecule quickly becomes unrecognisable.  It may happen that these key atoms are present as rather weak peaks and so are not plotted by SEARCH.  by plotting more peaks (using the parameter NPC in the data for SEARCH), parts of the E-map may become more easily interpretable.

      (14)  A common incorrect solution is a correctly oriented molecular fragment misplaced with respect to the symmetry elements.  Such fragments can be used to help MULTAN determine the structure by including them in the NGP atomic groups in the data for NORMAL and rerunning the programme system in the usual way.

      (15)  When everything else has failed, the authors are usually willing either to discuss a particular structure or to attempt a solution of the structure themselves.  As MULTAN continues to develop, the version of the programme available to the authors may be more powerful than that available to the general user.

 End of MULTAN write-up


--------------------------------- plot program for SUN WS Window ---------------------------------

C ====== MAIN PROGRAM (xstruc.f) ======

C SIMPLE DRAWING FOR CRYSTAL STRUCTURE  1989.8.12  WRITTEN BY K. HARANO

C DEVICE: F6683 DISPLAY AND G-150 VIA NMC ON FACOM M-360

C CODED BY FORT77 USING GRACE IV

C 1989.10.18 BOLD TYPE DRAWING (RETRACE)

C 1991.2.2 BOND CONNECTION TABLE

C 1991.5.20 DRAWING FOR MNDO OPTIMIZED STRUCTURE

C 1991.5.24 DRAWING FOR MOPAC OPTIMIZED STRUCTURE ON SUN4/2 USING GKS

C 1991.6.04 atom drawing and bond distance calculation ON SUN4/2 USING GKS

C 1991.11.08 Input of any file name. Insen syoukyo.

c 1992.4.3 PostScript Adaptation by K. Harano

c 1992.8.27 MULTAN PEAK DRAWING

      character afile*14

      character*80 LINE,TITLEA,dmy

      character*2  ATOM(120)

      character*2  atmn(120)      

      dimension CO(3,120),CA(3,120),P(3,120),

     1CB(3,120),NOA(120),ITBL(120,6),ad(6),angd(3),xyz(3,120)

c

      integer errind, mode, esw, istat, ichnr, pet, ldr

      real    earea(4)

      character*80 datrec0(10),datrec1(10),atomcht

      character*12 chstrs0(5),chstrs1(5)

      integer chlens(5)

      integer intrec(2)

      real    rdummy

      integer status,choice

      data chstrs0 /'x-axis','y-axis','z-axis','kaiten','exit  '/

      data chstrs1 /'Right ','Left  ','Atom  ','Bond L','Change'/

      data chlens /6,6,6,6,6/

      data intrec /5,2/

c

      data XMAX,YMAX,ZMAX /3*-500.0/

      data XMIN,YMIN,ZMIN /3*500.0/

      RAD=3.1415927/180.0

c

      write(*,154)

  154 format('Please input file name (SRCHOLT)')

      read(*,155) afile

  155 format(a14)

      if(afile.eq.'') then

      afile='SRCHOLT'

      endif

C     ------ OPEN MNDO OUTPUT data (M3) ------

      OPEN(1,ERR=99,FILE=afile)

      open(2,err=99,file='kekka',form='formatTED')

c    

C     ------ open workstation & activate ------  

      call gopks(0, -1)

      call gopwk(1, 0, 4)

      call gacwk(1)

C

c     ------------ window/view ------------

      call gswn(1,0.0,2000.0,0.0,2000.0)

      call gselnt(1)

      call gsvp(1,0.0,1.0,0.0,1.0)

C     ------------ Read Title -----------

      DO 11 I=1,2

        READ(1,101) TITLEA

  101 format(A80)

   11 CONTINUE

c     titlea='MULTAN PEAK SEARCH'

      do 12 i=1,20

        read(1,101) dmy

   12 continue

c     read(1,85) ad(1),ad(2),ad(3),angd(1),angd(2),angd(3)

c  85 format(6F10.5)

      do 213 i=1,3

      read(1,'(59x,f8.4)') ad(i)

  213 continue

      do 14 i=1,3

      read(1,'(59x,f8.4)') angd(i)

   14 continue

      print *,ad(1),ad(2),ad(3),angd(1),angd(2),angd(3)

      do 115 i=1,100

      read(1,101) dmy

      if (index(dmy,'HEIGHT').GT.0) go to 116

  115 continue

  116 read(1,101) dmy

C     ------ READ COORDINATES ------

      atomcht=' H H C C N N O O SCLAABBCCDDEEFFGGHHIIJJ'

      isf=2

      biso=3.5

      N=0

   15 N=N+1

c      READ(1,102) atmn(N),ATOM(N),(CO(I,N),I=1,3)

c     read(1,102,end=16) atmn(n),(xyz(i,n),i=1,3),xhght

c 102 format(3x,a2,3F10.5,f10.0)

      read(1,102,end=16) atmn(n),xhght,(xyz(i,n),i=1,3)

  102 format(4x,a2,8x,f5.0,10x,F7.4,3x,f7.4,3x,f7.4)

      if (xhght.lt.1.0) go to 16

      write(2,122) atmn(n),isf,(xyz(i,n),i=1,3),biso

  122 format(a4,5x,i1,3f10.5,f5.2)

      noa(n)=n

      ihght=nint(xhght/300)*2-1

      atom(N)=atomcht(ihght:ihght+1)

c     atom(n)=' N'

      GO TO 15

   16 close(1)

      NA=N-1

      call CRYSTL(NA,AD,ANGD,noa,xyz,co)

c-------------------------------------------------------------------

C     ------ PRINT NAME ------

      WRITE (2,100)

  100 format (1H0,'****** CRYSTAL NAME ******')

      WRITE (2,'(A)') TITLEA

C     ------ PRINT AP data ------

      WRITE (2,104)

  104 format (1H0,'****** ATOMIC PARAMETERS ******')

      WRITE (2,'(A)')TITLEA

      DO 17 N=1,NA

        WRITE (2,102) atmn(n),(CO(I,N),I=1,3)

   17 CONTINUE

C

C     ------ CREATION OF BOND TABLE ------

      DO 305 I=1,NA

        DO 305 J=1,6

         ITBL(I,J)=0

  305 CONTINUE

      DO 310 I=1,NA-1

       IB=0

      DO 310 J=I+1,NA

      R1=(CO(1,I)-CO(1,J))**2+(CO(2,I)-CO(2,J))**2+(CO(3,I)-CO(3,J))**2

      R=SQRT(R1)

      IF(R.GT.1.93.OR.R.LT.0.80) GO TO 310

      IB=IB+1

      ITBL(I,IB)=J

  310 CONTINUE

C     ------ MIN & MAX ------

      CALL MIMAX(NA,CO,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX)

      write(2,110) xmin,ymin,zmin,xmax,ymax,zmax

  110 format(6f10.4)

C     ------ SIZE & SCALE ------

      DX=XMAX-XMIN

      DY=YMAX-YMIN

      DZ=ZMAX-ZMIN

      DMX=AMAX1(DX,DY,DZ)

      SCX=DX/DMX

      SCY=DY/DMX

      SCZ=DZ/DMX

      write(2,111) dx,dy,dz,dmx,scx,scy,scz

  111 format(7f10.4)

C     ------ HEIKOU IDOU ------

      DO 41 N=1,NA

        CA(1,N)=CO(1,N)-(XMIN+XMAX)*0.5

        CA(2,N)=CO(2,N)-(YMIN+YMAX)*0.5

        CA(3,N)=CO(3,N)-(ZMIN+ZMAX)*0.5

       write(2,112) ca(1,n),ca(2,n),ca(3,n)

  112  format(3f10.5)

   41 CONTINUE

C

c-------------------------- mouse  -------------------

c        Initialize the choice device

   25 call gqchs(1,1,10,errind,mode,esw,istat,

     1             ichnr,pet,earea,ldr,datrec0)

c

c        Number of choices, colour

        intrec(1) = 5

        intrec(2) = 0

        call gprec(2,intrec,0,rdummy,5,chlens,chstrs0,

     1             10,errind,ldr,datrec0)

        call ginch(1,1,gok,3,1,earea(1),earea(2),earea(3),

     1             earea(4),ldr,datrec0)

c

c        Get the user's choice (x,y,z, or EXIT)

   24 continue

      call gmsg(1,'Select projection axis by MOUSE\n')

      call grqch (1,1,status,choice)

c

c        select axis depending on the choice

        if (choice.eq.1) then

                ipa=1

                go to 290

        else if (choice.eq.2) then

                ipa=2

                go to 290

        else if (choice.eq.3) then

                ipa=3

                go to 290

        else if (choice.eq.4) then

                kaiten=1

                dyy=1.0

                nrot=0

                ipa=3

                go to 290

        else

                go to 98

        endif

        go to 24

290        continue

      nrot=0

c

c     ------------------ change  axes ------------    

      DO 80 N=1,NA

       XR=CA(1,N)

       YR=CA(2,N)

       ZR=CA(3,N)

      GO TO (81,82,83),IPA

   81 PX=YR

      PY=ZR

      PZ=XR

      GO TO 84

   82 PX=ZR

      PY=XR

      PZ=YR

      GO TO 84

   83 PX=XR

      PY=YR

      PZ=ZR

   84 CB(1,N)=PX

      CB(2,N)=PY

      CB(3,N)=PZ

   80 CONTINUE

C

C     ------ ZAHYOU HENKAN ------

      DO 50 N=1,NA

        P(1,N)=0.0+0.9*SCX*2000.0*cb(1,N)/DX

        P(2,N)=0.0+0.9*SCY*2000.0*cb(2,N)/DY

        P(3,N)=0.0+0.9*SCZ*2000.0*cb(3,N)/DZ

c     write(2,113) p(1,n),p(2,n),p(3,n)

c 113 format(3f10.2)

   50 CONTINUE

C

C     ------ KAITEN ------

      TETAX=0.0

      TETAY=0.0

      TETAZ=0.0

      if(kaiten.eq.1) go to 54

C

c-------------------- mouse -------------------------

c        Initialize the choice device

c

        call gqchs(1,1,10,errind,mode,esw,istat,

     1             ichnr,pet,earea,ldr,datrec1)

c

c        Number of choices, colour

c

        intrec(1) = 5

        intrec(2) = 0

        call gprec(2,intrec,0,rdummy,5,chlens,chstrs1,

     1             10,errind,ldr,datrec1)

        call ginch(1,1,gok,3,1,earea(1),earea(2),earea(3),

     1             earea(4),ldr,datrec1)

c

c        Get the user's choice (x,y,z, or EXIT)

c

   23 continue

      call gmsg(1,'Rotate(L/R)/Atom draw/Length/Change axis\n')

      call grqch (1,1,status,choice)

c

c        select axis depending on the choice

c

        if (choice.eq.1) then

                dyy=2.0

                go to 295

        else if (choice.eq.2) then

                dyy=-2.0

                go to 295

        else if (choice.eq.3) then

                iatom=1

                go to 295

        else if (choice.eq.4) then

                ilgth=1

                go to 295

        else

                go to 25

        endif

        go to 23

295        continue

c

c ---------------------------------------------------------

c     call gclrwk(1, 1)

   54 TETAX=0.0

      TETAZ=0.0

      TETAY=dyy

c

      if(nrot.eq.0) go to 61

      DO 55 N=1,NA

        P(1,N)=-1000.0+p(1,N)

        P(2,N)=-1000.0+p(2,N)

        P(3,N)=-1000.0+p(3,N)

   55 CONTINUE

c

   61 CALL ROTATE(P,NA,TETAX,TETAY,TETAZ)

c     write(*,*) dyy,tetay

C

      DO 51 N=1,NA

        P(1,N)=1000.0+p(1,N)*1.0

        P(2,N)=1000.0+p(2,N)*1.0

        P(3,N)=1000.0+p(3,N)*1.0

   51 CONTINUE

      nrot=1

C

   90 CALL DRAWP(NA,P,TITLEA,ITBL,IATOM,ATOM,atmn,dmx,ilgth,noa)

      if(kaiten.eq.1) go to 54

      GO TO 23

C    

   98 call gdawk(1)

      call gclwk(1)

      call gclks

   99 STOP

      END

c

C *********************************************************************

      SUBROUTINE DRAWP(NA,PP,TITLEA,ITBL,IATOM,ATOM,atmn,dmx,ilgth,noa)

      character*80 TITLEA

      character*2 atom(120),atom1(120),atmn(120),atmn1(120)

      character*5 blgth

C     character*6 atmn(120)

      integer*4 iblgth

      dimension PP(3,120),XX(2),YY(2),zz(2),ITBL(120,6),RC(120),

     1pq(3,120),noa(120),noa1(120)

      real xw(2), yw(2)

      character*(80) datrec,sa(1)

      integer asflst(13)

      integer ldr

      integer ia(5)

      real ra(3),xw(4),yw(4)

      integer lsa(1)

      integer err

C

      data asflst /0,1,1,0,0,1,1,1,1,1,1,1,1/

C      

      call gsfais(1)

C

C     ------ COLOR SET ------

c       ------ black

      CALL GSCR(1, 0,0.0,0.0,0.0)

c       ------ red

      call gscr(1, 1,1.0,0.0,0.0)

c       ------ green

      CALL GSCR(1, 2,0.0,1.0,0.0)

c       ------ blue

      CALL GSCR(1, 3,0.0,0.0,1.0)

c       ------ yellow

      CALL GSCR(1, 4,1.0,1.0,0.0)

c       ------ cyan

      CALL GSCR(1, 5,0.0,1.0,1.0)

c       ------ magenta

      CALL GSCR(1, 6,1.0,0.0,1.0)

c       ------ orange

      CALL GSCR(1, 7,1.0,0.5,0.1)

c       ------ brown

      CALL GSCR(1, 8,0.85,0.90,0.95)

c       ------ violet

      CALL GSCR(1, 9,0.5,0.1,0.67)

c       ------ olive green

      CALL GSCR(1, 10,0.5,0.5,0.0)

c       ------ grey

      call gscr(1, 11,0.8,0.8,0.8)

c       ------ light green

c     call gscr(1, 12,0.8,1.0,0.8)

      call gscr(1, 12,0.55,0.5,0.55)

c       ------ light red

      CALL GSCR(1, 13,0.95,0.75,0.75)

c       ------ light blue

      CALL GSCR(1, 14,0.6,0.8,1.0)

c       ------ white

      CALL GSCR(1, 15,1.0,1.0,1.0)

c       ------ test

c     CALL GSCR(1, 16,0.5,0.5,0.67)

c

c     ------ line width ------

      call gslwsc(6.0)

      call gsasf(asflst)

C      

C     ------ clear scr ------

      call gsfaci(8)

      xw(1)=0.0

      yw(1)=0.0

      xw(2)=2000.0

      yw(2)=0.0

      xw(3)=2000.0

      yw(3)=2000.0

      xw(4)=0.0

      yw(4)=2000.0

      ia(1)=2

      ia(2)=1

      call gprec(2,ia,0,ra,0,lsa,sa,1,err,ldr,datrec)

      call ggdp(4,xw,yw,19,ldr,datrec)

c

C     ------ PRINT CRYSTAL NAME ------

      call gstxci(1)

      call gschxp(2.0)

      call gschh(20.0)

      CALL gtxs(0.0,20.0,72,TITLEA)

C

C     ------ DRAWING OF BONDS ------

      call gsplci( 7)

      DO 350 k=1,NA

       DO 330 l=1,6

        i=noa(k)

        j=noa(l)

         IB=ITBL(I,J)

         if(atom(I).eq.' H'.and.atom(ib).eq.' H') go to 325

         IF(IB.EQ.0) GO TO 325

          XX(1)=PP(1,I)

          XX(2)=PP(1,IB)

          YY(1)=PP(2,I)

          YY(2)=PP(2,IB)

          zz(1)=PP(3,I)

          zz(2)=PP(3,IB)

           call gpl(2,xx,yy)

         if(ilgth.ne.1) go to 330

           xm=(xx(1)+xx(2))/2.0-60.0

           ym=(yy(1)+yy(2))/2.0

           bl=sqrt((xx(1)-xx(2))**2+(yy(1)-yy(2))**2

     1+(zz(1)-zz(2))**2)

      bl=bl*dmx/1.8

      iblgth=int(bl)

      call gschxp(2.0)

      call gschh(20.0)

      call gstxci(0)

      call conv(iblgth,blgth)

c     write(*,*) iblgth

c     write(*,*) blgth

      call gtxs(xm,ym,5,blgth)

  325 if(ilgth.ne.1) go to 330

      call gstxci( 3)

      call gschxp(2.0)

      call gschh(15.0)

      call gtxs(pp(1,i)-60.0,pp(2,i)+10.0,2,atmn(i))

  330 continue

  350 CONTINUE

      ilgth=0

      if(IATOM.ne.1) go to 90

C

C     ====== Circle drawing ======

c     call gsfaci(15)

c     call sort(na,pp,noa,atom,pq)

      call sort(na,pp,pq,atom,atom1,atmn)

C      

C     ------ Diameter of Circle ------

      CALL MIMAX(NA,Pq,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX)

c

      DO 315 I=1,NA

      if(atom1(i).eq.' H') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+10

        else if(atom1(i).eq.' O') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+20

        else if(atom1(i).eq.' N') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+30

        else if(atom1(i).eq.' S') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+40

        else if(atom1(i).eq.'CL') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+50

        else if(atom1(i).eq.'AA') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+60

        else if(atom1(i).eq.'BB') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+70

        else if(atom1(i).eq.'CC') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+80

        else if(atom1(i).eq.'DD') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+90

        else if(atom1(i).eq.'EE') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+100

        else if(atom1(i).eq.'FF') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+120

        else if(atom1(i).eq.'GG') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+130

        else if(atom1(i).eq.'HH') then

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+140

        else

             RC(I)=0.*(pq(3,I)-ZMIN)/(ZMAX-ZMIN)+15

        end if

        go to 315

  315 CONTINUE

c

      DO 340 I=1,NA

         xw(1) = Pq(1,I)

         xw(2) = Pq(1,I)

         yw(1) = Pq(2,I)

         yw(2) = (Pq(2,I)+RC(I)+10.0)

       call gsfaci(8)

           call ggdp( 2, xw, yw, 3, 0, datrec)

c

         xw(1) = Pq(1,I)

         xw(2) = Pq(1,I)

         yw(1) = Pq(2,I)

         yw(2) = (Pq(2,I)+RC(I)+8.0)

      if(atom1(i).eq.' H')  call gsfaci(5)

      if(atom1(i).eq.' C')  call gsfaci(0)

      if(atom1(i).eq.' N')  call gsfaci(3)

      if(atom1(i).eq.' O')  call gsfaci(1)

      if(atom1(i).eq.' S')  call gsfaci(4)

      if(atom1(i).eq.'CL')  call gsfaci(2)

      if(atom1(i).eq.'AA')  call gsfaci(2)

      if(atom1(i).eq.'BB')  call gsfaci(2)

      if(atom1(i).eq.'CC')  call gsfaci(2)

      if(atom1(i).eq.'DD')  call gsfaci(2)

      if(atom1(i).eq.'EE')  call gsfaci(2)

      if(atom1(i).eq.'FF')  call gsfaci(2)

      if(atom1(i).eq.'GG')  call gsfaci(2)

      if(atom1(i).eq.'HH')  call gsfaci(2)

           call ggdp( 2, xw, yw, 3, 0, datrec)

  340 CONTINUE

      iatom=0

c

   90 RETURN

      END

C

      SUBROUTINE MIMAX(N,C,XMIN,YMIN,ZMIN,XMAX,YMAX,ZMAX)

      dimension C(3,120)

c     data aXMAX,aYMAX,aZMAX /3*-500.0/

c     data aXMIN,aYMIN,aZMIN /3*500.0/

      xmax=-500.0

      ymax=-500.0

      zmax=-500.0

      xmin=500.0

      ymin=500.0

      zmin=500.0

      DO 10 I=1,N

        XMAX=AMAX1(C(1,I), xmax)

        YMAX=AMAX1(C(2,I), ymax)

        ZMAX=AMAX1(C(3,I), zmax)

        XMIN=AMIN1(C(1,I), xmin)

        YMIN=AMIN1(C(2,I), ymin)

        ZMIN=AMIN1(C(3,I), zmin)

   10 CONTINUE

      RETURN

      END

C

      SUBROUTINE ROTATE(C,NA,TETAX,TETAY,TETAZ)

      dimension C(3,120)

      PI=3.1415927/180.0

      XX=TETAX*PI

      YY=TETAY*PI

      ZZ=TETAZ*PI

c

      DO 10 I=1,NA

        A1= C(1,I)

        A2= C(2,I)*COS(XX)+C(3,I)*SIN(XX)

        A3=-C(2,I)*SIN(XX)+C(3,I)*COS(XX)

c

        B2= A2

        B3= A3*COS(YY)+A1*SIN(YY)

        B1=-A3*SIN(YY)+A1*COS(YY)

c

        C(1,I)= B1*COS(ZZ)+B2*SIN(ZZ)

        C(2,I)=-B1*SIN(ZZ)+B2*COS(ZZ)

        C(3,I)= B3

   10 CONTINUE

      RETURN

      END

c

      subroutine sort(n,c,c1,atom,atom1)

      dimension c(3,120),c1(3,120)

      character*2 atom(120),f,atom1(120)

C     subroutine sort(n,c,noa,atom,c1)

C     dimension c(3,100),noa(100),c1(3,100)

C     character*2 atom(100)

      real x,y,z

      do 5 i=1,n

        c1(1,i)=c(1,i)

        c1(2,i)=c(2,i)

        c1(3,i)=c(3,i)

        atom1(i)=atom(i)

c     write(2,*) atom(i),c(1,i),c(2,i),c(3,i)

    5 continue

C

      do 20 i=1,n

      do 10 j=i,n

       if(c1(3,j).gt.c1(3,i)) go to 10

        x=c1(1,i)

        y=c1(2,i)

        z=c1(3,i)

c       e=noa(i)

        f=atom1(i)

        c1(1,i)=c1(1,j)

        c1(2,i)=c1(2,j)

        c1(3,i)=c1(3,j)

c        noa(i)=noa(j)

        atom1(i)=atom1(j)

        c1(1,j)=x

        c1(2,j)=y

        c1(3,j)=z

c        noa(j)=e

        atom1(j)=f

   10 continue        

   20 continue

      do 30 i=1,n

c     write(2,*) atom1(i),c1(1,i),c1(2,i),c1(3,i)

   30 continue

      return

      end

c

      subroutine conv(ia,ca)

      character*1 c(4),ten

      character*5 ca

      character*10 a

      a='0123456789'

      ten='.'

      i1=int(ia/1000)

      i2=int((ia-i1*1000)/100)

      i3=int((ia-i1*1000-i2*100)/10)

      i4=ia-(i1*1000+i2*100+i3*10)

      c(1)=a(i1+1:i1+1)

      c(2)=a(i2+1:i2+1)

      c(3)=a(i3+1:i3+1)

      c(4)=a(i4+1:i4+1)

      ca=c(1)//ten//c(2)//c(3)//c(4)

      return

      end

C

      SUBROUTINE CRYSTL(N,AD,ANGD,ITYPE,XYZ,CO)

C     THIS SUBROUTINE USES THE CRYSTALLOGRAPHIC PARAMETERS A, B, C,

C     ALPHA, BETA, AND GAMMA TO TRANSFORM THE CRYSTAL COORDINATES

C     INTO CARTESIAN COORDINATES.

C     TAKEN FROM MM2 (MODIFIED BY K. HARANO)

C

      DIMENSION AD(6),ANGD(3),XYZ(3,150),ITYPE(150),CO(3,150)

C     INTEGER*2 ITYPE

C     READ (INP,5) A,B,C,ALPHA,BETA,GAMMA

C   5 FORMAT (6F10.5,I5)

      A=AD(1)

      B=AD(2)

      C=AD(3)

      ALPHA=ANGD(1)

      BETA=ANGD(2)

      GAMMA=ANGD(3)

C

      RADN=57.29578

      PIR=1./RADN

      AL=PIR*ALPHA

      BT=PIR*BETA

      GM=PIR*GAMMA

      SINA=SIN(AL)

      SING=SIN(GM)

      COSA=COS(AL)

      COSB=COS(BT)

      COSG=COS(GM)

      Q = (COSB-COSA*COSG)/SING

      P = SQRT(SINA*SINA-Q*Q)

      DO 10 I=1,N

      XX=XYZ(1,I)*A

      YY=XYZ(2,I)*B

      ZZ=XYZ(3,I)*C

      CO(1,I) = XX*SING+ZZ*Q

      CO(2,I) = YY+XX*COSG+ZZ*COSA

   10 CO(3,I) = ZZ*P

      WRITE (6,20) A,B,C,ALPHA,BETA,GAMMA

   20 FORMAT (1H0,'THE ABOVE ARE REDUCED CRYSTAL COORDINATES.  TO ',

     1    'CONVERT THEM TO'/1H ,'CARTESIAN COORDINATES, THE FOLLOW',

     2    'ING PARAMETERS ARE USED'/1H ,'A=',F12.5,3X,'B=',

     3    F12.5,3X,'C=',F12.5/1H ,'ALPHA=',F12.5,3X,'BETA='

     4    ,F12.5,3X,'GAMMA=',F12.5)

      WRITE (6,30)

   30 FORMAT (1H0,'CONVERTED ATOMIC COORDINATES'/1H ,1X,'ATOM',8X,

     1    'X',11X,'Y',11X,'Z')

      DO 40 I=1,N

      K=ITYPE(I)

      WRITE (6,50) I,CO(1,I),CO(2,I),CO(3,I),K

   50 FORMAT (1H ,1H(,I2,1H),3F12.5,3X,1H(,I2,1H))

   40 CONTINUE

      RETURN

      END