diff --git a/joss.06515/10.21105.joss.06515.crossref.xml b/joss.06515/10.21105.joss.06515.crossref.xml new file mode 100644 index 0000000000..4213018fe3 --- /dev/null +++ b/joss.06515/10.21105.joss.06515.crossref.xml @@ -0,0 +1,326 @@ + + + + 20240605205130-509b6bf699f143b88d1945348de36100641f4b1b + 20240605205130 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 06 + 2024 + + + 9 + + 98 + + + + Pybehave: a hardware agnostic, Python-based framework +for controlling behavioral neuroscience experiments + + + + Evan M. Dastin-van + Rijn + https://orcid.org/0000-0002-1428-0723 + + + Joel + Nielsen + + + Elizabeth M. + Sachse + https://orcid.org/0000-0002-1669-8752 + + + Christina + Li + + + Megan E. + Mensinger + + + Stefanie G. + Simpson + + + Michelle C. + Buccini + + + Francesca A. + Iacobucci + + + David J. + Titus + https://orcid.org/0000-0001-7819-734X + + + Alik S. + Widge + https://orcid.org/0000-0001-8510-341X + + + + 06 + 05 + 2024 + + + 6515 + + + 10.21105/joss.06515 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.11244351 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6515 + + + + 10.21105/joss.06515 + https://joss.theoj.org/papers/10.21105/joss.06515 + + + https://joss.theoj.org/papers/10.21105/joss.06515.pdf + + + + + + Open-source, Python-based, hardware and +software for controlling behavioural neuroscience +experiments + Akam + eLife + 11 + 10.7554/eLife.67846 + 2050-084X + 2022 + Akam, T., Lustig, A., Rowland, J. M., +Kapanaiah, S. K., Esteve-Agraz, J., Panniello, M., Márquez, C., Kohl, M. +M., Kätzel, D., Costa, R. M., & Walton, M. E. (2022). Open-source, +Python-based, hardware and software for controlling behavioural +neuroscience experiments. eLife, 11, e67846. +https://doi.org/10.7554/eLife.67846 + + + NIMH MonkeyLogic: Behavioral control and data +acquisition in MATLAB + Hwang + Journal of Neuroscience +Methods + 323 + 10.1016/j.jneumeth.2019.05.002 + 0165-0270 + 2019 + Hwang, J., Mitz, A. R., & Murray, +E. A. (2019). NIMH MonkeyLogic: Behavioral control and data acquisition +in MATLAB. Journal of Neuroscience Methods, 323, 13–21. +https://doi.org/10.1016/j.jneumeth.2019.05.002 + + + jsPsych: A JavaScript library for creating +behavioral experiments in a Web browser + Leeuw + Behavior Research Methods + 1 + 47 + 10.3758/s13428-014-0458-y + 1554-3528 + 2015 + Leeuw, J. R. de. (2015). jsPsych: A +JavaScript library for creating behavioral experiments in a Web browser. +Behavior Research Methods, 47(1), 1–12. +https://doi.org/10.3758/s13428-014-0458-y + + + PsychoPy2: Experiments in behavior made +easy + Peirce + Behavior Research Methods + 1 + 51 + 10.3758/s13428-018-01193-y + 1554-3528 + 2019 + Peirce, J., Gray, J. R., Simpson, S., +MacAskill, M., Höchenberger, R., Sogo, H., Kastman, E., & Lindeløv, +J. K. (2019). PsychoPy2: Experiments in behavior made easy. Behavior +Research Methods, 51(1), 195–203. +https://doi.org/10.3758/s13428-018-01193-y + + + The Psychophysics Toolbox + Brainard + Spatial Vision + 4 + 10 + 10.1163/156856897X00357 + 0169-1015 + 1997 + Brainard, D. H. (1997). The +Psychophysics Toolbox. Spatial Vision, 10(4), 433–436. +https://doi.org/10.1163/156856897X00357 + + + Neuroscience Needs Behavior: Correcting a +Reductionist Bias + Krakauer + Neuron + 3 + 93 + 10.1016/j.neuron.2016.12.041 + 0896-6273 + 2017 + Krakauer, J. W., Ghazanfar, A. A., +Gomez-Marin, A., MacIver, M. A., & Poeppel, D. (2017). Neuroscience +Needs Behavior: Correcting a Reductionist Bias. Neuron, 93(3), 480–490. +https://doi.org/10.1016/j.neuron.2016.12.041 + + + Honeycomb: A template for reproducible +psychophysiological tasks for clinic, laboratory, and home +use + Provenza + Brazilian Journal of +Psychiatry + 44 + 10.1590/1516-4446-2020-1675 + 1516-4446 + 2021 + Provenza, N. R., Gelin, L. F. F., +Mahaphanit, W., McGrath, M. C., Dastin-van Rijn, E. M., Fan, Y., Dhar, +R., Frank, M. J., Restrepo, M. I., Goodman, W. K., & Borton, D. A. +(2021). Honeycomb: A template for reproducible psychophysiological tasks +for clinic, laboratory, and home use. Brazilian Journal of Psychiatry, +44, 147–155. +https://doi.org/10.1590/1516-4446-2020-1675 + + + OSCAR: An open-source controller for animal +research + Dastin-van Rijn + 10.1101/2023.02.03.527033 + 2023 + Dastin-van Rijn, E. M., Sachse, E., +Iacobucci, F., Mensinger, M., & Widge, A. S. (2023). OSCAR: An +open-source controller for animal research. bioRxiv. +https://doi.org/10.1101/2023.02.03.527033 + + + 534. Optogenetic Deep Brain Stimulation of +mPFC Axons in Mid-Striatum Improves Cognitive +Flexibility + Sachse + Biological Psychiatry + 9 + 93 + 10.1016/j.biopsych.2023.02.774 + 0006-3223 + 2023 + Sachse, E., Rijn, E. M. D., +Mensinger, M. E., Iacobucci, F. A., Reimer, A. E., & Widge, A. S. +(2023). 534. Optogenetic Deep Brain Stimulation of mPFC Axons in +Mid-Striatum Improves Cognitive Flexibility. Biological Psychiatry, +93(9), S310. +https://doi.org/10.1016/j.biopsych.2023.02.774 + + + 462. Deep Brain Stimulation Does Not Affect +Impulsivity in a Rodent 5-Choice Serial Reaction Time +Task + Mensinger + Biological Psychiatry + 9 + 93 + 10.1016/j.biopsych.2023.02.702 + 0006-3223 + 2023 + Mensinger, M., Wald, A., Sachse, E. +M., Rijn, E. M. D., Reimer, A. E., & Widge, A. S. (2023). 462. Deep +Brain Stimulation Does Not Affect Impulsivity in a Rodent 5-Choice +Serial Reaction Time Task. Biological Psychiatry, 93(9), S281–S282. +https://doi.org/10.1016/j.biopsych.2023.02.702 + + + Bonsai: An event-based framework for +processing and controlling data streams + Lopes + Frontiers in Neuroinformatics + 9 + 10.3389/fninf.2015.00007 + 1662-5196 + 2015 + Lopes, G., Bonacchi, N., Frazão, J., +Neto, J. P., Atallah, B. V., Soares, S., Moreira, L., Matias, S., +Itskov, P. M., Correia, P. A., Medina, R. E., Calcaterra, L., Dreosti, +E., Paton, J. J., & Kampff, A. R. (2015). Bonsai: An event-based +framework for processing and controlling data streams. Frontiers in +Neuroinformatics, 9. +https://doi.org/10.3389/fninf.2015.00007 + + + Whisker: A client–server high-performance +multimedia research control system + Cardinal + Behavior Research Methods + 4 + 42 + 10.3758/BRM.42.4.1059 + 1554-3528 + 2010 + Cardinal, R. N., & Aitken, M. R. +F. (2010). Whisker: A client–server high-performance multimedia research +control system. Behavior Research Methods, 42(4), 1059–1071. +https://doi.org/10.3758/BRM.42.4.1059 + + + + + + diff --git a/joss.06515/10.21105.joss.06515.pdf b/joss.06515/10.21105.joss.06515.pdf new file mode 100644 index 0000000000..3cd9877b1e Binary files /dev/null and b/joss.06515/10.21105.joss.06515.pdf differ diff --git a/joss.06515/paper.jats/10.21105.joss.06515.jats b/joss.06515/paper.jats/10.21105.joss.06515.jats new file mode 100644 index 0000000000..837af13cf1 --- /dev/null +++ b/joss.06515/paper.jats/10.21105.joss.06515.jats @@ -0,0 +1,562 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6515 +10.21105/joss.06515 + +Pybehave: a hardware agnostic, Python-based framework for +controlling behavioral neuroscience experiments + + + +https://orcid.org/0000-0002-1428-0723 + +Rijn +Evan M. Dastin-van + + +* + + + +Nielsen +Joel + + + + +https://orcid.org/0000-0002-1669-8752 + +Sachse +Elizabeth M. + + + + + +Li +Christina + + + + + +Mensinger +Megan E. + + + + + +Simpson +Stefanie G. + + + + + +Buccini +Michelle C. + + + + + +Iacobucci +Francesca A. + + + + +https://orcid.org/0000-0001-7819-734X + +Titus +David J. + + + + +https://orcid.org/0000-0001-8510-341X + +Widge +Alik S. + + + + + +Department of Psychiatry and Behavioral Sciences, +University of Minnesota Medical Center, Minneapolis, MN 55454, United +States of America + + + + +* E-mail: + + +13 +8 +2017 + +9 +98 +6515 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Python +Animal behavior +Operant tasks + + + + + + Summary +

