the feature set was intersected with all genes detected in the organoid atlas and the 2, 000 most highly variable genes were selected with the scanpy function highly _ variable _ genes using ‘ donor ’ as the batch key. an extra column of ‘ neuron _ ntt _ label ’ was created to represent the automatic classified neural transmitter transporter subtype labels derived from the ‘ autoannotation ’ column of the cell cluster metadata ( https: / / github. com / linnarsson - lab / developing - human - brain / files / 9755350 / table _ s2. xlsx ). to compare our organoid atlas with data from the primary developing human brain, we used scarches to project it to the above mentioned primary human brain scrna - seq atlas. we first pretrained a scvi model on the primary atlas with ‘ donor ’ as the batch key. the model was constructed with following parameters: n _ latent = 20, n _ layers = 2, n _ hidden = 256, use _ layer _ norm = ‘ both ’, use _ batch _ norm = ‘ none ’, encode _ covariates = true, dropout _ rate = 0. 2 and trained with a batch size of 1, 024 for a maximum or 500 epochs with early stopping criterion. next, the model was fine - tuned with scanvi using ‘ subregion ’ and ‘ cellclass ’ as cell type labels with a batch size of 1, 024 for a maximum of 100 epochs with early stopping criterion and n _ samples _ per _ label = 100. to project the organoids atlas to the primary atlas, we used the scarches implementation provided by scvi - tools. the query model was fine - tuned with a batch size of 1, 024 for a maximum of 100 epochs with early stopping criterion and weight _ decay = 0. 0. with the primary reference and query ( hnoca ) data projected to the same latent space, an unweighted bipartite knn graph was constructed by identifying 100 nearest neighbours of each query cell in the reference data with either pynndescent or rapids - cuml ( https: / / github. com / rapidsai / cuml ) in python, depending on availability of gpu acceleration. similarly, a reference knn graph was also built by identifying 100 nearest neighbours of each reference cell in the reference data. for each edge in the reference - query bipartite graph, the similarity between the reference neighbours of the two linked cells, defined as a and b, respectively, is represented by the jaccard index: [ 12pt ] $ $ j ( a, b ) =. $ $ j ( a, b ) = ∣ a ∩ b ∣ ∣ a ∪ b ∣. the square of jaccard index was then assigned as the weight of the edge, to get the bipartite weighted knn graph between the reference and query datasets. given the wknn estimated between primary reference and query ( hnoca ), any categorical metadata label of reference can be transferred to query cells by means of majority voting. in brief, for each category, its support was calculated for each query cell as the sum of weights of edges that link to reference cells in this category. the category with the largest support was assigned to the query cell. to get the final regional labels for the non - telencephal ic npcs and neurons, as well as the ntt labels for non - telencephal ic neurons, constraints were added to the transfer procedure. for regional labels, only the non - telencephal ic regions, namely dien cephalon, hypothalamus, thalamus, midbrain, midbrain dorsal, midbrain ventral, hindbrain, cerebellum, pons and medulla, were considered valid categories to be transferred. the label - transfer procedure was only applied to the non - telencephal ic npcs and neurons in hnoca. before any majority voting was done, the support scores of each valid category across all non - telencephal ic npcs and neurons in hnoca were smoothed with a random - walk - with - restart procedure ( restart probability alpha, 85 % ). next, a hierarchical label transfer, which takes into account the structure hierarchy, was applied. first, the considered regions were grouped into dien cephalon, midbrain and hindbrain, with a support score of each structure as its score summed up with scores of its substructures. majority voting was applied to assign each cell to one of the three structures. next, a second majority voting was applied to only consider the substructures under the assigned structure ( for example, hypothalamus and thalamus for dien cephalon ). for ntt labels, we first identified valid region - ntt label pairs in the reference on the basis of the provided ntt labels in the reference neuroblast and neuron clusters and their most common regions. here, the most common regions were re - estimated in a hierarchical manner to the finest resolution mentioned above. next, when transferring ntt labels, for each non - telencephal ic neuron with the regional label transferred, only ntt labels that were considered valid for the region were considered during majority voting. to match telencephal ic npcs and neurons in hnoca to developmental stages, we used the recently published human neocortical development atlas as the reference. the processed single nucleus rna - seq data were obtained from its data portal ( https: / / cell. ucsf. edu / snmultiome / ). given the ‘ class ’, ‘ subclass ’ and ‘ type ’ labels in the provided metadata as annotations, and ‘ individual ’ as the batch label, scpoli was applied for label - aware data integration. next, data representing different developmental stages were split. for each stage, louvain clustering based on the scpoli latent representation ( resolution, 5 ) was applied. clusters of all stages were pooled, and highly variable genes were identified on the basis of coefficient of variations as described in this page: https: / / pklab. med. harvard. edu / scw2014 / subpop _ tutorial. html. finally, every one of hnoca telencephal ic npcs and neurons were correlated to each cluster across the identified highly variable genes. the stage label of the best - correlated cluster was assigned to the query hnoca cell. to extend the analysis to other neuronal cell types, the second - trimester multiple - region human brain atlas was also introduced. the processed count matrices and metadata were obtained from the nemo data portal ( https: / / data. nemoarchive. org / biccn / grant / u01 _ devhu / kriegstein / transcriptome / scell / 10x _ v2 / human / processed / counts / ). given the ‘ cell _ type ’ label of the provided metadata as the annotation and ‘ individual ’ as the batch label, scpoli was run for label - aware data integration. louvain clustering was applied to the scpoli latent representation to identify clusters ( resolution, 20 ). similarly, louvain clustering with a resolution of 20 was also applied to the first - trimester multiple - region human brain atlas on the basis of the scanvi latent representation we generated earlier. average expression profiles were calculated for all the clusters, and highly variable genes were identified using the same procedure as above for clusters of the two primary atlases combined. next, every npc and neuron in hnoca was correlated to the average expression profiles of those clusters. the best - correlated first - and second - trimester clusters, as well as the correlations, were identified. the differences between the two correlations were used as the metrics to indicate the stage - matching preferences of npcs and neurons in hnoca. given a reference dataset and a query dataset, the presence score is a score assigned to each cell in the reference, which describes the frequency or likelihood of the cell type or state of that reference cell appearing in the query data. in this study, we calculated the presence scores of primary atlas cells in each hnoca dataset to quantify how frequently we saw a cell type or state represented by each primary cell in each of the hnoca datasets. specifically, for each hnoca dataset, we first subset the wknn graph to only hnoca cells in that dataset. next, the raw weighted degree was calculated for each cell in the primary atlas, as the sum of weights of the remaining edges linked to the cell.