SCHAKAL 99 Primer

Note Visualization of this text has been tested with Netscape 7.0 and MS Internet Explorer 5.5 . Any browser used for the reading of this text should be able to handle HTML 4.x including style sheets. Reading is optimal if the width of the browser window is adjusted to be about the width of the following bar.

Main TOC

Table of Contents

P.0. Preface
P.1. Starting
P.2. The GUI
P.3. Help Functions
P.4. Text Window
P.5. Loading a Structure
P.6. Distributed Command Files (DCFs)
P.7. Setting the light source position
P.8. The plain 'Use' command / Red & green stars
P.9. Clearing the GUI
P.10. Labeling of atoms
P.11. On-screen rotations
P.12. Saving a selected orientation
P.13. Saving a screen image
P.14. Printing
P.15. Translating a CIF file
P.16. Intact building blocks ("molecules")

Preface

SCHAKAL is an ancient program which originally was driven exclusively by typed commands. Since the release of SCHAKAL 97 there is also a graphical user interface (GUI). This GUI, however, is nothing else but a tool to generate SCHAKAL commands via mouse clicks. It therefore differs severely from the GUIs of most of the programs you are probably used to.

If you nevertheless are interested in learning how to use SCHAKAL 99 this primer will teach you on a very basic level. Much more information will be given in Sessions 1 to 5 of the "Tutorial Manual" (a HTML version of which is presently under construction).


Command syntax

The commands used within this primer session (generally by means of mouse clicks) are all composed due to the following syntax:

LL1 [LL2 [p1 [p2 [p3]]]]

with

LL1 = 1st label word (usually a verbum)
LL2 = 2nd label word (usually a substantive)
p#  = parameter values
All items in square brackets are optional. Two examples (taken from below) are 'Use' (1st label word only) and 'Set Light 45 35'. The general syntax of SCHAKAL commands knows few more elements. A very complicated example (using this enhanced syntax) would be

'Change Size *1.5 Fe P Fe=Fe Fe=P'

which tells the program to multiply the radii of all Fe and P atoms as well as the thicknesses of the Fe-Fe and Fe-P bond sticks by 1.5 .

While not done within this primer session, commands may still be typed at the keyboard. The following is in any case worthwile to know:

Note With respect to typing the two label words of SCHAKAL commands can generally be abbreviated to their first letter. Furthermore, SCHAKAL is not case-sensitive with respect to typed input.

Therefore, the above commands might well be replaced, e.g., by 'U', 's l 45 35', and 'c s *1.5 fe p fe=fe fe=p' for typing.


P.1. Starting

Note In the following text, clickable control fields (CFs) will generally be specified with their text label enclosed in { curly brackets }. Single keys of the keyboard will be marked by < arrow brackets >.

Depending on the operating system of your computer, do the following to run SCHAKAL 99:

UNIX: from a UNIX shell (with the path including the SCHAKAL 99 main directory) type ...
s
.
MS-Win:
either ... (double-)click the icon sch99.ico on the desktop (if it is there)
or ... (double-)click one of the two files s.bat or sch99.exe in the SCHAKAL 99 main directory (MS-Explorer)
or ... in an MS-DOS box (with the path including the SCHAKAL 99 main directory) type ...
s

The welcome window of SCHAKAL 99 is displayed. To continue type

<RETURN>

MS-Win: Instead of typing <RETURN> you could have clicked { Continue } as well. Later on, at the beginning of another session, you may click { Window Size} / { Help } to learn about some features which are specific for the MS-Win version.

The program now reads the initializing command file sch99.ini. The graphics window of SCHAKAL 99 is openend and the GUI is built up.


P.2. The GUI

As already mentioned above, the GUI of SCHAKAL is of the "home-made" kind, i.e. it conforms neither to the MS-Windows nor to the OSF-Motif standards (which means that getting familiar with it will take its time). It can be seen as a matrix of control fields (CF) on top with 4 rows and 16 "main" columns plus one column of CFs (accompanied by the narrow dark green vertical bar) at the lower left, all CFs bearing more or less incomprehensible text.

The different parts of the GUI are:


