FELIX startup

Once installation is complete, the FELIX environment is ready to use. Make sure that /usr/accelrys/cshrc is sourced, either from your .cshrc file or explicitly by entering at the UNIX prompt:

 > source /usr/accelrys/cshrc
Note: This path may be different for your installation. Please ask your system administrator for details.

You can start FELIX from any directory by entering at the UNIX prompt:

 > felix

or:

 > felixX

You can run several copies of FELIX from within the same directory, provided that you have enough licenses.


The .Xdefaults file

FELIX now looks at the .Xdefaults thath is in your home directory. You could modify several features.

To set the font in FELIX:

 felix*fontList: -adobe-helvetica-bold-r-normal--14-*

To set the background color of the main FELIX window:

	felix*background: gray75

To set the foreground color of the main FELIX window:

	felix*foreground: black

To set the canvas background color for the main FELIX window.

	felix*backgroundColor: grey35

To set the location and size of the FELIX window:

	felix.geometry: 1100x900+60+30

To set the number of non-modal control panels that can appear on the screen at any one time:

	felix*numGDialogs: 1

To set the position of non-modal control panels:

	felix.NonModalgeometry: 40x5-5-5

To set the color of entry boxes when the cursor is outside the box:

	felix*focusoutbackground: white

To set the color of the entry box when the cursor is inside it:

	felix*focusinbackground: white

To set the color of the text in a button that has a value of zero (off):

	felix*zerobuttonforegroundcolor: red

To set the background color of the help text for tools:

	felix*baloonbackground: blue

To set the foreground color of the help text for tools:

	felix*baloonforeground: white

To set the background color for the spreadsheet viewer:

	FelixDataBaseViewer*background: gray75

To set the foreground color for the spreadsheet viewer:

	FelixDataBaseViewer*foreground: black

To set the location and size of the spreadsheet viewer:

	FelixDataBaseViewer.geometry: 500x400-1-0

To set the background color for the real-time phasing window:

	RealTimePhase*background: gray75

To set the foreground color for the real-time phasing window.

	RealTimePhase*foreground: black

To set the location and size of the real-time phasing window:

	felix.RTPgeometry: 40x5-2-2

To set the location and size of the real-time base window:

	felix.RTBgeometry: 40x5+18+826

To set the location and size of the real-time peak-fit window:

	felix.RTPFgeometry: 40x5+147+825

To set the position of the real-time draw window:

	felix.RTDgeometry: 40x5+1142+203

To set the frame color of the active window:

	felix*activeColor: IndianRed4

To set the frame color of inactive windows:

	felix*normalColor: DarkSeaGreen4

To set the maximum width for any virtual frame:

	felix*maxcanvasWidth: 3000

To set the maximum height for any virtual frame:

	felix*maxcanvasHeight: 3000


The initialization macro

The init.mac file determines every facet of how FELIX starts. FELIX uses a three-step search to find the init.mac file. FELIX first looks in the current working directory. If the init.mac file is not found there, FELIX next searches the path defined by the macpf (1-9) symbol in your .felixrc99 file, which resides in your home directory. If the init.mac file is still not found, FELIX finally searches the installation directories.


The init.mac file format

The line numbers shown below do not appear in the init.mac file, but are used here for reference:

