pyControl

pyControl controls and sequences behavioral neuroscience experiments by defining tasks as Python-based extended state machines and interfacing with laboratory hardware for precise experimental control.


Key Features:

  • Python-based extended state machines: Defines behavioral tasks using Python scripts structured as extended state machines to express complex task logic.
  • Hardware modules: Includes hardware modules to construct diverse behavioral setups and implement task-specific hardware interactions.
  • Scalability and high-throughput control: Supports scalable control of multiple experimental setups to enable high-throughput experimentation.
  • Reproducibility and self-documenting task definitions: Employs highly readable, self-documenting task definitions to facilitate reproducibility and communication of experimental protocols.

Scientific Applications:

  • Behavioral task implementation: Implementation and execution of richly structured behavioral tasks for neuroscience experiments.
  • Linking behavior and neural mechanisms: Experiments probing interactions between behavior and neural activity under controlled conditions.
  • Large-scale behavioral data collection: High-throughput experimental campaigns requiring standardized task definitions and scalable control across setups.

Methodology:

Experimental protocols are specified using Python scripts structured as extended state machines, and hardware modules are integrated to implement these protocols on laboratory setups.

Topics

Details

Tool Type:
command-line tool, library
Programming Languages:
Python
Added:
3/19/2021
Last Updated:
3/30/2021

Operations

Publications

Akam T, Lustig A, Rowland J, Kapanaiah SK, Esteve-Agraz J, Panniello M, Marquez C, Kohl M, Kätzel D, Costa RM, Walton M. pyControl: Open source, Python based, hardware and software for controlling behavioural neuroscience experiments. Unknown Journal. 2021. doi:10.1101/2021.02.22.432227.

Documentation

Links