(1) 1st row to select groups of commands
(2) "command column" displaying the selected group(s)
(3) ten differently coloured CFs for frequently used actions
(4) Distributed Command File (DCF) directories
(5) atom code (AC) array
(6) two OK buttons
(7) 4th row for access of the on-line manual (among others)
(8) vertical bar bearing (user-defined) command-line CFs
(9) the drawing area
1
2
3
4
5
6
6
7
8
9

In the upper left corner of the "drawing area" (9), SCHAKAL's command input prompt ">>>" appears (as part of the frameless text "window"), indicating, that SCHAKAL is ready for input of a command. If you once more type

<RETURN>

another prompt will appear. The same is valid if you click (left mouse button) the large yellow CF

{ [OK] }2/3,3
X

which simply emulates the typing of <RETURN> (note that the index 2/3,3 specifies the position of the button in the 2nd and 3rd row, 3rd (of 16) "main" column of the GUI). After two or more additional

{ [OK] }2/3,3

text will be erased and the next prompt will be displayed in "line 1", again.


P.3. Help Functions

You can get a brief information on most of the control fields (CFs) of the GUI by clicking (an individually coloured part of ) the CF with the right mouse button. Try this by clicking

{ [OK] }2/3,3  (1)
1
2

Use of the much more detailed "hierarchical" on-line manual is restricted here to the info how to access its root table ("table of contents"; for more, see chapter 1.2. of the Tutorial Manual): Click

{ 0 }4,4 (2)

P.4. Text window

The text "window" displaying now the "root table" differs from other text windows you are probably used to:

Anytime the screen is erased (see below), the text window will be erased as well. With the 'Push' command you can remove the text window without erasing graphics (if there is any). The command is available from one of the 10 coloured CFs at the left of the 2nd and 3rd row of the GUI. Click

{ P }2,2
X

Note, that erased text cannot be regenerated except by repeating the command(s) which produced it. For more information, see section 1.3. of the Tutorial Manual.


P.5. Loading a Structure

Next, you will load a data set describing the geometry of a molecular model into the program. Such data sets are usually stored in files, which are called "Input files" in the SCHAKAL context. In section P.15. you will learn how to translate a crystallographic CIF file into a SCHAKAL Input file.

Loading of an Input file is accomplished with the 'Use Inputfile' command. You could execute this command by typing 'u i' on the keyboard (without apostrophes, but followed by <RETURN>) or by means of mouse and GUI. Let's try the latter method now; please note, that in the following notation, "R" means "right part of" (the corresponding control field).

As the 'Use ...' commands are already displayed in the "command column" (per default) we can activate the command by simply clicking ...

{ InputfR }6,2 (1)

The program asks for the name of the Input file to be loaded. Now click

{ * }4,4 (2)

1
2

A "file selection box" appears. You will see, that ex1.dat is one of the names appearing in the list. Select this file as usual in the file selection box.

UNIX: If the file selection box option could not be installed, a simple list of file names is printed, instead; in this case click { ex1 }Text.

The file ex1.dat is loaded, some text is printed in the text window.


P.6. Distributed Command Files

There are many different possibilities to get a drawing of the structure. Presently we will use one of the "distributed Command files" (DCFs) which are available from the DCF directories in the 2nd and 3rd rows of the GUI.

Each DCF contains a number of regular SCHAKAL commands (including comments). When a Command file is loaded, the commands it contains are executed one after the other. The DCFs from the DCF-directories in columns 4 to 7 (except those in the { fourr } directory) are all designed to make differently styled drawings of the model. Click [the right (yellow) part !] ...

{ quickR }3,4
X

The "default DCF" of the DCF-directory { quick } is executed: A coarse, "flatly" shaded but fast drawing of the ball-and-stick model of the structure (an organometallic molecule) using "depth cueing" appears.

Now let's make a more sophisticatedly shaded drawing of the model using a DCF of the DCF-directory { shade }. This time we click the left (light green) part of this directory which lets its contents appear in a box within the "command column". Click (with "L" meaning "left part of") ...

{ shadeL }3,5 (1)
1

2
Note Within the GUI, red and yellow colour (of parts of CFs or of letters) usually mean that control is immediately passed from the GUI to the program (i.e, some action is performed, e.g. setting of a switch). Clicking light green and light blue parts of CFs leaves control within the GUI.

Now click

{ rdots }16,2 (2)

The directory listing disappears, and a dot-shaded version of the model is drawn on a white background. The image looks still rather flat. The reason is, that per default the imaginary light source which affects the shading of balls and sticks is at an unfavourable position, namely at the positive Z axis (pointing towards you).


