Data and code from: Convergence of sweet and umami in the mammalian taste bud
Data files
Oct 02, 2026 version files 84.30 MB
-
Bottom_plate.stl
206.06 KB
-
CV_RNAscope.csv
64.49 KB
-
cycloheximide_dose_curve.csv
383 B
-
cycloheximide_dose_curve.py
9.24 KB
-
df_f_for_fibers.py
7.39 KB
-
df_f_for_trcs.py
8.13 KB
-
Fiber_taste_panel_data.csv
17.18 MB
-
filtered_feature_bc_matrix.h5
48.96 MB
-
foliate_RNAscope.csv
47.39 KB
-
Human_rnascope_data.csv
572 B
-
human_rnascope.py
2.03 KB
-
interpolation_code.py
10.08 KB
-
quinine_dose_curve.csv
557 B
-
quinine_dose_curve.py
7.92 KB
-
README.md
6.71 KB
-
rnascope_figure.py
11.63 KB
-
salt_dose_curve.csv
956 B
-
salt_dose_curve.py
9.48 KB
-
sour_dose_curve.csv
1.34 KB
-
sour_dose_curve.py
9.03 KB
-
Sweet_CTA_Data.csv
8.62 KB
-
sweet_dose_curve.csv
1.47 KB
-
sweet_dose_curve.py
8.27 KB
-
Tip_RNAscope_Exp1.csv
8.07 KB
-
Tip_RNAscope_Exp2.csv
8.75 KB
-
Top_plate.stl
624.38 KB
-
Umami_CTA_Data.csv
8.09 KB
-
umami_dose_curve.csv
2.56 KB
-
umami_dose_curve.py
10.66 KB
-
UMAP_Code.R
11.21 KB
-
V1_Taste_Panel.csv
8.02 MB
-
V2_taste_panel.csv
9.05 MB
Abstract
How are taste qualities encoded at the periphery? We used in vivo two-photon calcium imaging to record GCaMP6f responses from taste receptor cells and from the fiber terminals innervating them in fungiform buds of anesthetized mice. Using this system, we tested how concentration is encoded in taste cells. The concentration-response files cover acesulfame K (sweet), monopotassium glutamate with inosine monophosphate (umami), sodium chloride (salty), cycloheximide (bitter), quinine (bitter), and citric acid (sour). Each value is a cell's peak response at that concentration, normalized to the same cell's response at the highest concentration tested. From these curves, we picked concentrations that evoke EC50-level and maximal responses and built a panel of seven stimuli spanning the five taste qualities, which we then used to record taste cells and taste fibers activity in separate mice. The taste panel files contain those recordings as ΔF/F traces from 83 taste receptor cells and 85 fiber units. Trials lasted 275 seconds; each tastant was delivered for five seconds and followed by a water rinse. All traces were resampled onto a common time base and are labeled with the stimulus being delivered. In the in situ hybridization files, each row is one segmented cell, and the values give the percentage of that cell covered by probe signal, which we used as a proxy for expression level. The mouse data cover Tas1r1, Tas1r2, and Tas1r3 in circumvallate, foliate, and fungiform papillae, and the human data cover TAS1R1 and TAS1R2 in post-mortem tongue. Behavioral files contain bottle weights, consumption, and preference scores from two-bottle conditioned taste aversion tests. We have also included the Python and R scripts used for processing and plotting, along with STL files for the 3D-printed plates that hold and perfuse the tongue during imaging, which can be printed directly. Single-cell RNA sequencing data are available separately through NCBI GEO.
Dataset DOI: https://doi.org/10.5061/dryad.v41ns1sc9
These files contain the data used to generate the figures in the associated iScience manuscript: two-photon calcium imaging of taste receptor cells (TRCs) and geniculate fibers, RNAscope in mouse and human taste tissue, and conditioned taste aversion tests. All data files are CSV. Cell and fiber numbers are specific to each file. A blank cell means no measurement was made, while 0 is a measured non-response. ΔF/F is a fraction, not a percentage.
Running the code
Place the data files in data/ and the scripts in scripts/ within one project folder, then run any script, for example python scripts/sweet_dose_curve.py. Scripts read from data/ and save figures to results/, which is created automatically. Requirements: Python 3.9+ with pandas, numpy, scipy, scikit-learn, and matplotlib (plus openpyxl for the preprocessing scripts in Section 2), and R with Seurat [version] and the packages loaded in UMAP_Code.R.
1. Concentration-response series
Each file has one row per cell and one column per concentration, with the unit in the header. Values are the peak ΔF/F during that stimulus window divided by the peak ΔF/F at the highest concentration tested in that cell. The highest concentration is therefore 1.00 for every cell; values above 1.00 mean a cell responded more strongly at an intermediate concentration. Each file is analyzed by the script of the same name (for example, sweet_dose_curve.py,cycloheximide_dose_curve.py, quinine_dose_curve.py, salt_dose_curve.py, sour_dose_curve.py, and umami_dose_curve.py).
| File | Stimulus | Cells | Range | Normalized to |
|---|---|---|---|---|
sweet_dose_curve.csv |
acesulfame K | 24 | 1–100 mM | 100 mM |
umami_dose_curve.csv |
MPG + 1 mM IMP | 38 | 0–30 mM MPG | 30 mM MPG |
sour_dose_curve.csv |
citric acid | 17 | pH 6–2.2 | pH 2.2 |
salt_dose_curve.csv |
NaCl | 12 | 10–360 mM | see below |
cycloheximide_dose_curve.csv |
Cycloheximide | 4 | 0.1–100 µM | 100 µM |
quinine_dose_curve.csv |
Quinine | 12 | 1 µM–30 mM (headers in M) | 30 mM |
Every umami concentration includes 1 mM IMP. Sour, salt, and cycloheximide were each run as two panels:
- Sour: cell1–7 at pH 6, 5.2, 4.6, 4, 3.5, 2.8, 2.2; cell8–17 at pH 4.8, 4.5, 4, 3.75, 3.5, 2.8, 2.2.
- Salt: cell1–10 at 10, 20, 30, 45, 60, 90, 120 mM (normalized to 120 mM); cell11–12 at 20, 60, 120, 360 mM (normalized to 360 mM).
- Cycloheximide: cell1–3 at 1, 4, 7, 10, 20, 50, 100 µM; cell4 at 0.1, 1, 10, 30, 50, 75, 100 µM.
Each script fits a four-parameter logistic, y = d + (a − d) / (1 + exp((c − x) / b)), to the mean response and reports c as the EC50 (in linear units) with R².
2. Taste panel imaging
V1_Taste_Panel.csv (39 TRCs), V2_taste_panel.csv (44 TRCs), and Fiber_taste_panel_data.csv (85 fibers) contain processed ΔF/F traces on a common 0.05 s grid from 0 to 275 s. Raw fluorescence traces are available upon request from the lead contact. Columns are time (seconds), Stimuli (the stimulus being presented, blank between presentations), and then Cell1_trial1, Cell1_trial2, and Cell1_average (mean of the two trials) for each cell, or Fiber1_… in the fiber file. Traces are blank after a recording ends.
Each stimulus lasts 5 s, with onsets at 30, 65, 100, 135, 170, 205, and 240 s. Presentation order:
- V1: Acek EC50, Acek 30 mM, cycloheximide, umami EC50, umami 30 mM, sour, salt
- V2 and fibers: Acek EC50, sour, umami EC50, cycloheximide, Acek 30 mM, salt, umami 30 mM
The three processing scripts document how these files were made. They need the raw data, so they cannot be run on the deposited files. df_f_for_trcs.py computes TRC ΔF/F with a separate F0 for each stimulus (mean of the 100 preceding frames), applied up to the next stimulus's baseline. df_f_for_fibers.py uses a single F0, the median of the seven baseline windows. interpolation_code.py Resamples each trace onto the 0.05 s grid by PCHIP interpolation. The columns were then renamed, the Stimuli column added, and the tables exported to CSV without changing any values.
3. RNAscope
Mouse files are CV_RNAscope.csv (3,093 cells), foliate_RNAscope.csv (1,550), and the fungiform files Tip_RNAscope_Exp1.csv (200) and Tip_RNAscope_Exp2.csv (250), which are pooled for the figure. Columns are Cell_index, T1R1, T1R2, and T1R3. The human file Human_rnascope_data.csv (20 cells) has columns Cell index, TAS1R1, and TAS1R2. Values are signal intensities normalized to 0–100, and a probe counts as expressed at 10 or above.
rnascope_figure.py keeps mouse cells that express any T1R, classifies them as sweet (T1R2+T1R3), umami (T1R1+T1R3), or savory (all three), and plots each class as a percentage of classified cells. human_rnascope.py classifies human cells as TAS1R1+/TAS1R2+, TAS1R1 only, TAS1R2 only, or neither.
4. Conditioned taste aversion
Sweet_CTA_Data.csv Covers mice conditioned against sweet (7 LiCl, 6 control) and tested for umami, salt, and sweet preference. Umami_CTA_Data.csv covers mice conditioned against umami (6 LiCl, 6 control) and tested for sweet, umami, and salt preference. Each 30-minute two-bottle test was run twice, with the tastant bottle on the right and then on the left, giving six blocks stacked vertically per file. Each block starts with a row giving the test, the bottle position, and the column labels. LiCl mice are listed first, then controls. Bottle weights and consumption are in grams, and the preference score is bottle 1 consumption divided by total consumption.
5. Single-cell RNA sequencing
Single-cell RNA sequencing data from mouse circumvallate taste tissue (10X Genomics, [16,903] cells) are in GEO under GSE345465. UMAP_Code.R Run the cluster analysis: place filtered_feature_bc_matrix.h5 an HDF5 file holding a single-cell RNA-seq count matrix (cells × genes, with only cell-containing barcodes kept) generated with Cell Ranger in data/ and run the script from the project folder.
6. In vivo imaging stage
Top_plate.stl and Bottom_plate.stl are design files for the stage that holds the tongue during in vivo two-photon imaging.
