Skip to main content

Thank you for visiting You are using a browser version with limited support for CSS. To obtain the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles and JavaScript.

Spatial organization of the somatosensory cortex revealed by osmFISH


Global efforts to create a molecular census of the brain using single-cell transcriptomics are producing a large catalog of molecularly defined cell types. However, spatial information is lacking and new methods are needed to map a large number of cell type–specific markers simultaneously on large tissue areas. Here, we describe a cyclic single-molecule fluorescence in situ hybridization methodology and define the cellular organization of the somatosensory cortex.

This is a preview of subscription content, access via your institution

Relevant articles

Open Access articles citing this article.

Access options

Rent or buy this article

Get just this article for as long as you need it


Prices may be subject to local taxes which are calculated during checkout

Fig. 1: osmFISH reveals spatial gene expression in the mouse somatosensory cortex.
Fig. 2: Clustering of osmFISH counts and mapping of cell types.

Data availability

All code and data are available online at The 6 million raw osmFISH images, totaling ~5 TB, are available from the corresponding authors upon reasonable request.


  1. Lein, E., Borm, L. E. & Linnarsson, S. Science 358, 64–69 (2017).

    Article  CAS  Google Scholar 

  2. Ke, R. et al. Nat. Methods 10, 857–860 (2013).

    Article  CAS  Google Scholar 

  3. Lee, J. H. et al. Science 343, 1360–1363 (2014).

    Article  CAS  Google Scholar 

  4. Lee, J. H. et al. Nat. Protoc. 10, 442–458 (2015).

    Article  CAS  Google Scholar 

  5. Stahl, P. L. et al. Science 353, 78–82 (2016).

    Article  CAS  Google Scholar 

  6. Wang, X. et al. Science 361, eaat5691 (2018).

    Article  Google Scholar 

  7. Lubeck, E. & Cai, L. Nat. Methods 9, 743–748 (2012).

    Article  CAS  Google Scholar 

  8. Chen, K. H., Boettiger, A. N., Moffitt, J. R., Wang, S. & Zhuang, X. Science 348, aaa6090 (2015).

    Article  Google Scholar 

  9. Shah, S., Lubeck, E., Zhou, W. & Cai, L. Neuron 92, 342–357 (2016).

    Article  CAS  Google Scholar 

  10. Femino, A. M., Fay, F. S., Fogarty, K. & Singer, R. H. Science 280, 585–590 (1998).

    Article  CAS  Google Scholar 

  11. Raj, A., van den Bogaard, P., Rifkin, S. A., van Oudenaarden, A. & Tyagi, S. Nat. Methods 5, 877–879 (2008).

    Article  CAS  Google Scholar 

  12. Lyubimova, A. et al. Nat. Protoc. 8, 1743–1758 (2013).

    Article  Google Scholar 

  13. Lubeck, E., Coskun, A. F., Zhiyentayev, T., Ahmad, M. & Cai, L. Nat. Methods 11, 360–361 (2014).

    Article  CAS  Google Scholar 

  14. Itzkovitz, S. et al. Nat. Cell Biol. 14, 106–114 (2011).

    Article  Google Scholar 

  15. Shaffer, S. M. et al. Nature 546, 431–435 (2017).

    Article  CAS  Google Scholar 

  16. Zeisel, A. et al. Science 347, 1138–1142 (2015).

    Article  CAS  Google Scholar 

  17. Marques, S. et al. Science 352, 1326–1329 (2016).

    Article  CAS  Google Scholar 

  18. Codeluppi, S. et al., (2018).

  19. Maddox, P. H. & Jenkins, D. J. Clin. Pathol. 40, 1256–1257 (1987).

    Article  CAS  Google Scholar 

  20. Preibisch, S., Saalfeld, S. & Tomancak, P. Bioinformatics 25, 1463–1465 (2009).

    Article  CAS  Google Scholar 

  21. Pedregosa, F. et al. J. Mach. Learn. Res. 12, 2825–2830 (2012).

    Google Scholar 

  22. Van Der Maaten, L. J. P. & Hinton, G. E. J. Mach. Learn. Res. 9, 2579–2605 (2008).

    Google Scholar 

  23. Ripley, B. D. J. Appl. Probab. 13, 255–266 (1976).

    Article  Google Scholar 

  24. The Astropy Collaboration. Astron. Astrophys. 558, A33 (2013).

    Article  Google Scholar 

  25. Rocklin, M. in Proc. 14th Python in Science Conference (eds. Huff, K. & Bergstra, J.) 130–136 (2015).

  26. Collette, A. Python and HDF5 (O’Reilly Media, Sebastopol, CA, 2013).

    Google Scholar 

  27. Hunter, J. D. Comput. Sci. Eng. 9, 90–95 (2007).

    Article  Google Scholar 

  28. Dalcín, L., Paz, R. & Storti, M. J. Parallel Distrib. Comput. 65, 1108–1115 (2005).

    Article  Google Scholar 

  29. Hagberg, A.A., Schult, D.A. & Swart, P.J. in Proc. 7th Python in Science Conference (eds. Varoquaux, G., Vaught, T. & Millman, J.) 11–15 (2008).

  30. Van Der Walt, S., Colbert, S. C. & Varoquaux, G. Comput. Sci. Eng. 13, 22–30 (2011).

    Article  Google Scholar 

  31. McKinney, W. in Proc. 9th Python in Science Conference (eds. van der Walt, S. & Millman, J.) 51–56 (2010).

  32. van der Walt, S. et al. PeerJ 2, e453 (2014).

    Article  Google Scholar 

  33. Meurer, A. et al. PeerJ Comput. Sci. 3, e103 (2017).

    Article  Google Scholar 

