All Products


Python-based coding interface

Pynapse is a coding interface for controlling event-driven behavior and performing closed-loop studies. Pynapse has a Python-based programming environment with built-in autocomplete to assist with coding. For behavior paradigms, Pynapse controls behavior inputs and outputs, such as lever presses, nose pokes, and pellet dispensers, and drives event-based behavioral states. Pynapse can also process data from our Synapse software online, such as calculating neural firing rates and averaging evoked responses.

Pynapse has two aspects:

  1. A behavioral control interface for TDT’s iCon hardware to directly control behavioral devices, such as levers and feeders.
  2. A Python programming environment for event-based coding that processes incoming signals for tight closed-loop control.

Research Uses


For use in conjunction with our iCon hardware:

  • Behavioral Control
  • Fiber Photometry
  • Closed-Loop Control
  • Electrophysiology

Related Components

Design event-based behavior paradigms and track training sequences

  • Event-driven behavioral states
  • Integrated control of the training sequence with behavioral trials and blocks
  • Blocked-trials to speed up animal training and better organize experimental paradigms
  • Built-in metrics to track animal parameters
    (e.g. number of lever presses, rewards, nose pokes, and punishments)


top panel of trial metrics screen shot


Pynapse simplifies the design of behavioral control sequences — just right-click to autocomplete states and methods for defined parameters (such as rewards, lever presses, and nose pokes), then select what happens.

Control event parameters (such as duration of nose poke or number of lever presses) that trigger the next state. The built-in metrics track these parameters to deliver a reward (like a pellet or sucrose) or end a trial with no reward or a punishment. Use our online metric analysis to track the animal’s learning.

Utilize behavioral trials and blocks

Behavioral trials and blocks allow for complete control over the training sequence. Simply select the number of trials to train the animal and then a block of trials to run over a few hours or days to build up reinforcement of the training paradigm.

All metrics associated with the training trial, such as percent success and learning curve, are saved during the experiment. Use these metrics in the next session to define a new level of success or failure.

gif of iCon iH10 module screenshot

iCon Integration with Pynapse

Pynapse was designed to integrate seamlessly with the iCon – TDT’s behavioral control interface.

Information from the iCon (inputs, outputs, timers, etc.) is extracted into the Pynapse coding environment. Encoded states will then change based on subject inputs via the iCon, other event outcomes, or timers.

Integrated API with a Python coding environment

Pynapse is an event-based Python programming environment. When coding in Pynapse, there is a built-in autocomplete which provides easy access to all state and method calls and minimizes the need for detailed knowledge of Python coding. Complete the code with a few if-then statements and some math, and that’s all you need.

Direct access to Synapse inputs and outputs, such as triggers or Gizmo parameters, allows for closed-loop control on the order of tens of milliseconds. Use Pynapse to take slow events (such as averaging evoked responses or processing neural firing patterns) and trigger a new stimulus, whether it be visual, auditory, or electrical.

Pynapse accesses Synapse data, such as an evoked response, and generates a running average of the acquisition for real-time visualization of visual or electrically evoked potentials. Users can access neural firing patterns, run cross correlations, and then change on-the-fly stimulation patterns for the next trial.


Back to Top  |  Contact Sales