Abstract
Background
Transcriptomics has profoundly improved our knowledge of cells. The advent of single-cell transcriptomics has enabled researchers to investigate the changes which individual cells undergo, such as cell type differentiation. Bulk RNA-seq is more practical in both cost and ease, but cannot elucidate cell type specific trajectories. Deconvolution methods can estimate cell types in RNA-seq data, but there is a need for methods characterising their position on a trajectory.
Methods
We present a new method called BLASE, which discretises the pseudotime of a scRNA-seq trajectory, and then uses Spearman correlation to infer the closest matching period of pseudotime to a bulk RNA-seq sample. Bootstrapping provides confidence intervals around the correlation, and subsequently informs “strong” calls. BLASE can discretise pseudotime using several different methods, provides heuristics for hyperparameter selection, and enables the visualisation of results.
Results
BLASE performs correctly and outperforms other tools. In simulated scRNA-seq data it accurately identified the correct pseudotime bin for 10 pseudobulked pseudotime bins, whereas other tools we tested ranged in accuracy from around 40-90%. In experimental data, BLASE correctly mapped all pseudobulked pseudotime bins, compared to a range of around 20-75%. We tested BLASE on use cases with published single-cell and bulk transcriptomics. On 10x Visium spatial data, BLASE could resolve the spatio-temporal process of keratinocyte differentiation. When mapping a time-course of 48 hour microarray data to the Plasmodium falciparum lifecycle, BLASE correctly identified the predominant cell type of synchronised cells in 48/48 samples (30 strong). Finally, BLASE identified a developmental rate difference in P. falciparum grown with or without heat shock conditions. Of 345 genes differentially expressed, 142 were attributed to developmental rate differences. The remaining 203 should represent the true signal better, and revealed new gene ontology terms.
Discussion
BLASE outperforms existing tools in simulated and experimental data. It can be used to a) annotate scRNA-seq data from existing RNA-seq, b) identify progress of RNA-seq data through a process captured in scRNA-seq, and c) be used to correct developmental differences in differential expression analysis. BLASE is released as an open-source R package under the GPL3 license, and is available on Bioconductor.
Clinical trial
Not applicable
Keywords: Transcriptomics, Single-cell, Pseudotime, Deconvolution
Introduction
Transcriptomics revolutionised our understanding of cells in disease and health [1–4]. In single-cell transcriptomic sequencing (scRNA-seq), the analysed dataset may contain information about cell types (or subtypes), and a biological process. Processes in scRNA-seq are typically calculated by “trajectory inference” (TI) methods, and represented as “pseudotime,” a continuous measure of the progress of a cell through the process. Several tools (such as CIBERSORTx [5]) have successfully shown that scRNA-seq can be used to deconvolute cell types within a bulk RNA-seq sample, providing insights at a greater granularity than analysis that looks at bulk data in isolation. These methods typically make use of a scRNA-seq reference to “decompose” the cell types that constitute a bulk RNA-seq sample (i.e., predicting the relative proportions of cell types present in the sample). These tools allow the user to reuse existing datasets, which may be hard to reproduce with scRNA-seq if originally generated from rare or valuable samples. Researchers may also wish to use deconvolution to reduce cost, as in some cases, bulk RNA-seq with deconvolution can provide sufficient insight into the biology, without needing to use costly and challenging scRNA-seq methods. In recent reviews [6, 7], DWLS and MuSiC [8, 9] were both assessed as being highly performant. These methods are used with previously annotated scRNA-seq reference datasets.
CIBERSORTx generates “signature matrices” based on the differential expression of genes in each annotated cell type in the reference. Using these matrices, CIBER-SORTx then uses Support Vector Regression (SVR) to estimate the proportions of cell types present in a bulk sample. DWLS (Dampened Weighted Least Squares) also generates a signature matrix, here based on marker genes from differential expression analysis. DWLS uses a WLS method on each bulk sample, and then uses a dampening constant to prevent the over-weighting of rare or low expression cell types. MuSiC (Multi-Subject Single Cell deconvolution) also uses a reference scRNA-seq dataset to calculate signature matrices for each annotated cell type. It then uses a Weighted Non-Negative Least Squares (W-NNLS), where each gene is weighted (giving greater weight to informative genes), to estimate cell type proportions in a bulk sample.
These current deconvolution methods focus primarily on identifying the proportions of cell types contained within a bulk RNA-seq sample. However, it can be desirable to identify how far a bulk sample has progressed through a biological process. Because of the nature of these processes, the differences are typically gradual changes over pseudotime, as opposed to the discrete differences between mature cell types. Thus, for two points close in pseudotime, differences can be limited and different considerations are required to separate those points in terms of gene expression. This leads to cell type deconvolution techniques giving unrealistic results when used to identify the position of a bulk sample in pseudotime, for example, estimating that pseudobulks from multiple windows over pseudotime are mostly comprised of cells from the first pseudotime bin.
TI is a popular method for exploring biological processes in scRNA-seq data, with a variety of methods proposed (Slingshot, Destiny, Palantir, Monocle [10–13]). These methods assign a numerical value to each cell in a dataset, indicating their progress through a biological process of interest. Importantly, pseudotime is a continuous variable, whereas cell type is typically considered in discrete terms. Methods have been developed to complement TI by calculating which genes are significantly associated with pseudotime (for example TradeSeq’s associationTest [14]), and whether genes are differentially expressed between two conditions in the same process (for example, TradeSeq’s conditionTest, PseudotimeDE [15], and TrAGEDy [16]).
We postulated that it should be possible to decompose bulk RNA-seq of a process (e.g., disease changes, cell development in the bone marrow, or pathogen lifecycle) using existing scRNA-seq data. Such a tool would identify the position of a bulk sample on a pseudotime axis (calculated by a TI tool of choice); different to deconvolution methods in that only a single point in the process should be the expected result for a well synchronised sample (i.e., a sample where every cell is at a similar point in pseudotime), as opposed to the proportions given by cell type deconvolution methods, which makes benchmarking challenging. Because of these differences between pseudotime and cell types, we reasoned that cell type deconvolution methods are inappropriate for bulk pseudotime deconvolution.
In such a tool for identifying the progress of a bulk through a biological process, we would desire a clear mapping to a specific time-point, with a measure of confidence, and the flexibility to use this information to correct for differences in pseudotime between conditions. Interestingly, so far, only one option exists for the deconvolution of bulk RNA-seq over a trajectory: MeDuSA (mixed model-based deconvolution of cell-state abundances). MeDuSA is similar to other deconvolution tools in that it predicts proportions, but is adapted for use on trajectories. MeDuSA uses a mixture model to deconvolute the abundance of cells over a one-dimensional trajectory, estimating the distribution of cells over pseudotime. However, in our testing, MeDuSA could not always resolve the correct distribution of simulated samples based on a scRNA-seq of Caenorhabditis elegans used in their paper (Fig. A1) or synchronised Plasmodium falciparum bulk RNA-seq samples well. Instead, it overestimated the period of pseudotime through which a bulk was distributed. As MeDuSA and other cell type deconvolution tools do not include all of these desirable features (clear mapping to a single timepoint, confidence measures, and inter-condition comparison), we decided to develop BLASE.
Here, we present this novel tool in an open-source R package that provides a toolkit for bulk pseudotime identification. BLASE uses a correlation-based method to find the most similar interval of an existing pseudotime axis in a scRNA-seq dataset to a bulk RNA-seq sample. BLASE provides methods for discretising the pseudotime into bins, performing the correlation analysis between bulk RNA-seq samples and the scRNA-seq data, and plotting the results to communicate these results. We demonstrate that BLASE can accurately map pseudobulked simulated and genuine scRNA-seq data and outperform existing tools. Using published real data, we deconvolute disease progress of psoriasis in spatial data, and find and correct a growth-rate difference in a parasite mutant.
Methods
Here we present details of how BLASE discretises pseudotime and maps bulk samples onto scRNA-seq trajectories using a best correlation approach. A broad description of the BLASE algorithm is given in Fig. 1, and Fig. A2 is a detailed, step-by-step flowchart of the algorithm. BLASE was programmed in R, and is installable through Bioconductor. Further detail can be found in the code, maintained on GitHub (Availability of Data and Materials).
Fig. 1.

