単結晶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