1  c**init.mac
;
3 ;DEFINE INTERACTIVE OR BACKGROUND USE
4 ;Set active = 1 for interactive menus
5 ;Set active = 0 for background batch processing
6 ;
7 def active 1
8 ;
9 ;DEFINE SINGLE-USER OR MULTI-USER USE
10 ;Set n_users to the number of users
11 ;
12 def n_users 1
13 ;
14 ;DEFINE HOW MANY DIFFERENT MENU INTERFACES ARE AVAILABLE
15 ;Set n_menus to the number of menu interfaces
16 ;
17 def n_menus 1
18 ;
19 ; CHECK IF .felixrc99 FILE EXISTS
20 ;
21 env 'HOME' home
22 inq nul '&home/.felixrc99' exists
23 if &exists eq 1 skip1
24 ;
25 ;SETUP ESSENTIAL DIRECTORY PATHS
26 ;
27 env 'BIOSYM' syspath
28 ;
29 ;Set usrpath explicitly or via HOME environment variable
30 ;Choose one:
31 ;
32 def usrpath '.'
33 ;
34 ;DO BACKGROUND PROCESSING ?
35 ;Define the name of your processing macro and dba here
36 ;
37 skip1:
38 if &active eq 0 then
39 if &exists eq 1 skip2
40 def macpfx &syspath/macros/felix/menus/mac/
41 def mnupfx &syspath/macros/felix/menus/mnu/
42 def macpf1 &syspath/data/felix/
43 def mnupf1 &syspath/data/felix/
44 skip2:
45 def yourmac bench1.mac
46 def yourdba file.dba
47 ex batch.mac
48 by
49 eif
50 ;
51 ;SETUP PENS, CURSOR
52 ;
53 ; PEN THICKNESS
54 def pwidth 0.006
55 ; BORDER THICKNESS
56 def thick 1
57 ; BLACK BACKGROUND : blkwht 0; WHITE BACKGROUND : blkwht 1
58 def blkwht 0
59 ; CURSOR COLOR
60 def colcur 2
61 ; PROMPT
62 def prompt 'FELIX> '
63 def mwait 3
64 ;
65 ;CONFIGURE FELIX MEMORY AND MATRIX FRAMESIZE
66 ;; BUFFER SIZE IN COMPLEX POINTS AND NUMBER OF BUFFERS
67 cfg 16384 6
68 ;MAXIMUM MATRIX FILE SIZE IN MB,IF BIGGER THAN MULTIPLE FILES ARE CREATED
69 ; SET IT TO 1 GB + HEADER FOR NOW
70 def mframe 1025
71 ;
72 ;CONFIGURE GRAPHICAL OBJECT MEMORY LIMITS IN MB
73 ;THIS IS USED FOR 3D PLOTTING OR 2D OBJECT DISPLAY
74 ;
75 def objmem 4000000
76 ;
77 ; SET SOME VARIABLES
78 ;
79 def ftype 0
80 def h1pla ' '
81 def h2pla ' '
82 def v1pla ' '
83 def v2pla ' '
84 def opla ' '
85 def tilemode 0
86 def plottyp 1
87 def insok 0
88 def return return
89 ;
90 ; CHECK FOR OPTIONS
91 ;
92 exr options
93 ;
94 ;OPEN A SMALL GRAPHICS FRAME TO FORCE OPEN THE GRAPHICS WINDOW
95 ;
96 fra o 10 10 10 10
97 fra zero all
98 ;
99 ;TYPE VERSION NUMBER TO SCREEN
100 ;
101 ty
102 ver
103 ty
104 ;
105 ; CHECK FOR .felixrc99 FILE IN HOME DIRECTORY
106 ;
107 inq nul '&home/.felixrc99' exists
108 if &exists eq 0 then
109 def macpfx &syspath/macros/felix/menus/mac/
110 def mnupfx &syspath/macros/felix/menus/mnu/
111 def macpf1 &syspath/data/felix/
112 def mnupf1 &syspath/data/felix/
113 def doit 0
114 exr getfelixrc doit
115 if &doit gt 0 then
116 exr maketree
117 else
118 by
119 eif
120 else
121 exr maketree
122 eif
123 ;
124 ;START THE MENU INTERFACE
125 ;
126 exr mninit
127 ;
128 ; SET THE DEFAULT FRAME
129 ;
130 exr frameset 2
131 ; set up the extra colors for colorramps
132 exr start
133 ; CHECK FOR .felix_...
134 inq nul '.felix_last_session' exist
135 if &exist gt 0 then
136 exr restore_session
137 else
138 ;OPEN INITIAL DATABASE
139 eva dbopen db$open()
140 if &dbopen eq 0 then
141 exr open 3 dba
142 eif
143 eif
144 ;
145 exit:
146 def maxdim 4
147 ;
148 end

Line 7:

Specifies whether FELIX operates in interactive or in background (batch) processing modes. Possible settings for the user symbol active are:

0 background mode
1 interactive mode (default)

The symbol itself does not prepare the start up protocol, but is used in the conditional structure which is defined in lines 37-49.

Line 12:

This symbol is no longer used. It is still listed here so that users who have macros that depend on this symbol can still use them.

Line 17:

This symbol is no longer used. It is still listed here so that users who have macros that depend on this symbol can still use them.

Lines 21-23:

The home symbol is set to the environment variable $HOME. The macro then checks for the existence of the .felixrc99 file. If this file exists then you go to the label skip1 in the macro, otherwise you continue to the next line in the macro which sets the paths that FELIX will search for macros and menus.

Line 27:

Sets the FELIX directory path to menu files, message files, schema, and other intrinsic FELIX files by defining the symbol syspath. The default definition of syspath corresponds to the installation directory. The FELIX command env maps the environment variable $BIOSYM to the user symbol syspath.

Line 32:

Sets the FELIX directory path to data files, database files, and other user-oriented files by defining the symbol usrpath. The default definition of usrpath is the current working directory.