P.7. Setting the light source position

You may change this with the help of the 'SET Light a1 a2' command which rotates the light source a1 degrees about the Y axis (pointing upwards) and then a2 degrees about the Z axis. To use this command via the GUI, we first have to make it be displayed in the "command column". Click (with "C" meaning "central part of") ...

{ SETC }1,9 (1)
1

2

The { SET } group of commands is now displayed in the "command column".

We now click the left (light-blue) part of the CF { Light } (we don't want to have the command executed instantly as we first want to specify the two angles a1 and a2):

{ LightL }11,2 (2)

Setting of the parameters could be done now in two alternative ways:

a) by simply typing '45 35' (without apostrophes, but followed by <RETURN>)

b) by setting the two parameters within the two parameter boxes which have appeared in the 2nd and 3rd rows of the GUI.

Let's try the 2nd alternative: click on the red and grey parts of the increase/decrease control fields within the parameter boxes to learn how to adjust the parameters to the new values 45 and 35. Once you have set the right values, the complete 'Set Light 45 35' command is executed by clicking

{ [OK] }2/3,3

X


P.8. The plain 'Use' command / Red & green stars

Now let's get another dot-shaded drawing of the molecule. Click

{ USEL }1,1
X

The latter action (clicking of the red star) executes a plain 'Use' command (a command without 2nd label word and without any parameters).

X
Note The plain 'Use' command generally causes that Input file or Command file to be re-loaded which has been selected most recently by the user.

In this case, this is the Command file which generated the dot-shaded drawing. This DCF is now re-executed. You can see that the imaginary light source is now at the new position.

To verify that the red star in the { USE } CF actually means a plain 'Use' command, click

{ USEC }1,1

The { USE } group is now re-displayed in the command column to the left. You will see that on top there is an unlabeled line bearing another red star. Clicking the red star of the { USE } CF in the 1st row therefore executed the corresponding command (which is composed of the 1st label word "Use" and nothing else, i.e., which actually is a plain 'Use' command).

In a similar way, clicking the green star in the { USE }1,1 field would have executed the command 'Use Commandfile' (even if another command group was displayed in the command column, at that time).


P.9. Clearing the GUI

You will see that the two parameter boxes are still open. The reason is that the 'Set Light' command still is "latently activated" (see section 1.5. of the Tutorial Manual). You can desactivate it and concurrently remove the parameter boxes by clicking one of the two

{ }2/3,2

X

Note These two unlabeled CFs will generally clear the GUI (i.e. reset its default state) and desactivate a latently active command (if any).


P.10. Labeling of atoms

Let's now look at the DCF directory { shade } once more:

{ shadeL }3,5 (1)
1

2
3

The first DCF in the list ("norml") is flagged with a "*" which means that it is the "default DCF" of this directory (i.e., the one which is executed when the right, yellow part of { shade }3,4 is clicked). This time we will use this DCF but additionally we want to have the atoms labeled with their names. To this end we first click the CF { w } ("write") on top of the list

{ w }1,7 (2)

The CF turns light green. Now let's execute the DCF assigned to "norml":

{ norml* }2,9 (3)

A smoothly shaded drawing is produced with all atoms (except the H atoms) labeled. We can see that the molecule contains Fe, C, N, and O atoms. The unlabeled (white) atoms are H atoms. More about labeling is found in sections 2.7. and 4.5. of the Tutorial Manual.


P.11. On-screen rotations

The default orientation of the EX1 molecule is not a very attractive one. There are several ways to select another orientation. The mostly convenient one is via the 'Orient' command which switches to the so-called "on-screen rotations mode" (OSR mode):

{ ROTL}1,5
X

The "On-screen rotations box" with a number of CFs appears on the GUI. The screen is erased and a wire model of the current structure model is displayed. The wire model is drawn with a fixed depth-dependent darkness.

Note As long as the "On-screen rotations box" is up, none of the "external" CFs except { <Esc> }4,3 will respond to clicking.

In the following, position indices of CFs printed italic refer to the position within the OSR box (see image below for the meaning of the 2nd [= "column"] indices). To rotate the model click, for example


{ > }2,4 
X
1
2
3
4
5
6
7
8
9
10