Download references


We thank the Knut and Alice Wallenberg Foundation (C.I.S. and 2015.0041 to S.L.), the Swedish Foundation for Strategic Research (RIF 14-0057 and SB 16-0065 to S.L.), the Swedish Infrastructure for Computing (SNIC 2016/1-283 to S.L.), the Swedish Research Council (542-2013-8373 to C.I.S.), the Chan Zuckerberg Initiative (2017-174399 to S.L.) and the NIH (1U01MH114812-01 to S.L.) for generous support of this work. We thank Microliquid for help in designing and manufacturing the flow cell. We thank P. Lönneberg for maintenance of the computing cluster, J. van der Zwan for the loom-viewer visualization tool, A. Mossi-Albiach for help in probe design and A. Johnsson for project management.

Author information

Authors and Affiliations



S.C., L.E.B. and S.L. designed the experiments; S.C. and L.E.B. performed the experiments and data analysis. J.A.V.L. contributed to the image stitching code. G.L.M. and A.Z. contributed to the analysis. L.E.B. designed the fluidic system. A.Z. designed the hybridization chamber. C.I.S. contributed to funding acquisition and provided scientific feedback. S.C., L.E.B. and S.L. wrote the manuscript. All authors provided critical feedback and helped shape the research, analysis and manuscript.

Corresponding authors

Correspondence to Simone Codeluppi or Sten Linnarsson.

Ethics declarations

Competing interests

The authors declare no competing interests.

Additional information

Publisher’s note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Integrated supplementary information

Supplementary Figure 1 osmFISH setup.

(a) Illustration of the osmFISH protocol. Multiple cycles of hybridization, imaging and stripping are run to map the selected genes on the same tissue section. After processing of all the images, gene expression is used to identify and map cell types in the tissue. (b) CAD rendering of the custom-made aluminum frame (microtiter plate size 127 × 85 mm) fitting 6 hybridization/imaging chambers showing different stages of assembly. First, the coverslip with sample is lowered in the frame and the lid is assembled on top of flow guiding PDMS inserts (green). (c) Assembled hybridization/imaging chamber with fluid inlet and outlet. (d) Schematic of the semiautomatic computer controlled liquid handling system. Hybridization is run in a dry oven and all the buffer exchanges are performed by a pump controlled by a custom script. (e) Cross-section of the hybridization/imaging chamber and the microscope objective during image acquisition.

Supplementary Figure 2 osmFISH technical characteristics.

(a) Percentage of molecule counts retained at different cycles of hybridization. osmFISH protocol run on a total of six genes and reference beads (blue) show a mean loss of 5.3 ± 6.9% RNA molecules per cycle. Targets labeled with Quasar 670 (Q670) show a larger decrease in dot numbers. (b) Box plots indicating the mean (center line), first and third quartiles (box edges) and minimum and maximum (whiskers), showing the number of false positives per cell counted in a naive animal brain sections labeled with probes against (eGFP Q670), n = 10 fields of view. False positive caused by endogenous tissue background (Q570 & CFR610 no probes) and one channel (Q670) with probes decrease after each imaging cycle due to photobleaching. (c) Stripping efficacy for all channels is determined after every stripping cycle. The fluorescence signal is reduced to minimal to none after stripping. Images of a single positive cell before and after stripping are displayed with identical intensity settings. (d) Computer simulation of the effect of optical crowding on the number of resolvable molecules with increasing signal density in a cell of average size (107 μm2), showing s.d. for n = 10 repeats per simulated point. According to the simulation, the detection upper limit of osmFISH is 125 molecules per cell. Bottom: representative images of simulated cells with increasing density. Green dots mark the resolvable objects, and red the nonresolvable molecules.

Supplementary Figure 3 Brain region analyzed by osmFISH.

a) Visualization of the processed brain section in the 3D reference brain model generated by the Brain Explorer 2 from Allen Institute for Brain Science (Lein, E. S. et al. Nature 445, 168–176 (2007)). (b) osmFISH was run on the brain area corresponding to section 289 of the Allen Brain reference atlas. The imaged region is highlighted in yellow. (c) Tissue structure visualized by immunohistochemistry. Nuclei (blue), astrocytes (magenta) and blood vessels (green). Asterisk marks the region imaged to evaluate stripping efficacy.