Lines 37-49:

FELIX checks the value of the symbol active. If the value of active is 0 (execute a batch job) then the macro checks for to see if the .felixrc99 file was found (symbol denoted by exists: 0 = not found, 1 = found). If this file does not exist, then the macro sets the paths where FELIX should look for any macros and menus. If the .felixrc99 file does exist (since this file contains the paths for searching macros and menus, etc.) then the macro goes to the label skip2. This sets the symbol yourmac to be the macro you want to run, sets the symbol yourdba to be the dba file you would want to use, and then executes the macro batch.mac. After the macro batch.mac has completed, FELIX exits. No graphics window is opened while executing the macro batch.mac.

Lines 54-63:

Defines default start-up attributes.

pwidth defines pen width in inches; affects all axis and
peak labels, and annotations.
thick specifies the number of "restrokes" for pen plotters;
a symbol value of 0 implies a single stroke; affects
all text, including axis and peak labels.
blkwht controls the color convention used by the FELIX
graphics window.
0 = black background with white text and lines
1 = white background with black text and lines
colcur controls the color of all cursors used by FELIX.
prompt defines the FELIX prompt style.
mwait This symbol is no longer used. It is listed here so that
users who have macros that depend on this symbol
can still use them.

Line 67:

Defines (configures) the number and size of the 1D work spaces that are available at run time.

Line 70:

Defines the maximum size of matrix datafiles. When building a matrix, the size of the file on disk is not allowed to exceed this size in megabytes. For matrices that exceed the mframe limit, multiple disk files are created, with the possibility of each file existing on different devices.

Line 75:

The maximum number of bytes available for creating/loading graphical objects is specified by defining the reserved symbol objmem. The default value of 4MB may be cautiously increased.

Lines 79-88:

Any symbols that are used in the menu interface should be defined here.

Lines 96-97:

The initial graphical event in the operation of FELIX appears here, wherein a small graphics file (10 ¥ 10 pixels) is opened (line 96) and then immediately closed. The overall effect of these events is to open the FELIX interface window.

Lines 101-103:

These lines display the version number of the FELIX executable.

Line 107:

Checks for the existence of the .felixrc99 file.

Lines 108-122:

If the .felixrc99 file does not exist, then set the paths where FELIX will look to find the macros, menus, etc. Here, we ask the user for the type of directory structure they would like to use. We have supplied two directory structures, the first being a single directory (flat) which will contain all the files that you create; the second being a tree structure analogous to that of FELIX versions 2.0-2.35, where files are placed in separate directories based on type (e.g., .dat files are placed in the data directory). Once you have selected the type of directory structure that you want, then the appropriate .felixrc99 file is copied to your home directory.

If the .felixrc99 file exists then FELIX checks to see if these directories exist. If they do not exist, FELIX creates them for you. Only user file directories are created. No msgs or schema directories (for example) are created.

Line 126:

FELIX begins to initialize most of the reserved and some user-defined symbols that are defined in the mninit.mac macro.

Line 130:

The type of frames that will appear at start up is defined here. FELIX by default executes the frameset.mac macro with an argument of 2, which brings up one frame and uses the parent window as the text window.

Line 132:

Executes the start.mac macro which sets up many of the colors that are used for displays.

Lines 134-143:

Checks to see if the session file .felix_last_session file exists. If it exists, then you are asked if you want to restore the last saved session, otherwise the OPEN DATABASE FILE dialog box is displayed.

Line 146:

Initialize the maximum number of dimensions that FELIX will be able to handle.


The .felixrc99 file

On startup, FELIX looks for the .felixrc99 file in your home directory. This file defines paths for FELIX to search to find macros, menus, data, and other files. Upon the initial startup of FELIX, you are asked for the type of directory structure you would like to use. FELIX provides you with two choices, as mentioned above. You can always edit the .felixrc99 file to modify the individual directory paths.


The .felixrc99 file format

     1  #