for some time. As long as you press the mouse button, the wire model rotates about the Y axis (pointing upwards); it stops on releasing the button. The CFs labeled with other "arrow tips" work correspondingly;
{ + }1,4  and { - }3,2  rotate about the Z axis (pointing towards you).
{ s }3,4  and { f }1,2  make the rotation slower/faster.

Note The default speed of the rotation can be set with the 'Orient Defaults' command, which you may insert into the file sch99.ini to make it permanent.

{ R }1,1  lets you (presently) switch between the modes R(otation) and 90 degree F(lips) (see P.15.).

{ D }4,1  will toggle between two wire model display styles (with small "atom circles" added / removed)
{ Q }4,2  will switch to a rotatable quick, "flatly shaded" drawing.

Try the latter and then rotate the model until you have found an orientation you like.

More information on the functions of the "on-screen rotations box" is given in chapters 1.7., 2.2., 2.5., and 2.6 of the Tutorial Manual. For now, we leave OSR mode by pressing <Esc> or by clicking

{ Esc }4,3
X

P.12. Saving a selected orientation

After leaving OSR mode, the new orientation (plus most current switch/parameter settings of the program) may be saved on a file by means of the 'Use Outputfile' command. This file may then anytime be re-loaded via 'Use Inputfile'. As the { USE } group is already displayed in the command column, you just may click

X

{ OutputfR}10,2 (2)

The program asks to specify the name of an "Outputfile". You can use { * }4,4 to open a file selection box or you can simply type (the rarely used) ...

test

... followed by <RETURN> or by { [OK] }.

If the file already exists, answer the program's request with another <RETURN> or { [OK] }, to override the old file. The orientation/parameter settings are now stored on the file somepath|test.dat with somepath| replacing ".\dat" (MS-Win) or "./dat" (UNIX). You can re-load this orientation anytime by using this file as an Input file in the context of the 'Use Inputfile' command (see P.5.)

Note that it's not the image or drawing which has been saved onto somepath|test.dat but only some of the data and parameters to generate this image! How to save an image is described in the next section.


P.13. Saving a screen image

Let's now produce another drawing of the molecule by means of one of the DCFs. Click

{ varyZL }3,6 (1)
1
3

2

{ light }14,2 (2, on the left)

to generate a shaded drawing with distance-dependent darkness (a kind of "depth-cueing") towards a white background.

You can save an image drawn to the screen by means of the 'Use Savefile' command. This command is, of course, available from the { USE } command column but also (anytime) from the 4th row of the GUI. Click

{ Save }4,9 (3, above)

The program asks to specify the name of a "Savefile". Again, you can use { * }4,4 to open a file selection box or you can simply type

im1

to save the image in the file somepath|im1.tif where "somepath|" probably is ".\sif" (MS-Win) or "./sif" (UNIX). It can anytime be restored by means of the 'Use Restorefile' command. Note: in section 3.5 of the Tutorial Manual you may learn how to generate TIFF images of enhanced resolution.

With a plain 'Set Background' command we reset the black background (which concurrently will erase the image):

{ SETL }1,9
X


P.14. Printing

To get a hardcopy of a SCHAKAL image you can load a TIFF file (generated, e.g., by means of the 'Use Savefile' command) into some other program, e.g. a text processor or an image processor and print the image from there.

You can also print directly from within SCHAKAL. To this end, however, you first have to leave the program's so-called "screen device" which has been switched on by default and activate one of the various "printer devices" of the program. This is done with the 'Generate Device' command:

{ G/SC }1,8 (1)
1

2

{ DeviceL }5,1 (2)

Three parameter boxes appear in the 2nd and 3rd rows of the GUI.

The next step will depend on the operating system of your computer:

MS-Win: You will now select the "Windows Printer" device:
adjust the parameter in the leftmost parameter box to 8 1).
Then click { [OK] }

the usual printer selection box appears; just select the printer and (possibly) adjust some of its properties, then click { OK }. No printing is performed right now !

UNIX: You will select the "EPS" device:
adjust the parameter in the leftmost parameter box to 6 1).
Then click { [OK] }
1) Users in the US should probably set the parameter in the 2nd parameter box to 3 to activate US A format !

