Zanscripts & services

In order to run an experiment in a Zantiks unit you need to write a script in Zantiks's proprietary software language, zanscript, and then build this script, so that it becomes a .zex file, which you can then upload onto the unit as a service.


Zanscript Directory

The 'Zanscript' link, located at the bottom centre of the Zantiks Control Console page, brings up the Zanscript directory. This page lists all of the zanscripts saved on the unit. The demo scripts and any newly created or uploaded scripts are accessed here.

Screen Shot 2019 06 17 At 15 26 47
The Zanscript directory

From the Zanscript directory you can edit and delete zanscripts, create new scripts and upload zanscripts by clicking on the 'Choose Files' button at the top right of the page.

To download a zanscript, open up the directory on your laptop / computer and using your mouse to navigate right click on the name of the script you want to download, from the pop up box choose the option to Save File As, then save the file to your folder.


Explore a test script

While in the Zanscript Directory, click on the 'Edit' button next to the script’s name. This takes you to the Zanscript Online Development environment, where you can make changes to the scripts. Clicking on the script name's hyperlink will open a read-only version of the script. Right click to save it to your device as a .zs file.

The following are examples of a preloaded sample script in the Zanscript Online Development environment, illustrating how demo scripts can be annotated with descriptions of each command. The comments always follow a hash sign and will appear in brown text on this page.



Create a new script from a demo script

When creating a new script, it is often easiest to use parts of scripts from the demo (or sample) scripts we provide. To ensure no permanent changes are made to the demo scripts, copy the text in a demo script into a new script file.


  1. From the Zanscript directory, click Create New, enter a new file name and click Create file.
  2. This brings up the Zanscript Online Development page and a scripting box.
  3. Alternatively, you can write an entirely new script, or copy and paste elements from other demo Zanscripts.
    • The script will not autosave as you write. Take care to occasionally click on the Save button at regular intervals.

Once familiar with some of the demo scripts, using amended commands in newly written scripts is recommended. Script amendments can include:

  • Trial times: DEFINE commands can be edited to lengthen or shorten trials within the experiment. For example, inter-trial interval times or data collection time bins can be changed.
  • Types of stimuli: The colour, shape or style of the stimuli may be edited. For example, a square shape on the built-in screen may be moved to a different location on the screen, changed in size, or replaced with an image.
  • Stimulus exposure: The number of times aspects of the experiment can be performed by the system. For example, repeating a stimulus exposure 8 times.

This video illustrates how to write a script, demonstrating the process with the Lights demo script.


Create and load a new service

Once the script is complete, click the Build button. This can be found at both the top and bottom of the page. This saves and compiles the script and brings up the Zanscript Compiler page. The compiler page details any errors or warnings found in the script. It also tells you whether the build is successful or not.


  1. A "long line warning" will appear if your script has notes. This does not affect the script and can be ignored.
  2. To go back into the script and make changes, click the Edit/Rebuild link at the bottom of the page.
  3. If the script has built successfully, navigate to the Home page using the Home link at the bottom of the page.
  4. To upload a new service, make note of any empty slots, or slots with services that can be overwritten. Navigate to the Settings page from the administration section of the Control Console. The 20 numbered slots below the 'Zanscript shortcuts' heading are used to load scripts to the Home page. In the number box chosen to set the new service, type the script's name ( e.g., aversionlearninggreen) and click Set. Please note: you may need to wait a few minutes to allow the system time to build the zanscript as a .zex file.
  5. The system will bring up a new page indicating a successful or unsuccessful link.
  6. Navigate back to the Control Console page, where the new ‘service’ is seen under the relevant slot. The new service is now ready to run!

Assets directory

Assets are bitmap files used to assign detection arenas for tracking or create visual stimuli on the screen. These files need to be uploaded into the Assets directory on the Zantiks unit in order for your script to execute correctly (link to this directory from the Administration section found at the bottom of the Zantiks Control Console page). In a script which tracks animals in more than one arena, an arena asset is needed. To collect data in specified 'zones' within the arena, a detector asset is needed. When tracking one animal within the unit (e.g., 1 adult zebrafish in the AD unit's tank) an arena asset is not necessary as the entire tank is assigned as one arena by default.

Please note that images to be used on the AD unit's side screen need to be adapted as described in the Creating images for the side screen section on the Side screen demo page.


Assets for the AD unit

These assets are specific to zebrafish: A range of assets/bitmap images are included and referenced in the demo scripts for the Zantiks AD unit.

The following images illustrate several different detection setups in the Zantiks AD unit for zebrafish.


operant5hole.bmp, is a detector zone asset which loads 7 distinct zones corresponding to the discrimination inserts supplied with the system. Each colour is mapped against the central colour grid which is read from left to right. starting top left. The system uses these colours to assign detectors a number that will then be used in writing a script. In this example the light blue square references detector1, the red square is detector 2 and so on.

Fullyzoned 5Hole
Fully_zoned_operant5hole.bmp. This asset is similar to the operant5hole.bmp, with the centre open field set as a zone.
Asset for 2 lengthwise arenas/zones in the AD.
Asset for 2 widthwise arenas/zones in the AD.
Asset for 3 widthwise arenas/zones in the AD.

Assets for the MWP unit

Before tracking any model organisms in the MWP unit you need to upload an arena definition file (arena asset) into the MWP's Assets directory. If you are tracking animals in zones, you will also need a detector asset which is based on the arena asset. In order to acquire these assets you need to:

  1. First choose a make of multiwell plate or petri dish that you use regularly in your lab (as each make of plate is produced slightly differently).
  2. Put the well plate or dish into the MWP unit's chamber, preferably with the lid on. Ensure the plate/dish fits snugly on the diffuser stand, and that the stand fits neatly into the recessed area at the bottom of the chamber. See images 1-3 below.
  3. Please note: a) Make a mark on one end of the diffuser stand and make sure you always insert the stand into the chamber with the marked end at the front. b) always make sure you insert the multiwell plate the same way round in the diffuser stand (and in the arena).
  4. Click on 'Capture image' at the bottom of the Zantiks Control Console.
  5. Navigate to the Media directory.
  6. Download the 'capture.jpg' file and email this this file to us; making sure not to change the format of the file when emailing it.
  7. We will then send you a .bmp file which you need to upload into the Assets directory. See images A1, A2, A3, A4 below for examples of arena assets and detector assets.