2 # Default user paths
3 #
4 env 'BIOSYM' biosym
5 def annpfx ./
6 def biopfx ./
7 def datpfx ./
8 def dbapfx ./
9 def etcpfx ./
10 def ezppfx ./
11 def limpfx ./
12 def matpfx ./
13 def objpfx ./
14 def parpfx ./
15 def txtpfx ./
16 def xyzpfx ./
17 def conpfx ./
18 def forpfx ./
19 def umacpfx ./
20 def menus menus
21 def mnumod 1
22 #
23 # User local macro and menu directories go here
24 #
25 def macpfx &biosym/macros/felix/&menus/mac/
26 def macpf1 &biosym/macros/felix/&menus/model/mac/
27 def macpf2 &biosym/macros/felix/&menus/assign/mac/
28 def macpf3 &biosym/macros/felix/&menus/ht/mac/
29 def macpf4 &umacpfx
30 def nmacpfx 4
31 def mnupfx &biosym/macros/felix/&menus/mnu/
32 def mnupf1 &biosym/macros/felix/&menus/model/mnu/
33 def mnupf2 &biosym/macros/felix/&menus/assign/mnu/
34 def mnupf3 &biosym/macros/felix/&menus/ht/mnu/
35 def motpfx &biosym/macros/felix/&menus/mot/
36 def icopfx &biosym/macros/felix/&menus/ico/
37 def msgpfx &biosym/data/felix/msgs/
38 def schpfx &biosym/database/felix/schema/
39 def filpfx &biosym/exe/filters/
40 def asglib &biosym/data/felix/asglib/
41 #
42 # System paths go here
43 # CHANGE ONLY AT YOUR OWN RISK
44 #
45 SYSTEM MACROS &biosym/macros/felix/&menus/mac/
46 SYSTEM MACROS &biosym/macros/felix/&menus/assign/mac/
47 SYSTEM MACROS &biosym/macros/felix/&menus/model/mac/
48 SYSTEM MACROS &biosym/macros/felix/&menus/ht/mac/
49 SYSTEM MENUS &biosym/macros/felix/&menus/mnu/
50 SYSTEM MENUS &biosym/macros/felix/&menus/assign/mnu/
51 SYSTEM MENUS &biosym/macros/felix/&menus/model/mnu/
52 SYSTEM MENUS &biosym/macros/felix/&menus/ht/mnu/
53 SYSTEM MOTIF &biosym/macros/felix/&menus/mot/
54 SYSTEM ICONS &biosym/macros/felix/&menus/ico/
55 SYSTEM MSGS &biosym/data/felix/msgs/
56 SYSTEM SCHEMA &biosym/database/felix/schema/
57 SYSTEM FILTERS &biosym/exe/filters/
58 SYSTEM ASGLIB &biosym/data/felix/asglib/
59 #

Line 4:

The FELIX command env maps the environment variable $BIOSYM to the user symbol biosym. This symbol is used to set the paths for the system files which are macros, menus, msgs, and schema.

Lines 5-19:

The default paths for searching for the files you create (e.g., text files and data files) are set here. You can change this to whatever paths you would like FELIX to search for particular files. The example shown above depicts the .felixrc99 file for a flat directory, where all the files you create are searched for in the current working directory. If a path is not the current working directory, then FELIX creates it if it does not exist.

Line 20:

A subpath for the FELIX installation tree is set here.

Line 21:

This symbol is no longer used. It is still listed here so that users who have macros that depend on this symbol can still use them.

Lines 25-40:

The paths for your local macros, menus, and other files are set here. By default these paths are set to the system (or installation paths). If you want to modify a macro for your use, then you need to place this macro in a directory (e.g., mymacros) and set the macpfx symbol to point to this directory. By default the following strategy is used by FELIX to search for files (e.g., macros and menus):

1. Look in the user's current working directory.

2. Look in the directories pointed to by the macpf*, mnupf*, and similar prefixes.

3. Look in the installation tree.

When the specified file is found, the search ends and that file is used. This gives you more flexibility in editing and changing macros for your own use, while not affecting other users of FELIX.

You may define up to 10 directories to be searched for each file type. Keep in mind, though, that execution speed may be severely slowed by long search paths, especially when NFS-mounted directories are involved.

Lines 44-58:

The paths for the installed macros and menus are set here. This is provided for users who want to install FELIX without using the installation tools, for situations where the FELIX installation directory is different from the normal $BIOSYM installation tree. Typical users should not change any of these settings.

Below is part of a .felixrc99 file that depicts a tree structure within a user's current working directory. When FELIX starts up, directories (if they do not exist) are created in the your current working directory:

env 'BIOSYM' biosym
def usrpath .
def annpfx &usrpath/annotations/
def biopfx &usrpath/biosym/
def datpfx &usrpath/data/
def dbapfx &usrpath/dba/
def etcpfx &usrpath/etc/
def ezppfx &usrpath/ezprocess/
def limpfx &usrpath/limits/
def matpfx &usrpath/matrix/
def objpfx &usrpath/record/
def parpfx &usrpath/progpar/
def txtpfx &usrpath/text/
def xyzpfx &usrpath/xyz/
def conpfx &usrpath/text/
def forpfx &usrpath/foreign/
def umacpfx &usrpath/macs/