This work presents our pybehave framework + for developing behavioral tasks for use in experimental animal + neuroscience. In contrast to other platforms, + pybehave is built around a hardware-agnostic + and highly object-oriented design philosophy. + Pybehave separates code for task design from + specific hardware implementations to streamline development, + accessibility, and data sharing. This approach, combined with + task-specific graphical user interfaces, expedites and simplifies the + creation and visualization of complex behavioral tasks. User created + task definition files can interact with hardware-specific source + files, both written in Python. Any and all local configuration can be + handled separately from the underlying task code.

+
+ + Statement of need +

Operant animal behavior training and monitoring is fundamental to + scientific inquiry across fields + (Krakauer + et al., 2017). In many cases, a behavior of relevance, or its + neural substrate, is best studied through a controlled laboratory + task. These tasks require tight integration of the hardware components + with which animals interact (IR beams, levers, lights, food + dispensers, etc.) and the overarching software that coordinates these + components to elicit desired behaviors. There are a plethora of + options for systems to facilitate behavioral tasks, from commercial + solutions (Panlab, Lafayette Instruments, Med Associates) to + open-source packages + (Akam + et al., 2022; + Dastin-van + Rijn et al., 2023; + Hwang + et al., 2019) enabling a large variety of behavioral paradigms. + Many of these systems are designed for the same behavioral paradigms + with only slight differences in hardware, sensory modalities, or + geometry. However, while the actual mechanics of these paradigms + remain relatively similar, different solutions will often rely on + vastly different software interfaces + (Cardinal + & Aitken, 2010; + Lopes + et al., 2015). Especially with commercial systems, behavioral + tasks are often programmed in proprietary formats. This approach + significantly raises the barrier to entry, leads to outdated software, + and prevents sharing of tasks across labs.

