Northeastern University Speech and Neurodevelopment Lab

Speech and Neurodevelopment Lab


For the Speech and Neurodevelopment Lab, I wrote a Python script that would enable researchers to efficiently organize their non-nutritive suck (NNS) data and collect immediate metrics and visuals, something that used to take the lab days to complete. I then improved it with additional features and a GUI to provide a more user-friendly experience.

Research in the Speech and Neurdevelopment Lab


The Speech and Neurodevelopment Lab (SNL) at Northeastern University examines the interplay between sucking, feeding, and vocal development in infants ages 0 to 1. The SNL utilizes several methods to conduct its studies; however, one of the lab's central aims is to characterize non-nutritive suck (NNS) as an early neurodevelopmental biomarker of central nervous system (CNS) development.

This early sucking response requires the coordination of 26 muscle pairs and 6 cranial nerves. Given this, evaluating suck in different infant populations using the lab's novel, rapid, and quantitative NNS device, will help to establish a norm for suck at various time points throughout development, and hopefully identify infants who may need further intervention. In order to achieve this, the SNL works with other research centers to collect NNS data using the SNL NNS device. Because of this, the SNL frequently receives new NNS data files. This information has been manually added to a master database file. In order to make this process more efficient, the SNL sought to automate this process.

Python Parsing and Analysis Script


I consulted with the SNL to write a Python script to enable members of the lab to more eaily process large sums of NNS data files. This script was made because the Excel file containing key subject data was often being updated with new subjects from different research facilities. The script saves countless hours of copying and pasting specific information, and allows for quick statistical analysis of updated data. This script parsed through every data file and recorded the NNS measures of interest. These values would then be inputted into a master Excel file and arranged based on a subject ID that could be inferred from each file name. The script would parse through an Excel file that contained demographic data on all of the subjects from every study. it then takes this information and populates a section of the master Excel file, inputting each subject's demographic data into the correct row based on a search of the matching subject ID. I have continued to work with the SNL to add additional features like displaying supplemental stats in the console and an option to graph certain data values to find outliers.

Multi-user Analysis


As other process needs arose, I improved the initial parsing and analysis into a more intuitive GUI interface using the Streamlit framework. There are multiple members of the lab and setting up the script to run on each member's device and providing information on how to load their sensitive infant data files was cumbersome.

The solution here was to utilize Northeastern University's fairly new Discovery cluster system, their High Performance Computing (HPC) resource. After finishing developing the main features of the new GUI app, I could deploy it to Northeastern's Discovery cluster by ssh'ing into the entry node and starting and running jobs using Slurm (simple linux utility for resource management). I would then deploy the Singularity container (a more secure containerization system than Docker). With this, members of the lab could access the app via the Open On-Demand system (OOD), a web portal to Discovery Cluster HPC resources without the need for command-line interface. It provides a GUI for using and running software applications for Discovery users.

The members of the lab could each use the application, which was designed to safely connect to their secure data, to run analysis, view and chart data, and download the visuals for use in their papers and presentations. This also allowed much easier bugfixing and new feature releases since the deployment steps pulled the latest codebase directly from a GitHub repository into the Singularity container.

SNL app preview

SAM RAPPAPORT

© 2024. All rights reserved.

Built with