Abstract
Background: The development of highly scalable single-cell transcriptome technology has resulted in the creation of thousands of datasets, >30 in the retina alone. Analyzing the transcriptomes between different projects is highly desirable because this would allow for better assessment of which biological effects are consistent across independent studies. However it is difficult to compare and contrast data across different projects because there are substantial batch effects from computational processing, single-cell technology utilized, and the natural biological variation. While many single-cell transcriptome-specific batch correction methods purport to remove the technical noise, it is difficult to ascertain which method functions best. Results: We developed a lightweight R package (scPOP, single-cell Pick Optimal Parameters) that brings in batch integration methods and uses a simple heuristic to balance batch merging and cell type/cluster purity. We use this package along with a Snakefile-based workflow system to demonstrate how to optimally merge 766,615 cells from 33 retina datsets and 3 species to create a massive ocular single-cell transcriptome meta-atlas. Conclusions: This provides a model for how to efficiently create meta-atlases for tissues and cells of interest.
Introduction
A plethora of single-cell transcriptome studies in the retina
The retina contains a multitude of cell types that, in total, are responsible for turning light information into signal for the brain to interpret as vision. Briefly, the photoreceptors (rods and cones) are responsible for capturing the photons. The retinal pigmented epithelium (RPE) behind the photoreceptors physically supports the rods and cones by processing by-products of the visual cycle. Müller glia serve as support cells for the neurons. The retinal bipolar cells transmit the electrical signal from the photoreceptors to the retinal ganglion cells. Horizontal cells (HCs) and amacrine cells (ACs) regulate and help interpret signals from the photoreceptors. The signal is relayed via the retinal ganglion projections through the optic stalk to the brain (for review see [1]). Since 2000 many groups have investigated gene expression in small numbers of individual cells of the retina [2–5].
The recent introduction of lower cost and high-throughput single-cell sequencing technology has led to an explosion of research across many fields. As of early 2021, >40 million cells have been sequenced across >1,200 studies and the mean size of studies starting in 2020 is >100,000 cells [6]. The retina was used as the source tissue in one of the earliest works in the high-throughput single-cell transcriptomics field [7]. As of late 2020, >20 published studies, cumulatively containing >1 million cells, have used single-cell technology to profile cell type–specific gene expression patterns, cell fate trajectory, tissue and cell differentiation, and disease perturbation across multiple mammalian species [7–29].
While the gene–cell count tables are generally made available in repositories such as the Gene Expression Omnibus (GEO), there are no requirements to uniformly process the data. This means that the count tables cannot be used in cross-study comparisons because even small differences in the computational pipeline (e.g., aligner, transcriptome reference) create study-specific effects. This issue can be addressed only by re-quantifying the data in a uniform computational environment. Fortunately, owing to the continued development of computationally lightweight gene quantification tools in the single-cell space (e.g., kallisto bustools, alevin-fry), re-quantification does not require massive compute and time resources [30, 31].
Still, even after re-quantification under identical computational conditions there remain study-specific batch effects due to the diversity in single-cell technologies used and variation in tissue handling and processing across scientific groups. The single-cell community have recognized that removal of these technical (also referred to as batch) effects is a critical issue and have independently developed many tools, although it remains unclear which tools and parameters are optimal for a particular dataset [32–43]. Reinforcing this point, a couple of groups have quantified performance of multiple methods in a consistent framework across several test datasets, finding no consistently best approach [44, 45].
The projectable meta-atlas
We propose that by re-processing publicly available raw single-cell transcriptome data in a consistent bioinformatic framework and optimally using batch correction tools we can create a meta-atlas of retina single-cell transcriptomes. Because there are thousands of possible permutations of single-cell tools, references, and parameter choices, we create our meta-atlas (which we refer to as the single-cell Eye in a Disk [scEiaD]) by benchmarking integration outcomes across multiple important single-cell RNA-sequencing (scRNA-seq) processing parameters (e.g., batch removal method, number of hyper-variable genes [HVGs], clustering resolution). The benchmarking system that we developed uses a wide variety of metrics that combine in the R package scPOP (single-cell Pick Optimal Parameters). The scEiaD will be of utility to 2 communities. First, the ocular community can both search scEiaD for gene expression across many dimensions (e.g., cluster, cell type, study) and project their own single-cell data onto scEiaD for comparison and rich automatic cell labeling. Second, the computational community can use this very large, well-curated dataset to test algorithms for compute efficiency and performance in a diverse environment. Because we believe that data reuse is a powerful and efficient approach to facilitate discovery, we provide our meta-atlas code-base and the meta-atlas in several data formats and propose general guidelines to optimally create custom meta-atlases.
Results
We identify 33 ocular scRNA datasets across 3 species
The first step in building a meta-atlas is identifying studies from which to draw the data. We identified ocular scRNA-seq studies by querying PubMed, the SRA, and the European Nucleotide Archive (ENA) for the inclusive terms “retina,” “single cell,” “scRNA,” “ocular,” “eye,” and “transcriptome.” We then hand-filtered the results to keep only ocular and normal (non-perturbed or mutagenized) data from scRNA-seq technology. In December 2020 we identified 33 deposited datasets that have been published in 27 publications (Fig. 1). To provide a non-ocular reference we also downloaded the raw sequence data from the Tabula Muris project for re-processing. In cases where the fastq file from the SRA was not processed properly (always 10x v2 or v3), we acquired the 10x bam files (via SRA or personal correspondence) and re-extracted the fastq. After downloading all the data we had 11 TB across 2,470 fastq file sets.
Figure 1:
A. Schematic of the retina with major cell types delineated. B. Simplified directed workflow of major steps in scEiaD creation from raw counts to gene counts, benchmarking optimal integration methods (SnakePOP) to produce batch-corrected latent dimensions (Latent Dims), then downstream analysis outputs such as clustering, differential gene testing (Diff Testing), and 2D UMAP visualization. C. Counts of published articles and batches (unique biological samples) for each scRNA technlogy, split by organism. D. Cell type counts extracted from published studies for the more common retina cell types, split by species. Count of study accessions for each species overlaid on bar plot. HS: Homo sapiens; MF: Macaca fascicularis; MM: Mus musculus.
Transcriptome quantification across multiple technologies
Droplet- and well-based scRNA-seq technologies require different quantification approaches because the former have Unique Molecular Identifiers and multiple cells are quantified within a single file. We wrote a Snakemake-based pipeline (SnakeQUANT, see Methods) to quantify and merge both droplet- and well-based technologies into a single matrix for downstream processing. For well-based data we perform both gene- and isoform-level quantification; for droplet-based technologies we quantify both exonic and intronic gene-level expression to facilitate calculation of RNA velocity. In total we quantify 6.7e+10 molecules, finding 1.1e+10 unique molecules with a mean pseudoalignment rate of 66.5%. Across the 766,615 cells (post–quality control) we have a mean of 3,410 RNA counts across 978 unique genes (see Supplemental File kallisto_stats.tsv and splicing_stats.tsv for more details).
A total of 1,204,269 cells before quality control
Gene-level counts were quantified with the kallisto bustools pseudo-aligner for both the droplet- and well-based samples. After empty droplet removal, we had 1,204,269 cells. We then removed cells that had >10% mitochondrial reads across all gene counts or <200 unique genes quantified or wsere identified as an in silico doublet (see Methods). After these quality control (for review see [46]) steps we were left with 766,615 cells (Supplemental Fig. 1).
A core objective of many scRNA-based studies is labeling the cell types. Because this information is crucial to assess dataset integration and provide an accurate reference for user querying, we extracted individual cell labels with a combination of inspecting the GEO website, supplemental information from the publication, web resources (e.g., a web app was created for the article), and personal correspondence. After normalizing cell type name nomenclature, we obtained labels for 375,966 cells across 33 cell types (Supplemental Table 1).
Running 11 tools in a Snakemake-based system
Disentangling the technical and biological effects when integrating multiple datasets is crucial. We define "batch" as each unique biological sample and assume that each study is ≥1 unique sample. We studied the metadata and methods of each study to identify the unique biological samples. Within the current scEiaD dataset we identified 86 batches across 33 deposited datasets in 26 published articles.
A wide variety of methods have been written for scRNA-seq integration. Because we were uncertain which would perform the best, we ran 11 tools with a commonly used set of key parameters such as number of HVGs, number of latent dimensional space, and the number of nearest neighbors for the Louvain clustering algorithm. The Snakemake system was used to automate the running of the wide variety of tools. In total 5,591 jobs were run to quantify gene expression and build the unified Seurat objects (SnakeQUANT) and 2,446 jobs were run to assess integration performance (SnakePOP).
The 2 key metrics that have to be balanced to optimize integration performance are cell type or cluster purity (where different cell types or clusters should be homogenous) and batch mixing (the same cell types should be similar across independent studies). While these can be visually assessed by looking at marker gene expression across the 2D UMAP projection, it is more rigorous and scalable to quantify these diametrically opposed characteristics.
scPOP wraps several different methods for measuring integration performance
Multiple methods have been proposed to quantitatively evaluate batch correction. Some of these metrics evaluate the concordance between sets of labels, while others compute distances between the individual data points of a given set of labels. While any one of these methods can be useful, we propose that calculating and evaluating them in tandem provides greater accuracy for dataset integration. We developed the R package scPOP, a lightweight, low-dependency R package that brings together the Local Simpson Index (LISI), Average Silhouette Width (ASW), Adjusted Rand Index (ARI), and Normalized Mutual Information (NMI) metrics from the R packages Harmony, kBET, and aricode, respectively. The LISI and ASW were used to measure batch mixing (where lower is better), cell type mixing (higher is better), and cluster mixing (higher is better). NMI and ARI were used to assess the consistency of cell type to cluster assignment (where 1 is perfect correspondence between cluster and cell type).
To visualize the interplay between batch mixing and cell type distinction we plot the batch mixing LISI score (which has been multiplied by −1) on the y-axis (higher is better) against the cluster LISI on the x-axis (higher is better). The best performer on both metrics will be in the top right corner (Supplemental Fig. 2A). In the same manner we plot the silhouette metric (Supplemental Fig. 2B). To merge the different scores we define
, where m is a metric (LISI by batch, LISI by cluster, LISI by cell type, silhouette by batch, silhouette by cluster, silhouette by cell type, NMI, and ARI). Weight is set to 1 but can be either explicitly set or randomly chosen should it be desired to change the influence of certain metrics.
On 1 extreme we have ComBat, which merges together different batches very well but also mixes together the distinct cell types (Fig. 2A). The other extreme is not using any batch integration method, where you see very distinct groups of cells, but also each study has a distinct region in the UMAP (Fig. 2B). In our scEiaD dataset we see that methods like ComBat, Harmony, scArches, and CCA are weighed more towards batch mixing than cluster and cell type purity. Scanorama and bbknn prioritize cleanly separating the clusters. With our scEiaD meta-atlas insct, trVAE, and magic do not perform particularly well in batch mixing or cluster purity. Overall, CCA, fastMNN, and scVI perform best on this particular dataset. For further qualitative investigation of the integration performance we provide the UMAP visualizations of each integration method, normalization, and latent dimensions colored by cell type, study accession, or organism as supplementary files.
Figure 2:
A. Example of a method (combat) that has a high level of batch blending but poor separation of cell types (colored by cell type). B. No batch correction cleanly separates cell types but does not mix batches (colored by study). C. sumZScale (higher is better) for each method across a variety of data normalizations. All methods shown here use 2,000 HVG, Louvain clustering with knn 20, and 8 or 30 latent dimensions. Each color is a different method. D. Box plot of 4 different clustering resolutions for 1,000–10,000 HVG numbers and 4–50 scVI latent dimensions. Open boxes are using scVI-standard and gray boxes are scVI-projection (human reference with the remaining data projected). tukey boxplot. center line is median, box is 25/75 percentile, line extends to 1.5 times interquartile range.
As the LISI and silhouette metrics provide independent cluster and cell type (“purity”) and batch (“mixing”) scores we looked to see whether the sumZScale scoring is highly influenced by changing the weight placed on purity or mixing by multiplying either by a multiplier of 3 (Supplemental Fig. 3). While scVI still performed well no matter the weight chosen, there were some changes when more weight was placed on batch mixing. Most notably fastMNN with 8 latent dimensions performed better than fastMNN with 30 latent dimensions. In a reversal of the fastMNN results, CCA with 30 latent dimensions performed better than CCA with 8 latent dimensions. We also bootstrap random weights across each individual metric and get similar results (Supplemental Fig. 4). Across the 11 integration methods we tested, scVI achieved the highest sumZScale for our scEiaD meta-atlas and furthermore is a desirable choice because of its very short run time (scVI can complete in <1 hour while fastMNN takes >12 hours and CCA takes >24 hours).
Different normalization methods alter integration performance
There are several normalization approaches that have been used or published. The “standard” approach that the popular analysis packages Seurat and scanpy use by default is to, per cell, divide the counts by the sum counts for the cell, multiply by a scaling factor, then log transform. This helps make the count distribution more normal, which is an assumption that many algorithms require. In contrast, the scran normalization method groups cells into pools and normalizes across the pool summed counts instead of the individual cell counts. We also use the square root (sqrt) normalization, which replaces the log transformation with a square root. Library size (libSize) normalization omits the sqrt or log transformation. Finally some methods, like scVI, directly use the raw counts for modeling the data.
As expected the libSize normalization, which omits the log or square root scaling, generally performs the worst (Fig. Cc). We see that the remaining normalization techniques alter the batch correction performance, although the outcome differs across the different methods. We also see that changing the number of latent dimensions (8 vs 30) can occasionally dramatically change performance. These results demonstrate the importance of assessing performance in a rigorous manner across many parameters.
Further optimization of scVI with grid search and projection
To find the best set of parameters for scVI in our dataset we did a grid search across key parameters: HVG, latent dimensions, and k nearest neighbors (knn). Furthermore we used a recent advance in scVI capability (≥version 0.8.0) adapted from scArches that allows one to build a reference model and query or project the new cells onto it [40]. We refer to this projectable model as “scVI-projection” and to the previous scVI model as “scVI-standard.” We built a scVI-projected model trained on human cells and then projected the mouse and macaque data onto it. We then compared scVI-projection against the previous scVI-standard across all the aforementioned parameters. Using scPOP we first saw that the scVIprojection approach generally performed better than running scVI with all of the data (Fig. 2D). We found the optimal overall parameters to be 5,000 HVG, 8 latent dimensions, and with 5 knn for the cluster finding. We also varied the UMAP projection values of nearest neighbors and minimum distance to qualitatively pick a 2D projection, selecting a minimum distance of 0.1 and 50 nearest neighbors.
High-accuracy xgboost ML model built to label unknown cell types across all technologies
To further study cell type–specific expression patterning we needed to label the 414,106 unlabeled cells. Traditionally this is done by clustering the cells, then using cell type–specific markers to label the clusters. However, because we had hundreds of thousands of expert-labeled cells across 17 publications (Fig. 1A) we built a xgboost-based machine learning (ML) model that used two-thirds of the labeled cells as a training set (see Methods for more details) to train a cell type predictor for scEiaD input. The trained model was used to predict the cell type assignments for all cells in scEiaD. In this manner we both label most cells (cells that cannot be assigned a cell type with a probability >0.5 were left unlabeled) and correct a small number of probable mislabels in the truth set (Fig. 3A).
Figure 3:
A. Top genes that are differentially expressed across the major cell types of the retina. PR: photoreceptor. Genes are colored by cell type in which they are differentially expressed. The dot size is proportional to the percentage of those cells that have detectable levels of the gene. The color of the dot is the log2-scaled counts per million expression. B. 2D UMAP projection of scEiaD, colored by cell type (Tabula Muris data are gray). Arrows indicate scvelo RNA velocity. Longer arrows show cells with higher velocity (relatively more unspliced transcripts). C. Facet plot that demonstrates how each major cell type of the retina is contained within a distinct space. D. Confusion matrix of cell type prediction performance of our xgboost labeler between predicted (x-axis) and known (y-axis) using data withheld from the machine learner. Most of the cell types are indeed labeled as their true type. E. Faceting of 2D UMAP by species and colored by cell type demonstrates how the major cell types of the retina share space with like cell types, despite being from mouse, human, and macaque.
As a brief case study of our ML performance, we look at the cell type labels assigned to the study by Shekhar et al., where they used SMART-seq on a retinal bipolar cell–enriched population of cells [21]. Even though our ML algorithm was trained only on droplet-based data, our algorithm labels most of this dataset as retinal bipolar cells, with the next most common cell types being AC. The same result was found by Shekhkar et al. (Supplemental Fig. 5). To more generally evaluate performance we use the precision recall (PR) curve, which visualizes the ability of the model to precisely label known cells at a given confidence. The area under the PR curve (AUC) summarizes the effectiveness of the model across different cell types, with 1 being the highest performance. The xgboost model can predict rods, bipolar cells, and Müller glia with near perfect performance (Supplemental Fig. 6). Most of the remaining cell types can be predicted with an AUC >0.9 (Supplemental Table 2). Several of the precursor cell types (photoreceptor, AC/HC, and neurogenic) were labeled with lower confidence (Supplemental Table 3). The next most common labels for these cell types were either other precursor cells (e.g., 100 AC/HC precursors were labeled as neurogenic) or the adjacent terminal cell type (e.g., 254 photoreceptor precursors were labeled as cones). Other cell types that were challenging for the model to predict were the artery, choriocapillaris, and vein. Artery, choriocapillaris, and vein are constructed from endothelial cells, and we find that for all 3 of these, endothelial was the second most common label. Overall, our xgboost-based ML model shows strong accuracy across the major cell types of the retina (overall AUC of 0.98).
ML cell type labels result in high study diversity for each cell type
After ML projection of cell type labels from the original 375,966 labels onto a total of 758,278 cells we have substantially improved the number of studies per cell type. For example, we went from 8 human studies with labeled Müller glia to 14 after labeling (Supplemental Table 4). Overall we go from a mean of 4 studies per human cell type to 8 and from 2 studies per mouse cell type to 8 after transferring the cell type labels.
As another check on the quality of the cell type assignments, we ran the cell and cluster-independent haystack gene search and pairwise differential expression tests between the predicted cell types (see Methods for further details) [47]. We show that the 5 most differentially expressed genes for each of the major retina cell types are consistent with known retinal cell markers (Fig. 3A). As a simple metric to identify known and unknown genes relating to the cell type–specific expression we search PubMed for the number of publications with 2 searches per gene. We expect most of the genes identified to be known in the literature. The first search is the more precise “gene AND cell type” (e.g., “PDE6H AND Cones”) and the second search is the more inclusive “gene AND retina” (e.g., “PDE6H AND Retina”). Of the 50 genes (in Fig. 3A), 37 had ≥1 citation in the gene–cell type search (Supplemental File celltype_markers.tsv) and 45 had ≥1 citation in the inclusive search. The 50 genes had a mean of 46 studies (with the inclusive gene by “retina” search). In contrast, 100 randomly chosen genes had a mean of 2 (Wilcoxon test P < 1.44 × 10−17).
The scVI-based scEiaD UMAP projection blends batches and species while separating cell types
The 2D UMAP projection of the scVI-calculated batch-corrected 8 latent dimensional space blends the 33 studies together while also maintaining distinct space for the 31 unique cell types. We also see good mixing across all the droplet- and well-based single-cell technologies (Supplemental Fig. 7). We see the neurogenic and progenitor populations from which the retinal cell types are derived near the center of the UMAP visualization. The photoreceptor precursors are adjacent to the neurogenic population and, as demonstrated by the RNA velocity dynamics, flow into the rods and cones. The AC and HC precursors (AC/HC) likewise flow from the neurogenic center into the mature ACs and HCs.
The photoreceptors (cones and rods) of the retina, which are responsible for color and low-light vision, respectively, are near each other in the UMAP space. The major remaining retina cell types, by proportion in the mammalian eye, are the Müller glia, which are a glial cell type that help support the neurons of the retina. Next we have the neural cell types that transmit and help interpret the signals from the photoreceptors before they leave the retina via the optic stalk: the ACs, retinal ganglia, HCs, and bipolar cells. All of these cells are in well-separated spaces in the UMAP. Finally we see across species that the major cell types overlap each other (Fig. 3D). The macaque retina cells are not present in the precursor/neurogenic center of the UMAP as expected because only fully developed tissues were sampled in these data.
While by eye the UMAP 2D projection generally blends together the 3 different species (macaque, mouse, human) in the UMAP visualization, we more rigorously tested this by changing the inputs to our xgboost cell type predictor ML system. We trained 2 new models: 1 with only human data and 1 with only mouse data. We then applied this model to the other 2 species to see whether the model trained on 1 species was generally transferable to another species. Again, both models (human only and mouse only) proved to be highly accurate at predicting cell types in the other species with the terminal cell types (Supplemental Fig. 8).
Projection of outside data onto scEiaD demonstrates similarities and differences of induced pluripotent stem cells and organoids to primary cells
The hard work of creating this resource can be leveraged and extended by the wider community with a few relatively simple steps and modest compute requirements. Very briefly, if outside groups quantify their mouse or human scRNA with kallisto (bustools) and the same references (see Methods), they can overlay their data on top of scEiaD by (i) installing scVI (version 0.9.0 or higher), (ii) downloading our 13-MB scVI model, and (iii) following the Jupyter notebook on Google colab that we provide as a live demo [69]. We demonstrate the power of this approach in 2 ways.
First, a wild-type retinal organoid dataset from Kallman et al. was projected onto scEiaD [48]. In the Google colab notebook we show how a subset of the reads from Kallman et al. SRR12130660 can be processed from the raw reads to a UMAP visualization in <10 minutes. Indeed we see how organoid-based retinal cell types can be detected overlapping primary cells for RPCs, photoreceptors, ACs, and retinal ganglion cells (Supplemental Fig. 9).
Finally, we demonstrate how the RPE derived from the Bharti induced pluripotent stem cell (iPSC) differentiation process express canonical RPE markers of TTR and RPE65 but end up in a slightly different position in the UMAP projection (Fig. 4A). Differential expression analysis (see Methods) identified that vimentin is nearly exclusively expressed in the iPSC-based RPE (Fig. 4B). This result is not surprising because Hunt and Davis demonstrated that cultured and proliferating RPE express high levels of vimentin [49] and this same trend is seen in bulk RNA-seq from stem cell RPE and primary RPE (Supplemental Fig. 10) [50].
Figure 4:
A. RPE distribution colored by study demonstrates how the most RPE are in 2 locations. iPSC-based RPE that we provided are found to be more enriched in Cluster 47. Tissue RPE are more enriched in Cluster 34. B. Violin plot of 2 functional RPE markers (TTR, RPE65) and vimentin (proliferating RPE marker). RPE, retinal pigmented epithelium, TTR, VIM, RPE65 are the HUGO gene names (genenames.org). The ensembl gene names are given in the parentheses. iPSC is induced puripotent stem cell (so iPSC RPE are RPE derived from iPSC)
Methods
Quantification of gene counts
Gene quantification is handled by the SnakeQUANT snakefile. First, we generated multiple quantification indices to facilitate calculation of RNA velocity. For each droplet technology, we generated a separate set of transcript sequences that contain both exonic and intronic sequences using the “get_velocity_files” function from the R package BUSpaRse. The reference transcriptome annotations used to build sets of transcript sequences were the Gencode “gencode.vM25.annotation.gtf.gz” and “gencode.v35.annotation.gtf.gz” for mouse and human, respectively [51, 52]. Because the Macaca fascicularis genome is less well annotated we used the Ensembl release 101 genome and transcriptome annotation “Macaca_mulatta.Mmul_101.gtf.gz” [53]. A single set of exonic transcript sequences was created for each species for all well techonologies. A kallisto quantification index was generated for each of these fastqs using kallisto index (0.46.2) [54]. Well-based samples were quantified using kallisto quant. For the relatively few single-ended samples, the parameters “–single -l 200 -s 30” were used for kallisto quant. Otherwise the “–bias” flag was added. For the droplet-based samples, we adapted the bustools workflow for generating spliced and unspliced count matrices (0.39.4) [55].
Intersection of gene names between mouse, macaque, and human
To facilitate comparison of gene expression across species, where possible we converted mouse and macaque gene ids and names to human ones. We downloaded a mapping of orthologous genes between human, mouse, and macaque using the Ensembl BioMart web browser in November 2020. We identified 15,759 human genes that could be directly mapped to mouse and macaque orthologs. Genes present in mouse or macaque that were not found in human were not used for HVG gene selection but were retained and used for differential gene expression.
Custom macaque reference quantification
Because we noticed that several retina marker genes (e.g., NRL and CRX) had very low expression in the macaque data, we quantified the scRNA data twice: once with the Ensembl reference and again with the same Gencode human reference used for the human data. We compared the gene-level counts for each cell and replaced the macaque gene count with the human counts if the human counts were greater than the macaque counts, and, to prevent genes with very few total counts from being used, we required the counts to be greater than the first quartile of non-zero macaque gene expression.
Removal of empty droplets and further quality control
After bustools count, we used R (3.6.2) to remove empty droplets. The BUSpaRse package was used to input the bustools counts mtx file. The DropletUtils package with the “barcodeRanks” function was used to automatically detect the inflection point in the barcode count ranks that delineates the likely empty droplets [56]. We then removed cells with percent mitochondrial reads of >10%. After merging the individual count matrices into 1 sparse matrix, we created a Seurat version 3 object and removed cells with <200 detected unique genes, and for the droplet data, >3,000 detected genes (these are more likely to be doublets) [32].
Normalization and batch effect correction
The following steps were carried out (normalization through benchmarking is handled by the SnakePOP pipeline). We tested several gene count normalization approaches because we were not certain which would produce an optimal outcome: standard (default Seurat, library size normalization, then log transform), sqrt (same, but with sqrt normalization), libSize (omit the log or sqrt normalization), scran, SCT from Seurat, and for scVI, no normalization (counts) [57]. Our R implementation of the normalization approaches, as well as how we constructed the Seurat v3 object, can be found in the supplementary file “make_seurat_obj_functions.R”.
Batch normalization under a grid search procedure
We tested scArches, bbknn, insct, magic, scVI, CCA, scanorama, harmony, fastMNN, combat, and none against 2,000 HVGs, the aforementioned different gene count normalization procedures, and both 8 and 30 outputted batch-corrected latent dimensions. The latent dimensions are the input for clustering, the 2D UMAP visualization, and the xgboost ML to transfer cell type labels to unlabeled cells. We were unable to run every method successfully with every normalization method. For example, magic could not complete with the standard or libSize normalization. Insct was only able to complete the scran normalization. We also tried the DESC, liger, and Conos batch correction methods but were unable to get them to work reliably, so they were dropped. While we attempted to use “default” parameters wherever possible, we had to deviate from this to get Seurat's CCA procedure to complete. CCA reciprocally tries to integrate all batches and even with a subset of cells we regularly got “long vector” errors. We got around this issue by setting the human batches as the “reference.” The batch correction steps implementation can be found in the supplementary file “merge_methods.R” and as a deposit in Zenodo [58].
Clustering and UMAP
Louvain-Jaccard clustering was performed against the batch-corrected latent dimensions used the Seurat implementation [59]. For the all methods benchmarking we used knn of 20. The scVI-only tuning reduced the knn parameters to 5 and 7 (where 5 gives more clusters than 7) to increase the cluster number. We also used the Leiden algorithm as implemented by PARC with a resolution of 0.6 and 0.8 (higher results in more clusters) [60, 61]. These 2 resolutions were chosen because they gave roughly the same number of clusters as the Seurat Louvain-Jaccard approach with a knn 7.
The UMAP visualization was calculated with the Seurat “RunUMAP” using the uwot R package [62]. We tried min.dist parameters of 0.001, 0.1, and 0.3 and tried n.neighbors across 15, 30, 100, and 500. A smaller min.dist value gives “tighter” groupings while a higher number of n.neighbors uses a larger number of near cells to calculate the global positioning.
Benchmarking and scPOP
We wrote the scPOP R package (available via the R package resource CRAN) to unify the LISI and Silhouette metrics from Harmony and kBet, respectively, along with NMI and ARI [36, 63]. LISI and Silhouette require a dense matrix, which is a problem for our data because a 766,615 cell × 8 latent dimension dense matrix cannot fit in our largest available compute node (1.5 TB). We down-sampled the dataset to ∼100,000 cells, taking care to keep all rarer cell types for the LISI and Silhouette benchmarking.
To merge these metrics into a balanced single score, we Z scale each and sum them. scPOP produces both tables and visualizations, allowing the user to quickly see both the interplay of batch mixing and cluster/cell type separation and the overall performance. If a user wishes to prioritize batch mixing or cluster/cell type separation, we let the user provide a custom batch/cluster–cell type scaling value (1 is the default).
Multi-step doublet removal
To identify probable doublets (>1 cell in a droplet) we ran DoubletDetect and scrublet and calculated the distribution of DoubletDetect and scrublet scores across all clusters and removed clusters with a score in both metrics >4 standard deviations above the mean [64, 65]. This removed another 23,457 cells, leaving 766,615 in total.
xgboost-based cell type model
To identify cell types for the 361,456 unlabeled cells we designed a custom xgboost-based cell type classifier. We took labeled data and split them into training (2/3) and test (1/3) sets, stratified by cell type. The input features used to train the model are the scVI latent dimensions, the total number of reads in each cell, the number genes detected in each cell, and the percent mitochondrial gene expression of each cell. We additionally generated features using the age of each sample to group the data into 3 developmental categories (early development, late development, and adult) and then generated a one-hot encoded feature for each category. To speed up training times, we used the gpu implementation of the xgboost algorithm from the the xgboost Python library. The model was trained using default parameters. The trained model had an overall macro and micro AUC score of 0.98 and 0.99, respectively. This model was then used to identify labels for all cells. Unlabeled data were pre-processed identically to training data and fed into the model to generate a vector of label probabilities for each cell. We selected the highest label probability for each cell and required a minimum probability of 0.5 to assign a label to a cell.
For the organism-specific xgboost ML we followed the above procedure, except that we combined early RPCs, late RPCs, and RPCs into 1 category and did not attempt to predict the non-retina cell types (e.g., fibroblasts) because there were very few labeled cells across all 3 organisms.
Marker gene identification
To identify marker genes across the CellType (predict) and cluster groups, we used the scran findmarkers (Wilcox test) along with the singleCellHaystack algorithm [47]. The scran findmarkers test runs a Wilcox test in a pairwise manner (e.g., rods vs all other cell types). It returns an overall P-value (and false discovery rate [FDR]) that assesses how good the gene is at separating the group of interest from all other cells. It also returns for each pairwise comparison an AUC score, where 1 is a perfect power to distinguish and 0 is no power. The singleCellHaystack algorithm uses a Kullback-Leibler divergence (D KL) measurement of the scVI lower dimensional space to identify genes with non-random distribution. A higher D KL score represents a gene with “specific” expression in the lower dimensional space and is used to calculate an FDR-corrected P-value against the full distribution of D KL values. We filtered to keep genes with scran FDR < 1, a mean AUC > 0.2, and a log10(D KL FDR) < −10,000. No more than 50 genes for each cell type were retained (sorted by mean AUC).
Calculation of RNA velocity
RNA velocity calculations were performed with the Velociraptor wrapping of the scVelo Python library [66]. From the anndata objects generated by our Snakemake pipeline we calculated velocity across all genes. Genes without detectable velocity were dropped. The scVI-generated latent space (instead of principal component analysis) was used to calculate first- and second-order moments. The calculated moments were used to estimate RNA velocity. Differential velocity was tested between cell types using pairwise Wilcox rank sum tests.
Conclusion
Limitations
The scVI model is first built on human data. The mouse and macaque data are then projected (or queried) onto it with the scVI implementation of the scArches method. While this system works very well to integrate information between these 3 species, this approach may not scale to more distantly related species. Another limitation is that discrepancies between cell type labels between different laboratories make certain transitioning cell type labels a bit imprecise. One example is how the rods and photoreceptor precursor labels partially overlap. Although we attempted to ameliorate the issue by removing cell type labels in large disagreement with the consensus, some disagreements could propagate into our machine-labeled cell type assignments. These issues may result from labeling continuous processes with discrete labels.
While scEiaD distinguishes the major cell types very well, some of the cell types contain many “subtypes”—notably the ACs have a huge variety in morphology, with a single-cell–based study identifying >60 different types of ACs in mouse [29]. At this time our batch-corrected pan-retina cell space does not precisely resolve these sub-cell types with high resolution. We are actively working to “sub-cluster” the cell types so we can robustly and reliably identify the high diversity of retinal cell types across the entire retina.
The scEiaD is a unique ocular resource that provides a highly diverse, large N dataset with a relatively small amount of compute power
We have assembled the largest ocular single-cell transcriptome database to date. The rapid advancement of algorithms to batch-correct and process data continues to reduce the computational requirements to handle huge numbers of cells. The scVI batch correction step with ∼1 million cells runs within 1 hour on a GPU and 150 GB of memory. This places this crucial step within the capabilities of a moderately powerful computer or a cloud compute node. Further downstream processing can largely be done on computers with ≥64 GB of memory and a few hundred GB of disk space. We believe that our efforts can be replicated in any other tissue/system with a large number of independent studies by a small number of computational scientists following our general approach. We provide the completed analysis as both Scanpy (h5ad) and Seurat objects (Supplemental Table 5).
Benchmarking and quantitation of integration performance is crucial for meta-atlas studies
We originally intended to use the Seurat CCA method to integrate the datasets. However, the long run-times of CCA and poor integration of our known cell types led us to benchmark more methods and parameters. After adding more integration methods we first attempted to “hand-assess” the integration results by using the UMAP 2D projection view. This proved to scale poorly, and this led us to curate some of the more useful benchmarking algorithms (NMI, ARI, silhouette, and LISI) that roughly matched our hand-assessed results into the scPOP R package. While we chose the scVI algorithm, we strongly suggest any other groups attempting a similar meta-atlas construction choose a quantifiable set of criteria so that optimal methods and parameters can be picked. We found in our analysis that substantial differences in the integration performance can come from altering the number of HVGs and the number of latent dimensions.
Transfer of cell type labels from a smaller number of studies onto the remaining cells is a powerful way to increase diversity in a meta-atlas
We first hand-curated >350,000 published cell type labels across 24 publications. With a xgboost algorithm using the latent dimensions, cell age classification (developing or matured), and the UMAP coordinates, we can very accurately label the remaining cells. Many other cell type labeling algorithms and systems exist for those groups less willing or able to tune an ML algorithm. For example, the developers of scVI also have a cell type label projection algorithm called scANVI [67]. Whichever approach is used, taking a smaller number of high-quality labels and projecting them onto the remaining cells is a powerful way to leverage community knowledge across a huge diverse dataset.
Projection allows community knowledge to be leveraged by all
Many retina atlases have been published to date. We argue that we have created the first atlas that is generally useful because (i) our dataset/atlas is several times larger than any other published set, (ii) our data are available via download in several forms at [69] and Zenodo accession 5129265, and crucially (iii) we provide a Google colab/Jupyter notebook that step-by-step demonstrates how to use scVI to project (or query) outside data onto our scEiaD with minimum compute resources. We demonstrate concretely how this can work by showing how iPSC-based RPE can be queried onto the reference dataset to demonstrate both similarities and dissimilarities in their transcriptomes.
Availability of Supporting Source Code and Requirements
Project name: scEiaD
Project home page: https://github.com/davemcg/scEiaD
Operating systems: OS X, Linux
Programming language: Snakemake, Python, R
Other requirements: High memory (>500 GB) nodes or computer
License: CC0
RRID:SCR_021667
Data Availability
The set of Snakemake pipelines that takes in the raw fastq sequence and outputs the scEiaD is at https://github.com/davemcg/scEiad [68]. The publication commit is #ffdf738. Furthermore, the repository has been deposited at Zenodo [58]. For the R packages, we provide package versions as the supplementary file “R_session_info.txt”.
We have deposited the 10x (v2) fastq files for our iPSC-based RPE data in GEO at accession GSE180662. We give download links for the count matrices, Seurat, and anndata objects, cell-level metadata, and our code-bases in Supplemental Table 5.
Additional Files
Supplemental Figure 1: The left bar delineates the number of cells for each organism–technology combination. The right bar specifies the number of each cell type in each post–quality control category. In silico doublets were identified with scrublet and DoubletDetector.
Supplemental Figure 2: Performance of the various batch correction tools across various benchmarking metrics. For the LISI and Silhouette plots in A, B higher (y-axis) means better batch mixing and farther to the right (x-axis) means better cluster purity. For the ARI and NMI metrics (which reflects how well cluster matches with cell type) in C, D, higher means a better score.
Supplemental Figure 3: We take the sumZscoring from earlier and apply 2 different weighting schemes to demonstrate how different priorities (much higher cluster purity or much more cluster mixing) can influence the scoring. In A we give a 3× multiplier to cell and cluster purity relative to batch mixing. In B we give a 3× multipler to batch mixing and we see that fastMNN with 8 dimensions has a higher score and the Seurat CCA metric ranks better. scVI performance with 8 latent dimension is consistently high across all weighting schemes.
Supplemental Figure 4: The sumZScale is composed of 10 metrics. We randomly weighted each zscaled metric by multiplying by a value randomly chosen between 0.1 and 10. This is bootstrapped 1,000 times. The sumZScale is then computed and we extract the rank (by highest sumZScale) for 1,000 bootstraps and plot the distribution as a density plot (lower rank indicates better integration performance). The y-axis is ordered, top to bottom, by mean sumZScale rank (higher on the y-axis is better).
Supplemental Figure 5: Our xgboost ML properly labels this Shekhar et al. RBC FAC sorted population as enriched in red blood cells (RBCs).
Supplemental Figure 6: Precision recall curves for our xgboost cell type predictor model across each cell type predicted.
Supplemental Figure 7: Distribution of cell types across the 2D UMAP confirms that the cell types are being properly placed despite the wide variety of single-sequencing platforms present.
Supplemental Figure 8: F1 scores (1 is perfect) of cell type prediction when using a human- or mouse-based xgboost cell type prediction model on other organisms (human, macaque, mouse).
Supplemental Figure 9: Screenshot of Google colab notebook that demonstrates how to integrate external data into the scEiaD resource. We see in the screenshot how the organoid dataset contains many of the retinal cell types.
Supplemental Figure 10: Screenshot of eyeIntegration bulk RNA-seq meta-analysis of vimentin expression in different RPE tissue sources.
Supplemental Table 1: Counts for cell type labels. Published indicates the author-created labels from the published datasets. Transferred indicates the cell labels that were transferred by our xgboost-based ML model onto the entire scEiaD dataset.
Supplemental Table 2: Area under the precision recall curve (AUC) for each cell type, split by study. The “All” study is the AUC score across all cells within the cell type.
Supplemental Table 3: Counts of cell type labels with our xgboost ML system (PredCellType) and the published cell type labels (TrueCellType). Ratio is calculated as CellType that were labeled as CellType_predict. Ratio < 0.05 were filtered out from view in the table.
Supplemental Table 4: Counts for number of studies with cell type labels before and after cell type label transfer.
Supplemental Table 5: Links to code and resources.
Abbreviations
AC: amacrine cell; ARI: Adjusted Rand Index; ASW: average silhouette width; AUC: area under curve; ENA: European Nucleotide Agency; FDR: false discovery rate; GEO: Gene Expression Omnibus; GPU: graphics processing unit; HC: horizontal cell; HVG: hyper-variable gene; iPSCs: induced pluripotent stem cells; knn: k-nearest neighbors; LISI: Local Inverse Simpson Index; ML: machine learning; NMI: Normalized Mutual Information; PR: precision-recall; RPE: retinal pigmented epithelium; sqrt: square root; scEiaD: single-cell Eye in a Disk; scRNA-Seq: single-cell RNA sequencing; SRA: Sequence Read Archive; UMAP: Uniform Manifold Approximation and Projection.
Competing Interests
The authors declare that they have no competing interests.
Funding
This research was supported by the Intramural Research Program of the National Eye Institute, National Institutes of Health (grant No. EY000469), awarded to Brian Brooks.
Authors’ contributions
D.M.M. designed the study. V.S.S. and D.M.M. coded the pipelines, wrote scPOP, and did the data analyses. T.D.F. and R.B.H. did the iPSC to RPE differentiation and ran the corresponding scRNA sequencing. All authors contributed to the writing and editing of the manuscript.
Supplementary Material
Roberto Vera Alvarez, Ph.D -- 5/4/2021 Reviewed
Roberto Vera Alvarez, Ph.D -- 7/28/2021 Reviewed
Lukas Weber -- 7/5/2021 Reviewed
Lukas Weber -- 8/10/2021 Reviewed
ACKNOWLEDGEMENTS
We thank the many groups who provided the raw data required to create this project, as well as the NIH Intramural Sequencing Center, which sequenced our iPSC-RPE samples. We keep an updated list of citations for the projects we pulled data from at https://plae.nei.nih.gov. We would also like to thank Adam Gayoso, who provided many useful comments on scVI parameter behavior and the Google colab implementation of scVI. Finally, this work used the computational resources of the NIH HPC Biowulf cluster (http://hpc.nih.gov).
Contributor Information
Vinay S Swamy, Bioinformatics Group, Ophthalmic Genetics & Visual Function Branch, National Eye Institute, National Institutes of Health, 20892, Bethesda, Maryland, USA.
Temesgen D Fufa, Medical Genetics and Ophthalmic Genomics Unit, National Eye Institute, National Institutes of Health, 20892, Bethesda, Maryland, USA.
Robert B Hufnagel, Medical Genetics and Ophthalmic Genomics Unit, National Eye Institute, National Institutes of Health, 20892, Bethesda, Maryland, USA.
David M McGaughey, Bioinformatics Group, Ophthalmic Genetics & Visual Function Branch, National Eye Institute, National Institutes of Health, 20892, Bethesda, Maryland, USA.
References
- 1. Masland RH. The neuronal organization of the retina. Neuron. 2012;76(2):266–80. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 2. Annies M, Kröger S. Isoform pattern and AChR aggregation activity of agrin expressed by embryonic chick retinal ganglion neurons. Mol Cell Neurosci. 2002;20(3):525–35. [DOI] [PubMed] [Google Scholar]
- 3. Hagstrom SA, Neitz M, Neitz J. Cone pigment gene expression in individual photoreceptors and the chromatic topography of the retina. J Opt Soc Amer A. 2000;17(3):527–37. [DOI] [PubMed] [Google Scholar]
- 4. Trimarchi JM, Stadler MB, Roska B, et al. Molecular heterogeneity of developing retinal ganglion and amacrine cells revealed through single cell gene expression profiling. J Comp Neurol. 2007;502(6):1047–65. [DOI] [PubMed] [Google Scholar]
- 5. Wahlin KJ, Lim L, Grice EA, et al. A method for analysis of gene expression in isolated mouse photoreceptor and Müller cells. Mol Vis. 2004;10:366–75. [PubMed] [Google Scholar]
- 6. Svensson V, da Veiga Beltrame E, Pachter L. A curated database reveals trends in single-cell transcriptomics. Database. 2020;2020, doi: 10.1093/database/baaa073. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 7. Macosko EZ, Basu A, Satija R, et al. Highly parallel genome-wide expression profiling of individual cells using nanoliter droplets. Cell. 2015;161(5):1202–14. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 8. Buenaventura DF, Corseri A, Emerson MM. Identification of genes with enriched expression in early developing mouse cone photoreceptors. Invest Opthalmol Vis Sci. 2019;60(8):2787–99. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 9. Clark BS, Stein-O'Brien GL, Shiau F, et al. Single-cell RNA-Seq analysis of retinal development identifies NFI factors as regulating mitotic exit and late-born cell specification. Neuron. 2019;102(6):1111–26.e5. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 10. Cowan CS, Renner M, De Gennaro M, et al. Cell types of the human retina and its organoids at single-cell resolution. Cell. 2020;182(6):1623–40.e34. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 11. Dharmat R, Kim S, Liu H, et al. Epigenetic adaptation prolongs photoreceptor survival during retinal degeneration. bioRxiv2019,doi: 10.1101/774950. [DOI] [Google Scholar]
- 12. Fadl BR, Brodie SA, Malasky M, et al. An optimized protocol for retina single-cell RNA sequencing. Mol Vis. 2020;26:705–17. [PMC free article] [PubMed] [Google Scholar]
- 13. Hu Y, Wang X, Hu B, et al. Dissecting the transcriptome landscape of the human fetal neural retina and retinal pigment epithelium by single-cell RNA-seq analysis. PLoS Biol. 2019;17(7):e3000365. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 14. Lehmann GL, Hanke-Gogokhia C, Hu Yet al. Single-cell profiling reveals an endothelium-mediated immunomodulatory pathway in the eye choroid. J Exp Med. 2020;217,doi: 10.1084/jem.20190730. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 15. Lo Giudice Q, Leleu M, La Manno G, et al. Single-cell transcriptional logic of cell-fate specification and axon guidance in early-born retinal neurons. Development. 2019;146(17),doi: 10.1242/dev.178103. [DOI] [PubMed] [Google Scholar]
- 16. Lukowski SW, Lo CY, Sharov AA, et al. A single-cell transcriptome atlas of the adult human retina. EMBO J. 2019;38(18):e100811. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 17. Lu Y, Shiau F, Yi W, et al. Single-cell analysis of human retina identifies evolutionarily conserved and species-specific mechanisms controlling development. Dev Cell. 2020;53(4):473–91.e9. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18. Menon M, Mohammadi S, Davila-Velderrain J, et al. Single-cell transcriptomic atlas of the human retina identifies cell types associated with age-related macular degeneration. Nat Commun. 2019;10(1):4902. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 19. O'Koren EG, Yu C, Klingeborn M, et al. Microglial function is distinct in different anatomical locations during retinal homeostasis and degeneration. Immunity. 2019;50(3):723–37.e7. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20. Peng Y-R, Shekhar K, Yan W, et al. Molecular classification and comparative taxonomics of foveal and peripheral cells in primate retina. Cell. 2019;176(5):1222–37.e22. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 21. Shekhar K, Lapan SW, Whitney IE, et al. Comprehensive classification of retinal bipolar neurons by single-cell transcriptomics. Cell. 2016;166(5):1308–23.e30. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 22. Sridhar A, Hoshino A, Finkbeiner CR, et al. Single-cell transcriptomic comparison of human fetal retina, hPSC-derived retinal organoids, and long-term retinal cultures. Cell Rep. 2020;30(5):1644–59.e4. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 23. Tran NM, Shekhar K, Whitney IE, et al. Single-cell profiles of retinal ganglion cells differing in resilience to injury reveal neuroprotective genes. Neuron. 2019;104(6):1039–55.e12. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 24. Voigt AP, Whitmore SS, Mulfaul K, et al. Bulk and single-cell gene expression analyses reveal aging human choriocapillaris has pro-inflammatory phenotype. Microvasc Res. 2020;131:104031. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 25. Voigt AP, Whitmore SS, Flamme-Wiese MJet al. Molecular characterization of foveal versus peripheral human retina by single-cell RNA sequencing. Exp Eye Res. 2019;184:234–42. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 26. Voigt AP, Binkley E, Flamme-Wiese MJ, et al. Single-cell RNA sequencing in human retinal degeneration reveals distinct glial cell populations. Cells. 2020;9(2):438. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 27. Voigt AP, Mulfaul K, Mullin NK, et al. Single-cell transcriptomics of the human retinal pigment epithelium and choroid in health and macular degeneration. Proc Natl Acad Sci U S A. 2019;116(48):24100–7. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 28. Yan W, Peng Y-R, van Zyl T, et al. Cell atlas of the human fovea and peripheral retina. Sci Rep. 2020;10(1):9802. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 29. Yan W, Laboulaye MA, Tran NM, et al. Mouse Retinal Cell Atlas: Molecular identification of over sixty amacrine cell types. J Neurosci. 2020;40(27):5177–95. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 30. Melsted P, Booeshaghi AS, Gao F, et al. Modular and efficient pre-processing of single-cell RNA-seq. bioRxiv2019,doi: 10.1101/673285. [DOI] [Google Scholar]
- 31. Srivastava A, Malik L, Smith T, et al. Alevin efficiently estimates accurate gene abundances from dscRNA-seq data. Genome Biol. 2019;20(1):65. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 32. Butler A, Hoffman P, Smibert P, et al. Integrating single-cell transcriptomic data across different conditions, technologies, and species. Nat Biotechnol. 2018;36(5):411–20. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 33. Haghverdi L, Lun ATL, Morgan MD, et al. Batch effects in single-cell RNA-sequencing data are corrected by matching mutual nearest neighbors. Nat Biotechnol. 2018;36(5):421–7. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 34. Hie B, Bryson B, Berger B. Efficient integration of heterogeneous single-cell transcriptomes using Scanorama. Nat Biotechnol. 2019;37(6):685–91. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 35. Johnson WE, Li C, Rabinovic A. Adjusting batch effects in microarray expression data using empirical Bayes methods. Biostatistics. 2007;8(1):118–27. [DOI] [PubMed] [Google Scholar]
- 36. Korsunsky I, Millard N, Fan J, et al. Fast, sensitive and accurate integration of single-cell data with Harmony. Nat Methods. 2019;16(12):1289–96. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 37. Liu J, Gao C, Sodicoff J, et al. Jointly defining cell types from multiple single-cell datasets using LIGER. Nat Protoc. 2020;15(11):3632–62. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 38. Lopez R, Regier J, Cole MB, et al. Deep generative modeling for single-cell transcriptomics. Nat Methods. 2018;15(12):1053–8. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 39. Polański K, Young MD, Miao Z, et al. BBKNN: Fast batch alignment of single cell transcriptomes. Bioinformatics. 2020;36(3):964–5. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 40. Lotfollahi M, Naghipourfar M, Luecken MD, et al. Query to reference single-cell integration with transfer learning. bioRxiv2020,doi: 10.1101/2020.07.16.205997. [DOI] [Google Scholar]
- 41. Simon LM, Wang Y-Y, Zhao Z. INSCT: Integrating millions of single cells using batch-aware triplet neural networks. Nature Machine Intelligence. 2021;3: 705–15. [Google Scholar]
- 42. Stuart T, Butler A, Hoffman P, et al. Comprehensive integration of single-cell data. Cell. 2019;177(7):1888–902.e21. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 43. van Dijk D, Sharma R, Nainys J, et al. Recovering gene interactions from single-cell data using data diffusion. Cell. 2018;174(3):716–29.e27. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 44. Luecken MD, Büttner M, Chaichoompu K, et al. Benchmarking atlas-level data integration in single-cell genomics. bioRxiv2020,doi: 10.1101/2020.05.22.111161. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 45. Tran HTN, Ang KS, Chevrier M, et al. A benchmark of batch-effect correction methods for single-cell RNA sequencing data. Genome Biol. 2020;21(1):12. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 46. Luecken MD, Theis FJ. Current best practices in single-cell RNA-seq analysis: A tutorial. Mol Syst Biol. 2019;15(6):e8746. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 47. Vandenbon A, Diez D. A clustering-independent method for finding differentially expressed genes in single-cell transcriptome data. Nat Commun. 2020;11(1):4318. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 48. Kallman A, Capowski EE, Wang J, et al. Investigating cone photoreceptor development using patient-derived NRL null retinal organoids. Commun Biol. 2020;3(1):82. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 49. Hunt RC, Davis AA. Altered expression of keratin and vimentin in human retinal pigment epithelial cells in vivo and in vitro. J Cell Physiol. 1990;145(2):187–99. [DOI] [PubMed] [Google Scholar]
- 50. Swamy V, McGaughey D. Eye in a Disk: eyeIntegration Human Pan-Eye and Body Transcriptome Database Version 1.0. Invest Opthalmol Vis Sci. 2019;60(8):3236–46. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 51. Harrow J, Frankish A, Gonzalez JM, et al. GENCODE: The reference human genome annotation for The ENCODE Project. Genome Res. 2012;22(9):1760–74. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 52. Harrow J, Frankish A, Gonzalez JM, et al. GENCODE: The reference human genome annotation for The ENCODE Project. Genome Res. 2012;22(9):1760–74. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 53. Yates AD, Achuthan P, Akanni W, et al. Ensembl 2020. Nucleic Acids Res. 2020;48(D1):D682–8. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 54. Bray NL, Pimentel H, Melsted P, et al. Near-optimal probabilistic RNA-seq quantification. Nat Biotechnol. 2016;34(5):525–7. [DOI] [PubMed] [Google Scholar]
- 55. Melsted P, Ntranos V, Pachter L. The barcode, UMI, set format and BUStools. Bioinformatics. 2019;35(21):4472–3. [DOI] [PubMed] [Google Scholar]
- 56. Lun ATL, Riesenfeld S, Andrews T, et al. EmptyDrops: Distinguishing cells from empty droplets in droplet-based single-cell RNA sequencing data. Genome Biol. 2019;20(1):63. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 57. Lun ATL, McCarthy DJ, Marioni JC. A step-by-step workflow for low-level analysis of single-cell RNA-seq data with Bioconductor. F1000Res. 2016;5:2122. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 58. McGaughey. v073.0 scEiaD data and git deposit. Zenodo2021,doi: 10.5281/zenodo.5129265. [DOI] [Google Scholar]
- 59. Blondel VD, Guillaume J-L, Lambiotte R, et al. Fast unfolding of communities in large networks. J Stat Mech Theory Exp. 2008;2008(10):P10008. [Google Scholar]
- 60. Traag V, Waltman L, van Eck NJ. From Louvain to Leiden: Guaranteeing well-connected communities. Sci Rep. 2019;9(1):5233. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 61. Stassen SV, Siu DMD, Lee KCM, et al. PARC: Ultrafast and accurate clustering of phenotypic data of millions of single cells. Bioinformatics. 2020;36(9):2778–86. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 62. McInnes L, Healy J, Melville J. UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv2020:1802.03426. [Google Scholar]
- 63. Büttner M, Miao Z, Wolf FA, et al. A test metric for assessing single-cell RNA-seq batch correction. Nat Methods. 2019;16(1):43–9. [DOI] [PubMed] [Google Scholar]
- 64. Gayoso A, Shor J. JonathanShor/DoubletDetection: Doubletdetection V3.0. Zenodo; 2020, doi: 10.5281/zenodo.4359992. [DOI] [Google Scholar]
- 65. Wolock SL, Lopez R, Klein AM. Scrublet: Computational identification of cell doublets in single-cell transcriptomic data. Cell Syst. 2019;8(4):281–91.e9. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 66. Bergen V, Lange M, Peidli S, et al. Generalizing RNA velocity to transient cell states through dynamical modeling. Nat Biotechnol. 2020;38(12):1408–14. [DOI] [PubMed] [Google Scholar]
- 67. Xu C, Lopez R, Mehlman E, et al. Probabilistic harmonization and annotation of single-cell transcriptomics data with deep generative models. Mol Syst Biol. 2021;17(1):e9620. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 68. Köster J, Rahmann S. Snakemake—a scalable bioinformatics workflow engine. Bioinformatics. 2012;28(19):2520–2. [DOI] [PubMed] [Google Scholar]
- 69. McGaughey D. scEiaD. https://github.com/davemcg/scEiaD. Accessed: 24 July 2021. [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Supplementary Materials
Roberto Vera Alvarez, Ph.D -- 5/4/2021 Reviewed
Roberto Vera Alvarez, Ph.D -- 7/28/2021 Reviewed
Lukas Weber -- 7/5/2021 Reviewed
Lukas Weber -- 8/10/2021 Reviewed
Data Availability Statement
The set of Snakemake pipelines that takes in the raw fastq sequence and outputs the scEiaD is at https://github.com/davemcg/scEiad [68]. The publication commit is #ffdf738. Furthermore, the repository has been deposited at Zenodo [58]. For the R packages, we provide package versions as the supplementary file “R_session_info.txt”.
We have deposited the 10x (v2) fastq files for our iPSC-based RPE data in GEO at accession GSE180662. We give download links for the count matrices, Seurat, and anndata objects, cell-level metadata, and our code-bases in Supplemental Table 5.