Supplementary Figure 4 Raw RNA spots grouped by cluster.

Composite images showing the raw RNA spots for all genes grouped according to the major clusters. High-resolution images of individual and grouped genes are available online.

Supplementary Figure 5 Comparison of osmFISH and scRNA-seq.

(a) Comparison between the distribution of counts for osmFISH (blue, left) and scRNA-seq (red, right). (b) Comparison between the 99th percentile of the osmFISH and scRNA-seq data. osmFISH shows higher counts compared to scRNA-seq, except for a few genes which are characterized by high expression level that saturates the optical space. On average osmFISH shows 3.8 ± 4.2 times higher measurements than scRNA-seq. (c) Cell type correlation between mean expression levels for osmFISH and scRNA-seq clusters (Zeisel et al.16), n = 33 genes. Highest correlation (⍴ = 1) is visualized in yellow.

Supplementary Figure 6 Excitatory and inhibitory clusters.

(a) Distributions of excitatory neurons. (b) Py L3/4 cells are positioned at the interface between layer 2/3 and layer 4. (c) Py L2/3 L5 which have high Lamp5 expression are found in both layers 2/3 and layer 5. (d) Distribution of the inhibitory neurons. Inhib IC cluster (red arrowhead) and Inhib CP cluster (yellow arrowhead) are highlighted. (e,f) Enlarged region (e) and Allen Brain reference map section 289 (f; Lein, E. S. et al. Nature 445, 168–176 (2007)) showing the border between Inhib IC cells (red arrowhead, internal capsule) and Inhib CP cells (yellow arrowhead, caudoputamen). Experiment not repeated.

Supplementary Figure 7 Cell-type composition in the inferred tissue regions.

Stacked bar plot showing the percentage of the different cell types in each inferred tissue region. Cell populations above 3% show a label.

Supplementary Figure 8 osmFISH image analysis pipeline.

(a) Cartoon depicting the data set organization. Each experimental folder contains a number of subfolders corresponding to the osmFISH cycles and the immunofluorescence stainings. Each subfolder contains raw Nikon .nd2 files separated according to fluorescence channel. Each file stores all the x-y positions acquired as a series of 3D stacks. (b) The entire image pipeline can be run through 6 sequential scripts. The parallelization of the code allows processing of all the hybridization simultaneously. The lines with arrowheads connect the input data to the corresponding analysis step. The preprocessing script converts the raw data and generates the filtered images, the raw counting and the stitched reference channel. The stitched reference channels from each hybridization are aligned (reference_registration script) and the registration similarity transformations are used to register the raw counts (dots_coords_correction script) and the osmFISH filtered images (apply_stitching script). After alignment, the segmentation channel is processed to generate cell outlines (staining_segmentation script) that are used to count the cell mapped RNA molecules (map_counting script). In this step the counting is run using the same approach used to count the RNA molecules in each image (raw counting) to account for cell-specific background. The scripts that form the pipeline use a modular open source API that can be used to create tailored pipelines to process different types of smFISH data.

Supplementary Figure 9 Cell identification by segmentation of poly(A) signal.

(a) Visualization of cell shapes by poly(A) osmFISH. The asterisk defines the region imaged to evaluate stripping efficacy. (b) Distribution of the segmented cells labeled with random colors. The region imaged after stripping has been excluded. (ce) Segmentation based on poly(A) osmFISH can fail (d) if the poly(A) signal is too low or if the majority of the cell body is not in the section so that only a fraction of the cell is visible (c). Arrow indicates a cell with low poly(A) signal (c) that shows specific RNA spots (e) but owing to failed segmentation is lost. (gk) Magnification of the poly(A) osmFISH staining. White segmented cell contours (convex hulls) represent the cells used in the clustering. Yellow contours identify discharged cells and detected molecules in green.

Supplementary information

Supplementary Text and Figures

Supplementary Figures 1–9 and Supplementary Table 2

Reporting Summary

Supplementary Table 1

osmFISH probe sequences

Supplementary Software

pysmFISH, image analysis pipeline for filtering, alignment and counting of osmFISH data. osmFISH cell type analysis, clustering, regionalization and spatial analysis pipeline of spatial gene expression data. Liquid handling, script to control the Dolomite Mitos P-pump for automation of the osmFISH protocol

Source data

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Codeluppi, S., Borm, L.E., Zeisel, A. et al. Spatial organization of the somatosensory cortex revealed by osmFISH. Nat Methods 15, 932–935 (2018).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:

This article is cited by


Quick links

Nature Briefing

Sign up for the Nature Briefing newsletter — what matters in science, free to your inbox daily.

Get the most important science stories of the day, free in your inbox. Sign up for Nature Briefing