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. |
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).
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 valuesAll 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.
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: |
| ![]() |
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.
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:
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.
{ [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) |
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.
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 ...
The program asks for the name of the Input file to be loaded. Now click
|
![]() 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.
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).
{ 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
|
![]() X
|
|
![]() 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).
{ }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). |
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.
{ 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
|
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.
{ 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
|
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] } |
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.
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
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 !