This tutorial demonstrates how to set up the Zantiks AD unit to measure the behaviour of adult zebrafish in a novel tank diving assay.
The script below is for videoing and analysing data from a lateral view of the Zantiks tank, also known as 'tank diving'. The AD unit will sit on its side. The script is set to autostart when the fish is released into the tank through the tube. Don't forget you will need the correct asset saved in the unit's Asset directory before being able to run the experiment.
# define experiment requirements DEFINE UNIT_TIME 10 DEFINE NUM_BINS 30 DEFINE EXP_TIME 300 # define the animal model tracking requirments (dependent on animal size) SET(TARGET_SIZE,15) SET(DETECTOR_THRESHOLD,5) SET(AUTOREF_MODE,MOVEMENT) SET(AUTOREF_TIMEOUT,30) set light stimuli coordinates on the screen SETLIGHT(LIGHT1,SQUARE,103,73,206) # load detector asset LOAD(ZONES,"horizontal_tank_3_zones.bmp") ACTION MAIN SET(COUNTER1,COUNTER_ZERO) LOGCREATE("RUNTIME|TEXT:INTERVAL") LOGAPPEND("TEXT:ZONE1_DISTANCE|TEXT:ZONE2_DISTANCE|TEXT:ZONE3_DISTANCE") LOGAPPEND("TEXT:ZONE1_TIME|TEXT:ZONE2_TIME|TEXT:ZONE3_TIME") LOGAPPEND("TEXT:ZONE1_COUNT|TEXT:ZONE2_COUNT|TEXT:ZONE3_COUNT") LOGRUN() LIGHTS(ALL,OFF) LIGHTS(LIGHT1,WHITE) LIGHTS(LIGHT16,WHITE) VIDEO(300,"dive") AUTOREFERENCE() DETECTOR(DETECTOR1,DIVE) DETECTOR(DETECTOR2,DIVE) DETECTOR(DETECTOR3,DIVE) WAIT(EXP_TIME) LIGHTS(ALL,OFF) COMPLETE ACTION DIVE LOGDATA(DATA_SNAPSHOT,"BEGIN") INVOKE(DATAREPORT,NUM_BINS) LOGDATA(DATA_SNAPSHOT,"END") LOGDATA(DATA_SELECT,"BEGIN") LOGDATA(DATA_DELTA,"END") LOGCREATE("RUNTIME|TEXT:TOTALS|"ZONE_DISTANCES:Z1-3") LOGAPPEND("ZONE_TIMERS:Z1-3|ZONE_COUNTERS:Z1-3") LOGRUN() COMPLETE ACTION DATAREPORT SET(COUNTER1,COUNTER_INC) LOGDATA(DATA_SNAPSHOT,"beginUnit") WAIT(UNIT_TIME) LOGDATA(DATA_SNAPSHOT,"endUnit") LOGDATA(DATA_SELECT,"beginUnit") LOGDATA(DATA_DELTA,"endUnit") LOGCREATE("RUNTIME|TEXT:COUNTER1|ZONE_DISTANCES:Z1-3") LOGAPPEND("ZONE_TIMERS:Z1-3|ZONE_COUNTERS:Z1-3") LOGRUN() COMPLETE
AD unit set up
How to set up the Zantiks AD unit for a novel tank diving assay with zebrafish
Tank diving inserts from left to right: stand, slim tank, funnel, foam door
- Stand has no ridge at the front of the raised platform.
- Slim tank fits neatly into the chamber on the stand.
- Funnel fits through the hole in the side of the chamber.
- Foam door fits tightly over the opening to the chamber.
- First put the AD unit on its side.
- Pull out the stopper from the hole in the side of the experimental chamber.
- Insert the stand at a slight angle so it will fit into the chamber and then place it flat at the bottom. Make sure that the stand is the correct way round - the ridge on the raised platform must be situated at the back of the platform so that the tank can slide in easily.
- Slide in the slim tank so that it fits securely on the raised platform on the stand.
- In the hole at the top of the chamber insert the funnel, turning it slightly to ease it in.
- Using a foam lid you can close off the tank.
- The fish can then be viewed and tracked by the camera from the side of the tank.
Novel tank diving assay with an adult zebrafish
Setting up the service
Build as a service - Once written, the zanscript is built (.zex file) and loaded on the Settings page in one of the 20 slots a service.
Run the demo service - The experiment can now be operated from the home page.
See the featured protocol page, Novel tank diving (zebrafish) protocol page, for more details on the assay and script downloads to run the assay.
You will need to upload the asset into the Asset directory on your Zantiks Control Console and ensure the correct asset name is in the LOAD(ZONES,"name_of_asset") command in the script.
NOTE: The typical asset used for the Novel Tank Diving assay is a "zone asset" with either two target zones: the 'bottom' and 'top' of the tank or three target zones: the 'bottom', 'middle' and 'top' of the tank.