+

Research in human behavior does not suffer from many of the + aforementioned issues. Human behavioral tasks are generally run + through a graphical interface implemented in a standard programming + language like Python + (Peirce + et al., 2019), Javascript + (Leeuw, + 2015), or Matlab + (Brainard, + 1997). These tasks are readily compatible with most machines + and are frequently shared between labs and used across multiple + studies + (Provenza + et al., 2021). Protocols, data, and task code can be easily + included in a manuscript and accessed and modified by future + researchers. However, unlike experiments in animal behavior, human + experiments rarely require hardware beyond a monitor and standard + input device (keyboard/mouse). Instead, most animal platforms, even + from open source developers, restrict their software to certain types + of hardware + (Akam + et al., 2022; + Hwang + et al., 2019). For example, pycontrol is + only compatible with their companion microcontroller and input devices + and MonkeyLogic can only communicate with DAQs + manufactured by National Instruments. To address these limitations, we + developed pybehave as a framework for + abstracting standard hardware components to enable an + implementation-independent format for developing and running + behavioral tasks.

+
+ + Benefits +

Pybehave is a complete framework for + building and running behavioral neuroscience experiments. It offers + the following benefits: (1) hardware independence; (2) a flexible, + programmatic system for developing tasks; (3) a highly extensible + graphical interface for configuring and executing tasks; (4) options + for task-specific visualization; (5) simultaneous control of multiple + experiments; (6) options for locally configuring task variables and + protocols; and (5) an extensive developer API, which allows users to + extend the platform with tie-ins for custom hardware, event logging, + or software connections.

