DOI: 10.5061/dryad.k0p2ngfg2
title: Data from: Self-extinguishing relay waves enable homeostatic control of human neutrophil swarming

description: Neutrophils collectively migrate to sites of injury and infection. How
 these swarms are coordinated to ensure the proper level of recruitment is
 unknown. Using an ex vivo model of infection, we show that human
 neutrophil swarming is organized by multiple pulsatile chemoattractant
 waves. These waves propagate through active relay in which stimulated
 neutrophils trigger their neighbors to release additional swarming cues.
 Unlike canonical active relays, we find these waves to be
 self-terminating, limiting the spatial range of cell recruitment. We
 identify an NADPH-oxidase-based negative feedback loop that is needed for
 this self-terminating behavior. We observe near-constant levels of
 neutrophil recruitment over a wide range of starting conditions, revealing
 surprising robustness in the swarming process. This homeostatic control is
 achieved by larger and more numerous swarming waves at lower cell
 densities. We link defective wave termination to a broken recruitment
 homeostat in the context of human chronic granulomatous disease.
description: Neutrophil Isolation Protocol: 
 Imaging media was first prepared with RPMI (w/o Phenol Red, 25mM
 HEPES, L-Glutamate) and 0.4% Human Serum Albumin (HSA) (Sigma Cat: A5843).
 HSA was added directly to RPMI and then centrifuged at 500xg for 5 min
 until fully dissolved. The mix was then filtered with a .22 μm Steriflip
 filter (Millipore Sigma: SE1M179M6) before further use. Imaging media was
 always prepared fresh on the same day of imaging. Blood
 specimens from patients were obtained with informed consent according to
 the institutional review board-approved study protocol at the University
 of California - San Francisco (Study #21-35147). Fresh samples of
 peripheral blood (2 tubes, 7 mL each) from healthy adult volunteers were
 collected via a BD 23-gauge butterfly needle collection set (SKU:
 23-021-022) into 10 ml BD Vacutainer EDTA tubes (SKU:366643). Volunteers
 were informed not to take ibuprofen, acetaminophen, or more than one drink
 of alcohol within 24 hrs, class 1 or 2 antihistamines within 5 days, or
 aspirin within 7 days of blood draw. Blood was kept on a shaker at minimum
 setting and utilized within 2 hours of the draw. Neutrophils were isolated
 using the Stemcell EasySep Direct Human Neutrophil Isolation Kit (#19666)
 with the BigEasy magnet (#18001) according to the manufacturer’s
 protocol. Isolated neutrophils were spun down at 200xg
 for 5 min and then resuspended in a dye media consisting of imaging media
 plus 5 μg/ml Hoechst 3334 (Invitrogen, Cat:H3570), and 1 μM CalBryte 520
 AM (AAT Bioquest, Cat: 20650). This cell suspension was incubated at room
 temperature in the dark for 15 min, and then spun down at 200xg for 5 min.
 The dye medium was aspirated and replaced with an amount of cell culture
 media of RPMI (Gibco) with 10% heat inactivated FBS (Gibco) needed to
 achieve a final cell density at or below 1x10<sup>6</sup>
 cells/mL. Purified neutrophils were then kept in polystyrene T25 flasks at
 37°C in a 5% CO2 environment until imaging. Cells were allowed to incubate
 for at least one hour before imaging began and not more than 5 hours after
 isolation. Allowing the cells to rest in culture before imaging helped
 ensure that Ca<sup>2+</sup> signaling was more consistent and
 less noisy across volunteers. CGD Cell
 Isolation: For CGD cells use in this work,
 the following changes to the above protocol were made. First, blood
 specimens were drawn from patients at the NIH campus for either control
 healthy donors or donors verified to have CGD. Samples were collected into
 10ml BD Vacutainer EDTA tubes, and blood was shipped overnight in a
 temperature-controlled box using Phase 22 room temperature packs. Both CGD
 and healthy control blood were shipped together with each run to control
 for effects of shipping blood overnight to MGH. Blood was isolated in the
 same method as above as soon as it arrived in lab at around 10:30 am each
 day experiments were performed. Cells were not used more than 5 hours
 after isolation, and all accumulation experiments took place within 2
 hours post isolation. Neutrophil Swarming Chip
 Protocol: Swarming arrays of C. albicans
 were prepared as described previously, with modifications (6, 7). Briefly,
 we used a microprinting platform (Picospotter PolyPico Galway, Ireland) to
 print a solution of 0.1% poly-l-lysine (Sigma-Aldrich) with ZETAG 8185.
 For experiments, we printed arrays with either 1.0 mm or 1.5 mm spacing as
 indicated in an 8 well format on full sized No. 1.5H glass coverslips
 (Ibidi, Cat # 10812). Coverslips were dried and then left at room
 temperature until required. To attach an infection-like material to these
 arrays, 8-well sticky-Slide attachments (Ibidi, Cat # 80828) were overlaid
 on the printed arrays. An overnight culture of live C. albicans yeast was
 heat killed at 90°C for 20 minutes before being washed and re-suspended in
 dH2O, then 750 µL of this suspension was added to each well and incubated
 for 5 minutes. Following incubation, wells were thoroughly washed out with
 dH<sub>2</sub>O to remove unbound targets from the glass
 surface. Wells were screened to ensure appropriate patterning of targets
 onto the spots with minimal non-specific binding before use. The well
 attachment was then removed, and the coverslips were stored at 4°C until
 ready for use. When preparing to use a patterned
 coverslip, the coverslip was first re-inspected for coating and target
 integrity. An Ibidi 8 well sticky-slide (Cat: 80828) was pressed firmly on
 to the slide, and a pipette tip was run along the bottom to ensure a
 proper seal was formed. The coverslip-well combo was then incubated in a
 37°C oven overnight. Next a 200 µL mixture of imaging media plus 15 µg/ml
 Fibronectin from human plasma (Sigma, Cat: F0895) was pipetted into each
 well that was to be used that day. The slide was then incubated for 30 min
 at 37°C and washed 3x with 200 µL/well of PBS (-/- Ca/Mg). The final wash
 of PBS was left on the well until imaging.
 Neutrophil Swarming Imaging
 Protocol: Cells were imaged as follows except
 when using CGD cells (See below). Neutrophils in culture were taken and
 placed into Fisherbrand LowRetention 1.5mL microcentrifuge tubes (Cat:
 02681320) and spun down at 200xg for 5 min. Cells were resuspended at
 variable concentrations ranging from 3x10<sup>6</sup> -
 10x10<sup>6</sup> cells/mL in a freshly made solution of
 imaging media. These cell solutions were then allowed to rest at room
 temperature for 15 min. When the wait time had elapsed, the wash PBS was
 taken off the well to be imaged and 200 µL of the neutrophil solution
 pipetted into the well. Imaging began as soon as imaging conditions could
 be verified after placing the cells into the well. Most confocal
 microscopy data was collected using a Nikon Ti2-E body scope configured
 with a CrestOptics X-Light V2 confocal spinning disk system, a Lumencor
 Celesta light engine, Nikon 10x CFI Plan Apo Lambda objective, an Okobox
 temperature and CO<sub>2</sub> controlled environment, and a
 Photometrics Prime 95B sCMOS camera. Revision confocal microscopy data was
 collected using a Nikon Ti2-E body scope configured with a CrestOptics
 X-Light V3 confocal spinning disk system, a Lumencor Celesta light engine,
 Nikon 10x CFI Plan Apo Lambda objective, an Okobox temperature and
 CO<sub>2</sub> controlled environment, and a Photometrics
 Kinetix sCMOS camera. All data was taken using the same levels of laser
 power from the 405 nm and 488 nm. The camera was run in a 2x2 binning mode
 with a set exposure time of 200 ms for all channels. All movies are taken
 with a frame interval of 5 seconds between exposures unless otherwise
 indicated. All movies were taken at 37°C with 5% CO2 for the duration of
 imaging. Where indicated, this protocol was modified as
 follows to add the inhibitors used in this study. For the LTB4 inhibitor
 BIIL315 (Boehringer Ingelheim via opnMe), the drug first resuspended in
 DMSO at a stock concentration of 10 mM. The stock was then diluted in
 resuspension media (RPMI+0.4%HSA) to a final concentration of 1 µM before
 resuspending cells in the final step for imaging sample preparation. Cells
 were incubated in this drug-media solution for 15 min before starting the
 experiment. The drug was kept in solution for the duration of imaging. For
 Diphenyleneiodonium chloride, or DPI (MedChemExpress, Cat: HY-100965), the
 drug was bought in a premixed solution of DMSO at a stock concentration of
 10 mM. The drug was diluted to a final concentration of 50 µM in RPMI +
 0.4% HSA before resuspending cells in the final step for imaging sample
 preparation. Cells were incubated in this drug-media solution for 15 min
 before starting the experiment. The drug was kept in solution for the
 duration of imaging. For SOD + Catalase, each lyophilized protein was
 separately suspended in imaging media (RPMI + 0.4% HSA) and allowed to
 dissolve. Aliquots were made and stored at -80C. Before imaging, aliquots
 were thawed on ice and diluted in imaging media to a final concentration
 of 200 U/mL for SOD (Sigma Cat #9636-1KU), &gt;200U/mL for Catalase
 (Sigma Cat #219008-1MG). Since Catalase was provided with only a range of
 specific activity (&gt;50,000 U/mL), the final concentration in the
 swarming assay was 4.27ug/mL to give an activity range of &gt;213U/mL.
 Cells were incubated in this protein containing media solution for 15 min
 before starting the experiment. The proteins were kept in solution for the
 duration of imaging. CGD Donor Cell
 Accumulation Imaging: Neutrophils in culture
 were taken and placed into 1.5 mL microcentrifuge tubes and spun down at
 200xg for 5 min. Cells were resuspended at variable concentrations ranging
 from 3x10<sup>6</sup> - 10x10<sup>6</sup> cells/mL
 in a freshly made solution of imaging media. These cell solutions were
 then allowed to rest at room temperature for 15 min. When the wait time
 had elapsed, the wash PBS was taken off the well to be imaged and 200 µL
 of the neutrophil solution placed in the well. End point accumulation
 imaging was performed 60 min after the wells were seeded with cells.
 Images were collected using a widefield florescence Nikon Ti-E body scope
 configured with a Nikon 10x Plan Flour objective equipped with a 37°C
 temperature and 5% CO2 environmental chamber.
 CGD Donor Calcium Imaging:
 Neutrophils in culture were taken and placed into 1.5 mL
 microcentrifuge tubes and spun down at 200xg for 5 min. To avoid cell
 activation, cells were resuspended in the same media they were cultured
 in, RPMI + 10% FBS. These cells were left to rest for 15 min at room
 temperature, and then added to the well and imaged immediately. Timelapse
 imaging was performed on a Nikon Ti-E body widefield florescence scope,
 with a 10x Nikon objective, and wells were inside a stage top 37°C
 incubation unit. Image
 Analysis: All image analysis presented in
 this work was achieved via the use of both Fiji (ImageJ) and Python.
 Images were pre-processed when needed to split one field of view into 4
 quadrant ROIs to simplify the downstream Python analysis. All python
 analysis for each graph is provided as open-source code in the form of
 both scripts and Jupyter notebooks on Github
 (https://github.com/strickland-ev/swarming-self-extinguishing-relay-publication). A brief description of each data analysis tool used is provided in plain text below. The raw data for all graphs generated will be provided as a zip file on Box or the publisher website. We also intend to publish our raw data, code, and all files that went into making these figures and movies on Zenodo or comparable platform at the time of publication. ARCOS Wave Tracking: See code posted on Github for a more direct explanation of the methods used and the code used for each figure. Broadly, to track cells trackpy was used to link frames where nuclei were identified via a custom StarDist model. The ARCOS algorithm was used to group like calcium events. Further analysis of cell tracks was done via custom python code included in the Github jupyter notebooks.
description: # Data from: Self-extinguishing relay waves enable homeostatic control of
 human neutrophil swarming
 [https://doi.org/10.5061/dryad.k0p2ngfg2](https://doi.org/10.5061/dryad.k0p2ngfg2) Neutrophils collectively migrate to sites of injury and infection. How these swarms are coordinated to ensure the proper level of recruitment is unknown. Using an *ex vivo* model of infection, we show that human neutrophil swarming is organized by multiple pulsatile chemoattractant waves. These waves propagate through active relay in which stimulated neutrophils trigger their neighbors to release additional swarming cues. Unlike canonical active relays, we find these waves to be self-terminating, limiting the spatial range of cell recruitment. We identify an NADPH-oxidase-based negative feedback loop that is needed for this self-terminating behavior. We observe near-constant levels of neutrophil recruitment over a wide range of starting conditions, revealing surprising robustness in the swarming process. This homeostatic control is achieved by larger and more numerous swarming waves at lower cell densities. We link defective wave termination to a broken recruitment homeostat in the context of human chronic granulomatous disease. This data set was generated using the methods provided with the linked pre-print and the methods attached to this DOI. Data was organized from files that came off the scope automatically using the tools included along with the data. ## Description of the data and file structure Data set building scripts are provided in the Tools folder. Datasets made and analyzed for the pre-print and final work are provided in the Datasets.zip file. Datasets were analyzed in a standard way and then outputs were analyzed and plotted using code found at: [https://github.com/strickland-ev/swarming-self-extinguishing-relay-publication.](https://github.com/strickland-ev/swarming-self-extinguishing-relay-publication.) Datasets are organized in the following way:  Each subfolder contains a particular standardized dataset with the following structure:  * An analysis dataframe (analysis_DF.csv) saved as a csv. These objects are read by many parts of the code as pandas dataframes, and used to group images by condition, volunteer, and cell seeding density. They contain general information about where a particular numbered image file comes from and what the imaging conditions were. This file is essential to tracking the metadata of a given numbered ROI to its physical imaging conditions, pixel to micron conversion factor, and where it ultimately came from when I created each dataset locally on my computer.  * An images folder containing numbered tiff files in a set. The metadata for these images is largely stored in the corresponding analysis dataframe file. Each file is a multipage tiff containing still timepoints of a calcium channel nuclei channel for a given ROI and experiment.  * A segmented nuclei folder. This folder contains tiff files that correspond in number to the files in the images folder. For example 1.tiff in the image folder is the microscopy image, the 1_segmented.tiff in the segmented_nuclei folder is the corresponding output from 1.tiff after being run through step2 when building a standard dataset. Each file is a multipage tiff containing the labeled nuclei at each time point in a microscopy ROI. These masks are used to track cells and subsequent analysis.  * A wave tracks folder that is empty. This is partially an anachronism, the cell tracking, ARCOS, and wave tracking files usually end up in wavefit_outputs. * A wavefit_outputs folder. When running a standard dataset through the main steps of analysis 3 and 4, these two scripts create 5 main outputs per image in a set. Outputs go to this folder and are as follows:  * \[image number]\_ tracking df.csv : This file is a pandas dataframe saved to a csv file. This is the result of taking all segmented nuclei frames, labeling individual nuclei, then linking these labeled objects in time to get cell tracks over time. Trackpy is used to link frames and this intermediate output is saved so that computational time can be saved in later loops. Also allows for better batching when running the tracking only parts of step3. Units for these columns are normally: x/y (px), calcium (AU), area (px^2), timepoint (frame #), cell density (cells/mm^2)  * \[image number]\_ tracking \_ binned \_df.csv: This file is a pandas dataframe saved to a csv file. This is a modified version of the tracking df, now including information from the calcium channel of the corresponding image along each cell track. Based on a user defined threshold, this calcium data is binned into either 'on' or 'off' states, such that each track is now saved with x and y positions, track ids, cell areas, calcium raw signal, and calcium binned signal over time. This will then be used by ARCOS to get collective event groupings. Units for these columns are normally: x/y (px), calcium (AU), area (px^2), timepoint (frame #), cell density (cells/mm^2)  * \[image number]\_ ARCOS *df.csv* : This is a csv output of a pandas dataframe created when grouping collective calcium events. Briefly, tracking binned DF data is used by the ARCOS algorithm cited in the paper to group cell tracks and calcium on states into collective events. These on states are collected and grouped in space and time, and the final dataframe saves the track id, x/y position, collective track ID, cell label, the calcium raw signal, the cell density at that timepoint, and the calicum bin state for each cell and each collective event across a given ROI. This file will then be used to fit circles to the cloud of points to then analyze the signaling events observed quantitatively. Units for these columns are normally: timepoint (frame #), x/y (px), Calcium (AU), area (px^2), cell density (cells/mm^2) * \[image number] \_ wave \_ DF.csv : This file is a saved pandas dataframe of the waves that were deemed by the user fit to be tracked after grouping via ARCOS. Briefly, ARCOS events are fit to circles, and then must be manually looked at in step4 to determine quality of fit and trackability for further analysis. Common things that would make a wave untrackable and unused in further analysis were when two wave events overlapped in time, confusing the study of single wave kinetics we did intended to do in this work. Furthermore, waves were also checked to see how good a given circle fit was after processing. If a fit was deemed way off by eye (comparing wave boundary drawn by software to the calcium signal seen by eye) it was deemed untrackable. In this manner, ARCOS events were fit to circles as shown in Supplemental Figure 1 of the publication, and then curated to ensure we had a clean set of single propagating waves that fit the data well when viewed manually for further analysis. A given wave entry includes the timepoints it existed over, and for each timepoint we record the relative time from initiation (rel_time), radius of the circle fit (circle_radius), the relative radius to the time zero radius (rel_r), the radius value squared (r_squared), the radius velocity, the radius acceleration, centroid of the circle fit (wave_centroid), the cell density, the average calcium signal, the trackable flag, the drug name and concentration if one was used, the corresponding volunteer id of the cells that created the wave, and the split value determined as shown in Supplemental Figure 2 of the publication at each timepoint of a wave. These values were further analyzed in downstream code and form the bedrock of the data analysis of the original publication. Units for these columns are normally: timepoint (frame #), rel_time (frame #), rel_r (px), r_squared (px^2), circle_radius (px), radius_velocity (px/s), radius acceleration (px/s^2), wave_centroid (px,px), cell_density(cells/mm^2), ca_avg_sig (AU) * \[image number]\_ ARCOS \_summary.png : This image is a summary graph of key parts of the ARCOS analysis that are used to generally troubleshoot the analysis during early stages of the process. The blue line is the average calcium signal across the whole frame of the image, and the ARCOS grouped events are overlayed as shaded areas on this curve. Roughly we would like for spikes in general calcium signaling to correspond to our ARCOS groupings in time. The red line is the number of nuclei counted in a given frame. This number can be used to ensure that nothing weird is occurring with the segmentation, a stable line or steadily changing line is better than sudden jumps in nuclei counts that could indicate bad segmentation. These are diagnostic only and not used downstream. It should be noted that some data sets were not run through a full analysis, such as the included CGD calcium dataset (2023_05_07_CGD-calcium). This is because the CGD data was largely difficult to use due to cell health. While one example was fully analyzed for this paper, the others are included for posterity and future work that might be interested in how CGD effects wave propagation. We recommend finding fresh samples if wanting to replicate our work, as we found that the shipping process was not kind to already fragile neutrophil populations like those found in CGD patients.  Furthermore, the accumulation measurements have datasets that have a different structure than a standard dataset (2023_05_03_CGD_Accumulation and Accumulation Sets). This is due to a difference in how code was developed to measure accumulation separate from studying the wave propagation kinetics. * In the 2023_05_03_CGD_Accumulation dataset, code is included loacally that was used in creating the accumulation measurements used in the paper. This set still uses an analysis DF like a normal standard set, but does not track waves. Image files are stored under the nuclei folder as tiffs. Nuclei core ROIs are grouped in their folder to limit spurious measurement of off target clumping of cells in the final measurement. Segmented nuclei and segmented core nuclei are tiffs that contain the mask outputs after running the raw nuclei files through stardist. Each of these files is then used to calculate roughly how many cells accumulate at a given target.  * In Accumulation Sets, the following organization pattern was used. Data was taken and manually organized into folders. * Under accumulation kinetic, each subfolder represents a given day and volunteer ID (MMDD-v[volunteerID]). In each subfolder, there are further subfolders separating nuclei images and target images. The nuclei images are tiff files containing multiple timelapses of nuclei accumulation after neutrophil seeding and swarming to a given target. These files are named to include seeding density and target ID (X million cells per mL - target Y == Xm-Y.tiff). The segmented nuclei subfolder is simply the output of stardist on these images for analysis purposes. Targets are included as stills of the brightfield targets taken before imaging began.  * Under accumulation zstack, each subfolder represents a given day and volunteer ID (MMDD-v[volunteerID]). In each subfolder, there are further subfolders separating nuclei images and target images. The nuclei images are tiff files containing a single end point snapshot of nuclei accumulation after neutrophil seeding and swarming to a given target. Files are named as X million cells per ml - well Y - position N - target number M (Xm-wY-pN-tM.tif). Targets are included as stills of the brightfield targets taken before imaging began.  Backups of this code and everything used in this work are provided in a single zip file with this DOI, please see the Coding Tools.zip and below readme section.  ## Sharing/Access information Data posted here is freely available and will follow the sharing access and copyright published with Dryad. The publication itself is published with Developmental Cell, and I suppose the final product is their copyright. All software will be published here and on Github, and will be open to all to view and download/share. Will use default open source copyrights when possible.  ## Code/Software Basic code for assembling a dataset from microscopy data is provided under Datasets Tools folder. Most is written in python for use as a script launched from the terminal (step1,3,4), and step 2 is a Jupyter notebook. All environments used for this work were done with Anaconda and the yml file for the environment is included under Coding Envs folder. Figure generation and analysis was done via Jupyter notebooks and python under the Figure Analysis Examples folder. Folder structure matches the figures of the linked publication. Also included are the Julia env file (Coding Envs) and the Julia code used to run the mathematical simulations for the work.  For anything listed here if you have questions or comments my personal email (first author of the work) is [evvlyn.strickland@gmail.com. ](mailto:evvlyn.strickland@gmail.c)I will be as responsive as I can be for the foreseeable future! Also I might be reached through my Github linked above as well.