Problems, Workarounds, Clarifications (FAQ)

  1. Spreadsheet functions fail with cryptic messages implying shell errors. This can sometimes happen if the name of your molecule has spaces, parenthese or quotes single or double) imbedded. What is happening is that when the HASL SPL program attempts to pass the molecule information to the HASL executable the unix shell interpreter can not parse the information properly. The workaround is to change the name of the molecules in the database.
  2. A lot of other serious HASL problems arise from path, environment, and protection difficulties and inconsistencies. Each time the actual HASL executable is run from within SYBYL, it is a new shell being spawned, with the user's own .cshrc, etc. being executed. If HASL is not defined in the .cshrc, e.g., if the user defines HASL by sourcing its definition file directly, then the important HASL environmental variables may not be properly defined and HASL will not function as designed. Often the "ridiculously long path" unix error accompanies this problem. Another related potential source of this type of problem arises when the HASL scratch files, written to the user's ~/dumpster directory, don't have write privilege. (This may occur, for example, if root privilege was earlier used to run HASL.) HASL attempts to reuse the same filenames to reduce disk space, and if HASL can't write to one of its scratch files, it will fail.
  3. Most HASL errors are currently reported only in the SYBYL text window. Thus the SPL part of the program does not know that the HASL executable had a problem, and may report results in dialog boxes that are artifacts from previous HASL sessions. We will continue to supplement the HASL error reporting with upcoming releases, but there is a significant tradeoff here. The more error checking that is done with the SPL code (and all screen dialogs are generated by SPL), the slower and more unresponsive the HASL user interface becomes. The obvious workaround is to monitor the SYBYL text window for error messages from the HASL executable.
  4. HASL calculations, especially cross-validation are Slow! We will look into optimizing the procedure for future releases. You can always cut back on the number of iterations, change the error limit or grid spacing to increase the speed. For the most part the cross-validation exercise is to verify that you are creating a good model within the data set, cross-validated r2 is not the final product of the model. Therefore it would seem reasonable to "cheat" some of the HASL parameters during the model design phase and only use the full size parameters for cross-validation at the end.


HASL 4.10S Installation Instructions

The HASL application module for SYBYL runs on the Silicon Graphics IRIS (O2, Indy, Indigo-2, etc.) series only running Irix 5.3+. The HASL module requires at the minimum: a SYBYL license from Tripos and a HASL License from eduSoft in order to function.

HASL is released as a UNIX tar set in a variety of tape formats. The release consists of an executable image "hasl", executable images for a few small utility programs, and extensive SPL (SYBYL Programming Language) script that creates menus, dialog boxes, and macros to execute the HASL programs. The installation (cshell) script places the HASL files in appropriate subdirectories under a new eduSoft directory tree and makes a few very minor (and easily reversible) changes to the SYBYL directory tree. A new cshrc file is created that, when "sourced", causes SYBYL to come up with HASL installed in its menu system. The HASL installation creates a parallel directory structure which in no way affects the performance and integrity of the previously installed Tripos tree.