+
+ + Software Design Principles +

To ensure flexibility while maintaining low-latency, + pybehave is optimized through a combination of + multiprocessing and multithreading along with separation of its + features (events, hardware sources, tasks, etc.) into a modular + software architecture. Additionally, pybehave + uses two different GUI frameworks (QT and pygame) for user interfacing + and task visualization/stimulus display respectively + ([fig:framework]).

+ +

Framework diagram showing the information exchange + between the pybehave threads and processes. + The workstation process handles the interface and task GUIs. When + Tasks are added from the workstation, they are initialized in the + task process. Each Source with a connection to an external hardware + or software system communicates with their + pybehave equivalent in the Task process. All + events sent between processes are mediated via inter-process + communication over + Pipes.

+ +
+
+ + Tutorials and ongoing usage +

A variety of tutorials are included in the repository aimed at all + levels of usage, from technicians running tasks or analyzing + behavioral data to developers aiming to build new tasks or integrate + additional hardware. Pybehave has already been + applied to implement a variety of behavioral tasks which have been + included in a separate repository for users to pull from directly or + modify. These tasks are being run in a number of ongoing studies + spanning standard operant conditioning + (Dastin-van + Rijn et al., 2023; + Mensinger + et al., 2023), evoked responses + (Sachse + et al., 2023), and video assays.

+
+ + Acknowledgements +

Testing of pybehave was carried out with + substantial support from many members of the Translational + Neuroengineering lab. Evan Dastin-van Rijn was supported by a National + Science Foundation Graduate Research Fellowship under award number + 2237827. Aspects of the research were supported by grants R01MH123634, + R01NS120851, R01NS113804 and R01MH119384, as well as by the Minnesota + Medical Discovery Team on Addiction and the MnDRIVE Brain Conditions + Initiative. The opinions presented herein are not those of any funding + body.