Img 0471
1. Use the diffuser stand.
Img 0472
2. Place the multi-well plate on the diffuser stand.
Img 0469
3. Place the diffuser stand, with the multi-well plate, into the recessed area in the MWP's chamber, ensuring the four legs fit inside the recessed area.
Arenas 24W
A1. Example of an arena asset for a 24-well plate.
Arenas 48
A2. Example of an arena asset for a 48-well plate.
Kastureymazes Arenas
A3. Example of a Y-maze arena asset for Drosophila
Kastureymazes Zones
A4. Example of a Y-maze detector asset, showing four zones, for Drosophila

Using assets in a service.

  • Remember to save the assets in the Media directory in the MWP unit.
  • Check that name of each asset matches exactly the name that you give the asset in the script.
  • Make sure that you load the well-plate (which will probably be on a diffuser stand) the right way round into the MWP unit's experimental chamber - it needs to match the way the well-plate was loaded when the asset was taken.

Edit a service

If at any time you want to change any of the elements in the ‘service’/experiment go back to the Zanscript directory page:

Screen Shot 2019 04 05 At 14 56 41
Zanscript directory
  1. Click on the Edit button for the relevant experiment's script.
  2. In the experiment’s Zanscript Online Development page, make the script edits and click on the 'Build' button.
  3. This will update the Zanscript and the ‘service’, so that when you next run this ‘service’ it will take into account your changes.

Run a service

To run a service go to the Zantiks Control Console.

Zantiks Control Console Screenshot
Zantiks Control Console showing service 2, detector_zone_demo, is the selected 'Current service'
  1. Click on the ‘service’ that you would like the unit to run. The name of the service should appear as the ‘Current service’ at the top of the page.
  2. Click on the ‘Live Video’ button found at the bottom centre of the Control Console page to see a live video of the test environment. The clock at the bottom of the live video screen shows GMT (Greenwich Mean Time). When no service is running in the unit, the bottom centre shows the status of the unit as *IDLE*. See the screenshot (below).
  3. Click the ‘Run’ button at the bottom right of the Live Video Display page to start the experiment. Note that the system's status notice will read *RUNNING* in a pink bar. A stopwatch on the live video will change to show the running time of the experiment in seconds.
  4. To stop the experiment at any time, click the ‘Stop’ button at the bottom right of the screen. This terminates the experiment. Clicking ‘Run’ again starts the experiment from the beginning. There is no pause button.
Zantiks Live Video Display Screenshot
Zantiks Live Video Display page

The screenshot above shows the Zantiks Live Video Display page during an experiment.

  • The current service is called 'Mariana_memorytask' (ringed in blue oval) and it is 'RUNNING' (see 'RUNNING' is displayed in a pink box).
  • The Live video screen shows a live image of the arena - at this point there are zones switched on (see colour blocks) and the unit is tracking a 'fake mouse'.
  • The image displayed is small as the camera has been reprogrammed to accommodate a bigger animal, and the camera is taking 15 frames per second (see the line at the bottom of the image 'Target frame rate: 15FPS'. If a smaller animal is being tracked the camera is on its default setting and the live video displays a larger image and the camera takes 30 frames per second.
  • The screen is showing the advanced controls - hence the link (ringed in red) says 'Hide advanced controls' - click on this link and you can hide the advanced controls.
  • The five advanced controls are marked by the red arrows, if you click on the link boxes you can change the display on both the video recording (if a service is live and programmed to record one), and on the Live video screen accordingly:

Timestamp: click on this and the timestamp will not display.
Lighting: click on this and the overlays (i.e. the visualisations of the detector zones currently programmed) will not appear.
Arenas: click on this and the arena asset will appear.
Zones: click on this and the zone asset will appear.
Reset: click on this and the default settings will display - with timestamp and with overlays appearing when they are programmed to appear.

For descriptions of the Zanscript syntax visit the manual here.

For example demo scripts, with detailed notes, click here.

For Zanscript tutorials, click here.