A schematic of the BLASE algorithm for identifying the progress of a bulk RNA-seq sample through a known scRNA-seq trajectory. Initially, a single-cell reference dataset with trajectory data is used to define discrete “pseudotime bins”. Next, a bulk sample is compared against each bin, using the the Spearman’s Rho of their normalised counts. The pseudotime bin with the highest Rho is considered a match
BLASE provides methods for splitting a single-cell RNA-seq (scRNA-seq) reference into pseudotime bins, evaluating hyperparameters, mapping a bulk RNA-seq sample to the best matching pseudotime bin, and then plotting these results. The algorithm for mapping a bulk RNA-seq sample to a pseudotime bin is given in subsection “BLASE: mapping“
The typical workflow (Fig. 1), starts with a scRNA-seq dataset, where each cell has been assigned a “pseudotime” value designating its relative progress through a biological process. A list of genes which are informative regarding the progression of a cell through the pseudotime linage is also required. This may be all available genes, or a subset, depending on the process of interest. BLASE provides methods for assisting in the determination of which and how many genes should be used (see subsection “BLASE: hyperparameter selection”). A list of genes ordered by how informative they are about the pseudotime of a cell in the lineage is also required, methods for which are also provided by BLASE (see subsection “BLASE: gene selection”).
BLASE takes a matrix of normalised scRNA-seq data, X, with p rows representing the genes, and c columns representing the cells. The cells are ordered according to their pseudotime, labelled tj ∈ [0,τ], ∀j ∈{1,…,c}, where τ is the maximum pseudotime. Normalised bulk data, y, of length p must also be supplied, with both X and y using the same set of p genes, 𝒢.
This method also makes use of hyperparameters. As the full set of genes does not necessarily need to be used in BLASE, calculations are performed on a subset of p′ genes, 𝒢′ ⊆ 𝒢. Also, the set of cells needs to be partitioned as
where ñ is the number of pseudotime bins. Methods to suggest 𝒢′, ñ and the bs terms will be described in subsection “BLASE: hyperparameter selection”, subsection “BLASE: gene selection” and subsection “BLASE: assigning pseudotime bins”.
BLASE: mapping
In order to identify the best match for a bulk sample within a list of pseudotime bins in the scRNA-seq reference dataset, BLASE scores similarity with Spearman’s Rho, and calculates confidence intervals using bootstrapping.
Mapping is performed by the map_best_bin or map_all_best_bins functions for a single or many bulk samples respectively. The algorithm proceeds as follows for each RNA-seq sample (see Fig. A2 for a flowchart of the algorithm).
Because we are using 𝒢′, we may not be using the full scRNA-seq data, X, but rather a matrix produced by keeping only the genes in 𝒢′, which we label X′. The bulk data, y, is similarly transformed to produce y′. Having binned the cells according to pseudotime, we produce pseudotime bulk vectors for each bin by adding the normalised RNA counts across the bin for each gene. We define this by
This is used to calculate the correlations between y′ and for all bins s, and the confidence intervals for these correlations.
Bootstrapping is used to calculate the confidence intervals. For all s ∈ {1,…, ñ} and l ∈{1,…,k}, where k is the number of bootstrap samples, a sample of size p′ is drawn from 𝒢′ with replacement, labelled . By subsetting (with duplicates for repeated genes) and y′ with we generate the vectors and . The correlation between and is then calculated.
By iterating over all l, a set is calculated. The confidence interval is the and quantile of this set, labelled . The point estimate of the correlation between and is obtained by calculating the Spearman correlation between the non-bootstrap and y′ as usual.
We define the most suitable bin as that with the highest correlation with the bulk data, while the bootstrap intervals are used to establish whether this assessment is “strong”. The best and second best bins are defined as ŝ1 and ŝ2 respectively, where:
and we say that a bin is strongly mapped by ŝ1 when both , and . This means that a mapping is considered strong when the pseudotime bin with the highest correlation to the bulk’s lower bound is still greater than the upper bound of the next best mapping pseudotime bin.
The implementation of bootstrapping is adapted from the spearman.ci function from the RVAideMemoire package [17].
To ensure that Spearman correlation is an effective method for the comparison between pseudotime bins and bulk RNA-seq samples, a variety of methods were implemented and then compared on Plasmodium falciparum lifecycle data (from the Malaria Cell Atlas and Painter et al., as discussed in subsection “Validation 4: identifying and labelling lifecycle stages of Plasmodium falciparum”) This comparison showed that Spearman’s Rho or Kendall’s Tau were the most effective comparisons for this task (Table 1).
Table 1.
Comparison of BLASE using a variety of correlation and distance metrics. BLASE was configured to use 6 bins, and genes selected by gene peakedness spread selection (target of 1300 genes). Due to the requirement for a “strong call” to have a score greater than 0, strong calls are not meaningful for the inverse distance metrics
| Metric | Correctly Strong | Correctly Predicted |
|---|---|---|
| Spearman | 21/21 | 48/48 |
| Kendall | 21/21 | 48/48 |
| Pearson | 18/18 | 48/48 |
| Cosine Similarity | 22/22 | 42/48 |
| Inverse Manhattan Distance | NA | 26/48 |
| Inverse Euclidean Distance | NA | 26/48 |
For bootstrapping distance metrics and cosine distance, the spearman.ci function was adapted to replace cor.test from the stats package, with dist from the stats package and cosine from the lsa package.
BLASE: hyperparameter selection
In order to help with making informed decisions about trade-offs between the number of bins and genes used for mapping, BLASE provides functions that calculate heuristic measures of how to select these cutoffs. These make use of a measure of how particularly a bin is associated with pseudotime, which we call convexity. Subsequently, the number of bins and the list of genes are used in the mapping step.
The find_best_params function takes a range of possible gene and bin counts, and calculates the minimum convexity, mean convexity, and number of strong mappings (subsection “BLASE: mapping”) for each combination. It should be noted that this can only take into account the reference dataset, and may not be an accurate representation of the best values for a given bulk sample.
𝒢 = {g1, …, gp} is assumed to be in descending order of “goodness” (by the methods described in subsection “BLASE: gene selection”, or by another method deemed suitable by the researcher using BLASE). The objective is to calculate an optimal number of genes, p′, and bins, ñ.
For each pair of hyperparameters considered, , the reference data is pseudobulked into bins. With a portion of the reference data pooled into pseudobulk data, mapping on each pseudobulk bin can be performed as described above using the first genes, . For each pseudobulk sample , we calculate its convexity, , which is a measure of association between a gene and a bin. This is defined by , where is the highest correlation calculated between bin m and the pseudobulk data, and is the second highest, for bin and gene counts .
The suitability of any can now be assessed by the mean convexity over bins, the minimum convexity, and the proportion of strong bin assignments.
The gene_selection_matrix function plots log normalised expression of genes in cells. The y-axis represents genes, ordered by the pseudotime of their peak expression, the x-axis represents cells, ordered by pseudotime. This can be used to assess how well differentiated pseudotime is by a selected list of genes.
BLASE: gene selection
BLASE provides several functions to allow researchers to make informed decisions about selecting which genes should be utilised by BLASE. However, use of these methods is optional and they are provided only as a convenience and recommendation. Researchers will understand their research area best and can decide if these methods are appropriate. A comparison of these methods across datasets is shown in Fig. A3.
Gene peakedness selection
Genes which have a peak of expression at certain points in the pseudotime trajectory are useful as indicators of the progress of a cell through the process. When a cell has a high expression of this gene, it is likely that the cell is at that given point in pseudotime. These genes can be found by attempting to identify how “peaked” the expression of the gene over pseudotime is within the reference dataset. First a Generalised Linear Model (GLM) is fitted to the normalised expression over pseudotime in order to calculate a smoothed expression over pseudotime. Then, within a given window around the peak of the smoothed expression, calculate the mean normalised expression within and without the window. A score is calculated as the mean normalised expression of the gene within the window divided by the mean expression outside the window. A higher score is considered more peaked and therefore more useful.
Algorithm 1. Selecting genes with high peakedness from over entire pseudotime.
genesToUse ← {}
n ← n_gene_bins
m ← genes_per_bin
bin_size ← max_pseudotime/n
i ← 0
while i < n do
low_cutof f ← (i — 1) * bin_size
high_cutof f ← i * binsize
genes_in_window ← genes where low_cutof f < peak_pseudotime <
high_sutof f
genes_in_window ← genes_in_window (sorted by descending ratio)
genesToUse ← genes_in_window[0 : m]
i ← i + 1
end while
return (genesToU se)
The normalised expression data for each gene i ∈ 𝒢 is smoothed with respect to pseudotime using the R package mgcv [18]. This fits a GLM with a log link function estimating the mean normalised expression using a cubic spline on pseudotime (with a default of 10 knots). This gives a prediction function, , which maps from pseudotime to a normalised expression value. We calculate the normalised expression values on a regular grid over pseudotime, defining as the point at which the expression value is maximal. This estimates the pseudotime at which expression peaks. In order to split cells into inside-peak and outside-peak, the width of the peak as w, where by default . The cells inside the peak are
with all other cells in . The inside-peak and outside-peak means are defined as:
and the ratio is used as a measure of gene peakedness, and it is recommended that the gene list is arranged in descending order of this ratio.
Gene peakedness spread selection
To account for the possibility that the genes with a high peakedness ratio are concentrated at certain points in the pseudotime, genes can be selected in a way that enforces selection of the genes with the highest ratio throughout the trajectory. A function is provided for this in BLASE: gene_peakedness_spread_selection, which implements the algorithm outlined in Algorithm 2.
TradeSeq
Another method for selecting genes which may be useful utilises TradeSeq’s associationTest, which finds the genes which change over pseudotime. The associationTest function can be tuned to identify genes which have different pseudotemporal patterns (using the contrastType parameter): differing at the start, end or between knots.
BLASE provides a method for selecting a number of genes with the largest differences across pseudotime from TradeSeq’s association test, following the algorithm outlined in Algorithm 2, implemented in the get_ top_n_genes function.
All genes
In some cases, it may be preferable to use every gene available, and BLASE will accept any list of genes.
BLASE: assigning pseudotime bins
BLASE provides two methods for the selection of bins (see subsection “BLASE: hyperparameter selection“ for discussion of how to select the best number of pseudotime bins for a dataset). See Figs. A4 and A5 for schematics of these methods. This occurs when a BlaseData object is created (typically using the as.BlaseData function), but can also be applied to an existing Single-CellExperiment object using the assign_pseudotime_bins function, enabling further analysis or visualisation.
Pseudotime range bin assignment
Pseudotime range bin assignment assigns cells to bins on the basis of their progress through pseudotime. This method attempts to ensure that each bin covers a constant window of pseudotime, at the cost of variable numbers of cells per bin. Generally, this is the recommended method, however BLASE requires that every pseudotime bin contains cells, and there are some cases where bins will be created without containing cells when using this method. In such cases, the bins will not be considered for mapping, as there can be no correct mapping to a bin where no information is present.
Algorithm 2. Selecting top genes from TradeSeq associationTest result.
n ← length(genes)
i ← 0
genes To Use ← {}
while i < n do
gene ← genes [i]
if gene present in lineage & genePValue < 0.05 then
append gene to genesToUse
end if
i ← i + 1
end while
genesToUse ← genesToUse sorted by descending Wald Statistic
return (genesToU se)
Formally, in this method, all bins cover the same length of time in pseudotime, i.e.,
Number of cells bin assignment
Number of cells bin assignment attempts to keep the number of cells per bin constant, at the cost of permitting varying pseudotime widths for each bin. This method can be vulnerable to bias from pseudotime abundance differences. For example, when one region of pseudotime has a much greater number of cells than another, it will produce proportionally more pseudotime bins. This means that the region with many cells will have many pseudotime bins, resulting in pseudotime bins in this region which may have very similar transcriptional signatures. This could affect strong calling in that region. In spite of these considerations, this method can be useful for datasets where certain pseudotime ranges have low or zero cell populations.
To split an even number of cells into each bin, the following is defined .
Assigning bins from multiple lineages
In some cases, it may be desirable to quickly apply BLASE mapping to multiple lineages. For optimal results, we suggest applying BLASE to one lineage at a time. In these cases, multiple pseudotime lineages may be passed to BLASE, as described in the documentation for as.BlaseData() and assign_pseudotime_bins(). Assigning bins by pseudotime is not supported in this usage mode as pseudotime values are not comparable across different lineages, therefore assignment must be performed according the “by cells” method described in the previous section.
In defining combined pseudotime, we will assume that we have c cells indexed as {1, …, c}, and k pseudotime trajectories. Because not every cell has a position in every trajectory, we define Lj ⊂ {1, .. ., c} as the set of cells in trajectory j for j ∈ {1, .. ., k}. Our pseudotime information is contained in the matrix , where ti,j is the pseudotime value for cell i along trajectory j. When a cell i is not on trajectory j, i.e., i ∉ Lj, then the value for ti,j is missing, and will not be considered. We will assume (without loss of generality) that the k trajectories are in descending order of length, which we define as the maximum pseudotime in that trajectory. Our combined pseudotime for each cell is defined as its position in a particular ordering of the set of cells, where cell i1 comes before cell i2 if either:
-
(1)
the longest trajectory to which i1 belongs is longer than the longest to which i2 belongs or
-
(2)
the longest trajectories for both i1 and i2 are the same andi1 has a smaller pseudotime in that trajectory holds.
Algorithm 3. Annotating scRNA-seq cluster cell types with BLASE results.
cells$annotation ← Unknown
blaseResults ← BLASEResults
i ← 1
n ← length(unique(cells$pseudotimeJ)-bin))
while i < n do
bestMatchingBin ← NULL
bestMatchingBinCorrelation ← (−1
j ← 0
m ← length(blase Results)
while j < m do
if blaseResults[j]$correlation[i] > bestMatchingBinCorr elation then
bestMatchingBin ← j
bestMatchingBinCorrelation ← blaseResults[j]%correlation[i]
end if
j ← j+ 1
end while
if bestMatchingBin ≠ NULL then
cells[i]$blase_annotation ← best Matching Bin
end if
i ← i + 1
end while
return(sce)
We will now derive an equation for the combined pseudotimes . For each trajectory, we define the set of cells that are either in that trajectory or a longer trajectory, . For consistency, we will also define , the empty set. For each cell i, we label the longest trajectory to which it belongs as κi. Because cell i has a larger combined pseudotime than any cell in a longer chain, we know that . We can therefore , where mi is a positive integer. In order to derive mi, we will make use of the second property of our ordering: all cells with the same longest chain as cell i, κi, that also have a lower pseudotime on κi come before cell i in combined pseudotime. We can therefore derive: .
Combining these two pieces of information about which cells have a lower pseudotime than that of cell i, it follows that
Annotation of scRNA-seq using time-series bulk RNA-seq
In order to use bulk RNA-seq of known populations to annotate scRNA-seq cluster cell types, BLASE implements annotate_sce, which follows Algorithm 3.
Generation of scRNA-seq datasets
A copy of each of these objects, and code to reproduce them is provided on Zenodo (subsection “Data availability”).
Generation of simulated dataset
To generate the in-silico simulated dataset for verifying that BLASE can map pseudobulked data with a known ground-truth, Dyngen [19] was used to generate 2000 cells with 400 target genes, 50 transcription factors and 50 housekeeping genes, based on the “regulatorycircuits_04_mesenchymal_mixed” feature network and “zenodo_1443566_real_silver_trophoblast-stem-cell-trophoblast-differentiation_mca” experiment counts, over a simulated time of 1000. “Cell type” clusters were identified using the Louvain algorithm in the bluster package [20].
Adaptation of myeloid differentiation scRNA-seq
To adapt the Mende et al. 2020 haematopoiesis scRNA-seq dataset [21], the h5ad file was downloaded from the Human Cell Atlas [22] (https://explore.data.humancellatlas.org/projects/455b46e6-d8ea-4611-861e-de720a562ada). It was then converted to a Seurat v5 object [23] by saving the counts matrix in CellRanger format, and the metadata as a tab separated value (tsv) file.
Quality control was performed for each sample with the below parameters:
| Library | Min.features per cell |
Max features per cell |
Max % mitochondrial |
|---|---|---|---|
| SIGAD9 | 700 | 3500 | 5.0 |
| SIGAE9 | 700 | 3000 | 5.0 |
| SIGAF9 | 700 | 3000 | 5.0 |
| SIGAG9 | 700 | 3000 | 5.5 |
| SIGAH9 | 700 | 3200 | 5.0 |
| SIGAB10 | 700 | 4200 | 5.5 |
| SIGAC10 | 700 | 4000 | 4.0 |
| SIGAD10 | 700 | 4000 | 5.0 |
| SIGAA12 | 700 | 4000 | 5.5 |
| SIGAB12 | 700 | 4500 | 6.0 |
| SIGAD12 | 700 | 4000 | 5.5 |
Following Quality Control filtering, the data were normalized (NormalizeData), variable features were found (FindVariableFeatures, selection.method vst, nfeatures 2000), and scaled (ScaleData).
Principal component analysis (PCA) was then performed, and 15 principal components (PCs) were taken for further analysis. Integration was performed to merge each library in an unsupervised approach with STACAS [24], using the 15 PC embeddings and 1000 anchor features.
Nearest neighbours were found based on the first 15 PCs, and clusters found with a resolution of 0.1 (Find-Neighbors, FindClusters). A PHATE embedding was generated for the integrated PCA embeddings using phateR [25]. 12,000 cells were randomly selected from cells in the Stem Cell - Myeloid lineage, selected for using marker gene signatures:
| Cell Type | Markers |
|---|---|
| Stem Cell | SOCS2, MLLT3, HOPX |
| Myeloid Progenitors | ENO1, MPO, CEBPD |
| Myeloid | CD14, CD16, LYZ |
Cells along this lineage were reprocessed (as above) as a subset. Following this, a SingleCellExperiment object [26] was created, and Slingshot [10] was used to calculate the pseudotime from Stem Cell to Myeloid Cell. TradeSeq was run with 9 knots, selected using the evaluateK function.
Adaptation of malaria cell Atlas P. berghei scRNA-seq
To adapt this dataset (from Howick et al. 2019 [27]), preprocessed data (pb-ch10x-set1.zip) was downloaded from the Malaria Cell Atlas (MCA) website (https://www.malariacellatlas.org/downloads/pb-ch10x-set1.zip). From the raw counts, log normalised counts were calculated using scran [28] (computeSumFactors, default parameters) and bluster [20] (logNormCounts, default parameters). The normalised counts were calculated as the exponential of the log normalised counts. A UMAP embedding was produced using scater [29] (runUMAP, default parameters), based on the principal components 1:2 provided with the object.
To calculate pseudotime, slingshot [10] was used (slingshot, “UMAP” reduced dimension, cluster labels based on MCA annotations, start cluster “ring”). TradeSeq [14] was run with 7 knots (selected by heuristic in the evaluateK function), and the association-Test results were calculated (lineages True, global False, contrast type consecutive).
Adaptation of malaria cell Atlas P. falciparum scRNA-seq
To adapt this dataset (from Dogga et al. 2024 [2]), the processed data (pf.zip) from the MCA website (https://www.malariacellatlas.org/downloads/pf.zip) was first downloaded. Transcripts from the same gene were summed, in order to match the bulk data used with this dataset. Cells identified as gametocytes were then removed, as these cells branch off into a different process of sexual development, and in this case only performance on the asexual trajectory was tested. Following this, 6000 cells were randomly selected from the remainder, to reduce the size of the final object.
Normalised counts were then calculated in the same manner as the P. berghei dataset, and Principal Component 1–3 and UMAP dimension 2–3 were used for visualisation.
Slingshot was used to calculate pseudotime (on the UMAP dimension, the high-resolution stage as the cluster labels, and “early ring” start cluster). TradeSeq’s fit-GAM was then used with 7 knots, and the results of the association test were calculated in the same manner as the P. berghei dataset.
Adaptation of spatial reference
To generate the scRNA-seq reference of keratinocyte differentiation, pre-existing raw data in .bam format was downloaded from Wang et al. 2020 [30] (https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE147482%26format=file).
Five samples are present. The following cutoffs were used for quality control:
| Sample | Min. features per cell |
Max features per cell |
Max % Mitochondrial |
|---|---|---|---|
| Donor 1 | 700 | 4100 | 6 |
| Donor 2 | 700 | 4000 | 10 |
| Donor 3 | 700 | 4300 | 8 |
| Donor 4 | 700 | 3500 | 8 |
| Donor 5 | 700 | 4000 | 8 |
Following quality control, Seurat was used to preprocess the data, using: NormalizeData, Find-VariableFeatures (vst method, 2000 features), ScaleData, RunPCA. 14 PCs were selected by elbow plot. The samples were then integrated using STACAS unsupervised integration (1000 integration anchors). Seurat was then used to generate the KNN graph: Find-Neighbors (on the PCA embedding), and finding clusters: FindClusters (resolution of 0.1). A UMAP embedding was then generated using RunUMAP.
A cluster of melanocytes were removed from the object, defined by high expression of the marker genes MITF and MLANA [30]. The remaining cells were then reprocessed, following the same steps as above, with 10 PCs, and a clustering resolution of 0.2. Basal (KRT5, KRT14), spinous (KRT1, KRT10), and granular (DSC1, KRT2, SPINK5) keratinocyte clusters were identified by high expression of their respective marker genes [30]. 6000 cells were randomly subset from this dataset, to reduce running time.
Destiny [11] was then used to calculate pseudotime. The start index for destiny was found by taking the cell with the highest value in the first diffusion map dimension, determined to be the start of the trajectory by plotting the cell types in the diffusion map embeddings. To find genes variable over pseudotime, TradeSeq was used with 7 knots, only inspecting the highly variable genes identified earlier.
Adaptation of MeDuSA scRNA-seq
This dataset, used to benchmark MeDuSA, was downloaded from the CytoTrace [31, 32] website (Examples page, “C. elegans ciliated neurons (10x)”, counts and metadata). Log normalized counts were generated using scran (computeSumFactors, default parameters) and bluster (logNormCounts, default parameters). Normalised counts were calculated as the exponential of the log normalised counts. The “Ground_truth” metadata was used as pseudotime. TradeSeq was then run with 8 knots (selected in the same way as the other datasets).
Adaptation of lymphoid differentiation scRNA-seq
To adapt the data generated by Suo et al. for testing BLASE, the h5ad file containing the analysed data was downloaded from CZ CELLxGENE Discover [33] (https://datasets.cellxgene.cziscience.com/5046093f-06c5-4bc6-bbf6-050ce839b296.h5ad). The count matrix and meta-data were saved to disk using scanpy [34] and then loaded into R using Seurat. A subset was created which retained only cells of interest (“celltype_annotation” one of the following: ABT(ENTRY), B1, CD4+T, CD8+T, DN(early)_T, DN(P)_T, DN(Q)_T, DP(P)_T, DP(Q)_T, HSC_MPP, IMMATURE_B, LARGE_PRE_B, LATE_PRO_B, LMPP_ MLP, MATURE_B, PLASMA_B, PRE_PRO_B, PRO_B, SMALL_PRE_B, TREG).
Each “celltype_annotation” cluster was randomly subset to include at most 7589 cells (the median number of cells in these clusters before this subsetting step). Subsequently, any samples (“sample” metadata column) with fewer than 20 cells was removed from the analysis.
Then the Seurat preprocessing pipeline was applied (NormalizeData, FindVariableFeatures (selection.method = vst, nfeatures = 2000). All genes were scaled using ScaleData. PCA was performed with RunPCA, and 6 dimensions were selected for further analysis by elbow plot. Integration was performed using Harmony over the “sample” metadata column [35]. FindNeighbors was then run on the Harmony embeddings (6 dimensions, 20 neighbours). Then, UMAP embeddings were calculate using RunUMAP (6 dimensions, 20 neighbours, on the harmony reduction).
Clusters were calculated using the KmeansParam of the bluster package (9 centers, based on the UMAP dimension reduction). Pseudotime values were then calculated for cells using Slingshot (UMAP reduced dimension, based on clusters calculated by bluster, with the start cluster of 3 and end clusters of 6 and 7, corresponding to HSCs, T cells and B cells respectively).
Normalised counts were created by applying the exp function (i.e. the exponential) of the logarithmised counts in the existing object.
Generation of bulk RNAseq datasets
A copy of each of these objects, and code to reproduce them is provided on Zenodo (subsection “Data availability”).
Adaptation of Zhang et al. 2021 P. falciparum heat shock piggybac knockout RNA-seq
To prepare this dataset for use with BLASE, data from the original paper’s (Zhang et al. 2021 [36]), Supplementary Data 3 spreadsheet was downloaded (https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-021-24814-1/MediaObjects/41467_2021_24814_MOESM5_ESM.xlsx). FPKM counts were extracted and used as normalised counts. Transcripts from the same gene were collapsed by summing of their counts to maintain consistency with the scRNA-seq that would be used with this data.
Adaptation of Otto et al. 2014 P. berghei RNA-seq
To prepare this dataset for use with BLASE, the spreadsheet with FPKM reads from the original paper’s (Otto et al. 2014 [37]) Additional file 9 was downloaded (https://static-content.springer.com/esm/art%3A10.1186%2Fs12915-014-0086-0/MediaObjects/12915_2014_86_MOESM9_ESM.xlsx), selecting only the P. berghei mRNA abundance data.
Adaptation of Ganier healthy skin Visium
The original data (Ganier et al. 2024 [3]) for several healthy skin Visium runs was downloaded from the Spatial Skin Atlas (https://spatial-skin-atlas.cellgeni.sanger.ac.uk/). Greyscale histology images were generated in Python with Pillow 12.0.0. Data was loaded into Python with scanpy and squidpy [38], and then saved to disk. These data files were loaded by Seurat. Majority keratinocyte spots were then selected for use with BLASE. The proportion of keratinocytes in each spot was calculated from the results of the cell2location package included in the objects as downloaded. Proportions were considered keratinocytes if they were in either the “Basal keratinocytes” or “Suprabasal keratinocytes” clusters.
| Sample | Min % Keratinocyte per spot |
|---|---|
| body_glabella1 | 60 |
| body_inguinal1a | 60 |
| body_pubis1 | 40 |
Normalised counts for these data were calculated by taking the exponential of the log counts provided in the data.
Adaptation of Ma psoriatic skin Visium
Visium data for skin with psoriasis was downloaded from the Gene Expression Omnibus (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE225475), originally generated by Ma et al. in 2023 [39]. Once again, greyscale histology images were generated in Python, and these data files were loaded by Seurat.
To identify spots likely to be high in keratinocytes, spots with high expressions of KRT5 and KRT10 were selected. Normalised counts were again given by the exponential of the log counts in the objects.
| Sample | Min. log KRT5 | Min. log KRT10 |
|---|---|---|
| PP1 | 3 | 3 |
| PP2 | 3 | 3 |
| PP3 | 3 | 3 |
| PP4 | 3 | 3 |
Adaptation of Painter et al. 2018 P. falciparum microarray
To adapt this dataset [40] for this analysis, the data was downloaded from https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-018-04966-3/MediaObjects/41467_2018_4966_MOESM4_ESM.xlsx, and the “Estimated Total Abundance” sheet was used. Gene names were changed to use “-” instead of “_”.
Adaptation of López-Barragán 2011 P. falciparum RNA-seq
This dataset [41] was downloaded from PlasmoDB [42] using this search: https://plasmodb.org/plasmo/app/workspace/strategies/import/1a7322955d116b6b. “0.1” was removed from transcript names. Only unique reads were saved for analysis.
Adaptation of Otto et al. 2010 P. falciparum RNA-seq
This dataset was downloaded from PlasmoDB using this search: https://plasmodb.org/plasmo/app/workspace/strategies/import/698e68176373afcb. “0.1” was removed from transcript names. Only unique reads were saved for analysis.
Adaptation of Casero et al. 2015 lymphoid cell development RNA-seq
The “GSE69239_norm_counts_FPKM_GRCh38.p13_ NCBI.tsv.gz” file was downloaded from GEO, alongside the Human gene annotation table “Human.GRCh38.p13. annot.tsv.gz” (https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE69239). Transcripts for each ensembl ID were collapsed into one row by summing them. Sample names had spaces removed and were prefixed with “casero.”.
Adaptation of Choi et al. 2019 Haemopedia RNA-seq
Haemopedia-Human-RNASeq TPM counts were downloaded from the haemosphere website (https://www.haemosphere.org/datasets/show). The sample names were adjusted to be prefixed with “choi.”. “sample” was replaced with a “.” for aesthetic reasons. The following cell types were selected for analysis: naive B cells, memory B cells, CD4+ T cells, CD8+ T cells.
Pseudobulking of scRNA-seq datasets
Datasets presented here were pseuodbulked by pseudotime bin assigned by BLASE.
Cells were randomly split into two equally sized groups, one of which remains as a scRNA-seq reference, and one as pseudobulk samples. When pseudobulking by cell type annotation, the normalised reads for each annotation were summed, giving one value for each gene per annotation.
For the simulated testing dataset, cells were randomly assigned to one of two replicates for each pseudotime bin. The get_bins_as_bulk function from BLASE summed the normalised counts of genes for each binreplicate pair to give two replicate pseudobulk samples per bin. A cutoff of at least 20 cells per bulk was used. For bins with enough cells to meet this minimum in a given replicate, the cells are split by their assigned replicate. Should there not be enough cells in a bin, the get_ bins_as_bulk function will randomly sample 75% of a bin twice to generate the two replicates, if this will provide enough cells to meet the minimum cells per bulk cutoff, otherwise a warning is given and only one replicate is produced.
To pseudobulk the haematopoiesis dataset, the cells were split into evenly sized test and train groups, and in the test group, the expression of all cells in each pseudotime bin was summed to generate the pseudobulk data.
Application of BLASE to datasets
Due to each reference dataset having individual differences due to their species, cell types and trajectories, different parameters were required for optimal performance. BLASE’s hyperparameter tuning and gene selection methods provide heuristics to select the number of bins and genes to be used in the mapping. A comprehensive list of the parameters used when benchmarking BLASE can be seen in Table A1 and Table A2. Exact code to reproduce results is available on Zenodo (Availability of data and materials).
Downstream analysis
Comparable differential expression analysis of bulk and scRNA-seq datasets
Differential expression (DE) analysis was performed using the limma R package [43]. The FPKM adjusted counts were passed to limma, and were processed using: lmFit, contrasts.fit and eBayes with the default parameters. The contrast matrix was generated by creating a group for each combination of pairs from [strain] (“NF54”, “PB31”, “PB4”) and [growth condition] (“Normal” or “HS”).
For the single cell data, raw pseudobulked counts for the bins being compared were first normalised using limma’s voom function (default parameters).
Differential expression analysis of scRNA-seq datasets
To find DE genes from scRNA-seq data (for example to find genes for GO terms in Additional file 2), the find-Markers function in Seurat was used with default parameters between two groups. The results were then filtered by “p_val_adj” < 0.05 and “avg_log2FC” > 0.5.
Gene ontology term enrichment analysis
GO term enrichment was carried out using the topGO R package [44]. Gene GO term mappings were taken from PlasmoDB v68 for Pf3D7 [42]. To generate the exact format required by TopGo, code from the function formatGOdb in PfGO [45] was adapted. topGO objects were created for each comparison, using the “BP” ontology, allGenes the entire set of genes in P. falciparum, and the selected genes were every significantly (adjusted p-value < 0.05) differentially expressed gene. runTest was executed with the “classic” algorithm and “fisher” statistic.
Application of existing deconvolution methods to datasets
Several existing deconvolution methods were tested alongside BLASE: CIBERSORTx, DWLS, MeDuSA, and MuSiC [5, 7–9, 46].
The sections below contain details of the default parameters (and exceptions to these) used for comparing each tool with BLASE.
Cibersortx
CIBERSORTx was run as a docker container. Before use, all gene, cell and sample names had hyphens (-) and underscores (_) removed. Normalised counts were used. The maximum genes to use (G.max) was set to min(500, length(genes(singleCellExperiment)) − 100. The number of permutations (perm) was set to 200.
DWLS
All gene names had hyphens (-) replaced with underscores (_). Raw and log counts were used to create a Seurat v5 object [23]. A signature matrix was constructed with buildSignatureMatrixUsingSeurat (diff. cutoff = 0.5, pval.cutoff = 0.05).
Then, each bulk sample was iteratively deconvoluted, using trimData (default parameters), and solveDampenedWLS (default parameters). Pseudotime bins with a returned proportion of < 0 were set to 0.
MeDuSA
All gene names had underscores (_) replaced with hyphens (-). A Seurat v5 object [23] was then created using raw and log counts. The MeDuSA function was then run with:
markerGene = NULL
span = see Table 2
resolution = see Table 2
smooth = TRUE
fractional = TRUE
nbins = see Table 2
Table 2. Details of the parameters used for application of MeDuSA to datasets.
| Dataset | resolution | span | nbins |
|---|---|---|---|
| Simulated | 5 | 2 | 4 |
| Myeloid Differentiation | 5 | 2 | 5 |
| P. falciparum lifecycle | 6 | 2 | 6 |
| P. falciparum heat shock | 6 | 2 | 6 |
| C. elegans MeDuSA reproduction | 5 | 2 | 5 |
| C. elegans MeDuSA reproduction | 10 | 2 | 5 |
| C. elegans MeDuSA reproduction | 5 | 4 | 5 |
| C. elegans MeDuSA reproduction | 5 | 1 | 5 |
| C. elegans MeDuSA reproduction | 5 | 2 | 10 |
| C. elegans MeDuSA reproduction | 5 | 2 | 2 |
Specific datasets used different parameters for span, resolution and nbins for MeDuSA, which are shown in Table 2.
Following this, MeDuSA_VarExplain was run with default parameters. Note that a smaller value for span may reduce the wide spread in the results, however, when set to a low value the function fails to complete, warning that the span is set too low.
MuSiC
MuSiC was used with default parameters, using the music_prop function.
Benchmarking runtime of tools
Benchmarking of BLASE’s runtime was done following the R pseudocode in Algorithm 4.
The benchmarking was run on a server with:
CPU - 4x Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80 GHz
Memory - PC-12800/1600 Mhz - 96 × 32Gb modules
OS - Ubuntu 22.04.3 LTS
When benchmarking CIBERSORTx, the input data was written to disk before timing began, to create as fair a comparison as possible.
Results
Here we present BLASE, which maps bulk RNA-seq data onto a scRNA-seq trajectory (Fig. 1), which will be publicly available through Bioconductor as an R package. We show that current cell type deconvolution methods do not perform well on trajectories to motivate our implementation. Finally, we share three use cases showing how BLASE can be used on real data.
Algorithm 4. R code used for timing deconvolution time.
startTime ← Sys.time()
results ← DeconvolutionMethod()
endTime ← Sys.time()
time.taken ← as.numeric(end.time − start.time,units = “secs”)
Validation 1: BLASE outperforms existing tools on simulated data
To validate BLASE on a dataset with a known ground truth, we generated a simulated dataset with Dyngen [19]. Pseudotime and a trajectory were calculated by Slingshot [10], and cells were grouped into 5 bins by pseudotime range. For each bin we generated two replicate pseudobulks and used BLASE and other deconvolution tools to “decompose” them against the pseudotime. BLASE generated the expected outcome (Fig. A6) of aligning each pseudobulk sample to its correct pseudotime bin. BLASE calculated a high correlation, showing that the rank-order correlation of genes is high, indicating that these are strong results, which means that boot-strapping has shown that the predicted bin is likely to have the highest true correlation (see Methods).
To compare our results with existing tools, we used CIBERSORTx, DWLS, MeDuSA, and MuSiC to decompose the same pseudobulks (Fig. A6). These four existing tools returned the expected proportions of cell categorisations, rather than a single best mapping score. In order to compare them with BLASE, we considered the cell type predicted to have the highest proportion to be the call made by a given tool. CIBERSORTx was unable to make predictions for this dataset despite various troubleshooting and was excluded from the analysis. DWLS and MuSiC correctly assigned the bins. DWLS mapped a mean of 91.3% of cells to the correct bins, whereas MuSiC had a mean correct mapping of 84.2%. MeDuSA generally gave the highest proportion to the correct bin, but only assigned a mean of 42.3% of cells to the correct bin, showing a much wider distribution than was expected (Table A3).
Overall, this shows that BLASE is not only accurate, but also that it can match the performance of leading cell type decomposition methods for this simulated data.
Validation 2: decomposition of myeloid cells in haematopoietic lineages
The haematopoietic niche is located in bone marrow, where new immune cells differentiate from pluripotent stem cells into highly specialised cells which are released into the blood. This transformation is a continuous process, and thus this is a perfect example to test and compare BLASE on with real data.
First, we took the myeloid cell lineage from Mende et al. 2020 [21] (Fig. A7 a, black box). Next, we projected those cells into a PHATE embedding, calculated pseudotime with Slingshot and created 5 bins with equal pseudotime lengths (see Section “BLASE: assigning pseudotime bins“, similar to the classes of cell selected in a. with BLASE (Fig. A7, b). To create a bulk query dataset, we split the dataset in half at random, and then pseu-dobulked one half by the pseudotime bin (Fig. A8). The non-pseudobulked half was used a reference scRNA-seq dataset.
We then applied BLASE and other cell type deconvolution methods (see Fig. A6 for a comparison) to predict which pseudotime bin had been the origin of each pseudobulk in the myeloid lineage. BLASE correctly and strongly maps each pseudobulked bin to the correct reference bin, as shown by the heatmap in Fig. A7, c. This shows that BLASE is capable of accounting for the intricacies of real scRNA-seq data which are not represented in simulated scRNA-seq [47]. This heatmap shows the Spearman correlation as calculated by BLASE for each pseudobulk to each reference pseudotime bin. The highest correlation as predicted by BLASE is shown by an outlined tile, and asterisks indicate “strong” results, where BLASE has calculated that the second best mapped bin is not the best match through bootstrapping. The heatmap shows a high correlation for other bins in addition to the correct one. This is expected, as over a continuous process, we expect differences in expression to be smooth over pseudotime. We tested several gene lists with BLASE, and found that using TradeSeq, gene peakedness, and gene peakedness spread all gave results which were strong and correct, but doing so with every available gene did not (see subsubsection “Gene selection“). We believe this is because only some genes are relevant to this process, and using all genes introduces noise that obscures the true transcriptomic signature of myeloid differentiation.
It is noteworthy that the other tested cell type deconvolution tools performed less well at finding the true paired bin than BLASE when provided the same training/ test data. DWLS predicted that every pseudobulked bin should map to the first bin of the reference (Fig. A6, b). This resulted in DWLS mapping a mean of only 20.9% of cells correctly (Table A3). CIBERSORTx called the start and end bulk samples well, however it performed poorly on the pseudobulk samples which should have mapped to bins 2 and 3, resulting in a mean correct mapping of only 46.3%. MuSiC (mean correct mapping of 75.0%) maps the bulks well, without the smoothing of the pseudotime as observed with BLASE. However, the correctly predicted proportion of bin 4 by MuSiC is just 0.56. It is important to remember that these other tools were designed for use with discrete cell types and not the continuum of pseudotime. MeDuSa, on the other hand, accounts for this continuous process. It captures the smooth distribution, as an “association” of the bins with the bulk data, however it only correctly maps a mean of 43.3% of cells (Fig. A7, d). BLASE however, finds an optimum and uses bootstrapping to identify strong results. Overall, three tools can accurately map the pseudobulks onto the developmental process of this myeloid cell data, however only BLASE can strongly map the bulk sample to one time point.
Validation 3: simultaneous decomposition of two lymphoid cell type developmental trajectories
In order to test BLASE on more real bulk and single-cell data, and explore if we can model bifurcations, we used the model of lymphoid immune cell differentiation. Lymphoid cells are critical for the human adaptive immune response, and are involved not only in resolving infections and restoring homeostasis, but also contribute to autoimmune disease [48]. We selected B cells, which produce antibodies against infection, and T cells, which are involved in immune-mediated cell death (CD8+, “cytotoxic” T cells) and in activation of other immune cells (CD4+, “helper” T cells), amongst other roles. Despite their different roles, both cell types originate in the bone marrow from Haematopoietic Stem Cells (HSCs), before following a long differentiation pathway (involving migration to various tissues) which culminates in their different phenotypes [49].
We used a scRNA-seq dataset generated by Suo et al. as a reference. The atlas they generated, including their own data and that generated by others, contains over 900,000 cells from many anatomical sites over weeks 4 to 17 of development [50].
We built a trajectory from the early lymphoid progenitors that split into the B and T cell lineage (Fig. 2, a). Next, we used BLASE to combine the pseudotime values of each lineage, collapsing it into a pseudotime beginning with T cell differentiation, and then ending with the unshared sections of B cell differentiation. For more detail on the pseudotime combination, see Methods and Fig. A9. The bins calculated by BLASE over these trajectories include early lymphoid progenitors in bins 1–4, T cell differentiation from bin 5 to bin 14, and B cell differentiation from bin 15 to 19 (Fig. 2, b).
Fig. 2. Using BLASE on a bifurcating differentiation pathway of lymphoid development.

a, Cell type composition of each bin in the reference. b, The two pseudotime trajectories overlaid on a UMAP projection of the scRNA-seq reference, with cells coloured by their pseudotime bin. c, BLASE mapping results for two bulk RNA-seq datasets
For the evaluation of BLASE, we used two bulk RNA-seq datasets. The first is from a study by Casero et al. of lncRNA involvement in lymphoid differentiation, where 10 cell types were separated by flow-cytometry [51]. Four were from the bone-marrow: HSCs, lymphoid-primed multipotent progenitors (LMPP), common lymphoid progenitors (CLP) and B cell-committed progenitors (BCP). The remaining six were isolated from the thymus. These include three immature double-negative T cell subsets (Thy1, Thy2, Thy3), as well as three committed T cell subsets: Thy4 (CD4+, CD8+, “double-positive”), Thy5 (CD3+, CD4+, CD8−) and Thy6 (CD3+, CD4−, CD8+). Thy5 and Thy6 therefore represent differentiated helper and cytotoxic T cell populations respectively. BLASE maps both HSC populations to the first bin, as expected by the reference cell type labels (see Fig. 2, c). The two LMPP samples are split between bin 1 (strong) and bin 4, suggesting some small differences between the replicates, though both bins include progenitor populations, bin 4 should represent slightly more developed cells. Both CLP samples mapped to bin 15, the first bin of the B cell trajectory, suggesting that the split-point selected by BLASE is perhaps slightly too early. The BCP samples mapped to bin 2 and 4, also indicative of some sample-sample variation, but both these bins have high proportions of B cell progenitors. It is surprising that the oligopotent CLP cells were mapped to a bin “after” the unipotent BCP cells. This may indicate an incomparability between pre- and post-natal differentiation. The samples collected from the thymus followed expected mappings based on the reference labels, with Thy1 mapping to bin 1 (which includes immature double-negative T cells), and Thy2 and Thy3 mapping to bin 5, which is mostly comprised of double negative or double positive thymocytes, the next stage of maturation in T cell development. Thy4 mapped to bins 6 and 10, both bins with high numbers of double positive thymocytes. This suggests that this region of the pseudotime bins are an area of high pseudotemporal resolution (i.e., with many cells at similar stages across many bins), which can be expected with use of cell based pseudotime binning (see Methods). All Thy5 and Thy6 samples (i.e., naive CD4+ and CD8+ cells respectively) mapped to bin 11, which represents an earlier population of these cell types, which are represented up to bin 14.
The second bulk dataset we used was from the Haemopedia collection of RNA-seq data. This particular study, by Choi et al., explored gene expression during haematopoeisis, and included a variety of cell-types [52]. We included those which were represented on the single-cell trajectory, namely: naive B-cells, memory B cells, helper T cells and cytotoxic T cells. As would be expected, BLASE mapped memory b-cells to the end of the B cell trajectory (bin 19), and naive b cells close to the end (bin 18). The CD4+ and CD8+ T cells are mapped to the same level of maturity in the T cell trajectory (bin 13). Despite their different phenotypes, they are both mature endpoints in the differentiation trajectory, hence this is correct. Indeed, we can see from the annotations in the single-cell dataset that these bins include these cell types. By mapping these samples correctly, BLASE demonstrates itself to be capable of mapping real bulk RNA-seq data instead of pseudobulked scRNA-seq. It also shows how BLASE might be used on trajectories with bifurcations.
Validation 4: identifying and labelling lifecycle stages of
Plasmodium falciparum
The lifecycle of the malaria parasite is complex, including life stages in both vector and host species. Part of this complex cycle are the red blood (or intraerythrocytic) stages, where the parasite infects red blood cells, multiplies and then bursts out of them ready to infect new red blood cells, exponentially increasing the population in the host [53]. In the human parasite, P. falciparum, this stage of the lifecycle repeats every 48 hours and is of special interest as it causes the worst pathology of malaria. These stages are: ring, trophozoite and schizont. There are several microarray [40, 54, 55] and bulk RNA-seq datasets of this cycle [41, 56]. These historic experiments with time-series microarray and bulk RNA-seq experiments have often revealed key insights into the transcriptional signatures underlying the process, even without the advantages of scRNA-seq. Several scRNA-seq datasets also exist [2, 27] and have provided deeper insights into Plasmodium biology.
Here, we will evaluate the mapping of a given bulk sample (of a known cell-cycle stage) to its position in the scRNA-seq, comparing different genes and bins in BLASE, as well as existing methods, to show that this information can be used to annotate scRNA-seq data using existing bulk RNA-seq data.
Evaluation of mapping
This example demonstrates BLASE’s utility for mapping a process in single-cell data from better annotated ground-truth bulk RNA-seq data. In the Dogga et al. 2024 dataset used here as a reference, a similar method of correlation with bulk samples from four historic time series experiments [40, 41, 55, 56] were used to inform cluster annotation, in a more heuristic fashion than presented by BLASE. To validate BLASE on this dataset, we used microarray data of synchronised P. falciparum parasites sampled hourly over the 48 hours of the parasite’s intraerythrocytic lifecycle [40] and the scRNA-seq data of P. falciparum (a subset of 6000 cells) data from the Malaria Cell Atlas [2]. The optimal result would be that each bin of the pseudotime has a roughly even number of bulk samples mapped to it, moving across the cycle. Of note is that scRNA-seq of Dogga may not include high coverage of ring stage parasites [57].
BLASE correctly assigned every bulk sample tested when using every gene, according to identifications given by Painter in their paper analysing the data (see Table A4). In Fig. 3, a, we show the UMAP projections of cell types (as annotated in the Malaria Cell Atlas) and in b, pseudotime bins, as well as the correlation heatmap of the results calculated by BLASE in c. This heatmap also includes annotations of expected cell types for the bulk samples and for the pseudotime bins based on the annotations from their original analyses.
Fig. 3. BLASE infers pseudotime on scRNA-seq reference trajectories using real single-cell and bulk datasets of P. falciparum intraerythrocytic life stages.

a, UMAP embedded plot of the single-cell reference dataset, coloured by cell types annotated in the original analysis and b, pseudotime bins as assigned by BLASE. c, A BLASE results heatmap for this pair of datasets using 6 bins. See Table A4 for the canonical annotations in detail. Pseudotime bins are shown starting at bin 2 to emphasise the progression predicted by BLASE. d, e, the same as c, but using 3 and 12 bins respectively
The number of bins used by BLASE introduces an important trade-off between granularity and confidence. A greater number of bins increases the resolution of the results, however, this results in each bin becoming more similar to its neighbours. This increases the likelihood a sample will be incorrectly mapped to an adjacent (or further) pseudotime bin. BLASE is furthermore less likely to calculate that these mappings are strong due to the increased similarity. Reducing the number of bins will generally provide more strong results, but can be of reduced utility due to this loss of granularity. We show a comparison of this data mapped with varying numbers of bins in Fig. 3 d, e. Further examples are given in Fig. A4.
Using 6 bins, we found that late schizont stage pseudotime bulks mapped to bin 1, reflecting that bin 1 is annotated in Dogga et al. as being a mix of schizont and ring stages. Early ring time-points mapped to bin 2, followed by late ring and early trophozoite stages in bin 3. Later trophozoite stages mapped to bin 4. No bulk samples mapped to bin 5: pseudotime is not necessarily linearly related to real time, and the parasites may have developed quickly over this part of the trajectory, before finally showing an early-mid schizont transcriptome in bin 6. This effect is exacerbated in the example where 12 bins were used for the mapping (Fig. 3, e). In an ideal case, where pseudotime was linearly related to the passage of real time, we would expect to see an even number of hourly time-points in each bin, sequentially moving through the pseudotime. However, as can be seen this is not the case, and is an important caveat to bear in mind when making use of both BLASE, and more widely, TI methods in general. It is also important to note that this effect could be caused by the single-cell reference having a low number of cells representing these time-points, introducing bin-specific noise which results in mappings to nearby time-points.
Gene selection
We additionally applied existing cell type deconvolution methods and BLASE with varying gene lists. Four lists of genes were used for the BLASE comparison:
All genes: This gene list allows BLASE to use every gene in the data.
TradeSeq: 800 genes selected by using TradeSeq to find genes which are differentially expressed over the trajectory.
Gene Peakedness: 800 genes found by using BLASE’s gene selection method to find the most highly peaked genes in the dataset.
Gene Peakedness Spread: 919 genes selected as with Gene Peakedness above, but using the gene_ peakedness_spread_selection function to select the most peaked genes over multiple slices of pseudotime, to ensure that the genes represent the whole trajectory.
All “strong” calls made by BLASE were correct, and additionally, all non-strong predictions were correct. The TradeSeq gene list had the highest number of strong mappings (30), suggesting that it is a good method for reducing the noise of genes which are not useful for determining the pseudotime of a cell. Using every gene gave 27 strong mappings, whereas both gene peakedness methods found fewer strong mappings (15 without spread, 21 with). BLASE outperformed all the other methods except for DWLS which equalled BLASE by also correctly mapping all 48 samples. CIBERSORTx performed well, only incorrectly mapping 1 sample. MUSIC and MeDuSA both performed poorly, with only 34 and 33 correct mappings respectively (Table 3, Table A4, Fig. A10).
Table 3.
Comparison of BLASE using four different gene selection methods (TradeSeq, all genes, gene peakedness and gene peakedness spread), and four other deconvolution tools (CIBERSORTx, DWLS, MeDuSA, MuSiC) when trying to identify the pseudotime bins of the Painter et al. (2018) dataset on the single-cell reference (Dogga et al. 2023). We calculate the correct calls using the mappings in table A4. For BLASE mappings, the number of “strong” calls is given, and how many were correct
| Method | Correctly Strong |
Correctly Predicted |
|---|---|---|
| BLASE (1300 genes, TradeSeq Selection) | 30/30 | 48/48 |
| BLASE (All Genes) | 27/27 | 48/48 |
| BLASE (1300 genes, Gene Peakedness Spread | 21/21 | 48/48 |
| Selection) | ||
| BLASE (1300 genes, Gene Peakedness Selection) | 15/15 | 48/48 |
| DWLS (By majority call) | NA | 48/48 |
| CIBERSORTx (By majority call) | NA | 47/48 |
| MUSIC (By majority call) | NA | 34/48 |
| MeDuSA (By majority call) | NA | 33/48 |
This example demonstrates that BLASE not only outperforms existing cell type deconvolution tools at this task, but that BLASE can do so with perfect accuracy. BLASE, even with less effective gene lists, substantially outperformed some of the other tools.
Cell annotation
Similar to the Dogga et al. 2024 dataset used here, which made use of correlation with bulk data to annotate their cells, we have implemented in BLASE the option to annotate the cells taken from mapping bulk RNA-seq samples. In Fig. A11 we show how we mapped the 48 hour Painter time-series data and two other datasets to the Malaria Cell Atlas P. falciparum dataset.
In this example, the perfect scenario would be to have a 48-bin scRNA-seq reference whose pseudotime bins were split exactly according to real time, that is, we would expect the cells in pseudotime bin 1 to be only cells from the first hour of growth, and so on, with each pseudotime bin representing one hour of growth. However, the trajectory of this scRNA-seq reference displays compressions in pseudotime, where in some regions, an increase of pseudotime is not directly proportional to the real time which has elapsed. Figure A11 shows this in c, d and e, where there is not a one-to-one mapping from pseudotime bin to bulk sample, so some bulk samples are the best match for multiple pseudotime bins, and some bulk samples are completely skipped. Furthermore, BLASE can include the correlation of each of these, giving a confidence value to each “annotation.” Since BLASE is implemented as a reusable package, it is extremely convenient to repeat this analysis with two other bulk datasets [41, 58], which can help identify areas of uncertainty which may benefit from additional attention when using BLASE for annotations.
Use case 1: BLASE explores keratinocyte differentiation in the epidermis in spatial data
Keratinocytes are a key cell type in the skin and constitute a major part of the environmental barrier that the tissue provides. These cells undergo a range of transcriptional changes in the epidermis as they develop. Basal keratinocytes are stem cell like, and proliferative. Some will commit to differentiation, detaching from the base of the epidermis, and building the proteins required for skin function, taking on a spiny appearance, thus “spinous” keratinocytes. These then develop into granular keratinocytes which continue producing substances that are necessary for epidermal function, including keratohyalin granules, which are required for the formation of the cornified envelope. Following this, the keratinocytes develop into enucleated corneocytes, which are effectively dead, but form the final barrier of skin [59]. This process can be captured with Spatial Transcriptomics (ST). In the dataset generated by Ma et al. in 2023 [39], the authors use 10x Visium to investigate psoriasis at a spatial resolution. The 10x Visium platform works on a matrix of “spots”, over which tissue is arranged. The cells in each spot are then barcoded and sequenced together. This produces count data for each spot, as the cells in a given spot are sequenced, and their spatial position is known based on the identifier of the spot. This results in a dataset which is formed of over a thousand spots, each effectively a very small bulk RNA-seq sample of the few cells contained in the spot. Using BLASE, we can then attempt to decompose where the cells in each spot belong on the axis of pseudotime, revealing more about the spatial characteristics of cellular processes, in this case, keratinocyte differentiation.
First we built the pseudotime from a dataset of neonatal epidermal cells, which we subset to include only keratinocytes [30] (Fig. 4 a). This trajectory covered the transition from basal to spinous and, finally, granular keratinocytes (corneocytes no longer produce RNA, and so are not detected by transcriptomics). These cell types were identified using markers defined in the original paper (Basal: KRT14+, KRT5+; Spinous: KRT1+, KRT10+; Granular: DSC1+, KRT2+) see Fig. 4, b-d. These are the key cell states as the keratinocytes differentiate and travel upward to the outer layers of the epidermis. Next we mapped the different spots of the 10x Visium to the pseudotime, predicted the best matching bin and projected it back onto the spatial map (Fig. 4). One of the symptoms of psoriasis is an overabundance of keratinocytes, forming psoriatic lesions. By applying BLASE to these samples, we can see a strong prediction of developed granular keratinocytes in a thicker epidermal layer (see the histology image in Fig. 4, e), compared with the dermal layer, where few keratinocytes would be expected. By localising these known cell processes in ST data, it may be possible to develop new understanding of spatio-temporal relationships with transcriptomic processes.
Fig. 4. Temporal deconvolution of Visium spots.

a, Pseudotime calculated by Destiny and the five pseudotime bins calculated by BLASE in the reference. b-d, Expression of two marker genes of basal (b), spinous (c), and granular (d) keratinocytes in the reference. e, Estimated progression mappings and confidence from BLASE, and a histology image (haematoxylin and eosin (H&E) staining) for a sample of psoriatic skin. Epidermal and dermal regions are annotated, with most keratinocytes expected in the epidermal region
Although BLASE can deconvolute the 10x Visium spots along pseudotime, it struggled to attribute spot mappings with high confidence. One explanation for this could be that the low number of transcripts in each spot introduces noise that BLASE cannot overcome. Alternatively, the mixture of cell types may be too heterogenous for our approach to produce strong results. We also applied BLASE to another dataset [3] which yielded no results, as the the spot size of the Visium platform was too large to provide a clear picture of the process (see Fig. A12). The spot size for the Visium platform is around 50µm, and the epidermis typically has a thickness of around 100µm [60], giving only 2 spots of resolution to investigate a complex and dynamic process. Although BLASE does not generate results with convincing confidence for this case, we can see a clear trend of granular keratinocytes being predicted at the outermost layer of the epidermis, and less mature cells just below the outermost layer, reflecting the biology (see Fig. A12). Despite reflecting the general biology, BLASE seems to label spots in the upper half of the image as granular keratinocytes even though they are too deep into the tissue for this to be likely to be correct. It can also be seen that BLASE tries to calculate mappings for spots deep into the dermis, which are unlikely to have a high proportion of keratinocytes. This is an artefact of the method that was used to identify spots to deconvolute (by using high expression of keratinocyte marker genes in spots, described in detail in Methods). The phenomenon known as “spot swapping”, where RNA does not stay localised to the spot it was originally within, could explain both the unlikely mappings, as well as the high expression of marker genes found deeper into the tissue than expected [61]. As ST technologies improve (for example 10x Visium HD), and other tissues are captured, BLASE will be able to map RNA-seq data to processes in spatial data.
Use case 2: detecting developmental shift in knock-out and correcting differential expression
In many knock-out and knock-down cell lines, development can be impacted or even arrested at certain points. This can make RNA-seq experiments extremely challenging, as comparisons with wild-type cells can give results that are heavily biased by differences in cell development, obscuring other changes induced by the mutation (Fig. 5 a).
Fig. 5. BLASE can reveal new insights from published heat shock data.

a, A schematic showing the way in which a bulk RNA-seq timecourse experiment with two conditions can be confounded by the effect of applying another condition. Line one is wild-type, and line two is subjected to a perturbing condition. The perturbed population is developmentally delayed, taking two hours to progress to the transcriptional state that the wild-type reaches after one hour. b, UMAP embedded plots of the single-cell reference dataset, coloured by cell type and pseudotime bin. c, The proportions of each cell type found in each pseudotime bin. d, A BLASE results heatmap of wild-type P. falciparum following exposure to heat shock (41°C) or kept at 37°C, cultured over three days. e, The same as d, but for a P. falciparum isolate with the LRR5 gene knocked out. Note that in both d and e, the sample subjected to heat shock is predicted to have developmental differences from the wild-type. f, A Venn diagram showing the numbers of genes found to be DE (between PB31 under normal and heat shock growth conditions) in the comparison of the reference bins (bins), between the bulk samples (bulk), and the intersection of the two. g, GO enrichment analysis correction with BLASE for the comparison of PB31 under normal or heat shock growth conditions. A heatmap of the top 25 GO terms (by ascending Fisher statistic) in the corrected gene list, and whether this GO term was significant in the other gene lists
During its different lifecycle stages, the malaria parasite undergoes extreme and fluctuating thermal conditions – most importantly the high temperatures during malarial fever – and has evolved mechanisms to survive and thrive in such a hostile environment. Understanding the heat shock response might yield novel treatment targets: Zhang et al. [36] found through their QIseq approach [62] a mutant that is sensitive to heat shock (labelled PB31) due to a Piggybac insert in the LRR5 gene (PF3D7_1432400). This gene contains leucine rich repeats which suggest that it may be involved in proteinprotein interactions [63, 64]. The authors hypothesised that it would grow differently under heat shock conditions compared to the wild-type. To investigate, they performed RNA-seq of both wild-type and mutant isolates after 3 days of culturing, either with heat shock regularly applied (simulating the conditions of malarial fever), or without. In order to understand the true impacts of these conditions, it is important to have confidence that the samples are comparable with one another.
Detecting growth differences
We hypothesised that knocking out this gene could affect the growth rate of the parasites, confounding the analysis of bulk RNA-seq samples taken at the same time point. We used the Malaria Cell Atlas as a reference [2] (Fig. 5, b, c).
The BLASE mappings seem to show a change in development between normal culture conditions (bin 3) and heat shock in the NF54 reference isolate (mapped to bin 4) (Fig. 5, d). The PB31 mutant under normal conditions also appears to have a developmental difference with the reference under normal conditions, as the two biological replicates map to bins 1 and 8. As the P. falciparum lifecycle is 48 hours, this difference with the WT isolate (NF54) is as large as 18 hours. Under heat shock, the PB31 isolate appears to be at a similar time point to the NF54 under the same condition (Fig. 5, e). Although other methods exist to detect the timing of malaria parasites [65], BLASE has the advantage that bins can be adapted according to requirements and can use a continuous pseudotime reference. Further, it can be noted that BLASE mappings indicate the WT parasites are more synchronised, as the biological replicates mapped to the same bin and the mapping scores show a sharper drop off in correlations on the bins most similar to the best-mapped one. However, in the heat shock conditions, the parasites appear to be more synchronised, as the mapping score is higher and less widely distributed across neighbouring bins. This is to be expected, as heat shock can be used to synchronise intraerythrocytic P. falciparum [66].
These differences could mean that these samples are not as comparable as they outwardly appear. Normal developmental differences may be the strongest signal when performing comparisons such as differential gene expression analysis, instead of the underlying transcriptomic process of heat shock response. By using BLASE, these discrepancies can be identified and subsequently accounted for, aiding researchers in understanding the most meaningful differences.
Correction of effect of growth in DEG
Due to the different growth phenotypes in the isolates, a normal differential expression (DE) analysis will primarily return cell-cycle genes, rather than differentially expressed genes (DEG) related to the phenotype. To showcase this, we performed a differential expression analysis of pseudotime bin 1 against bin 4, detecting 581 genes upregulated in bin 1, which then informed GO term enrichment analysis, yielding three top terms of: “symbiont entry into host”, “cell motility” and “biological process involved in interspecies interaction between organisms”, which are attributed to life-stage changes (Additional file 1). These signals hamper efforts to identify real biological differences, and we propose that BLASE can be used to correct for that error by ignoring the DEG found from cell cycle development differences, by subtracting them from samples taken at different time-points.
This approach is needed as we want to compare the differences between the normal PB31 condition and under heat shock. To understand the phenotype differences due to the heat shock treatment, we must correct the DE analysis of genes due to the impact of the cell cycle genes. As shown before (Fig. 5, e), parasites of the PB31 isolate under normal conditions map to bins 1 and 8 and those cultured with heat shock to bins 3 and 4. Performing DE analysis of those two conditions in the scRNA-seq gives 282 genes which we attribute to cell cycle differences (Fig. 5, f, Additional file 2). This number is lower than in the analysis of bin 1 against bin 4 above, as here we use a bulk DE approach to mirror the bulk comparison, which returns fewer false positives. Performing the DE analysis between the normal and heat shock condition of PB31 returns 345 genes, (Additional file 2).
Overall, there is an overlap of 142 genes between these two comparisons (Fig. 5, f), leaving only 203 genes in the bulk DE analysis following correction. To explore the function of the genes in the bulk, single-cell pseudotime bin (bin), and post-correction (corrected) DEG lists, we performed GO enrichment analysis of each list. We can see three different patterns when we plot GO terms positive in only the bulk comparison (exclusive) or the corrected (Figs. 5 g and A13 a). First, GO terms like “cell division” or “signalling” which we attribute to the cell cycle, as they occur in both the bulk and bin DEG comparison. However, some GO terms, “cell adhesion” or “cell differentiation” are found in the enriched GO terms of the bulk genes, but not in either the bin-only DEG list or the removed DEGs from both (“corrected”), although they are cell cycle differences. The reason for this is that due to the correction, some GO terms are no longer significant. Some GO terms are found in all three groups, which suggests that there may have been an over-representation before the correction, but these GO terms are still important. We also see GO terms in both the bulk and corrected DE, such as “phospholipid metabolic process” which were not affected by the correction. Finally, we can see GO terms only in the corrected process, such as “lipid metabolic process”, and other metabolic processes which may be informative for the impact of the heat shock on the mutant but were not identifiable before using BLASE (Additional file 3). Here, BLASE helps suggest a more conservative list of DEGs from the bulk RNA-seq data, which may help uncover new biological insight.
In summary, here we have shown two more use cases for BLASE. First, BLASE strongly maps bulk transcriptomics data to the malaria intraerythrocytic cycle, and secondly how scRNA-seq data and pseudotime can be used to correct differential expression analysis in asynchronous samples.
Although there are other methods in the malaria literature that propose linear models to correct the data [67], we note that they also rely on reference data which are generally discrete, and they rely on the fact that plasmodium blood stages are cyclic, with gene expression tightly regulated along this cycle. Other life stages of this parasite, other pathogens and most other cells in general, are not. Therefore, compared to existing methods from the malaria, we propose a more general solution, which is both more robust and more flexible.
Runtime and implementation
We compared the running time of BLASE with the other tools on both the myeloid differentiation pseudobulk, and the P. falciparum lifecycle validation examples. (Fig. 6, a). This showed that MUSIC was consistently the fastest method. CIBERSORTx and DWLS were the slowest in both cases. The computation done by BLASE scales by: bins × samples × bootstrap_iterations. In the haematopoiesis example, with 5573 cells, 19,178 genes and 5 samples, BLASE finishes within a few seconds, DWLS takes over 25 minutes. For situations where many bulk samples must be mapped, parallel execution can be used in BLASE to increase the speed of computation, such as in the case of our P. falciparum lifecycle mappings, which included 48 samples, with 5275 genes in 6000 cells. The largest component of BLASE’s running time is the bootstrapping step to calculate confidence, with a default of 200 iterations. However, even when single-threaded, BLASE completes running quickly. Using BLASE to analyse over 1000 Visium spots would take a prohibitive amount of time without BLASE being capable of scaling up in this way.
Fig. 6.

a, Runtime of BLASE and other tools in seconds for two example datasets, the first a haematopoietic myeloid lineage, and the other the asexual differentiation of P. falciparum. b, The distribution methods employed by BLASE and other tools, including closed-source, open-source, and packages installable through GitHub, CRAN, or Bioconductor. R logo used under license (https://www.r-project.org/logo), Bioconductor logo used with permission
BLASE is available for installation via Bioconductor, which guarantees that the code matches Bioconductor’s requirements for quality (https://contributions.bioconductor.org) – including version control (through Git), complete documentation (built with pkgdown [68] and distributed through GitHub Pages), following R coding practices and in excess of these requirements, unit testing (testthat [69]). The source code is freely available, and is released under a GPLv3 license (Availability of Data and Materials). In Fig. 6 b, we show how other similar tools have been released. CIBERSORTx is released as a closed-source website and docker container which requires a token to run. DWLS is released as R scripts which can be run locally. MeDuSA and MuSiC are both installable from GitHub, but are not released through a package management system such as CRAN or Bioconductor, and as such are not guaranteed to meet the respective standards of those organisations.
Discussion
Although the deconvolution of bulk RNA-seq through scRNA-seq per se is not novel [5, 46], none of the other tools allow the user to perform the use cases described here out of the box. Further, BLASE generally matches or outperforms those existing tools, on both simulated and real pseudobulked datasets, where we have a ground truth to validate against. As many deconvolution tools focus on cell type proportion deconvolution, we cannot provide a truly fair comparison. However, MeDuSa is more comparable to BLASE, as it also assumes pseudotime is available to map to, and we show that BLASE outperforms MeDuSA. Again, the cell type deconvolution tools generate statistics for cell type proportions, and we generate statistics for the best call. Unlike trajectory inference or alignment methods such as scVelo [70], or Monocle3 [71], which operate on individual cellular observations and assume each sample corresponds to a single latent state, BLASE addresses the distinct problem of mapping population-averaged bulk transcriptomes onto a trajectory, where each sample represents a mixture of cellular states rather than a single position.
We suggest several methods for the selection of temporal marker genes: using every gene available, adapting existing methods such as TradeSeq, or using BLASE’s gene peakedness metric. By remaining agnostic to the set of genes being used, we invite researchers to make use of their existing expertise in the biological processes they study, instead of relying on purely automated techniques. BLASE provides a statistical framework for evaluating confidence in its results through bootstrapping. Not only does this allow BLASE to predict mappings, researchers can also look into the confidence intervals for each mapping.
The applications of BLASE are not limited to bulk transcriptomics. With the advent of ST and methods such as GeoMX and 10x Visium, the field will generate “spatial bulk” data from tissues. We have shown that, with the right skin dataset, we can see development in the epidermis mapped onto the spatial information these datasets provide. Although the experiments did not yield novel insight into psoriasis, we have shown that BLASE has a multitude of potential applications.
We applied BLASE to different published datasets to showcase these applications. BLASE accurately identified the correct cell type mappings for a malaria dataset, showing that it is possible to use bulk RNA-seq data to annotate single-cell data. For the latter task, we could also annotate the scRNA-seq bin better than in the MCA examples (Fig. A11), however, there is still room for improvement. It should be noted that the reference datasets might not have all the life-stages perfectly represented, and BLASE, as well as the other cell type deconvolution methods evaluated here, rely on the reference dataset being correct and appropriate. With more atlassize datasets becoming available, the BLASE approach will become more robust.
We further demonstrate that BLASE can be applied to more complex trajectory structures, such as the bifurcation observed in B and T cell haematopoietic development. Using multiple real bulk RNA-seq datasets mapped onto a single-cell reference, we show that BLASE can assign samples across branching developmental paths. While the overall mapping is consistent, some discrepancies between datasets remain, which we could not resolve as the underlying experimental data were not generated by us. Although modelling bifurcations may be convenient for exploratory analysis, we note that this requires binning by cell identity rather than pseudotime range. Combining lineages in this way can violate the monotonic structure of pseudotime and is therefore not recommended for rigorous trajectory-based inference.
In the second malaria example, using Zhang et al. 2021 [36], we show how BLASE can reduce the impact of developmental genes associated with a trajectory, so that we can observe the impact of the heat shock in the mutant. Although GO term enrichment analysis is not a perfect tool, especially in pathogens with many genes of unknown function, we can see that by filtering the input datasets, more relevant GO terms associated to heat shock are found. It might be unintuitive that those GO terms were not found in the comparison of the bulk, as the genes of interest are still there. However, when performing GO term enrichment analysis on a large list of genes, the number of tests increases, so the multiple test correction must be more stringent, making some relevant GO terms disappear. Therefore using our approach can highlight novel biology. An interesting piece of future work would be to validate these findings in the laboratory.
Finally, we would like to emphasise the modern and robust implementation of BLASE. We believe that software distributed for use in academia, like industry, must be robust and reliable. A variety of methods can be used to ensure that software released meets the needs of those using it, and different levels of effort should be applied depending on how widely the tool will be distributed [72].
Conclusion
Integration of different modalities in omics is always challenging. When performing transcriptomic experiments, single-cell sequencing offers many opportunities, however, it is more technically challenging and is many times more expensive than bulk RNA-seq. Here we introduce BLASE which enables the integration of single-cell and bulk RNA-seq data, by leveraging the fact that in biology many datasets have an underlying trajectory, such as the cell cycle, differentiation or growth. We propose three different use cases. First, the determination of the pseudotime of bulk samples against a single-cell reference. Second, BLASE can also be used to accurately annotate scRNA-seq data using existing annotated bulk RNA-seq, and finally, we can use the mappings of bulk data onto a single-cell reference to correct DE analysis error caused by asynchronous samples.
In conclusion, we present a versatile tool for the community, enabling the re-analysis of existing transcriptomics data in the context of pseudotime, leading to novel insights without the investment of time and money in new scRNA-seq experiments.
Supplementary Material
The online version contains supplementary material available at https://doi.org/10.1186/s44330-026-00082-7.
All significantly enriched GO terms between Bin 1 and Bin 4, based on scRNA-seq DEGs
Table of the DE genes ordered by lowest adjusted p-value, between the bulk samples, and between the pseudobulked pseudotime bins which were the best matches for the bulk RNA-seq samples in the comparison of PB31 normal conditions against heat shock conditions. “logFC” columns are rounded to 1 decimal place. “adj.P.Val” columns are rounded to 3 decimal places
Table of the GO terms which are significant before or after correction (exclusively) when comparing PB31 cultured with or without heat shock conditions. Fisher test value before and after correction by BLASE is given
Acknowledgements
We would like to thank: Surya Koturan, Joy Kabagenyi, Elcid Aaron Pangilinan, Yiyi Cheng and Anna Bachmann for feedback on the manuscript and tool.
Funding
A.M. was funded by the Biotechnology and Biological Sciences Research Council CASE studentship [BB/X511389/1] and Unilever. T.K. was funded by Engineering and Physical Sciences Research Council [EP/T517896/1]. A.M.S., R.K. and D.A.G. are employed by Unilever. T.D.O. was supported by the Wellcome Trust [104111/Z/14/Z&A, 225254/Z/22/Z] and the ExposUM Institute of the University of Montpellier [grants ANR-21-EXES-0005 and Occitanie Region].
Declarations
Author contributions
A.M.: Methodology, Software, Formal analysis, Investigation, Data Curation, Writing - Original Draft, Visualization. T.K.: Methodology, Writing - Original Draft. A.M.S.: Conceptualization, Funding Acquisition, Supervision, Writing - Review & Editing. R.K.: Supervision, Writing - Review & Editing. D.A.G.: Conceptualization, Funding Acquisition, Writing - Review & Editing. T.D.O.: Supervision, Conceptualization, Resources, Project administration, Funding acquisition, Writing - Original Draft
Ethics approval and consent to participate
Not applicable
Consent for publication
Not applicable
Competing interests
A.M. is supported by Unilever. A.M.S., R.K., and D.A.G. are employed by Unilever.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Data availability
The datasets generated and/or analysed during the current study are available in the “BLASE Reproducibility Scripts & Data” repository on Zenodo: https://doi.org/10.5281/zenodo.16615702 BLASE Source Code available under the GPLv3 license on GitHub https://github.com/andrewmccluskey-uog/blase. BLASE documentation available at https://andrewmccluskey-uog.github.io/blase/. The BLASE Package is available for download from Bioconductor: https://bioconductor.org/packages//release/bioc/html/blase.html.
References
- 1.Alivernini S, MacDonald L, Elmesmari A, Finlay S, Tolusso B, Gigante MR, et al. Distinct synovial tissue macrophage subsets regulate inflammation and remission in rheumatoid arthritis. Nat Med. 2020;26(8):1295–306. doi: 10.1038/s41591-020-0939-8. [DOI] [PubMed] [Google Scholar]
- 2.Dogga SK, Rop JC, Cudini J, Farr E, Dara A, Ouologuem D, et al. A single cell atlas of sexual development in Plasmodium falciparum. Science. 2024;384(6695):eadj4088. doi: 10.1126/science.adj4088. [DOI] [PubMed] [Google Scholar]
- 3.Ganier C, Mazin P, Herrera-Oropeza G, Du-Harpur X, Blakeley M, Gabriel J, et al. Multiscale spatial mapping of cell populations across anatomical sites in healthy human skin and basal cell carcinoma. Proc Natl Acad Sci USA. 2024 Jan;121(2):e2313326120. doi: 10.1073/pnas.2313326120. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 4.Nyirenda J, Hardy OM, Silva Filho JD, Herder V, Attipa C, Ndovi C, et al. Spatially resolved single-cell atlas unveils a distinct cellular signature of fatal lung COVID-19 in a Malawian population. Nat Med. 2024;30(12):3765–77. doi: 10.1038/s41591-024-03354-3. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 5.Newman AM, Steen CB, Liu CL, Gentles AJ, Chaudhuri AA, Scherer F, et al. Determining cell type abundance and expression from bulk tissues with digital cytometry. Nat Biotechnol. 2019;37(7):773–82. doi: 10.1038/s41587-019-0114-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 6.Nguyen H, Nguyen H, Tran D, Draghici S, Nguyen T. Fourteen years of cellular deconvolution: methodology, applications, technical evaluation and outstanding challenges. Nucleic Acids Res. 2024;52(9):4761–83. doi: 10.1093/nar/gkae267. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 7.Tran KA, Addala V, Johnston RL, Lovell D, Bradley A, Koufariotis LT, et al. Performance of tumour microenvironment deconvolution methods in breast cancer using single-cell simulated bulk mixtures. Nat Commun. 2023;14(1):5758. doi: 10.1038/s41467-023-41385-5. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 8.Tsoucas D, Dong R, Chen H, Zhu Q, Guo G, Yuan GC. Accurate estimation of cell-type composition from gene expression data. Nat Commun. 2019;10(1):2975. doi: 10.1038/s41467-019-10802-z. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 9.Wang X, Park J, Susztak K, Zhang NR, Li M. Bulk tissue cell type deconvolution with multi-subject single-cell expression reference. Nat Commun. 2019;10(1):380. doi: 10.1038/s41467-018-08023-x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 10.Street K, Risso D, Fletcher RB, Das D, Ngai J, Yosef N, et al. Slingshot: cell lineage and pseudotime inference for single-cell transcriptomics. BMC Genomics. 2018;19(1):477. doi: 10.1186/s12864-018-4772-0. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 11.Angerer P, Haghverdi L, Büttner M, Theis FJ, Marr C, Buettner F. Destiny: diffusion maps for large-scale single-cell data in R. Bioinformatics. 2016;32(8):1241–43. doi: 10.1093/bioinformatics/btv715. [DOI] [PubMed] [Google Scholar]
- 12.Setty M, Kiseliovas V, Levine J, Gayoso A, Mazutis L, Pe’er D. Characterization of cell fate probabilities in single-cell data with Palantir. Nat Biotechnol. 2019;37(4):451–60. doi: 10.1038/s41587-019-0068-4. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 13.Trapnell C, Cacchiarelli D, Grimsby J, Pokharel P, Li S, Morse M, et al. The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells. Nat Biotechnol. 2014;32(4):381–86. doi: 10.1038/nbt.2859. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 14.Van den Berge K, Roux de Bézieux H, Street K, Saelens W, Cannoodt R, Saeys Y, et al. Trajectory-based differential expression analysis for single-cell sequencing data. Nat Commun. 2020;11(1):1201. doi: 10.1038/s41467-020-14766-3. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 15.Song D, Li JJ. PseudotimeDE: inference of differential gene expression along cell pseudotime with well-calibrated p-values from single-cell RNA sequencing data. Genome Biol. 2021;22(1):124. doi: 10.1186/s13059-021-02341-y. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 16.Laidlaw RF, Briggs EM, Matthews KR, Madany Mamlouk A, McCulloch R, Otto TD. TrAGEDy—trajectory alignment of gene expression dynamics. Bioinformatics. 2025;41(3):btaf073. doi: 10.1093/bioinformatics/btaf073. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 17.Herve M. RVAideMemoire: testing and plotting procedures for biostatistics. 2023. Available from: https://CRAN.R-project.org/package=RVAideMemoire.
- 18.Wood SN. Stable and efficient multiple smoothing parameter estimation for generalized additive models. J Am Stat Assoc. 2004;99(467):673–86. doi: 10.1198/016214504000000980. [DOI] [Google Scholar]
- 19.Cannoodt R, Saelens W, Deconinck L, Saeys Y. Spearheading future omics analyses using dyngen, a multi-modal simulator of single cells. Nat Commun. 2021;12(1):3942. doi: 10.1038/s41467-021-24152-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20.Lun A. Bluster: clustering algorithms for bioconductor. 2024. Available from: https://bioconductor.org/packages/bluster.
- 21.Mende N, Bastos HP, Santoro A, Sham K, Mahbubani KT, Curd A, et al. Quantitative and molecular differences distinguish adult human medullary and extramedullary haematopoietic stem and progenitor cell landscapes. bioRxiv. :2020.01.26.919753. doi: 10.1101/2020.01.26.919753v2. Section: New Results. Available from. [DOI] [Google Scholar]
- 22.Transcriptomic characterisation of haematopoietic stem and progenitor cells from human adult bone marrow, spleen and peripheral blood - overview - HCA data explorer. Available from: https://explore.data.humancellatlas.org/projects/455b46e6-d8ea-4611-861e-de720a562ada.
- 23.Hao Y, Stuart T, Kowalski MH, Choudhary S, Hoffman P, Hartman A, et al. Dictionary learning for integrative, multimodal and scalable single-cell analysis. Nat Biotechnol. 2024;42(2):293–304. doi: 10.1038/s41587-023-01767-y. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 24.Andreatta M, Hérault L, Gueguen P, Gfeller D, Berenstein AJ, Carmona SJ. Semi-supervised integration of single-cell transcriptomics data. Nat Commun. 2024;15(1):872. doi: 10.1038/s41467-024-45240-z. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 25.Moon KR, van Dijk D, Wang Z, Gigante S, Burkhardt DB, Chen WS, et al. Visualizing structure and transitions in high-dimensional biological data. Nat Biotechnol. 2019;37(12):1482–92. doi: 10.1038/s41587-019-0336-3. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 26.Amezquita RA, Lun ATL, Becht E, Carey VJ, Carpp LN, Geistlinger L, et al. Orchestrating single-cell analysis with bioconductor. Nat Methods. 2020;17(2):137–45. doi: 10.1038/s41592-019-0654-x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 27.Howick VM, Russell AJC, Andrews T, Heaton H, Reid AJ, Natarajan K, et al. The malaria cell atlas: single parasite transcriptomes across the complete Plasmodium life cycle. Science. 2019;365(6455):eaaw2619. doi: 10.1126/science.aaw2619. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 28.Lun ATL, McCarthy DJ, Marioni JC. A step-by-step workflow for low-level analysis of single-cell RNA-seq data with bioconductor. F1000Research. 2016;5:2122. doi: 10.12688/f1000research.9501.2. Available from: https://f1000research.com/articles/5-2122. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 29.McCarthy DJ, Campbell KR, Lun ATL, Wills QF. Scater: pre-processing, quality control, normalization and visualization of single-cell RNA-seq data in R. Bioinformatics. 2017;33(8):1179–86. doi: 10.1093/bioinformatics/btw777. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 30.Wang S, Drummond ML, Guerrero-Juarez CF, Tarapore E, MacLean AL, Stabell AR, et al. Single cell transcriptomics of human epidermis identifies basal stem cell transition states. Nat Commun. 2020;11(1):4239. doi: 10.1038/s41467-020-18075-7. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 31.Gulati GS, et al. Single-cell transcriptional diversity is a hallmark of developmental potential. Science. 2020;367:405–11. doi: 10.1126/science.aax0249. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 32.Packer JS, et al. A lineage-resolved molecular atlas of C. elegans embryogenesis at single-cell resolution. Science. 2019;365:eaax1971. doi: 10.1126/science.aax1971. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 33.Program CSCB. Abdulla S, Aevermann B, Assis P, Badajoz S, Bell SM, et al. CZ CELL×GENE discover: a single-cell data platform for scalable exploration, analysis and modeling of aggregated data. bioRxiv. :2023.10.30.563174. doi: 10.1093/nar/gkae1142. Section: New Results. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 34.Wolf FA, Angerer P, Theis FJ. SCANPY: large-scale single-cell gene expression data analysis. Genome Biol. 2018;19(1):15. doi: 10.1186/s13059-017-1382-0. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 35.Korsunsky I, Millard N, Fan J, Slowikowski K, Zhang F, Wei K, et al. Fast, sensitive and accurate integration of single-cell data with Harmony. Nat Methods. 2019;16(12):1289–96. doi: 10.1038/s41592-019-0619-0. 16. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 36.Zhang M, Wang C, Oberstaller J, Thomas P, Otto TD, Casandra D, et al. The apicoplast link to fever-survival and artemisinin-resistance in the malaria parasite. Nat Commun. 2021;12(1):4563. doi: 10.1038/s41467-021-24814-1. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 37.Otto TD, Böhme U, Jackson AP, Hunt M, Franke-Fayard B, Hoeijmakers WAM, et al. A comprehensive evaluation of rodent malaria parasite genomes and gene expression. BMC Biol. 2014;12(1):86. doi: 10.1186/s12915-014-0086-0. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 38.Palla G, Spitzer H, Klein M, Fischer D, Schaar AC, Kuemmerle LB, et al. Squidpy: a scalable framework for spatial omics analysis. Nat Methods. 2022;19(2):171–78. doi: 10.1038/s41592-021-01358-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 39.Ma F, Plazyo O, Billi AC, Tsoi LC, Xing X, Wasikowski R, et al. Single cell and spatial sequencing define processes by which keratinocytes and fibroblasts amplify inflammatory responses in psoriasis. Nat Commun. 2023;14(1):3455. doi: 10.1038/s41467-023-39020-4. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 40.Painter HJ, Chung NC, Sebastian A, Albert I, Storey JD, Llinás M. Genome-wide real-time in vivo transcriptional dynamics during Plasmodium falciparum blood-stage development. Nat Commun. 2018;9(1):2656. doi: 10.1038/s41467-018-04966-3. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 41.López-Barragán MJ, Lemieux J, Quiñones M, Williamson KC, Molina-Cruz A, Cui K, et al. Directional gene expression and antisense transcripts in sexual and asexual stages of Plasmodium falciparum. BMC Genomics. 2011;12(1):587. doi: 10.1186/1471-2164-12-587. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 42.Alvarez-Jarreta J, Amos B, Aurrecoechea C, Bah S, Barba M, Barreto A, et al. VEuPathDB: the eukaryotic pathogen, vector and host bioinformatics resource center in 2023. Nucleic Acids Res. 2024;52(D1):D808–16. doi: 10.1093/nar/gkad1003. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 43.Ritchie ME, Phipson B, Wu D, Hu Y, Law CW, Shi W, et al. Limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Res. 2015;43(7):e47. doi: 10.1093/nar/gkv007. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 44.Alexa A, Rahnenführer J, Lengauer T. Improved scoring of functional groups from gene expression data by decorrelating GO graph structure. Bioinformatics. 2006;22(13):1600–07. doi: 10.1093/bioinformatics/btl140. [DOI] [PubMed] [Google Scholar]
- 45.Oberstaller J. oberstal/pfGO: v2.1.0. Zenodo. doi: 10.5281/zenodo.10988389. [DOI] [Google Scholar]
- 46.Song L, Sun X, Qi T, Yang J. Mixed model-based deconvolution of cell-state abundances (MeDusa) along a one-dimensional trajectory. Nat Comput Sci. 2023;3(7):630–43. doi: 10.1038/s43588-023-00487-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 47.Crowell HL, Morillo Leonardo SX, Soneson C, Robinson MD. The shaky foundations of simulating single-cell RNA sequencing data. Genome Biol. 2023;24(1):62. doi: 10.1186/s13059-023-02904-1. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 48.Sompayrac LM. How the immune system works. Wiley; 2015. (The how it works series). Available from: https://books.google.co.uk/books?id=ZFiTCgAAQBAJ. [Google Scholar]
- 49.Cano RLE, Lopera HDE. Autoimmunity: from bench to bedside. El Rosario University Press; 2013. Introduction to T and B lymphocytes. [Internet]. Available from: https://www.ncbi.nlm.nih.gov/books/NBK459471/ [PubMed] [Google Scholar]
- 50.Suo C, Dann E, Goh I, Jardine L, Kleshchevnikov V, Park JE, et al. Mapping the developing human immune system across organs. Science. 2022;376(6597):eabo0510. doi: 10.1126/science.abo0510. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 51.Casero D, Sandoval S, Seet CS, Scholes J, Zhu Y, Ha VL, et al. Long non-coding RNA profiling of human lymphoid progenitor cells reveals transcriptional divergence of B cell and T cell lineages. Nat Immunol. 2015;16(12):1282–91. doi: 10.1038/ni.3299. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 52.Choi J, Baldwin TM, Wong M, Bolden JE, Fairfax KA, Lucas EC, et al. Haemopedia RNA-seq: a database of gene expression during haematopoiesis in mice and humans. Nucleic Acids Res. 2019;47(D1):D780–85. doi: 10.1093/nar/gky1020. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 53.White NJ, Pukrittayakamee S, Hien TT, Faiz MA, Mokuolu OA, Dondorp AM. Malaria. Lancet. 2014;383(9918):723–35. doi: 10.1016/S0140-6736(13)60024-0. [DOI] [PubMed] [Google Scholar]
- 54.Bozdech Z, Llinás M, Pulliam BL, Wong ED, Zhu J, DeRisi JL. The transcriptome of the intraerythrocytic developmental cycle of Plasmodium falciparum. PLoS Biol. 2003;1(1):E5. doi: 10.1371/journal.pbio.0000005. 1. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 55.van Biljon R, van Wyk R, Painter HJ, Orchard L, Reader J, Niemand J, et al. Hierarchical transcriptional control regulates Plasmodium falciparum sexual differentiation. BMC Genomics. 2019;20(1):920. doi: 10.1186/s12864-019-6322-9. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 56.Lasonder E, Rijpma SR, van Schaijk BL, Hoeijmakers WM, Kensche PR, Gresnigt MS, et al. Integrated transcriptomic and proteomic analyses of P. falciparum gametocytes: molecular insight into sex-specific processes and translational repression. Nucleic Acids Res. 2016;44(13):6087–101. doi: 10.1093/nar/gkw536. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 57.Votborg-Novél L, Kampmann M, Carrasquilla M, Angeli G, Ntalla C, Cisse H, et al. Seasonal transcriptional profiling of malaria parasites using a new single-cell atlas of a Malian Plasmodium falciparum isolate. bioRxiv. :2025.04.14.648697. doi: 10.1101/2025.04.14.648697v1. Section: New Results. [DOI] [Google Scholar]
- 58.Otto TD, Wilinski D, Assefa S, Keane TM, Sarry LR, Böhme U, et al. New insights into the blood-stage transcriptome of Plasmodium falciparum using RNA-Seq. Mol Microbiol. 2010;76(1):12–24. doi: 10.1111/j.1365-2958.2009.07026.x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 59.Moreci RS, Lechler T. Epidermal structure and differentiation. Curr Biol. 2020;30(4):R144–49. doi: 10.1016/j.cub.2020.01.004. [DOI] [PubMed] [Google Scholar]
- 60.Lintzeri D, Karimian N, Blume-Peytavi U, Kottner J. Epidermal thickness in healthy humans: a systematic review and meta-analysis. Acad Dermatol Venereol. 2022;36(8):1191–200. doi: 10.1111/jdv.18123. [DOI] [PubMed] [Google Scholar]
- 61.Ni Z, Prasad A, Chen S, Halberg RB, Arkin LM, Drolet BA, et al. SpotClean adjusts for spot swapping in spatial transcriptomics data. Nat Commun. 2022;13(1):2971. doi: 10.1038/s41467-022-30587-y. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 62.Bronner IF, Otto TD, Zhang M, Udenze K, Wang C, Quail MA, et al. Genome Res. 7. Vol. 26. Cold Spring Harbor Laboratory Press; 2016. Quantitative insertion-site sequencing (QIseq) for high throughput phenotyping of transposon mutants; pp. 980–89. Company: Cold Spring Harbor Laboratory Press Distributor: Cold Spring Harbor Laboratory Press Institution: Cold Spring Harbor Laboratory Press Label. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 63.Kobe B. The leucine-rich repeat as a protein recognition motif. Curr Opin Struct Biol. 2001;11(6):725–32. doi: 10.1016/s0959-440x(01)00266-4. [DOI] [PubMed] [Google Scholar]
- 64.Bella J, Hindle KL, McEwan PA, Lovell SC. The leucine-rich repeat structure. Cell Mol Life Sci. 2008;65(15):2307–33. doi: 10.1007/s00018-008-8019-0. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 65.Lemieux JE, Gomez-Escobar N, Feller A, Carret C, Amambua-Ngwa A, Pinches R, et al. Statistical estimation of cell-cycle progression and lineage commitment in Plasmodium falciparum reveals a homogeneous pattern of transcription in ex vivo culture. Proc Natl Acad Sci USA. 2009;106(18):7559–64. doi: 10.1073/pnas.0811829106. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 66.Kwiatkowski D. Febrile temperatures can synchronize the growth of Plasmodium falciparum in vitro. J Exp Med. 1989;169(1):357–61. doi: 10.1084/jem.169.1.357. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 67.Tonkin-Hill GQ, Trianty L, Noviyanti R, Nguyen HHT, Sebayang BF, Lampah DA, et al. The Plasmodium falciparum transcriptome in severe malaria reveals altered expression of genes involved in important processes including surface antigen–encoding var genes. PLoS Biol. 2018;16(3):e2004328. doi: 10.1371/journal.pbio.2004328. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 68.Wickham H, Hesselberth J, Salmon M, Roy O, Brüggemann S. pkgdown: make static HTML documentation for a package. 2024. Available from: https://pkgdown.r-lib.org/
- 69.Wickham H. Testthat: get started with testing. R J. 2011;3(1):5–10. doi: 10.32614/RJ-2011-002. [DOI] [Google Scholar]
- 70.Bergen V, Lange M, Peidli S, Wolf FA, Theis FJ. Generalizing RNA velocity to transient cell states through dynamical modeling. Nat Biotechnol. 2020;38(12):1408–14. doi: 10.1038/s41587-020-0591-3. [DOI] [PubMed] [Google Scholar]
- 71.Cao J, Spielmann M, Qiu X, Huang X, Ibrahim DM, Hill AJ, et al. The single-cell transcriptional landscape of mammalian organogenesis. Nature. 2019;566(7745):496–502. doi: 10.1038/s41586-019-0969-x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 72.Connolly A, Hellerstein J, Alterman N, Beck D, Fatland R, Lazowska E, et al. Software engineering practices in academia: promoting the 3Rs—readability, resilience, and reuse. Harv Data Sci Rev. 2023;5(2) doi: 10.1162/99608f92.018bf012. [DOI] [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Supplementary Materials
All significantly enriched GO terms between Bin 1 and Bin 4, based on scRNA-seq DEGs
Table of the DE genes ordered by lowest adjusted p-value, between the bulk samples, and between the pseudobulked pseudotime bins which were the best matches for the bulk RNA-seq samples in the comparison of PB31 normal conditions against heat shock conditions. “logFC” columns are rounded to 1 decimal place. “adj.P.Val” columns are rounded to 3 decimal places
Table of the GO terms which are significant before or after correction (exclusively) when comparing PB31 cultured with or without heat shock conditions. Fisher test value before and after correction by BLASE is given
Data Availability Statement
The datasets generated and/or analysed during the current study are available in the “BLASE Reproducibility Scripts & Data” repository on Zenodo: https://doi.org/10.5281/zenodo.16615702 BLASE Source Code available under the GPLv3 license on GitHub https://github.com/andrewmccluskey-uog/blase. BLASE documentation available at https://andrewmccluskey-uog.github.io/blase/. The BLASE Package is available for download from Bioconductor: https://bioconductor.org/packages//release/bioc/html/blase.html.