The screen is erased, background colour changes to white again, and a grey stripe appears at the top or at the right side of the screen. The residual white area simulates that part of the A4 (or A) paper sheet onto which something can be drawn. Actually, the new device is a file, onto which graphics commands (to drive the printer) will be stored. Per default, the file's name is schakal.xxx ] with xxx differing for the different printer devices . Now let's draw something:

{ shadeR }3,5 1
1
2

As you see, the drawing information which is sent to the file, is also used to emulate the drawing on the screen (the screen drawings often being of much less quality than the file image).

UNIX: The following will work only if a Postscript printer is connected to your computer and if the script file cppy6.sh has been set up properly. Otherwise you can make use of the file schakal.eps (which has been written right now) after the program has been terminated.

You may now send the Printer file directly to the printer by a 'Use Printerfile 2' command, i.e. by clicking

{ Print }4,10 (2,above)

The Printer file is now copied to the printer (which will probably require some time).

UNIX: After this, the drawing will be erased and then re-visualized on the screen.

When the copy or print operation has been performed, the command prompt ( >>> ) appears and the file is ready to store additional printer commands.

X

We, however, will leave it now as it is and move back to the "screen device" with a plain 'Genr Device' command:

{ DeviceR }5,1

The black background set up at the end of section P.13. is restored. Drawing will from now on be exclusively sent to the screen, again.


P.15. Translating a CIF file

SCHAKAL is able to translate crystallographic files of a number of different formats into "Input files". Nowadays, the most common format is the .CIF format, thus we will use this format in the following.

Translation of a CIF file is performed via the 'Use Xtaldatafile 6' command:

1
2
{ USEC }1,1 (1)
{ XtalDatL}7,1 (2)

Type '6' or set the parameter in the parameter box to 6. then type <RETURN> or click

{ [OK] }

Open a file selection box by clicking { * }4,4 and select the CIF file of your choice; close the file selection box. The program now asks for the name of the "Input file" into which the CIF file is to be translated. The mostly convenient way to answer this question is to click

{ = }4,5

Using "=" as a file name means that the "name core" (which is the file name with path and extension omitted) of the Xtaldatafile is used as the name core of the Input file, i.e., somepath|myname.cif is translated into someotherpath|myname.dat.

X

The CIF file is translated and the Input file is right away loaded. You can display the structure by a DCF or by using the on-screen rotations mode, i.e., by clicking

{ ROTL }1,3
X

You will see that just one unit cell of the structure is displayed, i.e., that all atoms lying outside the unit cell walls have been omitted while all atoms within the unit cell have been accounted for. In session 5 of the Tutorial Manual you will learn how to generate models of different size and shape.

The three axes a,b, and c can be recognized by the grey (a), red (b), and green (c) colours of the corresponding unit cell edges. Switch to F(lip) mode by clicking

{ R }1,1 
X

You now may use the CFs { a }1,2 , { b }2,3 , or { c }3,4  (not to be seen in the image above) to align one of the three axes perpendicular to the drawing plane. Click { F }1,1  to return to R(otations) mode.

Once you have inspected the structure you can leave on-screen rotations mode by typing <Esc> or by clicking

{ Esc }4,3


P.16. Intact building blocks ("molecules")

For a crystallographic structure it is in many cases worthwile to check for the independent building blocks ("molecules") of the structure. This is especially reasonable for molecular structures but may also be of interest for solid state structures (Note: if your structures never consist of bulding blocks but only of 3D frameworks you may skip this section). SCHAKAL offers a procedure which produces the minimal number of intact building blocks necessary to build up the crystal structure. To try it click

{ crystL }2,8 (1)
1

2

Then click

{ build }11,2 (2)

The program requests the name of the Input file containing the crystallographic data. To re-load the last specified Input file (i.e., the one we had used to store the translation of the CIF file) we simply use an "empty" file name (see section 1.4. of the Tutorial Manual) by clicking

{ [OK] }

After a short while, the building blocks are displayed on the screen (without unit cell edges). In the case of a molecular structure these are supposed to be the molecules of the asymmetric unit (completed to intactness). In the case of a solid state structure, what you see may not in any case be what you expected to get (for several reasons). For more information, see session 5 of the Tutorial Manual.

This is the end of the primer session. Terminate the program with the 'Quit' command e.g., by typing 'q' or by clicking

{ - }2,1
X

and try to recover from the efforts of reading all this stuff. Good luck !