Windows Installation

Download a printable version

HKL-2000 and HKL-3000 can now be installed on Windows 10 systems, giving you the flexibility to install HKL in the three most popular operating systems (Linux, iOS, and Windows). This document details the steps necessary to get HKL up and running in Windows. These instructions are equally valid for HKL-2000 and HKL-3000 versions 715 and above.  Visit the HKL Research website to download the latest version.

HKL-2000/HKL-3000 for Windows 10 works with the Windows Subsystem for Linux and requires several steps to prepare your system before installation. In a nutshell, you must enable the Linux component of Windows (Bash), install a third-party X-server (if you don’t already have one), and create an HKL directory all users have access to. If you are installing HKL-3000, you should also install the HKL-3000 pre-requisites before you install HKL (i.e CCP4 with Shelx and Coot).

Enable the Windows Subsystem for Linux

Your Windows version must be Windows 10 build 1703 or greater.

There are several ways you can enable the Windows Subsystem for Linux (WSL), which allows you to run a complete Bash shell in a sandbox alongside your Windows operating system. Official instructions for installing this feature can be found at https://msdn.microsoft.com/en-us/commandline/wsl/install_guide , but the installation is straightforward. 

Method 1: Enable the feature using PowerShell as administrator.  

  1. Right-click on the Windows Menu Icon (usually on the bottom left) and select “Windows PowerShell (Admin)”. Run the following command and reboot.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    You will need to restart the computer if you are the first user to activate the Linux Subsystem.

  2. Run “bash”. You may either: Open the start menu (click the icon or use the Windows Key), type “bash”, and click the bash icon.Right-click on the Windows Menu Icon, select “Run”, and type “bash”

    Run Bash

  3. Create a user for your Bash sessions. The HKL installer currently requires that your subsystem username be the same as your Window’s username.

Method 2: Install Ubuntu, SUSE, or Suse Linux Enterprise Server through the Window’s Store. You will have to agree to become a member of “Windows Insider”. We have only tested the first method. 

 

Working with the Windows Linux Subsystem

To open a Bash shell, click on the Windows Start Menu Icon and select the Bash Icon from the alphabetical list or type Bash. For Ubuntu installations (including Method 1 above), this icon will be named “Bash on Ubuntu on Windows”. If you right click on this icon, you can pin the icon to your start menu or taskbar.

In Bash, your Linux home directory will be /home/[user_name]. Your Windows drive is accessible at “/mnt/c”. Therefore, your Windows home directory is “/mnt/c/Users/[user_name]”.

To make navigation easier, you may create links between your Linux directories and Windows folders. The HKL Installer will create a link /home/[user_name]/win_home that points to your Windows home directory.

Data should be kept on Windows side so they are accessible to both bash and Windows. You may want to create a link to make accessing the data easier
(i.e. ln -s /mnt/[drive]/[windows data directory] /home/[user]/data ).

From Windows, you can find your Linux files at:

C:\Users\USERNAME\AppData\Local\Lxss\home\USERNAME

You will have to enable “show hidden folders” in Windows Explorer.

Update the Bash installation and install some required libraries.

Open a Bash shell and issue the following commands to install pre-requisites.

$ sudo apt-get update 
$ sudo apt-get install libglu1 libxmu6 xterm tcsh tcl
$ sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable

Install an X-windows implementation.

HKL will have to forward graphical information from the Bash environment to the Windows environment. HKL-3000 has been tested with Xming, but may also work with others such as Cygwin/X.

Install HKL-3000 pre-requisites in Windows

These pre-requisites are not necessary for HKL-2000 installations.

Be sure to update CCP4 after installation.

  1. Install CCP4 with Shelx from http://www.ccp4.ac.uk/download
  2. Install WinCoot from http://bernhardcl.github.io/coot/wincoot-download.html

Download and unzip the HKL Installer for Windows 10

You can obtain a copy of the HKL-3000 Installer for Windows from ftp://hkl.hkl-xray.com using the password provided to you by HKL Research. Be sure to get the Windows version. It will be named HKL3000_v###_installer-for_Windows10.

Unzip the installer using your preferred method (i.e. Right-click and “Extract All...”).

Obtain a License Key (cr_info file)

Run access_prod_win.bat (double click to run – the extension “.bat” will probably not be visible) and obtain a license key for HKL-2000/HKL-3000 from HKL Research. You may either email the access_prod results to hkl@hkl-xray.com or use the HKL License Management System at https://myhkl.hkl-xray.com/login.php . This latter option is only available for some users. For more details, refer to the HKL Research web page: http://www.hkl-xray.com/license-key .

Prepare a directory for HKL

Like many crystallographic programs, HKL needs some directories that every user will have access to.  The Bash installation will be different for each user, so HKL Research recommends that you create an HKL directory on the root of the main drive (C:\HKL).

  1. Copy the HKL license key (cr_info) this directory
  2. Create a folder for HKL Site Files (C:\HKL\hklint)