+
+ + + + + + + + AkamThomas + LustigAndy + RowlandJames M + KapanaiahSampath KT + Esteve-AgrazJoan + PannielloMariangela + MárquezCristina + KohlMichael M + KätzelDennis + CostaRui M + WaltonMark E + + Open-source, Python-based, hardware and software for controlling behavioural neuroscience experiments + eLife + + KemereCaleb + WassumKate M + KemereCaleb + SiegleJosh + + 202201 + 20240117 + 11 + 2050-084X + https://doi.org/10.7554/eLife.67846 + 10.7554/eLife.67846 + e67846 + + + + + + + HwangJaewon + MitzAndrew R. + MurrayElisabeth A. + + NIMH MonkeyLogic: Behavioral control and data acquisition in MATLAB + Journal of Neuroscience Methods + 201907 + 20240117 + 323 + 0165-0270 + https://www.sciencedirect.com/science/article/pii/S0165027019301360 + 10.1016/j.jneumeth.2019.05.002 + 13 + 21 + + + + + + LeeuwJoshua R. de + + jsPsych: A JavaScript library for creating behavioral experiments in a Web browser + Behavior Research Methods + 201503 + 20240117 + 47 + 1 + 1554-3528 + https://doi.org/10.3758/s13428-014-0458-y + 10.3758/s13428-014-0458-y + 1 + 12 + + + + + + PeirceJonathan + GrayJeremy R. + SimpsonSol + MacAskillMichael + HöchenbergerRichard + SogoHiroyuki + KastmanErik + LindeløvJonas Kristoffer + + PsychoPy2: Experiments in behavior made easy + Behavior Research Methods + 201902 + 20240117 + 51 + 1 + 1554-3528 + https://doi.org/10.3758/s13428-018-01193-y + 10.3758/s13428-018-01193-y + 195 + 203 + + + + + + BrainardDavid H. + + The Psychophysics Toolbox + Spatial Vision + 1997 + 20240117 + 10 + 4 + 0169-1015 + https://brill.com/view/journals/sv/10/4/article-p433_15.xml + 10.1163/156856897X00357 + 433 + 436 + + + + + + KrakauerJohn W. + GhazanfarAsif A. + Gomez-MarinAlex + MacIverMalcolm A. + PoeppelDavid + + Neuroscience Needs Behavior: Correcting a Reductionist Bias + Neuron + 201702 + 20240117 + 93 + 3 + 0896-6273 + https://www.sciencedirect.com/science/article/pii/S0896627316310406 + 10.1016/j.neuron.2016.12.041 + 480 + 490 + + + + + + ProvenzaNicole R. + GelinLuiz Fernando Fracassi + MahaphanitWasita + McGrathMary C. + Dastin-van RijnEvan M. + FanYunshu + DharRashi + FrankMichael J. + RestrepoMaria I. + GoodmanWayne K. + BortonDavid A. + + Honeycomb: A template for reproducible psychophysiological tasks for clinic, laboratory, and home use + Brazilian Journal of Psychiatry + 202107 + 20240117 + 44 + 1516-4446 + https://www.scielo.br/j/rbp/a/XFbqkbZKfG65BwTxmnrHgZh/ + 10.1590/1516-4446-2020-1675 + 147 + 155 + + + + + + Dastin-van RijnEvan M. + SachseElizabeth + IacobucciFrancesca + MensingerMegan + WidgeAlik S. + + OSCAR: An open-source controller for animal research + bioRxiv + 202302 + 20240118 + https://www.biorxiv.org/content/10.1101/2023.02.03.527033v1 + 10.1101/2023.02.03.527033 + + + + + + SachseElizabeth + RijnEvan M. Dastin-van + MensingerMegan E. + IacobucciFrancesca A. + ReimerAdriano E. + WidgeAlik S. + + 534. Optogenetic Deep Brain Stimulation of mPFC Axons in Mid-Striatum Improves Cognitive Flexibility + Biological Psychiatry + 202305 + 20240118 + 93 + 9 + 0006-3223 + https://www.biologicalpsychiatryjournal.com/article/S0006-3223(23)00848-X/fulltext + 10.1016/j.biopsych.2023.02.774 + S310 + + + + + + + MensingerMegan + WaldAaron + SachseElizabeth M. + RijnEvan M. Dastin-van + ReimerAdriano E. + WidgeAlik S. + + 462. Deep Brain Stimulation Does Not Affect Impulsivity in a Rodent 5-Choice Serial Reaction Time Task + Biological Psychiatry + 202305 + 20240118 + 93 + 9 + 0006-3223 + https://www.biologicalpsychiatryjournal.com/article/S0006-3223(23)00776-X/fulltext + 10.1016/j.biopsych.2023.02.702 + S281 + S282 + + + + + + LopesGonçalo + BonacchiNiccolò + FrazãoJoão + NetoJoana P. + AtallahBassam V. + SoaresSofia + MoreiraLuís + MatiasSara + ItskovPavel M. + CorreiaPatrícia A. + MedinaRoberto E. + CalcaterraLorenza + DreostiElena + PatonJoseph J. + KampffAdam R. + + Bonsai: An event-based framework for processing and controlling data streams + Frontiers in Neuroinformatics + 2015 + 20240119 + 9 + 1662-5196 + https://www.frontiersin.org/articles/10.3389/fninf.2015.00007 + 10.3389/fninf.2015.00007 + + + + + + CardinalRudolf N. + AitkenMichael R. F. + + Whisker: A client–server high-performance multimedia research control system + Behavior Research Methods + 2010 + 42 + 4 + 1554-3528 + 10.3758/BRM.42.4.1059 + 1059 + 1071 + + + + +
diff --git a/joss.06515/paper.jats/framework.png b/joss.06515/paper.jats/framework.png new file mode 100644 index 0000000000..945b41e9fc Binary files /dev/null and b/joss.06515/paper.jats/framework.png differ