The HASL 4.10S installation consists of three components: 1) installing the HASL software, 2) making a few minor changes to the Sybyl environment to enable HASL, and 3) setting up user accounts to give them access to HASL. Although it is not strictly necessary, the installation of HASL 4.10S is best performed as the "superuser". Notes concerning the special case for installing HASL on systems where other eduSoft software (i.e., HINT or Molconn-Z) is aready installed are below.

  1. Make a root directory for the eduSoft products. We recommend /usr/eduSoft, but any location will work. The unix command for this step is: mkdir /usr/eduSoft
  2. Unload the HASL 4.10S tape (or 'uncompressed' FTP tar-set) into this directory:
  3. Make sure Sybyl is defined. If you are not sure, check to see if the environment variable TA_ROOT is defined:
  4. If $TA_ROOT is not defined, you will have to perform the steps you usually undertake to run Sybyl up to the point where you enter sybyl to the unix prompt.

  5. The HASL installation requies the following changes to the Sybyl environment. You will need to verify that there are not local modifications to these files that will be lost when HASL is installed.
  6. Execute the HASL 4.10S installation script (if you are comfortable with the changes to the Sybyl environment described). The installation script is quite simple, and the functions it includes can be performed manually if you wish to intercept any of the steps.
  7. Edit $TA_ROOT/lib/ta_site.csh and $TA_ROOT/lib/ta_site.sh to add the following features: a) define two Tripos variables, TA_MENUBAR_USER_INIT and TA_MSS_USER_INIT, as null; b) define the EDUSOFT_ROOT environmental variable; c) "source" a platform-and product-specific definitions file that defines the a variety of eduSoft environment variables; and d) activate user specific startup information for Sybyl (the .sybylrc file, see below).
  8. To do this:

    1. append install/ta_site.csh_eslc to $TA_ROOT/lib/ta_site.csh either with the editor or the unix cat command.
    2. append install/ta_site.sh_eslc to $TA_ROOT/lib/ta_site.sh either with the editor or the unix cat command.
    3. edit both $TA_ROOT/lib/ta_site.csh and $TA_ROOT/lib/ta_site.sh so that the proper location of $EDUSOFT_ROOT is set (assumed above to be /usr/eduSoft) and that the proper cshrc and profile files are defined for the SGI processor you are using and the eduSoft products you have licensed (see the table below). (All other HASL environment variables are defined relative to $EDUSOFT_ROOT.) If you are on a mixed network of processors, you may have to add some shell logic here to call the correct definition files. Note that there is not at present an r8000/r10000 executable for HASL: the r4000 executable was compiled with the "old" 32 bit MIPS library and linked with the r4000/r5000 SYBYL library; the r8000 executable was compiled with the "new" 32 bit MIPS library and linked with the r8000/r10000 SYBYL library.
    4. (Also, in $TA_ROOT/lib/ta_site.csh and $TA_ROOT/lib/ta_site.sh make sure that the TA_USER_STRT option is turned on and pointing to $HOME/.sybylrc.)
    5. Product(s) Platform cshrc (in ta_site.csh) profile (in ta_site.sh)
      HASL 4.10Sr3000 cshrc_hasl_r3 profile_hasl_r3
      r4000/r5000 cshrc_hasl profile_hasl
      r8000/r10000 cshrc_hasl_r8 profile_hasl_r8
      HASL 4.10S & Hint 2.35S r3000cshrc_hasl+hint_r3 profile_hasl+hint_r3
      r4000/r5000 cshrc_hasl+hint profile_hasl+hint
      r8000/r10000 cshrc_hasl+hint_r8 profile_hasl+hint_r8
      HASL 4.10S & Molconn-Z 3.50S r3000cshrc_hasl+mconn_r3 profile_hasl+mconn_r3
      r4000/r5000 cshrc_hasl+mconn profile_hasl+mconn
      r8000/r10000 cshrc_hasl+mconn_r8 profile_hasl+mconn_r8
      HASL 4.10S & Hint 2.35S & Molconn-Z 3.50S r3000cshrc_hasl+hint+mconn_r3 profile_hasl+hint+mconn_r3
      r4000/r5000 cshrc_hasl+hint+mconn profile_hasl+hint+mconn
      r8000/r10000 cshrc_hasl+hint+mconn_r8 profile_hasl+hint+mconn_r8

    6. Install the HASL License Keys(s) as described on the included (hardcopy) documentation or on-line.
    7. Enable HASL 4.10S for users. All users who want to use the HASL program through Sybyl must modify (or create) their individual .sybylrc files to include the two lines in the file $EDUSOFT_ROOT/eslc/install/sybylrc. These added lines are two commands that Sybyl must execute on startup in order for HASL to be defined.
    8. Note that HASL 4.10S uses each user's dumpster directory as a scratch location for temporary files. Confirm that each HASL user has a ~user/dumpster.

      Before using HASL each user must execute the command HASL_USER to the unix prompt to create and load a personal options directory.

    9. Try it out. Re-login or re-source the .cshrc file and run Sybyl. If HASL 4.10S is set up properly, the messages "Loading eslc menubar descriptions" and "Loading HASL macro definitions and dialogs" will appear in the graphics screens after the usual Sybyl messages. There should be a new pulldown "eslc" on the Sybyl menubar which includes a "HASL" menu item. Follow all of the HASL Tutorials in the manual for a complete introduction to the program, but it is advisable at this point to try at least a portion of Lesson 1 to confirm that the license is properly configured and that the program is operational.

    Adding HASL to a Site that has HINT and/or Molconn-Z

    Generally follow the procedure above, but keep in mind:
    1. You should already have an $EDUSOFT_ROOT directory (Step 1).
    2. It may be easier to add the lines in install//hasl400S/APPLICATION.change to $TA_ROOT/batch/admin/APPLICATION rather than what is done automatically by the install_hasl400S script (Steps 4-5).
    3. It should be easy to modify $TA_ROOT/lib/ta_site.csh and $TA_ROOT/lib/ta_site.sh to add 'hasl+' to the cshrc_ and profile_ in these files, repectively (Step 6).
    4. All you should have to do in step 8 is get each user to type HASL_SETUP before they use HASL for the first time.

    Special Notes for "Customized" Sybyl Sites

    There can be difficulties with the above procedures if there have already been local modifications made to your Sybyl installation. For example, if the $TA_MENUBAR_USER_INIT or $TA_MSS_USER_INIT variables are already being used at your site to define new functions, the described installation procedure should be modified. To make it easy to merge the HINT/Molconn-Z SPL files wth other applications, there are two types of environmental variables in the HASL/HINT/Molconn-Z setup. The first, $ESLC_SPL, points to files (which are named with the eslc_ prefix) that may be moved to another directory or otherwise modified to fit the local requirements. The other type of environmental variable is specific to the product, i.e., $HASL_SPL, $HINT_SPL and $MCONN_SPL; these are reserved for files that are specific to the product (i.e., HASL, HINT and Molconn-Z) functionality. The root of the HASL, HINT and Molconn-Z additions to Sybyl are in the files: $ESLC_SPL/eslc_sybyl.spl and $ESLC_SPL/eslc_spreadsheet.spl, which are pointed to by $TA_MENUBAR_USER_INIT and $TA_MSS_USER_INIT, respectively.

    If there are questions or difficulties with the HASL/HINT/Molconn-Z installation, please feel free to give us a call.