If you choose to use the default locations of the HKL Installer (not recommended), you will need to use a Bash shell to prepare for the HKL installation. The default locations of the key files and directories and the Bash commands to prepare them are below.

  • License Key File: /usr/local/lib/cr_info
  • Site File Directory: /usr/local/hklint
  • HKL Program Directory: /usr/local/HKL
    $ sudo mv /mnt/c/path/to/cr_info /usr/local/lib 
    $ sudo mkdir /usr/local/hklint 
    $ sudo chmod a+rwx /usr/local/hklint 
    $ sudo mkdir /usr/local/HKL 
    $ sudo chmod a+rwx /usr/local/HKL

Start the Windows X-windows program

Once started, the X-windows program will run in the background until needed. The HKL Installer and the HKL need to forward information from the Bash shell to the X-windows programs and will do so by issuing the command “export DISPLAY=:0”. Issue this command any time you need to run a graphical program from Windows Bash shell.  If you ever see the error “Couldn’t connect to the display :0”, ask yourself if you forgot to start the X-server. Be aware that some X-windows programs can only be run by one Windows user at a time.

 

Run the HKL Installer

Your Window’s account must have administrator privileges to install HKL. Run HKL_installer_win.bat by double clicking on it. It will guide you through the installation process.

The installer will first verify that your license key is valid. The text area at the bottom will provide details about your license. The buttons at the bottom of the installer let you select which HKL version you would like to install.  HKL-3000sm is for small molecules. HKL-3000 extends the capabilities of HKL-2000 by providing a seamless interface for structure solution and refinement. HKL-3000 requires several external programs, as outlined in the README file.  Click “Continue” to see version specific license.  You must accept the license conditions to proceed.

The following screen will let you select if you want to create a new HKL installation or upgrade an existing installation. If you have selected either HKL-3000sm or HKL-3000, you will be presented with a dialog requesting the location of the external programs used by HKL-3000.  The installer may be able to determine the location of some of these based on your environmental variables. If you still need to select some programs, the installer can search for the files for you. Use the “Select” button at the bottom of the dialog to select a parent directory that contains one or more of the necessary programs.

The next dialog allows you to specify the location of the program and the detector definition directory. The default locations for these are /usr/local/HKL and /usr/local/hklint.  You may change these if you want to use another directory or do not have write permission for these directories.  The default folder for HKL will include the version number. The example shown below uses non-standard locations that would not require root privileges.

The installer will then check if you have permission to write to these directories and run checks to see if the external programs are installed correctly.  If everything looks good, click “Install” to finish the setup.

You may want to add this icon to your start menu or pin it to your taskbar.

 

 

Launching HKL

As a reminder, your X-windows program must be running before starting HKL.

If you let the installer create an icon, you can now use it to launch HKL-3000. It will launch a Bash shell, set the display variable, and Launch HKL.

If a part of the HKL display is obscured by the taskbar, you can either:

  • Edit the “Taskbar Settings” to automatically hide the taskbar (right click on the Taskbar)
  • Change the scaling for app in “Display Settings” (right click on the Desktop)

Need some test data?

Visit ProteinDiffraction.org for some test data. Download complete image datasets and site files for over 3000 macromolecules. Data that corresponds to the tutorial on the HKL Research web page and the tutorials on our YouTube channel can be found at https://proteindiffraction.org/project/Hhr_1wq6/ .

When you download a dataset from ProteinDiffraction.org, the site file will be in a directory within the “hklint” directory. Copy this directory to your HKLINT directory (suggested C/HKL/hklint/). You may name this directory anything you want. Unlike on Linux Systems, you cannot use a link (a shortcut in Windows) as a directory in HKLINT; therefore, if you want the “ADSC-Q4” to also be called “Hhr_1wq6”, you must copy and rename the directory. A shortcut will not work

Adding another user

To make it easier for other users have access to HKL, copy the desktop launcher to your HKL installation directory (i.e. C\HKL). Other users can then right-click on the icon to pin the launcher to their Start Menu and/or taskbar,  copy this icon to their desktop, or make a shortcut to it. Remember that some X-windows programs will only allow one user to have an active client running at a time, so close your X-windows program before trying to run HKL on another account.

Each user that wishes to run HKL must run Bash to activate the Windows Subsystem for Linux, update Bash, and install the libraries specified above (and here). There is no need for each user to issue the Powershell command (Enable-WindowsOptionalFeature).

$ sudo apt-get update
$ sudo apt-get install libglu1 libxmu6 xterm tcsh tcl
$ sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable

Each user must also activate CCp4.  To do this, run (double click) the “InstallEnv” script, usually located in C:\CCp4-7\7.0 .

The user can then start the X-windows program and launch HKL using their copy of the icon. If you need to create the icon, the target should be similar to:

C:\Windows\System32\bash.exe -c "cd;export DISPLAY=:0;/mnt/c/HKL/HKL3000_v715/HKL3000;sleep 100"