Methods for classifying expression profiles

JP7637169B2Active Publication Date: 2025-02-27BECTON DICKINSON & CO
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023023174
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-01-13
Filing Date
2023-02-17
Publication Date
2025-02-27
Estimated Expiration
2037-11-07

Smart Images

  • Figure 0007637169000005
    Figure 0007637169000005
  • Figure 0007637169000006
    Figure 0007637169000006
  • Figure 0007637169000007
    Figure 0007637169000007
Patent Text Reader

Abstract

Methods and systems are provided for identifying markers that distinguish between cell types and for further analyzing the large amounts of data generated to identify the type of cell being analyzed. [Solution] A method for identifying targets that distinguish cell types includes hierarchically clustering expression profiles of cells to generate a phylogenetic tree with each leaf representing the expression profile of a different individual cell. The phylogenetic tree can be pruned by eliminating invalid splits (and their children), and the remaining leaves in the phylogenetic tree are merged based on their distance to each other, independent of their position in the phylogenetic tree, to generate clusters of expression profiles. The method further identifies targets that distinguish cell types based on targets that are differentially expressed within the clusters.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Related Applications This application claims priority to U.S. Provisional Patent Application No. 62 / 419,291, filed November 8, 2016, and U.S. Provisional Patent Application No. 62 / 446,227, filed January 13, 2017. The contents of each of these related applications are expressly incorporated herein by reference in their entirety.

[0002] Copyright and Trademark Notices A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files and records, but otherwise reserves all copyright rights whatsoever. [Background technology]

[0003] Field The present disclosure relates generally to the field of classifying expression profiles, and more particularly to identifying targets that distinguish cell types.

[0004] 2. Description of Related Art Methods and techniques such as barcoding (e.g., probabilistic barcoding) are useful for cell analysis. For example, barcoding can be used to decipher the gene expression profile of a single cell and identify the state using, for example, reverse transcription, polymerase chain reaction (PCR) amplification, and next generation sequencing (NGS). However, the large amount of data generated by these methods and techniques must be further analyzed to identify markers that distinguish cell types and identify the type of cell being analyzed. Summary of the Invention [Means for solving the problem]

[0005] Disclosed herein are methods of identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving a target count data structure, the target count data structure including expression profiles of a plurality of cells, the expression profiles of the plurality of cells including a number of each target of a plurality of targets for each cell of the plurality of cells; (b) hierarchically clustering the expression profiles of the plurality of cells based on distances between the target count data structure and the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree including a plurality of nodes, the plurality of nodes including a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, the root node representing the expression profile of the plurality of cells; and (c) clustering the expression profiles of the plurality of cells through each node of the plurality of nodes of the phylogenetic tree to generate a phylogenetic tree. While traversing from the node to a plurality of leaf nodes of the phylogenetic tree, (1) determining whether it is valid or invalid to split the node into child nodes of the node (e.g., whether a difference between the child nodes is significant or not); (2) if it is invalid to split the node into child nodes of the node, adding the node to an integrated cluster set; (d) iteratively, for each first node in the integrated cluster set, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate an integrated node including expression profiles represented by the first node and the second node; and (e) for each node in the integrated cluster set, identifying targets that distinguish cell types based on the expression profiles of the plurality of targets of the cell represented by the node.

[0006] In some embodiments, the target count data structure comprises a target count matrix, where each row or column of the target count matrix can include some of each of the multiple targets for different individual cells of the multiple cells.

[0007] In some embodiments, each of the plurality of leaf nodes and the plurality of non-root non-leaf nodes may be associated with a parent node, and each of the plurality of non-root non-leaf nodes may be associated with a left child node and a right child node, and each of the root node and the plurality of non-root non-leaf nodes represents an expression profile represented by the node's left child node and right child node.

[0008] In some embodiments, the method includes, in (a), before receiving the target count data structure, (f) barcoding a plurality of targets in a plurality of cells using a plurality of barcodes to create a plurality of barcoded targets, each of the plurality of barcodes comprising a cellular label and a molecular label, wherein the barcoded targets created from different cellular targets have different cellular labels and the barcoded targets created from one cellular target of the plurality of cells have different molecular labels; (g) obtaining sequence data of the plurality of barcoded targets; and (h) for each of the plurality of cells, (1) counting a number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell; and (2) estimating a number of each target of the plurality of targets of the cell based on the number of molecular labels having distinct sequences associated with the targets in the sequence data counted in (h)(1). For example, the method may include, prior to receiving the target count data structure in (a), step (f) probabilistically barcoding a plurality of targets in a plurality of cells using a plurality of probabilistic barcodes to create a plurality of probabilistic barcoded targets, each of the plurality of probabilistic barcodes comprising a cellular label and a molecular label, the stochastic barcoded targets created from different cellular targets having different cellular labels and the stochastic barcoded targets created from a cellular target of one of the plurality of cells having a different molecular label, and / or step (g) obtaining sequence data for the plurality of stochastic barcoded targets. Receiving the target count data structure may include generating a target count data structure from a number of each target of the plurality of cellular targets estimated in (h)(2), where the cellular expression profile of the plurality of cells comprises a number of each target of the plurality of cellular targets estimated in (h)(2).

[0009] In some embodiments, the method includes, in (b), prior to hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, (i) identifying a distance data structure for elements of the target count data structure, the distance data structure including distances between the expression profiles of the plurality of cells. The distance data structure may include a distance matrix. Each diagonal element of the distance matrix may have a value of 0. In (b), hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells may include hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and the distance data structure. The distances between the expression profiles of the plurality of cells may include pairwise correlation distances between the expression profiles of the plurality of cells.

[0010] In some embodiments, prior to identifying a distance data structure for the elements of the target count data structure in (i), the target count data structure is log-transformed into a log-transformed target count data structure, identifying a distance data structure for the elements of the target count data structure comprises identifying a distance data structure for the log-transformed target count data structure, and hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells in (b) comprises hierarchically clustering the expression profiles of the plurality of cells based on the log-transformed target count data structure and the distance data structure to generate a dendrogram. Log-transforming the target count data structure into the log-transformed target count data structure can include increasing the value of each element of the target count data structure by an increment (such as 1).

[0011] In some embodiments, in (b), hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and the distance between the expression profiles of the plurality of cells includes assigning each expression profile of the plurality of cells to a different leaf node, and iteratively combining a first node and a second node of the plurality of nodes to generate a parent node of the first node and the second node if the second node is a nearest neighbor of the plurality of nodes to the first node. The distance between the first node and the second node is the maximum distance between any cell having the expression profile represented by the first node and any cell having the expression profile represented by the second node.

[0012] In some embodiments, the method includes, when traversing the plurality of nodes of the phylogenetic tree, at each node, continuing to traverse from the node to the left child node of the node and the right child node of the node if the split is valid, and stopping traversal from the node to the left child node of the node and the right child node of the node if the split is invalid. At least one of the intra-node correlation of the first node and the intra-node correlation of the second node can be higher than the inter-node correlation of the first node and the second node. The measure or indication of the intra-node correlation of the first node and the intra-node correlation of the second node can be higher than the inter-node correlation of the first node and the second node. The measure of the intra-node correlation of the first node and the intra-node correlation of the second node can be based on at least one of the maximum intra-node correlation of the first node and the second node, the average intra-node correlation of the first node and the second node, the median intra-node correlation of the first node and the second node, the minimum intra-node correlation of the first node and the second node, and any combination thereof. The intra-node correlation of the first node may be based on at least one of the intra-node maximum correlation of the first node, the intra-node average correlation of the first node, the intra-node median correlation of the first node, the intra-node minimum correlation of the first node, and any combination thereof. The intra-node correlation of the second node may be based on at least one of the intra-node maximum correlation of the second node, the intra-node average correlation of the second node, the intra-node median correlation of the second node, the intra-node minimum correlation of the second node, and any combination thereof. The inter-node correlation between the first node and the second node may be based on at least one of the inter-node maximum correlation between the first node and the second node, the inter-node average correlation between the first node and the second node, the inter-node median correlation between the first node and the second node, the inter-node minimum correlation between the first node and the second node, and any combination thereof.

[0013] In some embodiments, determining whether a split of a node with a child node of the node is valid or invalid includes determining the split as valid if the distance between the left child node and the right child node exceeds a split threshold, and determining the split as invalid otherwise. The distance between the left child node and the right child node can be determined based on a statistical test performed on each target of the multiple targets between the expression profiles represented by the left child node and the right child node. The statistical test can include a Welch t-test. The distance between the left child node and the right child node can be determined based on a maximum p-value of a statistical test performed on each target of the multiple targets between each expression profile represented by the left child node and each expression profile represented by the right child node.

[0014] In some embodiments, determining whether a split of a node with a child node of the node is valid or invalid includes determining the split as valid if at least one of the intra-node correlation of the first node and the intra-node correlation of the second node is higher than the inter-node correlation of the first node and the second node, and determining the split as invalid otherwise. In some embodiments, determining whether a split of a node with a child node of the node is valid or invalid includes determining the split as valid if a measure or indication of the intra-node correlation of the first node and the intra-node correlation of the second node is higher than the inter-node correlation of the first node and the second node, and determining the split as invalid otherwise. The measure of the intra-node correlation of the first node and the intra-node correlation of the second node may be based on at least one of the maximum intra-node correlation of the first node and the second node, the average intra-node correlation of the first node and the second node, the median intra-node correlation of the first node and the second node, the minimum intra-node correlation of the first node and the second node, and any combination thereof. The intra-node correlation of the first node may be based on at least one of the intra-node maximum correlation of the first node, the intra-node average correlation of the first node, the intra-node median correlation of the first node, the intra-node minimum correlation of the first node, and any combination thereof. The intra-node correlation of the second node may be based on at least one of the intra-node maximum correlation of the second node, the intra-node average correlation of the second node, the intra-node median correlation of the second node, the intra-node minimum correlation of the second node, and any combination thereof. The inter-node correlation between the first node and the second node may be based on at least one of the inter-node maximum correlation between the first node and the second node, the inter-node average correlation between the first node and the second node, the inter-node median correlation between the first node and the second node, the inter-node minimum correlation between the first node and the second node, and any combination thereof.

[0015] In some embodiments, the method includes, at each node as the plurality of nodes of the phylogenetic tree are traversed, (3) if the node represents an expression profile of a cell, adding the node to the integrated cluster set. In some embodiments, the method includes, at each node as the plurality of nodes of the phylogenetic tree are traversed, assigning a node label to the node. If the node represents an expression profile of a cell, the node label of the node includes a cell name; otherwise, if the node is a left child node of a parent node, the node label of the node includes the node label of the parent node and the left name; otherwise, the node label of the node includes the node label of the parent node and the right name.

[0016] In some embodiments, for each node in the integrated cluster set, identifying a cell type distinguishing target based on an expression profile of a plurality of targets of a cell represented by the node includes determining that a difference between the expression profile represented by the node and an expression profile represented by another node in the integrated cluster set, in terms of a number of molecular labels having distinct sequences associated with the cell type distinguishing target, is greater than a significance threshold.

[0017] In some embodiments, the method includes merging each of the third nodes in the integrated cluster set representing an expression profile of a cell with a fourth node in the integrated cluster set before merging the first node with the second node in (d) to generate the integrated node if a distance between the third node and the fourth node is within a node distance threshold. In some embodiments, the method includes classifying a plurality of cells based on the nodes in the integrated cluster set representing an expression profile of the cell. The method can include designating a whole transcriptome assay based on targets that distinguish the identified cell types. In some embodiments, the method can include designating a targeted transcriptome assay based on targets that distinguish the identified cell types.

[0018] Disclosed herein are methods for identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving expression profiles of a plurality of cells, the expression profiles including a number of each target of a plurality of targets for each cell of the plurality of cells; (b) hierarchically clustering the expression profiles of the plurality of cells based on the target count matrix and distances between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree including a plurality of nodes, the plurality of nodes including a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, the root node representing the expression profile of the plurality of cells; and (c) while traversing through each node of the plurality of nodes of the phylogenetic tree from the root node of the phylogenetic tree to the plurality of leaf nodes of the phylogenetic tree, (1) determining whether two sub-branches of the node (e.g., represented by child nodes of the node) are significantly different; and (2) if the two sub-branches of the node are significantly different, splitting the node into two cluster sets (e.g., by traversing to the two sub-branches of the node). In some embodiments, the method includes (3) adding the node to the integrated cluster set if splitting the node into child nodes of the node is invalid. In some embodiments, the method includes (d) iteratively, for each first node in the integrated cluster set, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate an integrated node in the integrated cluster set, and (e) for each node in the integrated cluster set, identifying targets that distinguish cell types based on expression profiles of the multiple targets of the cell represented by the node.

[0019] Described herein are methods for identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving expression profiles of a plurality of cells, the expression profiles including some of each of a plurality of targets for each of the plurality of cells; (b) clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles, each cluster having one or more relationships with one or both of (1) a parent cluster and (2) two or more child clusters, the parent cluster representing an expression profile of one or more cells of the plurality of cells represented by the cluster, and the cluster representing an expression profile represented by the two or more child clusters; and (c) for each cluster having two or more child clusters, (d) for each first cluster in the integrated cluster set, if a distance between the first cluster in the integrated cluster set and a second cluster in the integrated cluster set that is closest to the first cluster is within an integrated distance threshold, iteratively integrating the first cluster and the second cluster to generate an integrated cluster, wherein the integrated cluster includes expression profiles of the first cluster and the second cluster; and (e) for each cluster in the integrated cluster set, identifying targets that distinguish cell types based on expression profiles of multiple targets of the cells represented by the cluster.

[0020] In some embodiments, receiving the expression profile of the plurality of cells includes receiving a target count data structure. The target count data structure can include a target count matrix. Each row or each column of the target count matrix can include an expression profile of a different individual cell of the plurality of cells. Clustering the expression profiles of the plurality of cells into a plurality of clusters of expression profiles based on a distance between the expression profiles of the plurality of cells can include hierarchically clustering the expression profiles of the plurality of cells based on a distance between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells. The phylogenetic tree can include a plurality of clusters. The plurality of clusters can include a root cluster, a plurality of leaf clusters, and a plurality of non-root non-leaf clusters. The leaf cluster can represent an expression profile of a cell. The non-root non-leaf cluster can represent an expression profile of a cell represented by a child cluster of the non-root non-leaf cluster. The root cluster can represent an expression profile of the child cluster. Each of the plurality of leaf clusters and the plurality of non-root non-leaf clusters can have an association with a parent cluster. Each of the root cluster and the plurality of non-root non-leaf clusters can have an association with a left child cluster and a right child cluster, representing the expression profile represented by the left child cluster and the right child cluster of the cluster. The root cluster can represent the expression profile of multiple cells.

[0021] In some embodiments, for each cluster having two or more child clusters, if the association between the cluster and the two or more child clusters is invalid, adding the cluster to the integrated cluster set includes, while traversing from a root cluster of the phylogenetic tree through each cluster of the phylogenetic tree to a plurality of leaf clusters of the phylogenetic tree, (1) determining whether the association between the cluster and its child clusters is valid or invalid, and (2) adding the cluster to the integrated cluster set if the association is invalid.

[0022] In some embodiments, the method includes, in (a), before receiving the expression profile of the plurality of cells, (f) barcoding a plurality of targets in the plurality of cells using a plurality of barcodes to create a plurality of barcoded targets, each of the plurality of barcodes comprising a cellular label and a molecular label, wherein the barcoded targets created from the different cellular targets have different cellular labels and the barcoded target created from the cellular target of one of the plurality of cells has a different molecular label; (g) obtaining sequence data of the plurality of barcoded targets; and (h) for each of the plurality of cells, (1) counting a number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell; and (2) estimating a number of each target of the plurality of targets of the cell based on the number of molecular labels having distinct sequences associated with the targets in the sequence data counted in (h)(1). For example, the method may include, prior to receiving expression profiles of the plurality of cells in (a), step (f) probabilistically barcoding a plurality of targets in the plurality of cells using a plurality of stochastic barcodes to create a plurality of stochastically barcoded targets, each of the plurality of stochastic barcodes comprising a cellular label and a molecular label, wherein the stochastically barcoded targets created from the different cellular targets have different cellular labels and the stochastically barcoded targets created from the one cellular target of the plurality of cells have different molecular labels; and / or step (g) acquiring sequence data for the plurality of stochastically barcoded targets.

[0023] In some embodiments, the expression profile of the cells of the plurality of cells includes a number of each target of the plurality of targets of the cells estimated in (h)(2). In some embodiments, the method includes (i) identifying a distance data structure for the expression profiles of the plurality of cells prior to clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate the plurality of clusters of expression profiles in (b). The distance data structure may include a distance matrix for the expression profiles of the plurality of cells. Each diagonal element of the distance matrix has a value of 0. In (b), clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate the plurality of clusters of expression profiles may include clustering the expression profiles of the plurality of cells based on the distance matrix to generate the plurality of clusters of expression profiles. The distances between the expression profiles of the plurality of cells may be pairwise correlation distances between the expression profiles of the plurality of cells.

[0024] In some embodiments, the method includes log-transforming the target count data structure into a log-transformed target count data structure prior to identifying the distance data structure in (i), where identifying a distance data structure for an element of the target count data structure includes identifying a distance data structure for the log-transformed target count data structure, and where clustering the expression profiles of the plurality of cells based on a distance between the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles in (b) includes clustering the expression profiles of the plurality of cells based on the log-transformed target count data structure and the distance data structure to generate a plurality of clusters. Log-transforming the target count data structure into the log-transformed target count data structure can include increasing a value of each element of the target count data structure by an increment. The increment can be 1.

[0025] In some embodiments, in (b), clustering the expression profiles of the plurality of cells based on the distance between the expression profiles of the plurality of cells includes assigning each expression profile of the plurality of cells to a different leaf cluster within the plurality of clusters, and iteratively combining a first cluster and a second cluster of the plurality of clusters to generate a parent cluster of the first cluster and the second cluster if the second cluster is a nearest neighbor cluster of the plurality of clusters to the first cluster. The distance between the first cluster and the second cluster can be the maximum distance between any expression profile represented by the first cluster and any expression profile represented by the second cluster.

[0026] In some embodiments, the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation between the first cluster and the second cluster. The measure or indication of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation between the first cluster and the second cluster. The measure of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster and the second cluster, the average intra-cluster correlation of the first cluster and the second cluster, the median intra-cluster correlation of the first cluster and the second cluster, the minimum intra-cluster correlation of the first cluster and the second cluster, and any combination thereof. The intra-cluster correlation of the first cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster, the average intra-cluster correlation of the first cluster, the median intra-cluster correlation of the first cluster, the minimum intra-cluster correlation of the first cluster, and any combination thereof. The intra-cluster correlation of the second cluster can be based on at least one of a maximum intra-cluster correlation of the second cluster, an average intra-cluster correlation of the second cluster, a median intra-cluster correlation of the second cluster, a minimum intra-cluster correlation of the second cluster, and any combination thereof. The inter-cluster correlation between the first cluster and the second cluster can be based on at least one of a maximum inter-cluster correlation between the first cluster and the second cluster, an average inter-cluster correlation between the first cluster and the second cluster, a median inter-cluster correlation between the first cluster and the second cluster, a minimum inter-cluster correlation between the first cluster and the second cluster, and any combination thereof.

[0027] In some embodiments, the method includes, when traversing the plurality of clusters of the phylogenetic tree, for each cluster, continuing to traverse from the cluster to the cluster's left child cluster and the cluster's right child cluster if the association is valid, and stopping traversal from the cluster to the cluster's left child cluster and the cluster's right child cluster if the association is invalid. Determining whether a cluster's association with its child cluster is valid or invalid can include determining the association as valid if the distance between the left child cluster and the right child cluster exceeds an association threshold, and determining it as invalid otherwise.

[0028] In some embodiments, the distance between the left child cluster and the right child cluster can be determined based on a statistical test performed on each target of the multiple targets between the expression profiles represented by the left child cluster and the right child cluster. The statistical test can include a Welch t-test. The distance between the left child cluster and the right child cluster can be determined based on a maximum p-value of a statistical test performed on each target of the multiple targets between the expression profile represented by the left child cluster and the expression profile represented by the right child cluster.

[0029] In some embodiments, determining whether a cluster's association with a child cluster is valid or invalid can include determining valid if at least one of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation of the first cluster and the second cluster, and invalid otherwise. In some embodiments, determining whether a cluster's association with a child cluster is valid or invalid can include determining valid if a measure or indication of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation of the first cluster and the second cluster. The measure of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster and the second cluster, the average intra-cluster correlation of the first cluster and the second cluster, the median intra-cluster correlation of the first cluster and the second cluster, the minimum intra-cluster correlation of the first cluster and the second cluster, and any combination thereof. The intra-cluster correlation of the first cluster may be based on at least one of the intra-cluster maximum correlation of the first cluster, the intra-cluster average correlation of the first cluster, the intra-cluster median correlation of the first cluster, the intra-cluster minimum correlation of the first cluster, and any combination thereof. The intra-cluster correlation of the second cluster may be based on at least one of the intra-cluster maximum correlation of the second cluster, the intra-cluster average correlation of the second cluster, the intra-cluster median correlation of the second cluster, the intra-cluster minimum correlation of the second cluster, and any combination thereof. The inter-cluster correlation between the first cluster and the second cluster may be based on at least one of the inter-cluster maximum correlation between the first cluster and the second cluster, the inter-cluster average correlation between the first cluster and the second cluster, the inter-cluster median correlation between the first cluster and the second cluster, the inter-cluster minimum correlation between the first cluster and the second cluster, and any combination thereof.

[0030] In some embodiments, the method includes, for each cluster as the plurality of clusters of the phylogenetic tree are traversed, (3) if the cluster represents an expression profile of a cell, adding the cluster to the combined cluster set. The method can include, for each cluster as the plurality of clusters of the phylogenetic tree are traversed, assigning a cluster label to the cluster. In some embodiments, if the cluster represents an expression profile of a cell, the cluster label of the cluster includes a cell name, otherwise, if the cluster is a left child cluster of a parent cluster, the cluster label of the cluster includes the cluster label of the parent cluster and a left name, otherwise, the cluster label of the cluster includes the cluster label of the parent cluster and a right name.

[0031] In some embodiments, for each cluster in the integrated cluster set, identifying a cell type distinguishing target based on an expression profile of a plurality of targets of cells represented by the cluster includes determining that a difference between the expression profile represented by the cluster and an expression profile represented by another cluster in the integrated cluster set is greater than a significance threshold in terms of the number of molecular labels having distinct sequences associated with the cell type distinguishing target.

[0032] In some embodiments, the method includes merging each of the third clusters in the integrated cluster set representing an expression profile of a cell with a fourth cluster in the integrated cluster set before merging the first cluster with the second cluster in (d) to generate the integrated clusters if a distance between the third cluster and the fourth cluster is within a cluster distance threshold. The method can include classifying a plurality of cells based on the clusters in the integrated cluster set representing an expression profile of the cells. The method can include designating a whole transcriptome assay based on targets that distinguish the identified cell types or designating a targeted transcriptome assay based on targets that distinguish the identified cell types.

[0033] Disclosed herein is a system for identifying targets that distinguish cell types. In some embodiments, the system includes a hardware processor and a non-transitory memory having instructions stored thereon, which, when executed by the hardware processor, cause the processor to perform any of the methods disclosed herein. Disclosed herein is a computer-readable medium for identifying targets that distinguish cell types. In some embodiments, the computer-readable medium includes a code for performing any of the methods disclosed herein.

[0034] Disclosed herein are embodiments of a system for identifying targets to distinguish cell types. In some embodiments, the system includes a non-transitory memory configured to store executable instructions and a hardware processor in communication with the non-transitory memory, the hardware processor being operable to: (a) receive a target count data structure, the target count data structure including expression profiles of a plurality of cells, the expression profiles of the plurality of cells including a number of each target of a plurality of targets for each cell of the plurality of cells; and (b) hierarchically clustering the expression profiles of the plurality of cells based on distances between the target count data structure and the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree including a plurality of nodes, the plurality of nodes including a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, the root node representing the expression profile of the plurality of cells. (c) while traversing through each node of the plurality of nodes of the phylogenetic tree from a root node of the phylogenetic tree to a plurality of leaf nodes of the phylogenetic tree, (1) determine whether it is valid or invalid to split the node into child nodes of the node, and (2) if it is invalid to split the node into child nodes of the node, add the node to the integrated cluster set; (d) iteratively, for each first node in the integrated cluster set, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merge the first node with the second node to generate an integrated node including expression profiles represented by the first node and the second node; and (e) for each node in the integrated cluster set, identify targets that distinguish cell types based on the expression profiles of the plurality of targets of the cell represented by the node.

[0035] In some embodiments, the target count data structure includes a target count matrix, where each row or column of the target count matrix can include some of each of the multiple targets of different individual cells of the multiple cells, where each of the multiple leaf nodes and the multiple non-root non-leaf nodes can have a parent node associated with them, and each of the root node and the multiple non-root non-leaf nodes can have a left child node and a right child node associated with them, and where each of the root node and the multiple non-root non-leaf nodes represents an expression profile represented by the left child node and the right child node of the node.

[0036] In some embodiments, the hardware processor can be programmed to: prior to receiving the target count data structure in (a), (f) barcoding a plurality of targets in a plurality of cells with a plurality of barcodes to create a plurality of barcoded targets, each of the plurality of barcodes including a cellular label and a molecular label, the barcoded targets created from different cellular targets having different cellular labels and the barcoded target created from a cellular target of the plurality of cells having a different molecular label, (g) obtaining sequence data of the plurality of barcoded targets, and (h) for each of the plurality of cells, (1) counting a number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell, and (2) estimating a number of each target of the plurality of targets of the cell based on the number of molecular labels having distinct sequences associated with the targets in the sequence data counted in (h)(1). To receive the target count data structure, the hardware processor can be programmed to generate a target count data structure from the number of each target of the plurality of targets of the cell estimated in (h)(2), wherein the expression profile of a cell among the plurality of cells includes the number of each target of the plurality of targets of the cell estimated in (h)(2).

[0037] In some embodiments, prior to hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells in (b) to generate a dendrogram representing the expression profiles of the plurality of cells, the hardware processor can be programmed to: (i) determine a distance data structure for elements of the target count data structure, the distance data structure comprising distances between the expression profiles of the plurality of cells. The distance data structure comprises a distance matrix. Each diagonal element of the distance matrix has a value of zero.

[0038] In some embodiments, in (b), the hardware processor can be programmed to hierarchically cluster the expression profiles of the plurality of cells based on the target count data structure and the distance data structure to generate a dendrogram representing the expression profiles of the plurality of cells, the distance between the expression profiles of the plurality of cells comprising a pair-wise correlation distance between the expression profiles of the plurality of cells.

[0039] In some embodiments, the hardware processor can be programmed to logarithmically transform the target count data structure into a log-transformed target count data structure prior to identifying the distance data structure of the elements of the target count data structure in (i). To identify the distance data structure of the elements of the target count data structure, the hardware processor can be programmed to identify the distance data structure of the log-transformed target count data structure. To hierarchically cluster the expression profiles of the plurality of cells based on the target count data structure and the distance between the expression profiles of the plurality of cells in (b), the hardware processor can be programmed to hierarchically cluster the expression profiles of the plurality of cells based on the log-transformed target count data structure and the distance data structure to generate a dendrogram. To logarithmically transform the target count data structure into a log-transformed target count data structure, the hardware processor can be programmed to increase the value of each element of the target count data structure by an increment. The increment can be 1.

[0040] In (b), for hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and the distance between the expression profiles of the plurality of cells, the hardware processor can be programmed to: assign each expression profile of the plurality of cells to a different leaf node; and iteratively combine a first node and a second node of the plurality of nodes to generate a parent node of the first node and the second node if the second node is a nearest neighbor of the plurality of nodes to the first node. The distance between the first node and the second node can be the maximum distance between any cell having the expression profile represented by the first node and any cell having the expression profile represented by the second node.

[0041] In some embodiments, at least one of the intra-node correlation of the first node and the intra-node correlation of the second node can be higher than the inter-node correlation between the first node and the second node. The measure or indication of the intra-node correlation of the first node and the intra-node correlation of the second node can be higher than the inter-node correlation between the first node and the second node. The measure of the intra-node correlation of the first node and the intra-node correlation of the second node can be based on at least one of the maximum intra-node correlation of the first node and the second node, the average intra-node correlation of the first node and the second node, the median intra-node correlation of the first node and the second node, the minimum intra-node correlation of the first node and the second node, and any combination thereof. The intra-node correlation of the first node can be based on at least one of the maximum intra-node correlation of the first node, the average intra-node correlation of the first node, the median intra-node correlation of the first node, the minimum intra-node correlation of the first node, and any combination thereof. The intra-node correlation of the second node may be based on at least one of an intra-node maximum correlation of the second node, an intra-node average correlation of the second node, an intra-node median correlation of the second node, an intra-node minimum correlation of the second node, and any combination thereof. The inter-node correlation between the first node and the second node may be based on at least one of an inter-node maximum correlation between the first node and the second node, an inter-node average correlation between the first node and the second node, an inter-node median correlation between the first node and the second node, an inter-node minimum correlation between the first node and the second node, and any combination thereof.

[0042] In some embodiments, the hardware processor can be programmed to, when traversing the multiple nodes of the phylogenetic tree, continue traversing from the node to the left child node of the node and the right child node of the node if the split is valid, and stop traversing from the node to the left child node of the node and the right child node of the node if the split is invalid. To determine whether a split of a node with a child node of the node is valid or invalid, the hardware processor can be programmed to determine the split as valid if the distance between the left child node and the right child node exceeds a split threshold, and to determine the split as invalid otherwise. The distance between the left child node and the right child node can be determined based on a statistical test performed on each target of the multiple targets between the expression profiles represented by the left child node and the right child node. The statistical test can include a Welch t-test. The distance between the left child node and the right child node can be determined based on a maximum p-value of a statistical test performed on each target of the multiple targets between each expression profile represented by the left child node and each expression profile represented by the right child node.

[0043] In some embodiments, the hardware processor can be programmed to: (3) add the node to the integrated cluster set if the node represents an expression profile of a cell when traversing the nodes of the phylogenetic tree. In some embodiments, the hardware processor can be programmed to assign a node label to the node when traversing the nodes of the phylogenetic tree. If the node represents an expression profile of a cell, the node label of the node includes a cell name; otherwise, if the node is a left child node of a parent node, the node label of the node includes the node label of the parent node and the left name; otherwise, the node label of the node includes the node label of the parent node and the right name.

[0044] In some embodiments, for each node in the integrated cluster set, a target that distinguishes between cell types is identified based on an expression profile of a plurality of targets of a cell represented by the node, and the hardware processor can be programmed to determine that a difference between the expression profile represented by the node and an expression profile represented by another node in the integrated cluster set is greater than a significance threshold in terms of the number of molecular labels having distinct sequences associated with the target that distinguishes between the cell types.

[0045] In some embodiments, the hardware processor may be programmed to, prior to merging the first node with the second node in (d) to generate the merged node, merge each of the third nodes in the merged cluster set representing an expression profile of a cell with a fourth node in the merged cluster set if the distance between the third node and the fourth node is within a node distance threshold. The hardware processor may be programmed to classify a plurality of cells based on the nodes in the merged cluster set representing the expression profile of the cells. The hardware processor may be programmed to designate a whole transcriptome assay based on targets that distinguish the identified cell types. The hardware processor may be programmed to designate a targeted transcriptome assay based on targets that distinguish the identified cell types.

[0046] Disclosed herein are embodiments of a system for identifying targets that distinguish between cell types. In some embodiments, the system includes a non-transitory memory configured to store executable instructions and a hardware processor in communication with the non-transitory memory, the hardware processor being operable to (a) receive expression profiles of a plurality of cells, the expression profiles including some of each of a plurality of targets for each of the plurality of cells, and (b) cluster the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles, each cluster having one or more relationships with one or both of (1) a parent cluster and (2) two or more child clusters, the parent cluster representing an expression profile of one or more cells of the plurality of cells represented by the cluster, and the cluster representing an expression profile represented by the two or more child clusters. (c) for each cluster having two or more child clusters, if an association between the cluster and two or more child clusters is invalid, adding the cluster to an integrated cluster set; (d) for each first cluster in the integrated cluster set, if a distance between the first cluster in the integrated cluster set and a second cluster in the integrated cluster set that is closest to the first cluster is within an integrated distance threshold, iteratively integrating the first cluster and the second cluster to generate an integrated cluster, where the integrated cluster includes expression profiles of the first cluster and the second cluster; and (e) for each cluster in the integrated cluster set, identifying targets that distinguish cell types based on the expression profiles of the multiple targets of the cells represented by the cluster.

[0047] In some embodiments, the hardware processor can be programmed to receive the expression profile of the plurality of cells, including receiving a target count data structure. The target count data structure can include a target count matrix. Each row or each column of the target count matrix can include an expression profile of a different individual cell of the plurality of cells.

[0048] In some embodiments, to cluster the expression profiles of the plurality of cells into a plurality of clusters of expression profiles based on a distance between the expression profiles of the plurality of cells, the hardware processor can be programmed to hierarchically cluster the expression profiles of the plurality of cells based on a distance between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree comprising a plurality of clusters, the plurality of clusters comprising a root cluster, a plurality of leaf clusters, and a plurality of non-root non-leaf clusters. Each of the plurality of leaf clusters and the plurality of non-root non-leaf clusters can have an association with a parent cluster. Each of the root cluster and the plurality of non-root non-leaf clusters can have an association with a left child cluster and a right child cluster, representing the expression profiles represented by the left child cluster and the right child cluster of the cluster. The root cluster can represent the expression profiles of the plurality of cells. For each cluster having two or more child clusters, if the cluster-to-cluster association with the two or more child clusters is invalid, the hardware processor can be programmed to: (1) determine whether the association between the cluster and its child clusters is valid or invalid while traversing from a root cluster of the phylogenetic tree through each cluster of the phylogenetic tree to a plurality of leaf clusters of the phylogenetic tree; and (2) add the cluster to the integrated cluster set if the association is invalid.

[0049] In some embodiments, the hardware processor can be programmed to: (a) prior to receiving the expression profile of the plurality of cells, (f) barcoding a plurality of targets in the plurality of cells using a plurality of barcodes to create a plurality of barcoded targets, each of the plurality of barcodes comprising a cellular label and a molecular label, the barcoded targets created from different cellular targets having different cellular labels and the barcoded target created from a cellular target of the plurality of cells having a different molecular label; (g) acquiring sequence data of the plurality of barcoded targets; and (h) for each of the plurality of cells, (1) counting a number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell; and (2) estimating a number of each target of the plurality of targets of the cell based on the number of molecular labels having distinct sequences associated with the targets in the sequence data counted in (h)(1). The expression profile of the cells of the plurality of cells can include the number of each target of the plurality of targets of the cell estimated in (h)(2).

[0050] In some embodiments, the hardware processor can be programmed to (i) determine a distance data structure for the expression profiles of the plurality of cells prior to clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells in (b) to generate the plurality of clusters of expression profiles. The distance data structure can include a distance matrix for the expression profiles of the plurality of cells. Each diagonal element of the distance matrix can have a value of 0. To cluster the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells in (b) to generate the plurality of clusters of expression profiles, the hardware processor can be programmed to cluster the expression profiles of the plurality of cells based on the distance matrix to generate the plurality of clusters of expression profiles. The distances between the expression profiles of the plurality of cells can be pairwise correlation distances between the expression profiles of the plurality of cells.

[0051] In some embodiments, the hardware processor can be programmed to log-transform the target count data structure into a log-transformed target count data structure prior to identifying the distance data structure in (i). To identify the distance data structure of the elements of the target count data structure, the hardware processor can be programmed to identify the distance data structure of the log-transformed target count data structure. To cluster the expression profiles of the plurality of cells based on the distance between the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles in (b), the hardware processor can be programmed to cluster the expression profiles of the plurality of cells based on the log-transformed target count data structure and the distance data structure to generate a plurality of clusters. To log-transform the target count data structure into the log-transformed target count data structure, the hardware processor can be programmed to increase the value of each element of the target count data structure by an increment. The increment can be 1.

[0052] In some embodiments, in (b), for clustering the expression profiles of the plurality of cells based on the distance between the expression profiles of the plurality of cells, the hardware processor can be programmed to: assign each expression profile of the plurality of cells to a different leaf cluster; and iteratively combine a first cluster and a second cluster of the plurality of clusters to generate a parent cluster of the first cluster and the second cluster, if the second cluster is a nearest neighbor cluster of the plurality of clusters to the first cluster. The distance between the first cluster and the second cluster can be the maximum distance between any expression profile represented by the first cluster and any expression profile represented by the second cluster.

[0053] In some embodiments, the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation between the first cluster and the second cluster. The measure or indication of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster can be higher than the inter-cluster correlation between the first cluster and the second cluster. The measure of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster and the second cluster, the average intra-cluster correlation of the first cluster and the second cluster, the median intra-cluster correlation of the first cluster and the second cluster, the minimum intra-cluster correlation of the first cluster and the second cluster, and any combination thereof. The intra-cluster correlation of the first cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster, the average intra-cluster correlation of the first cluster, the median intra-cluster correlation of the first cluster, the minimum intra-cluster correlation of the first cluster, and any combination thereof. The intra-cluster correlation of the second cluster can be based on at least one of a maximum intra-cluster correlation of the second cluster, an average intra-cluster correlation of the second cluster, a median intra-cluster correlation of the second cluster, a minimum intra-cluster correlation of the second cluster, and any combination thereof. The inter-cluster correlation between the first cluster and the second cluster can be based on at least one of a maximum inter-cluster correlation between the first cluster and the second cluster, an average inter-cluster correlation between the first cluster and the second cluster, a median inter-cluster correlation between the first cluster and the second cluster, a minimum inter-cluster correlation between the first cluster and the second cluster, and any combination thereof.

[0054] In some embodiments, the hardware processor can be programmed to, when traversing the multiple clusters of the phylogenetic tree, continue traversing from the cluster to the left child cluster of the cluster and the right child cluster of the cluster if the association is valid, and stop traversing from the cluster to the left child cluster of the cluster and the right child cluster of the cluster if the association is invalid. To determine whether the association of a cluster with the child cluster of the cluster is valid or invalid, the hardware processor can be programmed to determine the association as valid if the distance between the left child cluster and the right child cluster exceeds an association threshold, and to determine the association as invalid otherwise. The distance between the left child cluster and the right child cluster can be determined based on a statistical test performed on each target of the multiple targets between the expression profiles represented by the left child cluster and the right child cluster. The statistical test can include a Welch t-test. The distance between the left child cluster and the right child cluster can be determined based on the maximum p-value of the statistical test performed on each target of the multiple targets between the expression profile represented by the left child cluster and the expression profile represented by the right child cluster.

[0055] In some embodiments, the hardware processor can be programmed to: (3) add a cluster to the integrated cluster set if the cluster represents an expression profile of a cell when traversing the multiple clusters of the phylogenetic tree. The hardware processor can be programmed to: (4) assign a cluster label to the cluster if the cluster represents an expression profile of a cell when traversing the multiple clusters of the phylogenetic tree. If the cluster represents an expression profile of a cell, the cluster label of the cluster includes a cell name; otherwise, if the cluster is a left child cluster of a parent cluster, the cluster label of the cluster includes the cluster label of the parent cluster and a left name; otherwise, the cluster label of the cluster includes the cluster label of the parent cluster and a right name.

[0056] In some embodiments, for each cluster in the integrated cluster set, identifying a target that distinguishes the cell type based on an expression profile of a plurality of targets of the cell represented by the cluster, the hardware processor can be programmed to determine that a difference between the expression profile represented by the cluster and an expression profile represented by another cluster in the integrated cluster set is greater than a significance threshold in terms of the number of molecular labels having distinct sequences associated with the target that distinguishes the cell type. The hardware processor can be programmed to, before merging the first cluster with the second cluster in (d) to generate the integrated cluster, merge each third cluster in the integrated cluster set that represents an expression profile of a cell with a fourth cluster in the integrated cluster set if the distance between the third cluster and the fourth cluster is within a cluster distance threshold.

[0057] In some embodiments, the hardware processor can be programmed to classify the plurality of cells based on clusters in the integrated cluster set that represent expression profiles of the cells. The hardware processor can be programmed to designate whole transcriptome assays based on targets that distinguish the identified cell types. The hardware processor can be programmed to designate targeted transcriptome assays based on targets that distinguish the identified cell types. [Brief description of the drawings]

[0058] [Figure 1] 1 shows non-limiting exemplary barcodes (eg, probabilistic barcodes). [Diagram 2] 1 illustrates a non-limiting, exemplary workflow for barcoding and digital counting (e.g., probabilistic barcoding and digital counting). [Diagram 3] FIG. 1 is a schematic diagram showing a non-limiting exemplary process for generating an indexed library of barcoded targets (e.g., stochastic barcoded targets) from multiple targets. [Figure 4] 1 is a flow chart illustrating a non-limiting exemplary method for identifying targets that distinguish cell types by clustering cellular expression profiles using a phylogenetic tree. [Diagram 5] FIG. 1 is a schematic diagram of an exemplary phylogenetic tree. [Figure 6] 1 is a flow chart illustrating a non-limiting exemplary method for identifying targets that distinguish cell types by clustering cellular expression profiles. [Figure 7] FIG. 1 is a block diagram of an exemplary computing system configured to implement the methods of the present disclosure. [Figure 8] Panels (a)-(d) show non-limiting, exemplary plots of expression profiles in two-dimensional space after segmenting and integrating the expression profiles of single cells. [Figure 9A-9H] Panels (a)-(x) are non-limiting exemplary plots of expression profiles in two-dimensional space showing how the partitioning can be determined. [Figure 10] 1 shows non-limiting exemplary plots of expression profiles in two-dimensional space after the fifth cycle of partitioning. [Figure 11] Panels (a)-(l) are non-limiting, exemplary plots of expression profiles in two-dimensional space showing why particular splits in the phylogenetic tree were retained during the fifth cycle of splitting shown in FIG. [Figures 12A-12C] Panels (a)-(i) are non-limiting exemplary plots of expression profiles in two-dimensional space showing how integration can be determined. [Figure 13] 1 shows non-limiting exemplary plots of expression profiles in two-dimensional space during the second cycle of integration. [Figure 14] Panels (a)-(d) are non-limiting, exemplary plots of expression profiles in two-dimensional space illustrating how the second cycle of integration shown in FIG. 13 was determined. [Figure 15A-15B] Panels (a)-(f) are plots showing one non-limiting, exemplary type of differential expression analysis. [Figures 16A-16D] Panels (a)-(o) are plots showing another non-limiting, exemplary type of differential expression analysis. [Figure 17] Panels (a)-(g) are non-limiting example plots visualizing the distances between clusters. [Fig. 18A-18F] Panels (a)-(e) show non-limiting exemplary phylogenetic trees. [Figures 19A-19J] Panels (a)-(s) are non-limiting example plots showing parameter sweeps. [Figure 20] 1 is a non-limiting exemplary plot showing how a parameter sweep can be used to identify a threshold. [Figures 21A-21E] Panels (a)-(j) are non-limiting exemplary plots showing the results of the first partition. [Figure 22] 1 is a non-limiting exemplary plot showing partitioning of expression profiles in two-dimensional space. [Fig. 23A-23F] Panels (a)-(d) show non-limiting exemplary phylogenetic trees showing expression profiles that fall into two clusters. [Figure 24] 1 is another non-limiting exemplary plot showing a parameter sweep. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0059] In the following detailed description, reference is made to the accompanying drawings, which form a part of this specification. In the drawings, like symbols typically identify like components unless otherwise indicated by the context. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments are available and other changes are possible without departing from the spirit or scope of the subject matter presented herein. It is readily understood that aspects of the present disclosure, as outlined herein and shown in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are expressly contemplated herein and form part of the present disclosure.

[0060] All patents, published patent applications, other publications, and sequences from GenBank and other databases cited herein are hereby incorporated by reference in their entirety for relevant art.

[0061] Quantification of small numbers of diffusion or targets, e.g., messenger ribonucleic acid (mRNA) molecules, is clinically important, for example, to identify genes expressed at different development stages or under different environmental conditions. However, identifying the absolute number of nucleic acid molecules (e.g., mRNA molecules) can be a very challenging problem, especially when the number of molecules is very small. One method to identify the absolute number of molecules in a sample is digital polymerase chain reaction (PCR). Barcodes (e.g., stochastic barcodes) with unique molecular labels (ML, also called molecular index (MI)) can be used to count the number of molecules. Barcodes with unique molecular labels for each cell label can be used to count the number of molecules in each cell. Non-limiting exemplary assays for barcoding (e.g., stochastic barcoding) include the Precise™ assay (Cellular Research, Inc., Palo Alto, Calif.), the Resolve™ assay (Cellular Research, Inc., Palo Alto, Calif.), or the Rhapsody™ assay (Cellular Research, Inc., Palo Alto, Calif.).

[0062] The Rhapsody™ assay utilizes a non-depleting pool of barcodes (e.g., stochastic barcodes) with multiple, e.g., 6561-65536, unique molecular labels on poly(T) oligonucleotides to hybridize to all poly(A)-mRNA in a sample during the RT step. In addition to the molecular labels, the barcodes' cellular labels can be used to identify each and every cell in each well of the microwell plate. The barcodes (e.g., stochastic barcodes) can include universal PCR priming sites. During RT, the target gene molecules react with the barcodes randomly. Each target molecule can hybridize to the barcode, resulting in the generation of a barcoded complementary ribonucleotide acid (cDNA) molecule (e.g., a stochastic barcoded cDNA molecule). After labeling, the barcoded cDNA molecules from the microwells of the microwell plate can be pooled into one tube for PCR amplification and sequencing. The raw sequencing data can be analyzed to generate the number of barcodes (e.g., stochastic barcodes) with unique molecular labels.

[0063] Disclosed herein are methods of identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving a target count data structure, the target count data structure including expression profiles of a plurality of cells, the expression profiles of the plurality of cells including a number of each target of a plurality of targets for each cell of the plurality of cells; (b) hierarchically clustering the expression profiles of the plurality of cells based on distances between the target count data structure and the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree including a plurality of nodes, the plurality of nodes including a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, the root node representing the expression profile of the plurality of cells; and (c) clustering the expression profiles of the plurality of cells through each node of the plurality of nodes of the phylogenetic tree to generate a phylogenetic tree. While traversing from the node to a plurality of leaf nodes of the phylogenetic tree, (1) determining whether it is valid or invalid to split the node into child nodes of the node (e.g., whether a difference between the child nodes is significant or not); (2) if it is invalid to split the node into child nodes of the node, adding the node to an integrated cluster set; (d) iteratively, for each first node in the integrated cluster set, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate an integrated node including expression profiles represented by the first node and the second node; and (e) for each node in the integrated cluster set, identifying targets that distinguish cell types based on the expression profiles of the plurality of targets of the cell represented by the node.

[0064] Disclosed herein is a system for identifying targets that distinguish cell types. In some embodiments, the system includes a hardware processor and a non-transitory memory having instructions stored thereon, which, when executed by the hardware processor, cause the processor to perform any of the methods disclosed herein. Disclosed herein is a computer-readable medium for identifying targets that distinguish cell types. In some embodiments, the computer-readable medium includes code for performing any of the methods disclosed herein.

[0065] definition Unless otherwise defined, technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this disclosure belongs. See, e.g., Singleton et al., Dictionary of Microbiology and Molecular Biology 2nd ed., J. Wiley & Sons (New York, NY 1994); Sambrook et al., Molecular Cloning, A Laboratory Manual, Cold Springs Harbor Press (Cold Springs Harbor, NY 1989). In this disclosure, the following terms are defined as follows:

[0066] As used herein, the term "adapter" can refer to a sequence that facilitates amplification or sequencing of an associated nucleic acid. The associated nucleic acid can include a target nucleic acid. The associated nucleic acid can include one or more of a spatial label, a target label, a sample label, an indexing label, a barcode, a stochastic barcode, or a molecular label. The adapter can be linear. The adapter can be a pre-adenylated adapter. The adapter can be double-stranded or single-stranded. The one or more adapters can be located at the 5' or 3' end of the nucleic acid. When the adapter includes a known sequence at the 5' or 3' end, the known sequence can be the same or a different sequence. The adapter located at the 5' or 3' end of the polynucleotide can hybridize to one or more oligonucleotides immobilized on a surface. The adapter can include a universal sequence in some embodiments. The universal sequence can be a region of nucleotide sequence that is common to two or more nucleic acid molecules. The two or more nucleic acid molecules can have regions of different sequences. Thus, for example, the 5' adaptors can include the same and / or universal nucleic acid sequences, and the 3' adaptors can include the same and / or universal nucleic acid sequences. A universal sequence that may be present in different members of a plurality of nucleic acid molecules can enable the duplication or amplification of a plurality of different sequences using a single universal primer that is complementary to the universal sequence. Similarly, at least one, two (e.g., a pair), or more universal sequences that may be present in different members of a collection of nucleic acid molecules can enable the duplication or amplification of a plurality of different sequences using at least one, two (e.g., a pair), or more single universal primers that are complementary to the universal sequence. Thus, a universal primer comprises a sequence that can hybridize to such a universal sequence. A target nucleic acid sequence-bearing molecule can be modified to attach a universal adaptor (e.g., a non-target nucleic acid sequence) to one or both ends of different target nucleic acid sequences.The one or more universal primers attached to the target nucleic acid can provide a site to which the universal primer hybridizes. The one or more universal primers attached to the target nucleic acid can be the same or different from each other.

[0067] As used herein, the term "associated" or "associated with" can mean that two or more species are identifiable as being in the same location at a time. Association can mean that two or more species are or were in similar containers. Association can be an informatic association, where, for example, digital information about two or more species is stored and can be used to determine that one or more of the species were co-located at a time. Association can be a physical association. In some embodiments, two or more associated species are "tethered," "attached," or "immobilized" to each other or to a common solid or semi-solid surface. Association can refer to a covalent or non-covalent means of attaching a label to a solid or semi-solid support such as a bead. Association can be a covalent bond between the target and the label.

[0068] As used herein, the term "complementary" can refer to the ability to pair two nucleotides precisely. For example, if a nucleotide at a given position of a nucleic acid can hydrogen bond with a nucleotide of another nucleic acid, the two nucleic acids are considered to be complementary to each other at that position. Complementarity between two single-stranded nucleic acid molecules where only some of the nucleotides bind can be "partial" or complete, where complete complementarity exists between the single-stranded molecules. A first nucleotide sequence can be said to be the "complement" of a second sequence if the first nucleotide sequence is complementary to the second nucleotide sequence. A first nucleotide sequence can be said to be the "reverse complement" of a second sequence if the first nucleotide sequence is complementary to a sequence that is the reverse of the second sequence (i.e., the order of the nucleotides is reversed). As used herein, the terms "complementary," "complementary," and "reverse complement" can be used interchangeably. It is understood from this disclosure that when a molecule is capable of hybridizing to another molecule, it may be the complement of the hybridizing molecule.

[0069] As used herein, the term "digital counting" can refer to a method for estimating the number of target molecules in a sample. Digital counting can include determining the number of unique labels associated with targets in a sample. This probabilistic methodology transforms the problem of counting molecules from finding and identifying identical molecules to a series of yes / no digital questions regarding the detection of a set of predefined labels.

[0070] As used herein, the term "label" or "labels" can refer to a nucleic acid code associated with a target in a sample. The label can be, for example, a nucleic acid label. The label can be a fully or partially amplifiable label. The label can be a fully or partially sequenceable label. The label can be a portion of a native nucleic acid that is separately identifiable. The label can be a known sequence. The label can include a junction of a nucleic acid sequence, for example, a junction of a native sequence and a non-native sequence. As used herein, the term "label" can be used synonymously with the terms "index," "tag," or "label tag." The label can convey information. For example, in various embodiments, the label can be used to identify the identity of the sample, the source of the sample, the identity of the cell, and / or the target.

[0071] As used herein, the term "non-depletable reservoir" can refer to a pool of stochastic barcodes composed of many different labels. A non-depletable reservoir can contain many different stochastic barcodes such that when a pool of targets is associated with the non-depletable reservoir, each target is likely to be associated with a unique stochastic barcode. The uniqueness of each labeled target molecule can be determined by the statistics of random selection and depends on the number of copies of the same target molecule in the collection compared to the diversity of the labels. The size of the resulting collection of labeled target molecules can be determined by the stochasticity of the barcoding process, and the number of target molecules present in the original collection or sample can be calculated by analyzing the number of detected stochastic barcodes. If the ratio of the number of target molecules present to the number of unique stochastic barcodes is low, the labeled target molecules are highly unique (i.e., the probability that more than one target molecule is labeled with a given label is very low).

[0072] As used herein, the term "nucleic acid" refers to a polynucleotide sequence or a fragment thereof. A nucleic acid can include nucleotides. A nucleic acid can be exogenous or endogenous to a cell. A nucleic acid can be present in a cell-free environment. A nucleic acid can be a gene or a fragment thereof. A nucleic acid can be DNA. A nucleic acid can be RNA. A nucleic acid can include one or more analogs (e.g., modified backbones, sugars, or nucleobases). Some non-limiting examples of analogs include 5-bromouracil, peptide nucleic acid, xenonucleic acid, morpholino, locked nucleic acid, glycol nucleic acid, threose nucleic acid, dideoxynucleotides, cordycepin, 7-deaza-GTP, fluorophores (e.g., rhodamine or fluorescein linked to sugars), thiol-containing nucleotides, biotin-linked nucleotides, fluorescent base analogs, CpG islands, methyl-7-guanosine, methylated nucleotides, inosine, thiouridine, pseudouridine, dihydrouridine, queousine, and wyosine. "Nucleic acid," "polynucleotide," "target polynucleotide," and "target nucleic acid" can be used interchangeably.

[0073] The nucleic acid may include one or more modifications (e.g., base modifications, backbone modifications) that provide the nucleic acid with new or enhanced characteristics (e.g., improved stability). The nucleic acid may include a nucleic acid affinity tag. The nucleotide may be a base-sugar combination. The base portion of the nucleotide may be a heterocyclic base. The two most common classes of such heterocyclic bases are purines and pyrimidines. The nucleotide may be a nucleotide that further includes a phosphate group covalently attached to the sugar portion of the nucleotide. In the case of nucleotides that include a pentofuranosyl sugar, the phosphate group may be linked to the 2', 3', or 5' hydroxyl moiety of the sugar. In forming a nucleic acid, the phosphate group may covalently link adjacent nucleotides to each other to form a linear polymeric compound. The respective ends of this linear polymeric compound may then be further joined to form a ring-shaped compound, although linear compounds are generally preferred. In addition, linear compounds may have internal nucleotide base complementarity and thus may fold to generate a fully or partially double-stranded compound. Within nucleic acids, the phosphate groups can generally be viewed as forming the nucleoside backbone of the nucleic acid. The link or backbone can be a 3' to 5' phosphodiester bond.

[0074] Nucleic acids can include modified backbones and / or modified nucleoside linkages. Modified backbones can include those that retain a phosphorus atom in the backbone and those that do not have a phosphorus atom in the backbone. Suitable modified nucleic acid backbones that include a phosphorus atom can include, for example, phosphorothioates, chiral phosphorothioates, phosphorodithioates, phosphotriesters, aminoalkyl phosphotriesters, methyl and other alkyl phosphonates, including 3'-alkylene phosphonates, 5'-alkylene phosphonates, and chiral phosphonates, phosphinates, phosphoramidites, including 3'-amino phosphoramidites and aminoalkyl phosphoramidites, thionophosphoramidites, thionoalkyl phosphonates, thionoalkyl phosphotriesters, selenophosphates and boranophosphates with normal 3'-5' linkages, 2'-5' linkage analogs, and backbones with inverted polarity, where one or more internucleotide linkages are 3'-3', 5'-5', or 2'-2' linkages.

[0075] Nucleic acids can include polynucleotide backbones formed by short chain alkyl or cycloalkyl nucleosides, mixed heteroatom and alkyl or cycloalkyl internucleoside linkages, or one or more short chain heteroatom or heterocyclic internucleoside linkages. These include those with morpholino linkages (formed in part from the sugar portion of the nucleoside); siloxane backbones; sulfide, sulfoxide, and sulfone backbones; formacetyl and thioformacetyl backbones; methyleneformacetyl and thioformacetyl backbones; riboacetyl backbones; alkene-containing backbones; sulfamate backbones; methyleneimino and methylenehydrazino backbones; sulfonate and sulfonamide backbones; amide backbones; and others with mixed N, O, S, and CH2 moieties.

[0076] Nucleic acids can include nucleic acid mimetics. The term "mimetic" can include polynucleotides in which only the furanose ring or both the furanose ring and the internucleotide linkage are replaced with non-furanose groups, and replacement of only the furanose ring can be referred to as a sugar surrogate. The heterocyclic base moiety or modified heterocyclic base moiety can be maintained for hybridization with an appropriate target nucleic acid. One such nucleic acid can be a peptide nucleic acid (PNA). In a PNA, the sugar backbone of the polynucleotide can be replaced with an amide-containing backbone, particularly an aminoethylglycine backbone. The nucleotides can be retained and are directly or indirectly bound to the aza nitrogen atoms of the amide portion of the backbone. The backbone in a PNA compound can include two or more linked aminoethylglycine units, giving the PNA an amide-containing backbone. The heterocyclic base moiety can be directly or indirectly bound to the aza nitrogen atoms of the amide portion of the backbone.

[0077] The nucleic acid can include a morpholino backbone structure. For example, the nucleic acid can include a morpholino hexacyclic ring instead of a ribose ring. In some of these embodiments, phosphorodiamidates or other non-phosphodiester nucleoside linkages can replace the phosphodiester bonds.

[0078] Nucleic acids can include linked morpholino units (i.e., morpholino nucleic acids) having heterocyclic bases attached to morpholino rings. Linking groups can link morpholino monomer units in morpholino nucleic acids. Non-ionic morpholino-based oligomeric compounds can have fewer undesired interactions with cellular proteins. Morpholino-based polynucleotides can be non-ionic mimics of nucleic acids. A wide variety of compounds within the morpholino class can be joined using different linking groups. A further class of polynucleotides can be referred to as cyclohexenyl nucleic acids (CeNA). The furanose rings normally present in nucleic acid molecules can be replaced with cyclohexenyl rings. CeNA DMT-protected phosphoramidite monomers can be prepared and used in oligomeric compound synthesis using phosphoramidite chemistry. Incorporation of CeNA monomers into nucleic acid strands can increase the stability of DNA / RNA hybrids. CeNA oligoadenylates can form complexes with nucleic acid complements with stability similar to the native complexes. Further modifications can include Locked Nucleic Acids (LNAs) in which a 2'-hydroxyl group is linked to the 4' carbon atom of the sugar ring, thereby forming a 2'-C, 4'-C-oxymethylene linkage, thereby forming a bicyclic sugar moiety. The linkage can be a methylene (-CH2-) group bridging the 2' oxygen atom and the 4' carbon atom, where n is 1 or 2. LNAs and LNA analogues can exhibit very high duplex thermal stability with complementary nucleic acids (Tm=+3 to +10°C), stability against 3'-exonuclease degradation, and excellent solubility properties.

[0079] Nucleic acids can also include nucleobase (often simply referred to as "base") modifications or substitutions. As used herein, "unmodified" or "natural" nucleobases can include purine bases (e.g., adenine (A) and guanine (G)) and pyrimidine bases (e.g., thymine (T), cytosine (C), and uracil (U)). Modified nucleobases include 5-methylcytosine (5-me-C), 5-hydroxymethylcytosine, xanthine, hypoxanthine, 2-amino-adenine, 6-methyl and other alkyl derivatives of adenine and guanine, 2-propyl and other alkyl derivatives of adenine and guanine, 2-thiouracil, 2-thiothymine and 2-thiocytosine, 5-halouracil and cytosine, 5-propynyl (-C≡C-CH3) uracil and cytosine and other alkynyl derivatives of pyrimidine bases, 6-azo-uracil, cytosine and thymine, 5-uracil (propynyl) ... can include other synthetic and natural nucleobases such as uracil, 4-isouracil, 8-halo, 8-amino, 8-thio-l, 8-thioalkyl, 8-hydroxyl and other 8-substituted adenines and guanines, 5-halo, particularly 5-bromo, 5-trifluoromethyl and other 5-substituted uracils and cytosines, 7-methylguanine and 7-methyladenine, 2-F-adenine, 2-amino-adenine, 8-azaguanine and 8-azaadenine, 7-deazaguanine and 7-deazaadenine, and 3-deazaguanine and 3-deazaadenine.Modified nucleobases include tricyclic pyrimidines such as phenoxazine cytidine (1H-pyrimido(5,4-b)(1,4)benzoxazin-2(3H)-one), phenothiazine cytidine (1H-pyrimido(5,4-b)(1,4)benzothiazin-2(3H)-one), substituted phenoxazine cytidines (e.g., 9-(2-aminoethoxy)-H-pyrimido(5,4-(b)(1,4)benzoxazin-2(3H)-one), phenothiazine cytidine (1H-pyrimido(5,4-b)(1,4)benzoxazin-2(3H)-one), 5,4-b)(1,4)benzothiazin-2(3H)-one), substituted phenoxazine cytidine (e.g., 9-(2-aminoethoxy)-H-pyrimido 5,4-(b)(1,4)benzoxazin-2(3H)-one), carbazole cytidine (2H-pyrimido(4,5-b)indol-2-one), pyridoindole cytidine (H-pyrido(3',2':4,5)pyrrolo[2,3-d]pyrimidin-2-one), and the like.

[0080] As used herein, the term "sample" can refer to a composition that contains a target. Samples suitable for analysis by the disclosed methods, devices, and systems include cells, tissues, organs, or organisms.

[0081] As used herein, the term "sampling device" or "device" can refer to a device that can take a portion of a sample and / or place a portion of the sample on a substrate. A sample device can refer to, for example, a fluorescence activated cell sorting (FACS) machine, a cell sorter machine, a biopsy needle, a biopsy device, a tissue sectioning device, a microfluidic device, a blade grid, and / or a microtome.

[0082] As used herein, the term "solid support" can refer to a discrete solid or semi-solid surface to which a plurality of stochastic barcodes can be attached. A solid support can include any type of solid, porous, or hollow sphere, ball, bearing, cylinder, or other similar configuration composed of plastic, ceramic, metal, or polymeric materials (e.g., hydrogels) to which nucleic acids can be immobilized (e.g., covalently or non-covalently). A solid support can include discrete particles that may have a spherical shape (e.g., globules) or a non-spherical or irregular shape, such as a cube, cuboid, pyramidal, cylindrical, conical, elliptical, or discoid. A plurality of solid supports spaced apart in an array may not include a substrate. A solid support may be used interchangeably with the term "beads."

[0083] A solid support can be referred to as a "substrate". A substrate can be a type of solid support. A substrate can refer to a continuous solid or semi-solid surface on which the disclosed method can be carried out. A substrate can refer to, for example, an array, a cartridge, a chip, a device, and a slide.

[0084] As used herein, the term "spatial marker" may refer to a marker that may be associated with a location in space.

[0085] As used herein, the term "stochastic barcode" can refer to a polynucleotide sequence that includes a label. A stochastic barcode can be a polynucleotide sequence that can be used for stochastic barcoding. A stochastic barcode can be used to quantify a target in a sample. A stochastic barcode can be used to control errors that may occur after a label is associated with a target. For example, a stochastic barcode can be used to evaluate amplification or sequencing errors. A stochastic barcode associated with a target can be referred to as a stochastic barcode-target or a stochastic barcode-tag-target.

[0086] As used herein, the term "gene-specific stochastic barcode" can refer to a polynucleotide sequence that includes a label and a target binding region that is gene-specific. A stochastic barcode can be a polynucleotide sequence that can be used for stochastic barcoding. A stochastic barcode can be used to quantify a target in a sample. A stochastic barcode can be used to control errors that may occur after a label is associated with a target. For example, a stochastic barcode can be used to evaluate amplification or sequencing errors. A stochastic barcode associated with a target can be referred to as a stochastic barcode-target or a stochastic barcode-tag-target.

[0087] As used herein, the term "probabilistic barcoding" can refer to random labeling (e.g., barcoding) of nucleic acids. Probabilistic barcoding can utilize a recursive Poisson method to associate a label with a target and quantify the label associated with the target. As used herein, "probabilistic barcoding" can be used synonymously with "gene-specific probabilistic barcoding."

[0088] As used herein, the term "target" can refer to a composition with which a stochastic barcode can be associated. Exemplary targets suitable for analysis by the disclosed methods, devices, and systems include DNA, RNA, mRNA, microRNA, tRNA, and the like. Targets can be single-stranded or double-stranded. In some embodiments, targets can be proteins. In some embodiments, targets are lipids.

[0089] As used herein, the term "reverse transcriptase" can refer to a group of enzymes that have reverse transcription activity (i.e., catalyze the synthesis of DNA from an RNA template). In general, such enzymes include, but are not limited to, retroviral reverse transcriptases, retrotransposon reverse transcriptases, retroplasmid reverse transcriptases, retron reverse transcriptases, yeast reverse transcriptases, group II intron-derived reverse transcriptases, and mutants, variants, or derivatives thereof. Non-retroviral reverse transcriptases include non-LTR retrotransposon reverse transcriptases, retroplasmid reverse transcriptases, retron reverse transciptases, and group II intron reverse transcriptases. Examples of group II intron reverse transcriptases include Lactococcus lactis Ll.LtrB intron reverse transcriptase, Thermosynechococcus elongatus TeI4c intron reverse transcriptase, or Geobacillus stearothermophilus GsI-IIC intron reverse transcriptase. Other classes of reverse transcriptases include many classes of non-retroviral reverse transcriptases (ie, retrons, group II introns, and diversity-generating retroelements, among others).

[0090] Disclosed herein are systems and methods for identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving a target count data structure (e.g., a target count matrix) including expression profiles; (b) hierarchically clustering the expression profiles of a plurality of cells to generate a phylogenetic tree representing the expression profiles; and (c) while traversing from a root node of the phylogenetic tree through each node of the phylogenetic tree to a leaf node of the phylogenetic tree, (1) determining whether it is valid or invalid to split the node into its child nodes (e.g., there is no significant difference between the child nodes); and (2) if it is invalid to split the node into its child nodes, determining whether it is valid or invalid to split the node into its child nodes. (d) for each first node in the integrated cluster set, iteratively, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate an integrated node including expression profiles represented by the first node and the second node; and (e) for each node in the integrated cluster set, identifying targets that distinguish cell types based on the expression profiles of the multiple targets of the cell represented by the node.

[0091] Barcode Barcoding, such as probabilistic barcoding, has been described, for example, in U.S. Patent Application Publication No. 20150299784, WO 2015031691, as well as Fu et al., Proc Natl Acad Sci USA 2011 May 31;108(22):9026-31 and Fan et al., Science (2015) 347(6222):1258367, the contents of which are incorporated herein by reference in their entirety. In some embodiments, the barcodes disclosed herein can be probabilistic barcodes, which can be polynucleotide sequences that can be used to stochastically label (e.g., barcode, tag) targets. A barcode can be referred to as a stochastic barcode if the ratio of the number of distinct barcode sequences of the stochastic barcode to the number of occurrences of any of the targets to be labeled can be 1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1, 10:1, 11:1, 12:1, 13:1, 14:1, 15:1, 16:1, 17:1, 18:1, 19:1, 20:1, 30:1, 40:1, 50:1, 60:1, 70:1, 80:1, 90:1, 100:1, or a number or range between or about any two of these values. The targets can be, for example, mRNA species that include mRNA molecules with identical or nearly identical sequences. A barcode can be referred to as a stochastic barcode if the ratio of the number of distinct barcode sequences of the stochastic barcode to the number of occurrences of any of the targets to be labeled is at least or at most 1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1, 10:1, 11:1, 12:1, 13:1, 14:1, 15:1, 16:1, 17:1, 18:1, 19:1, 20:1, 30:1, 40:1, 50:1, 60:1, 70:1, 80:1, 90:1, or 100:1. The barcode sequences of the stochastic barcode can be referred to as molecular labels.

[0092] A barcode, e.g., a stochastic barcode, can include one or more labels. Exemplary labels can include a universal label, a cell label, a barcode sequence (e.g., a molecular label), a sample label, a plate label, a spatial label, and / or a pre-spatial label. FIG. 1 shows an exemplary barcode 104 with a spatial label. The barcode 104 can include a 5' amine that can link the barcode to a solid support 105. The barcode can include a universal label, a dimensional label, a spatial label, a cell label, and / or a molecular label. The order of the different labels (including but not limited to the universal label, the dimensional label, the spatial label, the cell label, and the molecular label) in the barcode can vary. For example, as shown in FIG. 1, the universal label can be the 5'-most label and the molecular label can be the 3'-most label. The spatial label, the dimensional label, and the cell label can be in any order. In some embodiments, the universal label, the spatial label, the dimensional label, the cell label, and the molecular label are in any order. The barcode can include a target binding region. The target binding region can interact with a target (e.g., a target nucleic acid, RNA, mRNA, DNA) in a sample. For example, the target binding region can include an oligo(dT) sequence that can interact with the poly(A) tail of an mRNA. In some cases, the labels of the barcode (e.g., the universal label, the dimensional label, the spatial label, the cellular label, and the barcode sequence) can be spaced apart by 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20 or more nucleotides.

[0093] A label, e.g., a cellular label, can include a unique set of nucleic acid subsequences of defined length, e.g., seven nucleotides each (equivalent to the number of bits used in some Hamming error correction codes), that can be designed to provide an error correction function. A set of error correction subsequences can be designed to include seven nucleotide sequences, such that any pairwise combination of sequences in the set exhibits a defined "genetic distance" (or number of mismatched bases), e.g., a set of error correction subsequences can be designed to exhibit a genetic distance of three nucleotides. In this case, review of the error correction sequences with a set of sequence data for the labeled target nucleic acid molecule (more fully described below) can detect or correct amplification or sequencing errors. In some embodiments, the length of the nucleic acid subsequences used to create the error correcting code can vary, for example, can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 31, 40, 50 nucleotides in length, or a number or range between any two of these values, or can be about these values ​​or ranges, In some embodiments, nucleic acid subsequences of other lengths can be used to create the error correcting code.

[0094] The barcode can include a target binding region. The target binding region can interact with a target in the sample. The target can be or include ribonucleic acid (RNA), messenger RNA (mRNA), microRNA, small interfering RNA (siRNA), RNA degradation products, RNA each containing a poly(A) tail, or any combination thereof. In some embodiments, the multiple targets can include deoxyribonucleic acid (DNA).

[0095] In some embodiments, the target binding region can include an oligo(dT) sequence that can interact with the poly(A) tail of mRNA. One or more of the labels of the barcode (e.g., universal label, dimensional label, spatial label, cellular label, and barcode sequence (e.g., molecular label)) can be separated by a spacer from one or two of the other remaining labels of the barcode. The spacer can be, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, or more nucleotides. In some embodiments, none of the labels of the barcode are separated by a spacer.

[0096] Universal Signage A barcode can include one or more universal labels. In some embodiments, the one or more universal labels can be the same for all barcodes in a set of barcodes attached to a given solid support. In some embodiments, the one or more universal labels can be the same for all barcodes attached to a plurality of beads. In some embodiments, the universal label can include a nucleic acid sequence hybridizable to a sequencing primer. The sequencing primer can be used to sequence the barcode that includes the universal label. The sequencing primer (e.g., a universal sequencing primer) can include a sequencing primer associated with a high throughput sequencing platform. In some embodiments, the universal label can include a nucleic acid sequence hybridizable to a PCR primer. In some embodiments, the universal label can include a nucleic acid sequence hybridizable to a sequencing primer and a PCR primer. The nucleic acid sequence of the universal label that can hybridize to a sequencing primer or a PCR primer can be referred to as a primer binding site. The universal label can include a sequence that can be used to initiate transcription of the barcode. The universal label can include a sequence that can be used to extend the barcode or a region within the barcode. A universal label can be at or about 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range between any two of these values, nucleotides in length. For example, a universal label can include at least about 10 nucleotides. A universal label can include at least or at most 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, 200, or 300 nucleotides in length. In some embodiments, a cleavable linker or modified nucleotide can be part of the universal label sequence to allow the barcode to be cleaved from the support.

[0097] dimensional indicator A barcode can include one or more dimensional labels. In some embodiments, a dimensional label can include a nucleic acid sequence that provides information about the dimension in which the labeling (e.g., stochastic labeling) occurred. For example, a dimensional label can provide information about the time at which a target was stochastically barcoded. A dimensional label can be associated with a time of barcoding (e.g., stochastic barcoding) in a sample. A dimensional label can be activated at the time of labeling. Different dimensional labels can be activated at different times. A dimensional label provides information about the order in which targets, target groups, and / or samples were stochastically barcoded. For example, a population of cells can be stochastically barcoded in the G0 phase of the cell cycle. The cells can be pulsed with a barcode (e.g., a stochastic barcode) again in the G1 phase of the cell cycle. The cells can be pulsed with a barcode again in the S phase of the cell cycle, and so on. The barcode in each pulse (e.g., each phase of the cell cycle) can include a different dimensional label. In this way, the dimensional label provides information about which targets were labeled in which phase of the cell cycle. The dimensional label can collate many different biological times. Exemplary biological times include, but are not limited to, cell cycle, transcription (e.g., transcription initiation), and transcript degradation. In another example, a sample (e.g., a cell, a population of cells) can be stochastically labeled before and / or after treatment with a drug and / or therapy. Changes in copy number of distinct targets can indicate the response of the sample to the drug and / or therapy.

[0098] The dimensional label can be activatable. The activatable dimensional label can be activated at a particular time. The activatable label can be, for example, permanently activated (e.g., not turned off). The activatable dimensional label can be, for example, reversibly activated (e.g., the activatable dimensional label can be switched on and off). The dimensional label can be, for example, reversibly activatable at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more times. The dimensional label can be, for example, reversibly activatable at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more times. In some embodiments, the dimensional labels can be activated using fluorescence, light, chemical events (e.g., cleavage, ligation of another molecule, addition of modifications (e.g., pegylation, sumoylation, acetylation, methylation, deacetylation, demethylation), photochemical events (e.g., photocaging), and introduction of unnatural nucleotides.

[0099] The dimension label, in some embodiments, can be the same for all barcodes (e.g., stochastic barcodes) attached to a given solid support (e.g., bead), but can also be different for different solid supports (e.g., beads). In some embodiments, at least 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, or 100% of the barcodes on the same solid support can include the same dimension label. In some embodiments, at least 60% of the barcodes on the same solid support can include the same dimension label. In some embodiments, at least 95% of the barcodes on the same solid support can include the same dimension label.

[0100] 10 represented on a plurality of solid supports (e.g., beads) 6There can be many unique dimension label sequences, 1 or more. The dimension labels can be 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range between any two of these values, nucleotides in length, or about these values ​​or ranges. The dimension labels can be at least or at most 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, 200, or 300 nucleotides in length. The dimension labels can comprise about 5 to about 200 nucleotides. The dimension labels can comprise about 10 to about 150 nucleotides. The dimension labels can comprise about 20 to about 125 nucleotides in length.

[0101] spatial sign The barcode may include one or more spatial labels. In some embodiments, the spatial label may include a nucleic acid sequence that provides information about the spatial orientation of the target molecule associated with the barcode. The spatial label may be associated with a coordinate in the sample. The coordinate may be a fixed coordinate. For example, the coordinate may be fixed with reference to a substrate. The spatial label may be referenced to a two-dimensional or three-dimensional grid. The coordinate may be fixed with reference to a landmark. The landmark may be identifiable in space. The landmark may be a structure that can be imaged. The landmark may be a biological structure, e.g., an anatomical landmark. The landmark may be a cellular landmark, e.g., a cell organelle. The landmark may be a non-natural landmark, such as a color code, a barcode, a structure that is magnetic, fluorescent, radioactive, or has an identifiable identifier, such as a unique size or shape. The spatial label may be associated with a physical partition (e.g., a well, a container, or a droplet). In some embodiments, multiple spatial labels are used together to encode one or more locations in space.

[0102] The spatial labels can be the same for all barcodes attached to a given solid support (e.g., beads), but can also be different for different solid supports (e.g., beads). In some embodiments, the percentage of barcodes on the same solid support that contain the same spatial labels can be 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, 100%, or a number or range between or about any two of these values. In some embodiments, the percentage of barcodes on the same solid support that contain the same spatial labels can be at least or at most 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, or 100%. In some embodiments, at least 60% of the barcodes on the same solid support can contain the same spatial labels. In some embodiments, at least 95% of the barcodes on the same solid support can contain the same spatial labels.

[0103] 10 represented on a plurality of solid supports (e.g., beads) 6 There can be many unique spatial label sequences, 1 or more. Spatial labels can be 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range of nucleotides in length between any two of these values, or can be about these values ​​or ranges. Spatial labels can be at least or at most 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, 200, or 300 nucleotides in length. Spatial labels can include about 5 to about 200 nucleotides. Spatial labels can include about 10 to about 150 nucleotides. Spatial labels can include about 20 to about 125 nucleotides in length.

[0104] cell labeling A barcode can include one or more cell markers. In some embodiments, a cell marker can include a nucleic acid sequence that provides information to determine which target nucleic acid came from which cell. In some embodiments, the cell marker can be the same for all barcodes attached to a given solid support (e.g., beads), but can also be different for different solid supports (e.g., beads). In some embodiments, the percentage of barcodes on the same solid support that contain the same cell marker can be 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, 100%, or a number or range between or about any two of these values. In some embodiments, the percentage of barcodes on the same solid support that contain the same cell marker can be at least or at most 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, or 100%. For example, at least 60% of the barcodes on the same solid support can contain the same cell marker. As another example, at least 95% of the barcodes on the same solid support can contain the same cell label.

[0105] 10 represented on a plurality of solid supports (e.g., beads) 6 There can be many unique cell label sequences, 1 or more. The cell label can be 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range between any two of these values, or can be about these values ​​or ranges in length. The cell label can be at least or at most 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, 200, or 300 nucleotides in length. For example, the cell label can include about 5 to about 200 nucleotides. As another example, the cell label can include about 10 to about 150 nucleotides. The cell label can include about 20 to about 125 nucleotides in length.

[0106] Barcode sequence The barcode can include one or more barcode sequences. In some embodiments, the barcode sequence can include a nucleic acid sequence that provides identifying information about a particular type of target nucleic acid species hybridized to the barcode. The barcode sequence can include a nucleic acid sequence that provides a counter (e.g., provides a rough approximation) of a particular occurrence of a target nucleic acid species hybridized to the barcode (e.g., target binding region).

[0107] In some embodiments, a diverse set of barcode sequences is attached to a given solid support (e.g., a bead). 2 pieces, 10 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 10 8 pieces, 10 9 There can be, or between or in a range of any two of these values, or about these values ​​or ranges of unique molecular label sequences. For example, the plurality of barcodes can include about 6561 barcode sequences having distinct sequences. As another example, the plurality of barcodes can include about 65536 barcode sequences having distinct sequences. In some embodiments, at least or at most 10 2 pieces, 10 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 10 8 Pieces or 10 9 There can be a unique barcode sequence. The unique molecular label sequence can be attached to a given solid support (e.g., a bead).

[0108] A barcode can be 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range of nucleotides in length between any two of these values, or can be about these values ​​or ranges. A barcode can be at least or at most 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, 200, or 300 nucleotides in length.

[0109] molecular label A stochastic barcode can include one or more molecular labels. A molecular label can include a barcode sequence. In some embodiments, a molecular label can include a nucleic acid sequence that provides identifying information about a particular type of target nucleic acid species hybridized to the stochastic barcode. A molecular label can include a nucleic acid sequence that provides a counter of a particular occurrence of a target nucleic acid species hybridized to the stochastic barcode (e.g., a target binding region).

[0110] In some embodiments, a diverse set of molecular labels is attached to a given solid support (e.g., a bead). 2 pieces, 10 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 10 8 pieces, 10 9 There can be a number or number or range of unique molecular label sequences, or about these values ​​or ranges of unique molecular label sequences. For example, the plurality of stochastic barcodes can include about 6561 molecular labels with distinct sequences. As another example, the plurality of stochastic barcodes can include about 65536 molecular labels with distinct sequences. In some embodiments, at least or at most 10 2 pieces, 10 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 108 Pieces or 10 9 There can be a number of unique molecular beacon sequences. The unique molecular beacon sequences can be attached to a given solid support (e.g., a bead).

[0111] In the case of probabilistic barcoding using multiple probabilistic barcodes, the ratio of the number of distinct molecular label sequences to the number of occurrences of any target can be 1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1, 10:1, 11:1, 12:1, 13:1, 14:1, 15:1, 16:1, 17:1, 18:1, 19:1, 20:1, 30:1, 40:1, 50:1, 60:1, 70:1, 80:1, 90:1, 100:1, or a ratio between or between any two of these values ​​or a range, or a unique ratio of about these values ​​or ranges. The targets can be mRNA species, including mRNA fragments with identical or nearly identical sequences. In some embodiments, the ratio of the number of different molecular label sequences to the number of occurrences of any target can be at least or at most 1:1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1, 10:1, 11:1, 12:1, 13:1, 14:1, 15:1, 16:1, 17:1, 18:1, 19:1, 20:1, 30:1, 40:1, 50:1, 60:1, 70:1, 80:1, 90:1, or 100:1.

[0112] Molecular labels can be 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range between any two of these values, or can be about these values ​​or ranges in length. Molecular labels can be at least or at most 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 100, 200, or 300 nucleotides in length.

[0113] Target binding region The barcode can include one or more target binding regions, such as capture probes. In some embodiments, the target binding region can hybridize to a target of interest. In some embodiments, the target binding region can include a nucleic acid sequence that specifically hybridizes to a target (e.g., a target nucleic acid, a target molecule, e.g., a cellular nucleic acid to be analyzed), e.g., a specific gene sequence. In some embodiments, the target binding region can include a nucleic acid sequence that can attach (e.g., hybridize) to a specific location of a specific target nucleic acid. In some embodiments, the target binding region can include a nucleic acid sequence that can specifically hybridize to a restriction enzyme site overhang (e.g., an EcoRI sticky end overhang). The barcode can then be ligated to any nucleic acid molecule that includes a sequence complementary to the restriction site overhang.

[0114] In some embodiments, the target binding region can include a non-specific target nucleic acid sequence. A non-specific target nucleic acid sequence can refer to a sequence that can bind to multiple target nucleic acids independent of the specific sequence of the target nucleic acid. For example, the target binding region can include a random multimer sequence or an oligo(dT) sequence that hybridizes to a poly(A) tail on an mRNA molecule. The random multimer sequence can be, for example, a random dimer, trimer, tetramer, pentamer, hexamer, heptamer, octamer, nonamer, decamer, or higher multimer sequence of any length. In some embodiments, the target binding region is the same for all barcodes attached to a given bead. In some embodiments, the target binding regions of multiple barcodes attached to a given bead can include two or more different target binding sequences. A target binding region can be 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, or a number or range between any two of these values, or can be about these values ​​or ranges in length. A target binding region can be at most about 5, 10, 15, 20, 25, 30, 35, 40, 45, or 50 nucleotides in length.

[0115] In some embodiments, the target binding region can comprise an oligo(dT) that can hybridize to an mRNA that contains a polyadenylated end. The target binding region can be gene specific. For example, the target binding region can be configured to hybridize to a specific region of the target. The target binding region can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 nucleotides in length or a number or range between any two of these values, or about these values ​​or ranges. The target binding region can be at least or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, or 30 nucleotides in length. The target binding region can be from about 5 to about 30 nucleotides in length. When the barcode comprises a gene-specific target binding region, the barcode can be referred to herein as a gene-specific barcode.

[0116] Orientation Characteristics Barcodes can include one or more orientation properties that can be used to orient (e.g., align) the barcodes. Barcodes can include isoelectric focusing moieties. Different barcodes can include different isoelectric focusing points. When these barcodes are introduced into a sample, the sample can undergo isoelectric focusing to orient the barcodes in a known manner. In this manner, the orientation properties can be used to create a known map of barcodes in the sample. Exemplary orientation properties can include electrophoretic mobility (e.g., based on the size of the barcode), isoelectric point, spin, conductivity, and / or self-assembly. For example, barcodes with self-assembly orientation properties can self-assemble into a specific orientation (e.g., nucleic acid nanostructures).

[0117] Affinity Trait The barcode can include one or more affinity features. For example, the spatial label can include an affinity feature. The affinity feature can include a chemical and / or biological moiety that can facilitate binding of the barcode to another entity (e.g., a cellular receptor). For example, the affinity feature can include an antibody, e.g., an antibody specific to a particular moiety (e.g., a receptor) on the sample. In some embodiments, the antibody can guide the barcode to a particular cell type or molecule. Targets in and / or near a particular cell type or molecule can be stochastically labeled. The affinity feature can provide spatial information in addition to the nucleotide sequence of the spatial label, since in some embodiments, the antibody can guide the barcode to a particular location. The antibody can be a therapeutic antibody, e.g., a monoclonal antibody or a polyclonal antibody. The antibody can be humanized or chimerized. The antibody can be a naked antibody or a fusion antibody.

[0118] An antibody can be a full-length (i.e., naturally occurring or formed by recombination processes of normal immunoglobulin gene fragments) immunoglobulin molecule (e.g., an IgG antibody) or an immunoreactive (i.e., specific binding) portion of an immunoglobulin molecule, such as an antibody fragment.

[0119] An antibody fragment can be a portion of an antibody, such as, for example, F(ab')2, Fab', Fab, Fv, sFv, etc. In some embodiments, an antibody fragment can bind to the same antigen recognized by the full-length antibody. An antibody fragment can include an isolated fragment consisting of the variable region of an antibody, such as an "Fv" fragment consisting of the heavy chain, the light chain, and the variable region of a recombinant single chain polypeptide molecule in which the light and heavy variable regions are connected by a peptide linker ("scFv protein"). Exemplary antibodies can include, but are not limited to, antibodies of cancer cells, antibodies of viruses, antibodies that bind to cell surface receptors (CD8, CD34, CD45), and therapeutic antibodies.

[0120] Universal Adapter Primer A barcode can include one or more universal adapter primers. For example, a gene-specific barcode, such as a gene-specific stochastic barcode, can include a universal adapter primer. A universal adapter primer can refer to a nucleotide sequence that is universal across all barcodes. A universal adapter primer can be used in the construction of a gene-specific barcode. A universal adapter primer can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 nucleotides in length or a number or range between any two of these values, or about these values ​​or ranges. The universal adapter primer can be at least or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, or 30 nucleotides in length. The universal adapter primer can be between 5 and 30 nucleotides in length.

[0121] Linker When a barcode contains more than one type of label (e.g., more than one barcode sequence, such as more than one cell label or one molecular label), a linker label sequence may be interspersed between the labels. The linker label sequence can be at least about 5, about 10, about 15, about 20, about 25, about 30, about 35, about 40, about 45, about 50, or more nucleotides in length. The linker label sequence can be at most about 5, about 10, about 15, about 20, about 25, about 30, about 35, about 40, about 45, about 50, or more nucleotides in length. In some cases, the linker label sequence is 12 nucleotides in length. The linker label sequence can be used to facilitate the synthesis of the barcode. The linker label can include an error-correcting (e.g., Hamming) code.

[0122] solid support A barcode, such as a stochastic barcode disclosed herein, can be associated with a solid support in some embodiments. The solid support can be, for example, a synthetic particle. In some embodiments, some or all of the barcode sequences, such as molecular labels, of a stochastic barcode (e.g., a first barcode sequence) of a plurality of barcodes (e.g., a first plurality of barcodes) on a solid support differ by at least one nucleotide. The cellular labels of barcodes on the same solid support can be the same. The cellular labels of barcodes on different solid supports can differ by at least one nucleotide. For example, a first cellular label of a first plurality of barcodes on a first solid support can have the same sequence and a second cellular label of a second plurality of barcodes on a second solid support can have the same sequence. The first cellular label of the first plurality of barcodes on a first solid support and the second cellular label of the second plurality of barcodes on a second solid support can differ by at least one nucleotide. The cellular labels can be, for example, about 5 to about 20 nucleotides in length. The barcode sequence can be, for example, about 5 to about 20 nucleotides in length. The synthetic particle can be, for example, a bead.

[0123] The beads can be, for example, silica gel beads, controlled pore glass beads, magnetic beads, Dynabeads, Sephadex / Sepharose beads, cellulose beads, polystyrene beads, or any combination thereof. The beads can include materials such as polydimethylsiloxane (PDMS), polystyrene, glass, polypropylene, agarose, gelatin, hydrogels, paramagnetic materials, ceramics, plastics, glass, methylstyrene, acrylic polymers, latex, Sepharose, cellulose, nylon, silicone, or any combination thereof.

[0124] In some embodiments, the beads can be polymeric beads, such as deformable beads or gel beads (such as gel beads from 10X Genomics, San Francisco, CA) that are functionalized with barcodes or stochastic barcodes. In some implementations, the gel beads can comprise a polymer-based gel. The gel beads can be generated, for example, by encapsulating one or more polymer precursors in a droplet. Exposing the polymer precursor to an accelerant (e.g., tetramethylethylenediamine (TEMED)) can generate the gel beads.

[0125] In some embodiments, the particles can be degradable. For example, polymer beads can, for example, dissolve, melt, or decompose under desired conditions. The desired conditions can include environmental conditions. The desired conditions can cause the polymer beads to dissolve, melt, or decompose in a controlled manner. Gel beads can dissolve, melt, or decompose due to chemical, physical, biological, thermal, magnetic, electrical, or optical stimuli, or any combination thereof.

[0126] Analytes and / or reagents, such as oligonucleotide barcodes, may be bound / immobilized to the interior surface of the gel beads (e.g., the interior accessible via diffusion of the oligonucleotide barcodes and / or materials used to generate the oligonucleotide barcodes) and / or to the exterior surface of the gel beads or any other microcapsules described herein. The binding / immobilization may be via any form of chemical bond (e.g., covalent bond, ionic bond) or physical phenomenon (e.g., van der Waals forces, dipole-dipole interactions, etc.). In some embodiments, the binding / immobilization of reagents to the gel beads or any other microcapsules described herein may be reversible, such as via a labile moiety (e.g., via a chemical crosslinker, including the chemical crosslinkers described herein). Upon application of a stimulus, the labile moiety may be cleaved, freeing the immobilized reagent. In some embodiments, the labile moiety is a disulfide bond. For example, if an oligonucleotide barcode is immobilized to a gel bead via a disulfide bond, exposure of the disulfide bond to a reducing agent may cleave the disulfide bond and release the oligonucleotide barcode from the bead. The labile moiety may be included as part of the gel bead or microcapsule, as part of a chemical linker that links the reagent or analyte to the gel bead or microcapsule, and / or as part of the reagent or analyte. In some embodiments, at least one barcode of the plurality of barcodes can be immobilized to the particle, partially immobilized on the particle, encapsulated within the particle, partially encapsulated within the particle, or any combination thereof.

[0127] In some embodiments, the gel beads can comprise a wide range of different polymers, including, but not limited to, polymers, thermosensitive polymers, photosensitive polymers, magnetic polymers, pH sensitive polymers, salt sensitive polymers, chemically sensitive polymers, polyelectrolytes, polysaccharides, peptides, proteins, and / or plastics. The polymer may include materials such as, but not limited to, poly(N-isopropylacrylamide) (PNIPAAm), poly(styrenesulfonate) (PSS), poly(allylamine) (PAAm), poly(acrylic acid) (PAA), poly(ethyleneimine) (PEI), poly(diallyldimethylammonium chloride) (PDADMAC), poly(pyrrole) (PPy), poly(vinylpyrrolidone) (PVPON), poly(vinylpyridine) (PVP), poly(methacrylic acid) (PMAA), poly(methyl methacrylic acid) (PMMA), polystyrene (PS), poly(tetrahydrofuran) (PTHF), poly(phthaladehyde) (PTHF), poly(hexylviologen) (PHV), poly(L-lysine) (PLL), poly(L-arginine) (PARG), poly(lactic-co-glycolic acid) (PLGA), and the like.

[0128] Many chemical stimuli can be used to trigger the collapse, dissolution, or degradation of beads. Examples of these chemical changes may include, but are not limited to, pH-mediated modifications to the bead wall, the collapse of the bead wall via chemical cleavage of cross-links, triggering the depolymerization of the bead wall, and bead wall switching reactions. Bulk modifications can also be used to trigger the collapse of the beads.

[0129] Bulk or physical modifications to microcapsules through various stimuli also offer many advantages in designing capsules to release reagents. Bulk or physical modifications occur on a macroscopic scale, with bead bursting being the result of mechanical-physical forces induced by the stimulus. These processes can include, but are not limited to, pressure-induced bursting, bead wall melting, or changes in the porosity of the bead wall.

[0130] Biological stimuli can also be used to trigger the disintegration, dissolution, or degradation of the beads. In general, biological stimuli are similar to chemical triggers, but many examples use biomolecules or molecules commonly found in biological systems, such as enzymes, peptides, sugars, fatty acids, and nucleic acids. For example, the beads may include polymers with peptide crosslinks that are susceptible to cleavage by specific proteases. More specifically, one example may include microcapsules that include GFLGK peptide crosslinks. Upon addition of a biological trigger, such as the protease Cathepsin B, the peptide crosslinks in the shell wall are cleaved, releasing the contents of the bead. In other cases, the protease may be heat activated. In another example, the beads include a shell wall that includes cellulose. The addition of the hydrolytic enzyme chitosan serves as a biological trigger for cleavage of the cellulose bonds, depolymerization of the shell wall, and release of its contents.

[0131] Application of a thermal stimulus can also be induced to trigger the release of the contents of the beads. Temperature changes can cause various changes in the beads. Thermal changes can melt the beads so that the bead walls collapse. In other cases, heat can increase the internal pressure of the internal components of the beads so that the beads collapse or explode. In still other cases, heat can transform the beads into a shrinking, dehydrated state. Heat can also act on heat-sensitive polymers within the walls of the beads, causing them to collapse.

[0132] The inclusion of magnetic nanoparticles in the bead walls of the microcapsules can trigger the collapse of the beads and guide the beads within the array. The devices of the present disclosure can include magnetic beads for any purpose. In one example, the incorporation of Fe3O4 nanoparticles into the polyelectrolyte that encapsulates the beads triggers the collapse in the presence of an oscillating magnetic field stimulus.

[0133] Beads can also disintegrate, dissolve, or break down as a result of electrical stimulation. Similar to the magnetic particles described in the previous section, electrically susceptible beads can both trigger the disintegration of the beads and allow other functions such as alignment in an electric field, electrical conductivity, or redox reactions. In one example, beads containing electrically susceptible materials align in an electric field so that the release of internal reagents can be controlled. In another example, the electric field can induce redox reactions within the bead wall itself, which can increase porosity.

[0134] Light stimulation can also be used to disrupt the beads. Many light triggers are possible and can include systems using various molecules such as nanoparticles and chromophores that can absorb photons of a particular range of wavelengths. For example, metal oxide coatings can be used as capsule triggers. UV irradiation of SiO2-coated polyelectrolyte capsules can cause the bead walls to collapse. In yet another example, photoswitchable materials such as azobenzene groups can be incorporated into the bead walls. Upon application of UV or visible light, these chemicals undergo reversible cis to trans isomerization upon absorption of photons. In this embodiment, the incorporation of photonic switches creates bead walls that can collapse or become more porous when a light trigger is applied.

[0135] For example, in a non-limiting example of barcoding (e.g., stochastic barcoding) shown in FIG. 2, after introducing cells, such as single cells, to a plurality of microwells of a microwell array in block 208, beads can be introduced to a plurality of microwells of the microwell array in block 212. Each microwell can include one bead. The beads can include a plurality of barcodes. The barcodes can include a 5' amine region attached to the beads. The becodes can include a universal label, a barcode sequence (e.g., a molecular label), a target binding region, or any combination thereof.

[0136] The barcodes disclosed herein can be associated with (e.g., attached to) a solid support (e.g., a bead). Each barcode associated with a solid support can include a barcode selected from a group including at least 100 or 1000 barcode sequences having a unique sequence. In some embodiments, different barcodes associated with a solid support can include barcode sequences of different sequences. In some embodiments, a percentage of the barcodes associated with a solid support include the same cell label. For example, the percentage can be 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, 100%, or a number or range between any two of these values, or about these values ​​or ranges. As another example, the percentage can be at least or at most 60%, 70%, 80%, 85%, 90%, 95%, 97%, 99%, or 100%. In some embodiments, the barcodes associated with a solid support can have the same cell label. The barcodes associated with the different solid supports can have different cell markers selected from a group comprising at least 100 or 1000 cell markers having unique sequences.

[0137] A solid support (e.g., a bead) can be associated with (e.g., attached to) the barcodes disclosed herein. In some embodiments, stochastic barcoding of multiple targets in a sample can be performed using a solid support that includes multiple synthetic particles with multiple barcodes associated with them. In some embodiments, the solid support can include multiple synthetic particles with multiple barcodes associated with them. The spatial labeling of multiple barcodes on different solid supports can differ by at least one nucleotide. The solid support can include multiple barcodes, for example, in two or three dimensions. The synthetic particles can be beads. The beads can be silica gel beads, controlled pore glass beads, magnetic beads, Dynabeads, Sephadex / Sepharose beads, cellulose beads, polystyrene beads, or any combination thereof. The solid support can include a polymer, matrix, hydrogel, needle array device, antibody, or any combination thereof. In some embodiments, the solid support can be free floating. In some embodiments, the solid support can be incorporated into a semi-solid or solid array. It may not be necessary to associate a solid support with a barcode. The barcodes can be individual nucleotides. The bar code may be associated with a substrate.

[0138] As used herein, the terms "tethered," "attached," or "immobilized" are used interchangeably and can refer to covalent or non-covalent means of attaching a barcode to a solid support. Any of a variety of different solid supports can be used as solid supports for attaching pre-synthesized barcodes or for in situ solid phase synthesis of barcodes.

[0139] In some embodiments, the solid support is a bead. The bead can be one or more types of solid, porous, or hollow spheres, balls, bearings, cylinders, or other similar configurations that can immobilize (e.g., covalently or non-covalently) nucleic acids. The bead can be composed of, for example, plastic, ceramic, metal, polymeric materials, or any combination thereof. The bead can be or include discrete particles that are spheres (e.g., globules), or can have a non-spherical or irregular shape, such as a cube, cuboid, pyramidal, cylindrical, conical, elliptical, or discoid. In some embodiments, the bead can be non-spherical.

[0140] The beads can comprise a variety of materials, including, but not limited to, paramagnetic (e.g., magnesium, molybdenum, lithium, and tantalum), superparamagnetic (e.g., ferrite (Fe3O4; magnetite) nanoparticles), ferromagnetic (e.g., iron, nickel, cobalt, any alloys thereof, and any rare earth metal compounds), ceramic, plastic, glass, polystyrene, silica, methylstyrene, acrylic polymers, titanium, latex, sepharose, agarose, hydrogels, polymers, cellulose, nylon, or any combination thereof.

[0141] In some embodiments, the beads (e.g., the beads to which the labels are attached) are hydrogel beads. In some embodiments, the beads comprise a hydrogel.

[0142] Some embodiments disclosed herein include one or more particles (e.g., beads). Each particle can include a plurality of oligonucleotides (e.g., barcodes). Each of the plurality of oligonucleotides can include a barcode sequence (e.g., molecular label), a cell label, and a target binding region (e.g., an oligo(dT) sequence, a gene-specific sequence, a random multimer, or a combination thereof). The cell label sequence of each of the plurality of oligonucleotides can be the same. The cell label sequences of the oligonucleotides on different particles can be different so that the oligonucleotides on different particles can be distinguished. The number of different cell label sequences can be different in different embodiments. In some embodiments, the number of cell labeling sequences is 10, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 10 6 , 10 7 , 10 8 , 10 9 or a number or range between any two of these values, or about these values ​​or ranges, or 10 9 In some embodiments, the number of cell labeling sequences can be at least or at most 10, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 10 6 , 10 7 , 10 8 , or 10 9In some embodiments, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, or more of the plurality of particles contain oligonucleotides having the same cellular sequence. In some embodiments, the plurality of particles containing oligonucleotides having the same cellular sequence can be at most 0.1%, 0.2%, 0.3%, 0.4%, 0.5%, 0.6%, 0.7%, 0.8%, 0.9%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, or more. In some embodiments, none of the particles in the plurality have the same cell-labeling sequence.

[0143] The multiple oligonucleotides on each particle can include different barcode sequences (e.g., molecular labels). In some embodiments, the number of barcode sequences is 10, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 10 6 , 10 7 , 10 8 , 10 9 In some embodiments, the number of barcode sequences can be at least or at most 10, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 10 6 , 10 7 , 10 8 , or 10 9For example, at least 100 of the plurality of oligonucleotides comprise different barcode sequences. As another example, in a particle, at least 100, 500, 1000, 5000, 10000, 15000, 20000, 50000, or a number or range between any two of these values, or more than 50000 of the plurality of oligonucleotides comprise different barcode sequences. Some embodiments provide a plurality of particles comprising barcodes. In some embodiments, the ratio of occurrences (or copies or numbers) of the targets to be labeled to the different barcode sequences can be at least 1:1, 1:2, 1:3, 1:4, 1:5, 1:6, 1:7, 1:8, 1:9, 1:10, 1:11, 1:12, 1:13, 1:14, 1:15, 1:16, 1:17, 1:18, 1:19, 1:20, 1:30, 1:40, 1:50, 1:60, 1:70, 1:80, 1:90, or more. In some embodiments, each of the plurality of oligonucleotides further comprises a sample label, a universal label, or both. The particle can be, for example, a nanoparticle or a microparticle.

[0144] The size of the beads can vary. For example, the diameter of the beads can range from 0.1 μm to 50 μm. In some embodiments, the diameter of the beads can be 0.1 μm, 0.5 μm, 1 μm, 2 μm, 3 μm, 4 μm, 5 μm, 6 μm, 7 μm, 8 μm, 9 μm, 10 μm, 20 μm, 30 μm, 40 μm, 50 μm, or a number or range between any two of these values, or about these values ​​or ranges.

[0145] The diameter of the bead can be related to the diameter of the well of the substrate. In some embodiments, the diameter of the bead can be 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100% or a number or range between any two of these values, about these values ​​or ranges, longer or shorter than the diameter of the well. The diameter of the bead can be related to the diameter of a cell (e.g., a single cell that is taken up by the well of the substrate). In some embodiments, the diameter of the bead can be at least or at most 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or 100% longer or shorter than the diameter of the well. The diameter of the bead can be related to the diameter of a cell (e.g., a single cell that is taken up by the well of the substrate). In some embodiments, the diameter of the beads can be 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%, 150%, 200%, 250%, 300%, or a number or range between, about, any two of these values, longer or shorter than the diameter of the well. In some embodiments, the diameter of the beads can be at least or at most 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%, 150%, 200%, 250%, or 300% longer or shorter than the diameter of the well.

[0146] The beads can be attached to and / or embedded in a substrate. The beads can be attached to and / or embedded in a gel, hydrogel, polymer, and / or matrix. The spatial location of the beads within the substrate (e.g., gel, matrix, scaffold, or polymer) can be identified using spatial labels present in a barcode on the beads that can serve as a location address.

[0147] Examples of beads include, but are not limited to, streptavidin beads, agarose beads, magnetic beads, Dynabeads®, MACS® microbeads, antibody-conjugated beads, (e.g., anti-immunoglobulin microbeads), protein A-conjugated beads, protein G-conjugated beads, protein A / G-conjugated beads, protein L-conjugated beads, oligo(dT)-conjugated beads, silica beads, silica-like beads, anti-biotin microbeads, anti-fluorescent dye microbeads, and BcMag™ carboxyl-terminated magnetic beads.

[0148] The beads can be associated (e.g., impregnated) with quantum dots or fluorescent dyes to fluoresce in one or more optical channels. The beads can be associated with iron oxide or chromium oxide to make them paramagnetic or ferromagnetic. The beads can be identifiable. For example, the beads can be imaged using a camera. The beads can have a detectable code associated with them. For example, the beads can include a barcode. The beads can change size, for example, due to swelling in an organic or inorganic solution. The beads can be hydrophobic. The beads can be hydrophilic. The beads can be biocompatible.

[0149] The solid support (e.g., beads) can be visualized. The solid support can include a visualization tag (e.g., a fluorescent dye). The solid support (e.g., beads) can be etched with an identifier (e.g., a number). The identifier can be visualized through imaging of the beads.

[0150] The solid support may comprise an insoluble, semi-soluble, or insoluble material. A solid support may be referred to as "functionalized" if it comprises a linker, scaffold, building block, or other reactive moiety attached thereto, whereas it may be referred to as "non-functionalized" if it does not have such reactive moieties attached thereto. The solid support may be freely utilized in a microtiter well format; in a flow-through format, such as in a column; or in a solution, such as a display stick.

[0151] A solid support can include a membrane, paper, plastic, coated surface, flat surface, glass, slide, chip, or any combination thereof. A solid support can take the form of a resin, gel, microsphere, or other geometric configuration. A solid support can include planar supports such as silica chips, microparticles, nanoparticles, plates, arrays, capillaries, glass fiber filters, glass surfaces, metal surfaces (steel, gold, silver, aluminum, silicon, and copper), glass supports, plastic supports, silicon supports, chips, filters, membranes, microwell plates, slides, multiwell plates, or plastic materials including membranes (e.g., formed of polyethylene, polypropylene, polyamide, polyvinylidene fluoride), and / or wafers, combs, pins, or needles (e.g., arrays of pins suitable for combinatorial synthesis or analysis), or arrays of pins or wafers (e.g., silicon wafers), wafers with pins with or without filter bottoms, or beads in nanoliter wells of flat surfaces such as wafers.

[0152] The solid support can include a polymer matrix (e.g., a gel, a hydrogel). The polymer matrix can be capable of penetrating intracellular spaces (e.g., around organelles). The polymer matrix can be pumpable throughout the circulatory system.

[0153] The solid support can be a biomolecule. For example, the solid support can be a nucleic acid, a protein, an antibody, a histone, a cellular compartment, a lipid, a carbohydrate, etc. A biomolecule solid support can be amplified, translated, transcribed, degraded, and / or modified (e.g., pegylated, sumoylated, acetylated, methylated). A biomolecule solid support can provide spatial and temporal information in addition to the spatial label attached to the biomolecule. For example, a biomolecule can contain a first confirmation when unmodified, but can change to a second confirmation when modified. Different structures can expose the barcodes (e.g., stochastic barcodes) of the present disclosure to a target. For example, a biomolecule can contain a barcode that is inaccessible due to folding of the biomolecule. When the biomolecule is modified (e.g., acetylated), the biomolecule can change structure to expose the barcode. The timing of the modification can provide another time dimension to the barcoding method of the present disclosure.

[0154] In some embodiments, biomolecules comprising the barcode reagents of the present disclosure can be located within the cytoplasm of a cell. Upon activation, the biomolecules can translocate to the cell nucleus where barcoding can occur. In this manner, modifications of the biomolecules can encode additional spatial-temporal information of the target identified by the barcode.

[0155] Substrate and microwell array As used herein, a substrate can refer to a type of solid support. A substrate can refer to a solid support that can include the barcodes and stochastic barcodes of the present disclosure. A substrate can, for example, include a plurality of microwells. For example, a substrate can be a well array that includes two or more microwells. In some embodiments, a microwell can include a small reaction chamber of a defined volume. In some embodiments, a microwell can incorporate one or more cells. In some embodiments, a microwell can incorporate only one cell. In some embodiments, a microwell can incorporate one or more solid supports. In some embodiments, a microwell can incorporate only one solid support. In some embodiments, a microwell can incorporate one cell and one solid support (e.g., a bead). A microwell can include a combination barcode reagent of the present disclosure.

[0156] Barcoding methods The present disclosure provides a method for estimating the number of distinct targets at distinct locations in a physical sample (e.g., tissue, organ, tumor, cell). The method can include placing a barcode (e.g., a stochastic barcode) in proximity to the sample, lysing the sample, associating the barcode with the distinct targets, amplifying the targets, and / or digitally counting the targets. The method can further include analyzing and / or visualizing information obtained from the spatial labeling on the barcode. In some embodiments, the method includes visualizing a plurality of targets in the sample. Mapping the plurality of targets to a map of the sample can include generating a two-dimensional or three-dimensional map of the sample. The two-dimensional and three-dimensional maps can be generated before or after barcoding (e.g., stochastically barcoding) the plurality of targets in the sample. Visualizing a plurality of targets in the sample can include mapping the plurality of targets to a map of the sample. Mapping the plurality of targets to a map of the sample can include generating a two-dimensional or three-dimensional map of the sample. The two-dimensional and three-dimensional maps can be generated before or after barcoding a plurality of targets in a sample. In some embodiments, the two-dimensional and three-dimensional maps can be generated before or after lysing the sample. Lysing the sample before or after generating the two-dimensional or three-dimensional map can include heating the sample, contacting the sample with a detergent, changing the pH of the sample, or any combination thereof.

[0157] In some embodiments, barcoding the plurality of targets comprises hybridizing a plurality of barcodes to the plurality of targets to create barcoded targets (e.g., stochastic barcoded targets). Barcoding the plurality of targets can comprise generating an indexed library of barcoded targets. Generating the indexed library of barcoded targets can be performed using a solid support that includes a plurality of barcodes (e.g., stochastic barcodes).

[0158] Contact between sample and barcode The present disclosure provides a method of contacting a sample (e.g., cells) with a substrate of the present disclosure. For example, a sample including a cell, organ, or thin section of tissue can be contacted with a barcode (e.g., a stochastic barcode). The cells can be contacted, for example, by gravity flow, where the cells settle and create a monolayer. The sample can be a thin section of tissue. The thin section can be disposed on a substrate. The sample can be one-dimensional (e.g., forming a plane). The sample (e.g., cells) can be spread across the substrate, for example, by growing / culturing the cells on the substrate.

[0159] When the barcode is in the vicinity of the target, the target can hybridize to the barcode. The barcodes can be contacted in a non-depletable ratio such that each distinct target can be associated with a distinct barcode of the present disclosure. To ensure efficient association of the target with the barcode, the target can be cross-linked to the barcode.

[0160] cell lysis Following partitioning of the cells and barcodes, the cells can be lysed to release the target molecules. Cell lysis can be achieved by any of a wide variety of means, for example, by chemical or biological means, by osmotic shock, or by thermal, mechanical, or optical lysis. Cells can be lysed by the addition of a cell lysis buffer containing a detergent (e.g., SDS, lithium dodecyl sulfate, Triton X-100, Tween-20, or NP-40), an organic solvent (e.g., methanol or acetone), a digestive enzyme (e.g., proteinase K, pepsin, or trypsin), or any combination thereof. To increase the association of the target with the barcode, the diffusion rate of the target molecule can be altered, for example, by lowering the temperature of the lysate and / or increasing the viscosity of the lysate.

[0161] In some embodiments, the sample can be lysed using filter paper, which can be immersed with the top of the filter paper in the lysis buffer, and the filter paper can be applied to the sample with a pressure that can promote lysis of the sample and hybridization of the sample target to the substrate.

[0162] In some embodiments, lysis can be performed by mechanical lysis, heat lysis, optical lysis, and / or chemical lysis. Chemical lysis can include the use of digestive enzymes such as proteinase K, pepsin, and trypsin. Lysis can be performed by adding a lysis buffer to the substrate. The lysis buffer can include Tris-HCl. The lysis buffer can include at least about 0.01M, 0.05M, 0.1M, 0.5M, 1M, or more Tris-HCl. The lysis buffer can include at most about 0.01M, 0.05M, 0.1M, 0.5M, 1M, or more Tris-HCl. The lysis buffer can include about 0.1M Tris-HCl. The pH of the lysis buffer can be at least about 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more. The pH of the lysis buffer can be at most about 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more. In some embodiments, the pH of the lysis buffer is about 7.5. The lysis buffer can include a salt (e.g., LiCl). The concentration of the salt in the lysis buffer can be at least about 0.1 M, 0.5 M, 1 M, or more. The concentration of the salt in the lysis buffer can be at most about 0.1 M, 0.5 M, 1 M, or more. In some embodiments, the concentration of the salt in the lysis buffer is about 0.5 M. The lysis buffer can include a detergent (e.g., SDS, lithium dodecyl sulfate, Triton X-100, Tween-20, NP-40). The concentration of the detergent in the lysis buffer can be at least about 0.0001%, 0.0005%, 0.001%, 0.005%, 0.01%, 0.05%, 0.1%, 0.5%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, or more. The concentration of the detergent in the lysis buffer can be at most about 0.0001%, 0.0005%, 0.001%, 0.005%, 0.01%, 0.05%, 0.1%, 0.5%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, or more. In some embodiments, the concentration of the detergent in the lysis buffer can be about 1% lithium dodecyl sulfate.The time used in the lysis method can depend on the amount of detergent used. In some embodiments, the more detergent used, the shorter the time required for lysis. The lysis buffer can include a chelating agent (e.g., EDTA, EGTA). The concentration of the chelating agent in the lysis buffer can be at least about 1 mM, 5 mM, 10 mM, 15 mM, 20 mM, 25 mM, 30 mM, or more. The concentration of the chelating agent in the lysis buffer can be at most about 1 mM, 5 mM, 10 mM, 15 mM, 20 mM, 25 mM, 30 mM, or more. In some embodiments, the concentration of the chelating agent in the lysis buffer is about 10 mM. The lysis buffer can include a reducing agent (e.g., beta-mercaptoethanol, DTT). The concentration of the reducing agent in the lysis buffer can be at least about 1 mM, 5 mM, 10 mM, 15 mM, 20 mM, or more. The concentration of the reducing agent in the lysis buffer can be at most about 1 mM, 5 mM, 10 mM, 15 mM, 20 mM, or more. In some embodiments, the concentration of the reducing agent in the lysis buffer is about 5 mM. In some embodiments, the lysis buffer can include about 0.1 M Tris-HCl, about pH 7.5, about 0.5 M LiCl, about 1% lithium dodecyl sulfate, about 10 mM EDTA, and about 5 mM MDTT.

[0163] Lysing can be performed at a temperature of about 4°C, 10°C, 15°C, 20°C, 25°C, 30°C. Lysing can be performed for about 1 minute, 5 minutes, 10 minutes, 15 minutes, 20 minutes, or more. The lysed cells can contain at least about 100,000, 200,000, 300,000, 400,000, 500,000, 600,000, 700,000, or more target nucleic acid molecules. The lysed cells can contain at most about 100,000, 200,000, 300,000, 400,000, 500,000, 600,000, 700,000, or more target nucleic acid molecules.

[0164] Attaching a barcode to a target nucleic acid molecule Following lysis of the cells and release of the nucleic acid molecules therefrom, the nucleic acid molecules can be randomly associated with barcodes on a coexisting solid support. The association can include hybridizing the target recognition region of the barcode to a complementary portion of the target nucleic acid molecule (e.g., the oligo(dT) of the barcode can interact with the poly(A) tail of the target). The assay conditions (e.g., buffer pH, ionic strength, temperature, etc.) used for hybridization can be selected to promote the formation of specific stable hybrids. In some embodiments, the nucleic acid molecules released from the lysed cells can be associated with (e.g., hybridized to) multiple probes on a substrate. If the probes include oligo(dT), mRNA molecules can be hybridized to the probes and reverse transcribed. The oligo(dT) portion of the oligonucleotide can serve as a primer for first strand synthesis of cDNA molecules. For example, in the non-limiting example of barcoding shown in FIG. 2, the mRNA molecules can be hybridized to the barcodes on the beads at block 216. For example, a single-stranded nucleotide fragment can be hybridized to the target binding region of the barcode.

[0165] The attachment can further include ligating the target recognition region of the barcode to a portion of the target nucleic acid molecule. For example, the target binding region can include a nucleic acid sequence that can enable specific hybridization to a restriction site overhang (e.g., an EcoRI sticky end overhang). The assay procedure can further include treating the target nucleic acid with a restriction enzyme (e.g., EcoRI) to create a restriction site overhang. The barcode can then be ligated to any nucleic acid molecule that contains a sequence complementary to the restriction site overhang. A ligase (e.g., T4 DNA ligase) can be used to join the two fragments.

[0166] For example, in the non-limiting example of barcoding shown in Figure 2, the labeled targets from multiple cells (or multiple samples) (e.g., target barcode molecules) can be subsequently pooled, e.g., into tubes, in block 220. The labeled targets can be pooled, e.g., by recovering the barcodes and / or beads to which the target barcode molecules are attached.

[0167] Recovery of the solid support-based collection of attached target barcode molecules can be performed by the use of magnetic beads and an externally applied magnetic field. Once the target barcode molecules are pooled, all further processing can proceed within one reaction vessel. Further processing can include, for example, reverse transcription reactions, amplification reactions, cleavage reactions, separation reactions, and / or nucleic acid extension reactions. Further processing reactions can be performed within the microwells, i.e., without first pooling the labeled target nucleic acid molecules from multiple cells.

[0168] Reverse transcription The present disclosure provides a method of creating a target barcode conjugate using reverse transcription (e.g., in block 224 of FIG. 2). The target barcode conjugate can include a barcode and a complementary sequence of all or a portion of a target nucleic acid (i.e., a barcoded cDNA molecule, such as a stochastic barcoded cDNA molecule). Reverse transcription of the associated RNA molecule can be performed by addition of a reverse transcription primer along with a reverse transcriptase. The reverse transcription primer can be an oligo(dT) primer, a random hexabase primer, or a target-specific oligonucleotide primer. The oligo(dT) primer can be 12-18 nucleotides or about 12-18 nucleotides in length and can bind to an endogenous poly(A) tail at the 3' end of a mammalian mRNA. The random hexabase primer can bind to the mRNA at a variety of complementary sites. The target-specific oligonucleotide primer typically selectively primes the mRNA of interest.

[0169] In some embodiments, reverse transcription of the labeled RNA molecule can be performed by the addition of a reverse transcription primer. In some embodiments, the reverse transcription primer is an oligo(dT) primer, a random hex-base primer, or a target-specific oligonucleotide primer. Generally, oligo(dT) primers are 12-18 nucleotides in length and bind to the endogenous poly(A) tail at the 3' end of mammalian mRNAs. Random hex-base primers can bind to mRNAs at a wide variety of complementary sites. Target-specific oligonucleotide primers typically selectively prime the mRNA of interest.

[0170] Reverse transcription can be performed repeatedly to generate multiple labeled cDNA molecules. The methods disclosed herein can include performing at least about 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20 reverse transcription reactions. The methods can include performing at least about 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, or 100 reverse transcription reactions.

[0171] amplification One or more nucleic acid amplification reactions (e.g., in block 228 of FIG. 2) can be performed to create multiple copies of the labeled target nucleic acid molecule. The amplification can be performed multiplexed, where multiple target nucleic acid sequences are amplified simultaneously. The amplification reaction can be used to add sequencing adapters to the nucleic acid molecule. The amplification reaction can include amplifying at least a portion of the sample label, if a sample label is present. The amplification reaction can include amplifying at least a portion of the cell label and / or barcode sequence (e.g., molecular label). The amplification reaction can include amplifying at least a portion of the sample tag, cell label, spatial label, barcode (e.g., molecular label), target nucleic acid, or a combination thereof. The amplification reaction can include amplifying 0.5%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45%, 50%, 55%, 60%, 65%, 70%, 75%, 80%, 85%, 90%, 95%, 97%, 100%, or a range or number between any two of those values, of the plurality of nucleic acids. The method can further include performing one or more cDNA synthesis reactions to generate one or more cDNA copies of the target barcode molecule that includes the sample label, the cell label, the spatial label, and / or the barcode sequence (e.g., molecular label).

[0172] In some embodiments, the amplification can be performed using polymerase chain reaction (PCR). As used herein, PCR can refer to a reaction that amplifies a specific DNA sequence in vitro by simultaneous primer extension of complementary strands of DNA. As used herein, PCR can encompass derivatives of the reaction, including, but not limited to, RT-PCR, real-time PCR, nested PCR, quantitative PCR, multiplex PCR, digital PCR, and assembly PCR.

[0173] Amplification of the labeled nucleic acid can also include non-PCR-based methods. Examples of non-PCR-based methods include, but are not limited to, multiple displacement amplification (MDA), transcription-mediated amplification (TMA), nucleic acid sequence-based amplification (NASBA), strand displacement amplification (SDA), real-time SDA, rolling circle amplification, or circle-circle amplification. Other non-PCR-based amplification methods include multiple cycles of DNA-dependent RNA polymerase-guided RNA transcription amplification or RNA-dependent DNA synthesis and transcription to amplify DNA or RNA targets, ligase chain reaction (LCR), Qβ replicase (Qβ) method, use of palindromic probes, strand displacement amplification, oligonucleotide-guided amplification using restriction endonucleases, amplification methods in which a primer hybridizes to a nucleic acid sequence and the resulting duplex is cleaved prior to extension and amplification, strand displacement amplification using a nucleic acid polymerase lacking 5' exonuclease activity, rolling circle amplification, and branched extension amplification (RAM). In some embodiments, the amplification does not generate circular transcripts.

[0174] In some embodiments, the methods disclosed herein further include performing a polymerase chain reaction on the labeled nucleic acid (e.g., labeled RNA, labeled DNA, labeled cDNA) to generate a labeled amplification product (e.g., a stochastically labeled amplification product). The labeled amplification product can be a double-stranded molecule. The double-stranded molecule can include a double-stranded RNA molecule, a double-stranded DNA molecule, or an RNA molecule hybridized to a DNA molecule. One or both strands of the double-stranded molecule can include a sample label, a spatial label, a cell label, and / or a barcode sequence (e.g., a molecular label). The labeled amplification product can be a single-stranded molecule. The single-stranded molecule can include DNA, RNA, or a combination thereof. The nucleic acids of the present disclosure can include synthetic and modified nucleic acids.

[0175] Amplification can include the use of one or more non-natural nucleotides. Non-natural nucleotides can include photosensitive or triggerable nucleotides. Examples of non-natural nucleotides can include, but are not limited to, peptide nucleic acids (PNAs), morpholinos and locked nucleic acids (LNAs), as well as glycol nucleic acids (GNAs) and threose nucleic acids (TNAs). Non-natural nucleotides can be added to one or more cycles of the amplification reaction. The addition of non-natural nucleotides can be used to identify products as specific cycles or time points in the amplification reaction.

[0176] Conducting one or more amplification reactions can include the use of one or more primers. The one or more primers can include, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, or more nucleotides. The one or more primers can include at least 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, or more nucleotides. The one or more primers can include 12 to less than 15 nucleotides. The one or more primers can anneal to at least a portion of the multiple labeled targets (e.g., stochastically labeled targets). The one or more primers can anneal to the 3' and 5' ends of the multiple labeled targets. The one or more primers can anneal to an internal region of the plurality of labeled targets, the internal region being at least about 50, 100, 150, 200, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 10 ... The primers may be 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 650, 700, 750, 800, 850, 900, or 1000 nucleotides. The one or more primers may comprise a fixed panel of primers. The one or more primers may comprise at least one or more custom primers. The one or more primers may comprise at least one or more control primers. The one or more primers may comprise at least one or more gene specific primers.

[0177] The one or more primers can include a universal primer. The universal primer can anneal to the universal primer binding site. The one or more custom primers can anneal to the first sample label, the next sample label, the spatial label, the cell label, the barcode sequence (e.g., molecular label), the target, or any combination thereof. The one or more primers can include a universal primer and a custom primer. The custom primer can be designed to amplify one or more targets. The target can include a subset of the total nucleic acids in the one or more samples. The target can include a subset of the total labeled targets in the one or more samples. The one or more primers can include at least 96 or more custom primers. The one or more primers can include at least 960 or more custom primers. The one or more primers can include at least 9600 or more custom primers. The one or more custom primers can anneal to two or more different labeled nucleic acids. The two or more different labeled nucleic acids can correspond to one or more genes.

[0178] Any amplification scheme can be used in the disclosed method. For example, in one scheme, the first PCR can amplify the molecules attached to the beads using a gene-specific primer and a primer to the universal Illumina sequencing primer 1 sequence. The second PCR can amplify the products of the first PCR using a nested gene-specific primer adjacent to the Illumina sequencing primer 2 sequence and a primer to the universal Illumina sequencing primer 1 sequence. The third PCR adds P5 and P7 and a sample index to make the PCR products into an Illumina sequencing library. Sequencing using 150bp x 2 sequencing can reveal cell labels and barcode sequences (e.g., molecular labels) in read 1, genes in read 2, and sample index in index 1 read.

[0179] In some embodiments, the nucleic acid can be removed from the substrate using chemical cleavage. For example, chemical groups or modified bases present in the nucleic acid can be used to facilitate the removal of the nucleic acid from the solid support. For example, the nucleic acid can be removed from the substrate using an enzyme. For example, the nucleic acid can be removed from the substrate through digestion with a restriction endonuclease. For example, the nucleic acid can be removed from the substrate using treatment of a nucleic acid containing dUTP or ddUTP with uracil-d-glycosylase (UDG). For example, the nucleic acid can be removed from the substrate using an enzyme that performs nucleotide removal, such as a base excision repair enzyme, such as an apurinic / apyrimidinic (AP) endonuclease. In some embodiments, the nucleic acid can be removed from the substrate using a photocleavable group and light. In some embodiments, the nucleic acid can be removed from the substrate using a cleavable linker. For example, the cleavable linker can include at least one of biotin / avidin, biotin / streptavidin, biotin / neutravidin, Ig-protein A, a photolabile linker, an acid or base labile linker group, or an aptamer.

[0180] If the probe is gene specific, the molecule can be hybridized to the probe and reverse transcribed and / or amplified. In some embodiments, after the nucleic acid is synthesized (e.g., reverse transcribed), the nucleic acid can be amplified. Amplification can be performed multiplexed, where multiple target nucleic acid sequences are amplified simultaneously. Amplification can add sequencing adapters to the nucleic acid.

[0181] In some embodiments, amplification can be performed on the substrate, for example, using bridge amplification. The cDNA can be homopolymerically tailed to generate compatible ends for bridge amplification using oligo(dT) probes on the substrate. In bridge amplification, the primer complementary to the 3' end of the template nucleic acid can be the first primer of each pair covalently attached to the solid particle. When a sample containing the template nucleic acid is contacted with the particle and one thermal cycle is performed, the template molecule can be annealed to the first primer, which extends in the forward direction by the addition of nucleotides to form a double-stranded molecule consisting of the template molecule and a newly formed DNA strand complementary to the template. In the heating step of the next cycle, the double-stranded molecule can be denatured, releasing the template molecule from the particle and leaving the complementary DNA strand attached to the particle through the first primer. In the annealing stage of annealing and the subsequent extension step, the complementary strand can hybridize to a second primer, which is complementary to the segment of the complementary strand at the location removed from the first primer. This hybridization can cause the complementary strand to form a bridge between the first primer and the second primer, fixed by covalent attachment to the first primer and by hybridization to the second primer. In the extension stage, the second primer can be extended in the opposite direction by the addition of nucleotides to the same reaction mixture, thereby converting the bridge into a double-stranded bridge. The next cycle can then be initiated, denaturing the double-stranded bridge to generate two single-stranded nucleic acid molecules, each with one end attached to the particle surface via the first and second primers, respectively, and the other end not attached, respectively. In the annealing and extension steps of this second cycle, each strand can hybridize to an additional complementary primer not previously used on the same particle to form a new single-stranded bridge. The two now hybridized, previously unused primers are extended, converting the two new bridges into double-stranded bridges.

[0182] The amplification reaction can include amplifying at least 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 25%, 30%, 35%, 40%, 45%, 50%, 55%, 60%, 65%, 70%, 75%, 80%, 85%, 90%, 95%, 97%, or 100% of the plurality of nucleic acids.

[0183] The amplification of the labeled nucleic acid can include PCR-based methods or non-PCR-based methods. The amplification of the labeled nucleic acid can include exponential amplification of the labeled nucleic acid. The amplification of the labeled nucleic acid can include linear amplification of the labeled nucleic acid. The amplification can be performed by polymerase chain reaction (PCR). PCR can refer to a reaction of in vitro amplification of specific DNA sequences by simultaneous primer extension of complementary strands of DNA. PCR can include derivatives of the reaction, including, but not limited to, RT-PCR, real-time PCR, nested PCR, quantitative PCR, multiplex PCR, digital PCR, suppression PCR, semi-suppression PCR, and assembly PCR.

[0184] In some embodiments, the amplification of the labeled nucleic acid includes non-PCR-based methods. Examples of non-PCR-based methods include, but are not limited to, multiple displacement amplification (MDA), transcription-mediated amplification (TMA), nucleic acid sequence-based amplification (NASBA), strand displacement amplification (SDA), real-time SDA, rolling circle amplification, or circle-circle amplification. Other non-PCR-based amplification methods include multiple cycles of DNA-dependent RNA polymerase-guided RNA transcription amplification or RNA-dependent DNA synthesis and transcription to amplify DNA or RNA targets, ligase chain reaction (LCR), Qβ replicase (Qβ) method, use of palindromic probes, strand displacement amplification, oligonucleotide-guided amplification using restriction endonucleases, amplification methods in which a primer hybridizes to a nucleic acid sequence and the resulting duplex is cleaved prior to extension and amplification, strand displacement amplification using a nucleic acid polymerase lacking 5' exonuclease activity, rolling circle amplification, and / or branched extension amplification (RAM).

[0185] In some embodiments, the methods disclosed herein further include performing a nested polymerase chain reaction on the amplified amplification products (e.g., targets). The amplification products can be double-stranded molecules. The double-stranded molecules can include double-stranded RNA molecules, double-stranded DNA molecules, or RNA molecules hybridized to DNA molecules. One or both strands of the double-stranded molecules can include a sample tag or molecular identifier label. Alternatively, the amplification products can be single-stranded molecules. The single-stranded molecules can include DNA, RNA, or combinations thereof. The nucleic acids of the present disclosure can include synthetic and modified nucleic acids.

[0186] In some embodiments, the method comprises repeatedly amplifying the labeled nucleic acid to generate multiple amplification products. The methods disclosed herein can comprise performing at least about 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, or 20 amplification reactions. Alternatively, the method comprises performing at least about 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, or 100 amplification reactions.

[0187] The amplification can further include adding one or more control nucleic acids to the one or more samples comprising the plurality of nucleic acids. The amplification can further include adding one or more control nucleic acids to the plurality of nucleic acids. The control nucleic acid can include a control label.

[0188] Amplification can include the use of one or more non-natural nucleotides. Non-natural nucleotides can include photosensitive or triggerable nucleotides. Examples of non-natural nucleotides include, but are not limited to, peptide nucleic acids (PNAs), morpholinos and locked nucleic acids (LNAs), as well as glycol nucleic acids (GNAs) and threose nucleic acids (TNAs). Non-natural nucleotides can be added to one or more cycles of the amplification reaction. The addition of non-natural nucleotides can be used to identify products as specific cycles or time points in the amplification reaction.

[0189] Conducting one or more amplification reactions can include the use of one or more primers. The one or more primers can include one or more oligonucleotides. The one or more oligonucleotides can include at least about 7-9 nucleotides. The one or more oligonucleotides can include less than 12-15 nucleotides. The one or more primers can anneal to at least a portion of the multiple labeled nucleic acids. The one or more primers can anneal to the 3'-end and / or 5'-end of the multiple labeled nucleic acids. The one or more primers can anneal to an internal region of the multiple labeled nucleic acids. The internal region may be at least about 50, 100, 150, 200, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1090, 1080, 1090, 1090, 1090, 108 The primers may be 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 650, 700, 750, 800, 850, 900, or 1000 nucleotides. The one or more primers may comprise a fixed panel of primers. The one or more primers may comprise at least one or more custom primers. The one or more primers may comprise at least one or more control primers. The one or more primers may comprise at least one or more housekeeping gene primers. The one or more primers may comprise a universal primer. The universal primer may anneal to the universal primer binding site. The one or more custom primers can anneal to the first sample tag, the next sample tag, the molecular identifier label, the nucleic acid, or a product thereof. The one or more primers can include a universal primer and a custom primer.Custom primers can be designed to amplify one or more target nucleic acids. The target nucleic acids can comprise a subset of the total nucleic acids in one or more samples. In some embodiments, the primers are probes attached to the arrays of the present disclosure.

[0190] In some embodiments, barcoding (e.g., stochastic barcoding) a plurality of targets in a sample further comprises generating an indexed library of barcoded fragments. The barcode sequences of different barcodes (e.g., molecular labels of different stochastic barcodes) can be different from each other. Generating an indexed library of barcoded targets (e.g., stochastic barcoded targets) comprises generating a plurality of indexed polynucleotides from the plurality of targets in the sample. For example, in an indexed library of barcoded targets including a first indexed target and a second indexed target, the labeled region of the first indexed polynucleotide can differ from the labeled region of the second indexed polynucleotide by at least or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, or a number or range between any two of these values. In some embodiments, generating an indexed library of barcoded targets includes contacting a plurality of targets, e.g., mRNA molecules, with a plurality of oligonucleotides comprising a poly(T) region and a label region, and performing first strand synthesis using a reverse transcriptase to generate single-stranded labeled cDNA molecules each comprising a cDNA region and a label region, wherein the plurality of targets comprises at least two mRNA molecules of different sequences, and the plurality of oligonucleotides comprises at least two oligonucleotides of different sequences. Generating an indexed library of barcoded targets can further include amplifying the single-stranded labeled cDNA molecules to generate double-stranded labeled cDNA molecules, and performing nested PCR on the double-stranded labeled cDNA molecules to generate labeled amplification products. In some embodiments, the method can include generating adapter-labeled amplification products.

[0191] Probabilistic barcoding can label individual nucleic acid (e.g., DNA or RNA) molecules using nucleic acid barcodes or tags. In some embodiments, this involves adding DNA barcodes or tags to cDNA molecules as they are generated from mRNA. Nested PCR can be performed to minimize PCR amplification bias. Adapters can be added, for example, for sequencing using next generation sequencing (NGS). For example, in block 232 of FIG. 2, sequencing results can be used to identify cell labels, barcode sequences (e.g., molecular labels), and sequences of nucleotide fragments of one or more copies of the target.

[0192] 3 is a schematic diagram illustrating a non-limiting exemplary process for generating an indexed library of barcoded targets (e.g., stochastic barcoded targets), e.g., mRNAs. As shown in step 1, the reverse transcription process can encode a unique barcode sequence (e.g., molecular label), a cell label, and a universal PCR site into each mRNA. For example, an RNA molecule 302 can be reverse transcribed to generate a labeled cDNA molecule 304 that includes a cDNA region 306 by hybridizing a set of barcodes (e.g., stochastic barcodes) 310) to a poly(A) tail region 308 of the RNA molecule 302. Each barcode 310 can include a target binding region, e.g., a poly(dT) region 312, a barcode sequence or molecular label 314, and a universal PCR region 316.

[0193] In some embodiments, the cell label can include 3-20 nucleotides. In some embodiments, the barcode sequence (e.g., molecular label) can include 3-20 nucleotides. In some embodiments, each of the plurality of stochastic barcodes further includes one or more of a universal label and a cell label, where the universal label is the same for the plurality of stochastic barcodes on the solid support, and the cell label is the same for the plurality of stochastic barcodes on the solid support. In some embodiments, the universal label can include 3-20 nucleotides. In some embodiments, the cell label can include 3-20 nucleotides.

[0194] In some embodiments, the label region 314 can include a barcode sequence or molecular label 318 and a cellular label 320. In some embodiments, the label region 314 can include one or more of a universal label, a dimensional label, and a cellular label. The barcode sequence or molecular label 318 can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or a number or range between any two of these values, nucleotides in length, and can be about, at least, or at most these numbers in length. The cell label 320 can be about, at least, or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or a number or range between any two of these values, nucleotides in length. The universal label can be about, at least, or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or a number or range between any two of these values, nucleotides in length. The universal label can be the same for multiple stochastic barcodes on a solid support, and the cellular label is the same for multiple stochastic barcodes on a solid support. The dimensional labels can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or a number or range between any two of these values, nucleotides in length, and can be about, at least, or at most these numbers in length.

[0195] In some embodiments, label region 314 can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, or a number or range between any two of these values, nucleotides in length and can include about, at least, or at most these numbers of barcode sequences or different labels, such as molecular labels 318 and cellular labels 320. Each label can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or a number or range between any two of these values, and can be about, at least, or at most these numbers in length. 2 pieces, 10 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 10 8 pieces, 10 9 pieces, 10 10 pieces, 10 11 pieces, 10 12 pieces, 10 13 pieces, 10 14 pieces, 10 15 pieces, 10 20 A set of barcodes or stochastic barcodes 310 can be, for example, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 10000, 15000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000, 150000, 100000, 150000, 100000, 150000, 200000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000, 15 ...

[0196] As shown in step 2, the products from the reverse transcription process in step 1 can be pooled in one tube and PCR amplified using a first generation PCR primer pool and a first generation universal PCR primer. Pooling is possible due to the unique label region 314. In particular, the labeled cDNA molecules 304 can be amplified to generate nested PCR labeled amplification products 322. The amplification can include multiplex PCR amplification. The amplification can include multiplex PCR amplification using 96 multiplex primers in a single reaction volume. In some embodiments, the multiplex PCR amplification can be performed using 10, 20, 40, 50, 70, 80, 90, ... 2 pieces, 10 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 10 8 pieces, 10 9 pieces, 10 10 pieces, 10 11 pieces, 10 12 pieces, 10 13 pieces, 10 14 pieces, 10 15 pieces, 10 20 A number of multiplex primers may be utilized, about, at least, or at most, a number or range between any two of these values. The amplification may include a first generation PCR primer pool 324 of custom primers 326A-C targeted to specific genes and a universal primer 328. The custom primer 326 may hybridize to a region within the cDNA portion 306' of the labeled cDNA molecule 304. The universal primer 328 may hybridize to the universal PCR region 316 of the labeled cDNA molecule 304.

[0197] As shown in step 3 of FIG. 3, the products from the PCR amplification in step 2 can be amplified using a nested PCR primer pool and a second generation universal PCR primer. Nested PCR can minimize PCR amplification bias. For example, nested PCR labeled amplification product 322 can be further amplified by nested PCR. Nested PCR can include multiplex PCR with a nested PCR primer pool 330 of nested PCR primers 332a-c and a second generation universal PCR primer 328' in a single reaction volume. The nested PCR primer pool 328 can include, about, at least, or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, or a number or range between any two of these values. The nested PCR primer 332 can include an adaptor 334 and can hybridize to a region within the cDNA portion 306'' of the labeled amplification product 322. The universal primer 328' can include an adaptor 336 and can hybridize to the universal PCR region 316 of the labeled amplification product 322. Thus, step 3 generates adapter-labeled amplification product 338. In some embodiments, nested PCR primer 332 and second generation universal PCR primer 328' may not include adapters 334 and 336. Adapters 334 and 336 can instead be ligated to the products of the nested PCR to generate adapter-labeled amplification product 338.

[0198] As shown in step 4, the PCR products from step 3 can be PCR amplified for sequencing using library amplification primers. In particular, one or more additional assays can be performed on the adapter-labeled amplification products 338 using adapters 334 and 336. The adapters 334 and 336 can hybridize to primers 340 and 342. One or more of the primers 340 and 342 can be PCR amplification primers. One or more of the primers 340 and 342 can be sequencing primers. One or more of the adapters 334 and 336 can be used for further amplification of the adapter-labeled amplification products 338. One or more of the adapters 334 and 336 can be used for sequencing of the adapter-labeled amplification products 338. The primers 342 can include a plate index 344 such that amplification products generated using the same set of barcodes or stochastic barcodes 310 can be sequenced in one sequencing reaction using next generation sequencing (NGS).

[0199] Clustering of expression profiles using phylogenetic trees Disclosed herein are methods of identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving a target count data structure, the target count data structure including expression profiles of a plurality of cells, the expression profiles of the plurality of cells including a number of each target of a plurality of targets for each cell of the plurality of cells; (b) hierarchically clustering the expression profiles of the plurality of cells based on distances between the target count data structure and the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree including a plurality of nodes, the plurality of nodes including a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, the root node representing the expression profile of the plurality of cells; and (c) clustering the expression profiles of the plurality of cells through each node of the plurality of nodes of the phylogenetic tree to generate a phylogenetic tree. While traversing from the node to a plurality of leaf nodes of the phylogenetic tree, (1) determining whether it is valid or invalid to split the node into child nodes of the node (e.g., whether a difference between the child nodes is significant or not); (2) if it is invalid to split the node into child nodes of the node, adding the node to an integrated cluster set; (d) iteratively, for each first node in the integrated cluster set, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate an integrated node including expression profiles represented by the first node and the second node; and (e) for each node in the integrated cluster set, identifying targets that distinguish cell types based on the expression profiles of the plurality of targets of the cell represented by the node.

[0200] FIG. 4 is a flow chart illustrating a non-limiting exemplary method 400 for identifying targets that distinguish cell types. Method 400 maps a molecule count data structure (e.g., a molecule count matrix) to a set of cluster labels and a set of significant genes. In some embodiments, the input can be an N×M matrix of molecule counts or an array where the ijth entry describes the number of molecules of gene j observed using reads from cell i. The algorithm can generate two outputs. The first output can be a set of N labels, one for each cell (cells with the same label can be inferred to be "similar"). The second output can be a set of genes that can be used to distinguish clusters from each other.

[0201] The method 400 uses a phylogenetic tree splitting, testing, and merging technique to generate two outputs. After preprocessing the data and generating a distance data structure (e.g., a distance matrix) D, the algorithm can hierarchically cluster D to generate a phylogenetic tree. The algorithm can include two phases. During the splitting and testing phase, the method 400 starts at the top of the phylogenetic tree (e.g., the root node 504 of the tree or phylogenetic tree 500 in FIG. 5). The phylogenetic tree 500 includes the root node 504, a number of leaf nodes 520a-520h, and a number of non-root non-leaf nodes 508a, 508b, 512a, 512b, 516a, and 516b. At each node of the phylogenetic tree (except for the leaf nodes such as leaf nodes 520a-520h), the tree is split into two subtrees (e.g., the root node 504 is split into two subtrees 508a, 508b). A split corresponds to a cluster (e.g., containing expression profiles of two or more cells) being split into two candidate sub-clusters (e.g., each containing expression profiles of at least one cell). The quality of the split can be scored. If the sub-clusters seem to be sufficiently different, the algorithm continues to run on each sub-tree. If they do not seem to be sufficiently different, the algorithm terminates on this part of the tree. This phase generates a set of labels for the dataset. During the consolidation phase, the method 400 uses the labels generated during the split and validation phase to determine whether any of these clusters should be combined to form one cluster. In some embodiments, the split and validation phases each tend to generate small clusters of a small number of samples. The consolidation phase can "clean up" the small clusters by merging them with larger clusters.

[0202] At block 404, method 400 may include receiving a molecule count data structure (e.g., a molecule count matrix). The matrix may contain only integer, non-negative entries and tends to be large and sparse. In some embodiments, the input may be an N×M matrix of molecule counts or an array where the ijth entry describes the number of molecules of gene j observed using a read from cell i.

[0203] At block 408, the method 400 can include pre-processing the molecule count data structure to generate a distance data structure (e.g., a distance matrix). In some embodiments, the input data structure is log-transformed. Before taking the natural logarithm, a value of 1 is added to each entry. A correlation distance can be used to describe the pairwise dissimilarity d between each pair of cells. i and c j If , the correlation distance between these two cells can be determined using equation [1].

number

number

[0204] At block 412, the method 400 may include hierarchically clustering the expression profiles of the cells to generate a phylogenetic tree. Hierarchically clustering the expression profiles of the cells to generate a phylogenetic tree may include iteratively merging two nearest clusters of the phylogenetic tree. All clusters may start as individual points with pairwise distances between them as described above. Calculating the distance D between the clusters was done using complete linkage. For clusters A and B, the distance between the two clusters may be determined using formula [2]. D(A,B)=max a∈A,b∈B d(a,b) formula [2] At this block, a complete dendrogram can be obtained. In some embodiments, the intra-cluster correlation of cluster A and the intra-cluster correlation of cluster B are higher than the inter-cluster correlation of cluster A and cluster B. The measure or indication of the intra-cluster correlation of cluster A and the intra-cluster correlation of cluster B are higher than the inter-cluster correlation of cluster A and cluster B. The measure of the intra-cluster correlation of cluster A and cluster B can be based on at least one of the maximum intra-cluster correlation of cluster A and cluster B, the average intra-cluster correlation of cluster A and cluster B, the median intra-cluster correlation of cluster A and cluster B, the minimum intra-cluster correlation of cluster A and cluster B, and any combination thereof. The intra-cluster correlation of cluster A can be based on at least one of the maximum intra-cluster correlation of cluster A, the average intra-cluster correlation of cluster A, the median intra-cluster correlation of cluster A, the minimum intra-cluster correlation of cluster A, and any combination thereof. The intra-cluster correlation of cluster B may be based on at least one of the maximum intra-cluster correlation of cluster B, the average intra-cluster correlation of cluster B, the median intra-cluster correlation of cluster B, the minimum intra-cluster correlation of cluster B, and any combination thereof. The inter-cluster correlation between cluster A and cluster B may be based on at least one of the maximum inter-cluster correlation between cluster A and cluster B, the average inter-cluster correlation between cluster A and cluster B, the median inter-cluster correlation between cluster A and cluster B, the minimum inter-cluster correlation between cluster A and cluster B, and any combination thereof. For example, the intra-cluster median correlation of two sub-clusters may be higher than the inter-cluster median correlation.

[0205] At block 416, the method 400 may include splitting and testing the phylogenetic tree to generate a set of labels. The splitting and testing may start at the top of the phylogenetic tree. Given a phylogenetic tree subtree T0, the tree may be split into exactly two subtrees TL and TR. A statistical test may be performed to determine whether cells in the left subtree TL are sufficiently different from cells in the right subtree TR. In some embodiments, the statistical test may include performing a Welch t-test for each gene in the two populations. If the variance is assumed to be zero in both populations, an infinite t-statistic may occur, and these cases may be ignored. If the minimum p-value among all tests is below a certain threshold (conservatively corrected for false discovery rate), the split may be considered valid and the algorithm is run again for the two subtrees. If the minimum p-value is not below the threshold, the method 400 ends for the subtree T0. If TL contains exactly one sample (i.e., TL is a singleton), TL may be ignored and the algorithm repeats the procedure with TR. If TR contains exactly one sample, TR can be ignored and the algorithm repeats the procedure with TL. If TL and TR both contain exactly one sample each, the algorithm terminates for subtree T0.

[0206] At block 416, the method 400 may include identifying cluster labels as follows: First, the entire subtree may be labeled with "r". Each time a split occurs and is not rejected due to the p-value problem, an "L" may be attached to all labels of cells in the TL and an "R" may be attached to all labels of cells in the TR. This means that if a singleton is skipped, the labels are still affected. Singletons automatically get a unique label that is not shared with any other data point.

[0207] At block 416, the method 400 can include determining the consistency of each final cluster. If all samples in a final cluster are far from each other (i.e., the distance between every pair in the cluster is not in the bottom, e.g., 50th percentile of all distances), the cluster can be dissolved. Each sample can then be marked as a singleton.

[0208] At block 420, the method 400 may include merging the set of labels generated at block 416 to generate another set of labels. In some embodiments, the merging may be a two-step process. In the first step, each singleton may be placed in the same cluster as its identified nearest neighbor using the distance data structure (e.g., distance matrix) from the preprocessing block 408. If the singleton's distance to its nearest neighbor is within the top 10% of the distances (i.e., far from all other cells), the singleton may be marked as an outlier and remains in its own cluster. This first step ensures that all clusters contain at least two non-outlier members. In the second step, after removing the outliers, pairwise distances between clusters are calculated using several statistical tests to generate a pairwise cluster distance matrix D c is generated. The distance between two clusters is estimated as the negative logarithm of the minimum p-value obtained via a Welch t-test across all genes. Starting with the overall minimum distance, two corresponding clusters are merged. The distances of the new cluster to all existing clusters are calculated and the process is repeated until all pairwise distances are above a certain distance. The package is c We also give a community detection based method to integrate by implementing the Louvain algorithm on

[0209] In block 424, the method 400 may include selecting features from the set of labels identified in block 420 to identify features that distinguish cell types. In some embodiments, the method 400 may perform two types of feature selection using the labels generated from the integration block 420. In the first type of feature selection, during the split and test block, the K genes with the K smallest p-values ​​are kept each time a split is kept. More genes from splits closer to the top of the tree may be kept. Finally, a list of unique genes from the union of all splits is output. In the second type of feature selection, for each cluster, several one-vs-rest tests are performed using only genes with higher averages in the cluster of interest. A table of significant genes for each cluster may be output along with some additional information for each gene (e.g., p-value, fold change, average expression level in the cluster).

[0210] Method 400 can include performing an exploratory analysis. In some embodiments, method 400 can utilize several functions that visualize certain steps in the splitting and merging phase. For example, these functions show the cells involved in the split (or merging), the cells that end up in each subtree (or combined cluster), and the genes that determined this split (or merging). As another example, method 400 can perform pairwise comparisons among all clusters (e.g., identifying which genes distinguish each pair of clusters) and functions to draw a dendrogram. Method 400 can be based on the distribution of distances between each pair in the cluster. In some embodiments, method 400 can include performing a parameter sweep, which is also provided.

[0211] Expression profile clustering Disclosed herein are methods for identifying targets that distinguish cell types. In some embodiments, the method includes: (a) receiving expression profiles of a plurality of cells, the expression profiles including some of each of a plurality of targets for each of the plurality of cells; (b) clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles, each cluster having one or more relationships with one or both of (1) a parent cluster and (2) two or more child clusters, the parent cluster representing an expression profile of one or more cells of the plurality of cells represented by the cluster, and the cluster representing an expression profile represented by the two or more child clusters; and (c) for each cluster having two or more child clusters, (d) for each first cluster in the integrated cluster set, if a distance between the first cluster in the integrated cluster set and a second cluster in the integrated cluster set that is closest to the first cluster is within an integrated distance threshold, iteratively integrating the first cluster and the second cluster to generate an integrated cluster, wherein the integrated cluster includes expression profiles of the first cluster and the second cluster; and (e) for each cluster in the integrated cluster set, identifying targets that distinguish cell types based on expression profiles of multiple targets of the cells represented by the cluster.

[0212] 6 is a flow chart illustrating a non-limiting exemplary method for identifying targets that distinguish cell types by clustering expression profiles of cells. At block 604, method 600 receives expression profiles of a plurality of cells. Each expression profile can include a respective number of targets of a plurality of targets of different cells of the plurality of cells. In some embodiments, receiving the expression profiles of the plurality of cells includes receiving a target count data structure (e.g., a target count matrix). Each row of the target count matrix can include an expression profile of a cell of the plurality of cells.

[0213] The number of expression profiles received can vary in different embodiments, in some embodiments the number of expression profiles received can be 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, or a number or range between or about any two of these values. In some embodiments, the number of expression profiles received can be at least or at most 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, or 10000.

[0214] In some embodiments, the method 600 includes, at block 604, prior to receiving the expression profile of the plurality of cells, probabilistically barcoding a plurality of targets in the plurality of cells using a plurality of probabilistic barcodes to create a plurality of probabilistic barcoded targets, each of the plurality of probabilistic barcodes including a cellular label and a molecular label, the stochastic barcoded targets created from the different cellular targets having different cellular labels and the stochastic barcoded target created from the cellular target of one of the plurality of cells having a different molecular label, obtaining sequence data for the plurality of stochastic barcoded targets, and for each of the plurality of cells, (1) counting a number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell, and (2) estimating a number of each target of the plurality of targets of the cell based on the number of molecular labels having distinct sequences associated with the target in the sequence data counted in (1). In some embodiments, the expression profile of the cells of the plurality of cells includes the number of each target of the plurality of targets of the cell estimated in (2).

[0215] At block 608, the method 600 can include clustering the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles. The method 600 can generate the clusters of expression profiles based on the distance between the expression profiles of the plurality of cells. The number of expression profiles represented by each cluster can vary in different implementations. In some embodiments, the number of expression profiles represented by each cluster can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, or a number or range between or about any two of these values. In some embodiments, the number of expression profiles represented by each cluster can be at least or at most 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, or 10000. In some embodiments, the expression profiles represented by each cluster can be at or about 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100% or a number or range between any two of these values ​​of the number of expression profiles received in block 604. In some embodiments, the expression profiles represented by each cluster can be at least or at most 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or 100% of the number of expression profiles received in block 604.

[0216] Each cluster can have an association with one or both of: (1) a parent cluster; and (2) two or more child clusters (such as 3, 4, 5, 6, 7, 8, 9, 10 or more child clusters). A parent cluster represents an expression profile of one or more cells of the plurality of cells represented by the cluster. A cluster represents the expression profiles represented by its two or more child clusters.

[0217] In some embodiments, the expression profiles can be clustered as described with reference to FIG. 4, such as block 412 of FIG. 4. For example, the method 600 can include hierarchically clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells. The phylogenetic tree can include a plurality of clusters. The plurality of clusters can include a root cluster, a plurality of leaf clusters, and a plurality of non-root non-leaf clusters. The number of leaf clusters can be, for example, the same as the number n of expression profiles. The number of non-root non-leaf clusters can be, for example, n-2.

[0218] Each of the plurality of leaf clusters and the plurality of non-root non-leaf clusters can have an association with a parent cluster. Each of the root cluster and the plurality of non-root non-leaf clusters can have an association with a left child cluster and a right child cluster, representing an expression profile represented by the left child cluster and the right child cluster of the cluster. The root cluster can represent an expression profile of a plurality of cells. In some embodiments, the leaf cluster can represent an expression profile of a cell. The non-root non-leaf cluster can represent an expression profile of a cell represented by a child cluster of the non-root non-leaf cluster.

[0219] In some embodiments, clustering the expression profiles of the plurality of cells based on the distance of the expression profiles of the plurality of cells at block 608 includes assigning each expression profile of the plurality of cells to a different leaf cluster within the plurality of clusters, and iteratively combining a first cluster and a second cluster of the plurality of clusters to generate a parent cluster of the first cluster and the second cluster if the second cluster is the closest cluster of the plurality of clusters to the first cluster. The distance between the first cluster and the second cluster can be the maximum distance between any cell having an expression profile represented by the first cluster and any cell having an expression profile represented by the second cluster.

[0220] In some embodiments, the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation between the first cluster and the second cluster. The measure or indication of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster is higher than the inter-cluster correlation between the first cluster and the second cluster. The measure of the intra-cluster correlation of the first cluster and the intra-cluster correlation of the second cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster and the second cluster, the average intra-cluster correlation of the first cluster and the second cluster, the median intra-cluster correlation of the first cluster and the second cluster, the minimum intra-cluster correlation of the first cluster and the second cluster, and any combination thereof. The intra-cluster correlation of the first cluster can be based on at least one of the maximum intra-cluster correlation of the first cluster, the average intra-cluster correlation of the first cluster, the median intra-cluster correlation of the first cluster, the minimum intra-cluster correlation of the first cluster, and any combination thereof. The intra-cluster correlation of the second cluster can be based on at least one of a maximum intra-cluster correlation of the second cluster, an average intra-cluster correlation of the second cluster, a median intra-cluster correlation of the second cluster, a minimum intra-cluster correlation of the second cluster, and any combination thereof. The inter-cluster correlation between the first cluster and the second cluster can be based on at least one of a maximum inter-cluster correlation between the first cluster and the second cluster, an average inter-cluster correlation between the first cluster and the second cluster, a median inter-cluster correlation between the first cluster and the second cluster, a minimum inter-cluster correlation between the first cluster and the second cluster, and any combination thereof.

[0221] In some embodiments, the method 600 may include determining a distance data structure (e.g., a distance matrix) for the expression profiles of the plurality of cells prior to clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate the plurality of clusters of expression profiles at block 608. The matrix may have dimensions of n×n, where n indicates the number of expression profiles received at block 604. Each diagonal element of the distance matrix has a value of 0. Clustering the expression profiles of the plurality of cells based on distances between the expression profiles of the plurality of cells to generate the plurality of clusters of expression profiles at block 608 may include clustering the expression profiles of the plurality of cells based on the distance data structure to generate the plurality of clusters of expression profiles. The distances between the expression profiles of the plurality of cells may be pairwise correlation distances between the expression profiles of the plurality of cells.

[0222] In some embodiments, method 600 may include log-transforming the target count data structure into a log-transformed target count data structure (e.g., a log-transformed target count matrix) prior to identifying the distance data structure in (i). Identifying the distance data structure of the elements of the target count data structure may include identifying the distance data structure of the log-transformed target count data structure. Clustering the expression profiles of the plurality of cells based on the distance between the expression profiles of the plurality of cells to generate a plurality of clusters of expression profiles in block 608 may include clustering the expression profiles of the plurality of cells based on the log-transformed target count data structure and the distance data structure to generate a plurality of clusters. Log-transforming the target count data structure into log-transformed target count data may include increasing the value of each element of the target count data structure by an increment. The increment may be, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more values.

[0223] At block 612, method 600 may include adding each cluster of a cluster of expression profiles that has two or more child clusters to the integrated cluster set if the association between the cluster and its child cluster is invalid (e.g., the differences between the child clusters are not significant). In some embodiments, if the expression profiles are clustered to generate a dendrogram in block 608, method 600 may add each cluster that has two or more child clusters to the integrated cluster set by splitting and testing the dendrogram to generate a set of labels as described with reference to FIG. 4, such as block 416 of FIG.

[0224] In some embodiments, for each cluster having two or more child clusters, if the association between the cluster and two or more child clusters is invalid, while traversing through each cluster of the phylogenetic tree from the root cluster of the phylogenetic tree to the multiple leaf clusters of the phylogenetic tree, (1) determine whether the association between the cluster and its child clusters is valid or invalid, and (2) if the association is invalid, add the cluster to the integrated cluster set.

[0225] At block 616, the method 600 may include merging each cluster in the merged cluster set with a nearest cluster in the merged cluster set if the distance between the two clusters is within a merged distance threshold. The merged cluster includes the expression profiles of the first cluster and the second cluster. The method 600 may merge each cluster in the merged cluster set with the nearest cluster as described with reference to FIG. 4, such as block 420 of FIG. 4.

[0226] In some embodiments, the method 600 may include, when traversing the clusters of the phylogenetic tree, for each cluster, continuing to traverse from the cluster to the cluster's left child cluster and the cluster's right child cluster if the association is valid, and stopping traversal from the cluster to the cluster's left child cluster and the cluster's right child cluster if the association is invalid. Determining whether a cluster's association with its child cluster is valid or invalid may include the hardware processor determining the association as valid if the distance between the left child cluster and the right child cluster exceeds an association threshold, and determining the association as invalid otherwise.

[0227] In some embodiments, at least one of the intra-node correlation of the first node and the intra-node correlation of the second node can be higher than the inter-node correlation between the first node and the second node. The measure or indication of the intra-node correlation of the first node and the intra-node correlation of the second node can be higher than the inter-node correlation between the first node and the second node. The measure of the intra-node correlation of the first node and the intra-node correlation of the second node can be based on at least one of the maximum intra-node correlation of the first node and the second node, the average intra-node correlation of the first node and the second node, the median intra-node correlation of the first node and the second node, the minimum intra-node correlation of the first node and the second node, and any combination thereof. The intra-node correlation of the first node can be based on at least one of the maximum intra-node correlation of the first node, the average intra-node correlation of the first node, the median intra-node correlation of the first node, the minimum intra-node correlation of the first node, and any combination thereof. The intra-node correlation of the second node may be based on at least one of an intra-node maximum correlation of the second node, an intra-node average correlation of the second node, an intra-node median correlation of the second node, an intra-node minimum correlation of the second node, and any combination thereof. The inter-node correlation between the first node and the second node may be based on at least one of an inter-node maximum correlation between the first node and the second node, an inter-node average correlation between the first node and the second node, an inter-node median correlation between the first node and the second node, an inter-node minimum correlation between the first node and the second node, and any combination thereof.

[0228] In some embodiments, the distance between the left child cluster and the right child cluster can be determined based on a statistical test performed on each target of the multiple targets between the expression profiles represented by the left child cluster and the right child cluster. The statistical test can be, for example, a Welch t-test. The distance between the left child cluster and the right child cluster can be determined based on the maximum p-value of the statistical test performed on each target of the multiple targets between the expression profile represented by the left child cluster and each expression profile represented by the right child cluster.

[0229] In some embodiments, the method 600 includes merging each of the third clusters in the integrated cluster set representing an expression profile of a cell with a fourth cluster in the integrated cluster set before merging the first cluster with the second cluster to generate the integrated clusters at block 616 if a distance between the third cluster and the fourth cluster is within a cluster distance threshold. The method can include classifying a plurality of cells based on the clusters in the integrated cluster set representing an expression profile of the cells. The method can include designating a whole transcriptome assay based on targets that distinguish the identified cell types, or designating a targeted transcriptome assay based on targets that distinguish the identified cell types.

[0230] In some embodiments, the method 600 includes, for each cluster as it traverses the plurality of clusters of the phylogenetic tree, (3) if the cluster represents an expression profile of a single cell, adding the cluster to the combined cluster set. The method can include, for each cluster as it traverses the plurality of clusters of the phylogenetic tree, assigning a cluster label to the cluster. In some embodiments, if the cluster represents an expression profile of a single cell, the cluster label of the cluster includes the name of the single cell, otherwise, if the cluster is a left child cluster of a parent cluster, the cluster label of the cluster includes the cluster label of the parent cluster and the left name, otherwise, the cluster label of the cluster includes the cluster label of the parent cluster and the right name.

[0231] At block 620, method 600 may include identifying a cell type distinguishing target based on an expression profile of the plurality of targets of cells represented by each cluster in the integrated cluster set. Method 600 may identify the cell type distinguishing target as described with reference to FIG. 4, such as block 424 of FIG. 4. In some embodiments, for each cluster in the integrated cluster set, identifying a cell type distinguishing target based on an expression profile of the plurality of targets of cells represented by the cluster includes determining that a difference between the expression profile represented by the cluster and an expression profile represented by another cluster in the integrated cluster set is greater than a significance threshold in terms of the number of molecular labels having distinct sequences associated with the cell type distinguishing target.

[0232] Sequencing In some embodiments, estimating the number of distinct barcoded targets (e.g., stochastically barcoded targets) can include determining the sequence of the labeled target, spatial label, molecular label, sample label, cell label, or any product thereof (e.g., labeled amplification products or labeled cDNA molecules). The amplified target can be subjected to sequencing. Determining the sequence of the barcoded target (e.g., stochastically barcoded target) or any product thereof can include performing a sequencing reaction to determine the sequence of at least a portion of the sample label, spatial label, cell label, molecular label, labeled target (e.g., stochastically labeled target), its complement, its reverse complement, or any combination thereof.

[0233] Identifying the sequence of a barcoded target or a stochastically barcoded target (e.g., an amplified nucleic acid, a labeled nucleic acid, a cDNA copy of a labeled nucleic acid, etc.) can be accomplished using a variety of techniques, including, but not limited to, sequencing by hybridization (SBH), sequencing by ligation (SBL), quantitative incremental fluorescent nucleotide addition sequencing (QIFNAS), stepwise ligation and cleavage, fluorescence resonance energy transfer (FRET), molecular beacons, TaqMan reporter probe digestion, pyrosequencing, fluorescent in situ sequencing (FISSEQ), FISSEQ beads, wobble sequencing, multiplex sequencing, polymerized colonies, and the like. A wide variety of sequencing methods can be used, including: nanogrid rolling circle sequencing (POLONY); allele-specific oligo ligation assays (e.g., oligo ligation assays (OLA), single template molecule OLA using ligated linear probes and rolling circle amplification (RCA) reads, ligated padlock probes, or single template molecule OLA using ligated circular padlock probes and rolling circle amplification (RCA) reads), and the like.

[0234] In some embodiments, determining the sequence of the barcoded target (e.g., the stochastic barcoded target) or any product thereof comprises paired-end sequencing, nanopore sequencing, high-throughput sequencing, shotgun sequencing, dye terminator sequencing, multi-primer DNA sequencing, primer walking, Sanger dideoxy sequencing, Maxim-Gilbert sequencing, pyrosequencing, true single molecule sequencing (tSMS), or any combination thereof. Alternatively, the sequence of the barcoded target or any product thereof can be determined by electron microscopy or chemically sensitive field effect transistor (chemFET) arrays.

[0235] High throughput sequencing methods can be utilized, such as cycle array sequencing using platforms such as Roche 454, Illumina Solexa, ABI-SOLiD, ION Torrent, Complete Genomics, Pacific Bioscience, Helicos, or Polonator platforms. In some embodiments, the sequencing can include MiSeq sequencing. In some embodiments, the sequencing can include HiSeq sequencing.

[0236] The labeled targets (e.g., stochastically labeled targets) can include nucleic acids representing about 0.01% of the genes of an organism's genome to about 100% of the genes of an organism's genome. For example, about 0.01% of the genes of an organism's genome to about 100% of the genes of an organism's genome can be sequenced using a target complementary region that includes a plurality of multimers by capturing genes that include complementary sequences from a sample. In some embodiments, the barcoded targets include nucleic acids representing about 0.01% of the transcripts of an organism's transcriptome to about 100% of the transcripts of an organism's transcriptome. For example, about 0.501% of the transcripts of an organism's transcriptome to about 100% of the transcripts of an organism's transcriptome can be sequenced using a target complementary region that includes a poly(T) tail by capturing mRNA from a sample.

[0237] Identifying the sequence of spatial and molecular labels of the plurality of barcodes (e.g., stochastic barcodes) can include sequencing 0.00001%, 0.0001%, 0.001%, 0.01%, 0.1%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 99%, 100%, or a number or range between any two of these values ​​of the plurality of barcodes. Identifying the sequence of labels, e.g., sample labels, spatial labels, and molecular labels of the plurality of barcodes can include sequencing 1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 100% of the plurality of barcodes. 3 pieces, 10 4 pieces, 10 5 pieces, 10 6 pieces, 10 7 pieces, 10 8 pieces, 10 9 pieces, 10 10 pieces, 10 11 pieces, 10 12 pieces, 10 13 pieces, 10 14 pieces, 10 15 pieces, 10 16 pieces, 10 17 pieces, 10 18 pieces, 10 19 pieces, 10 20 Sequencing some or all of the plurality of barcodes can include generating sequences having read lengths of about, at most, or at least 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, or a number or range between any two of these values.

[0238] Sequencing can include sequencing at least or at least about 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, or more nucleotides or base pairs of the barcoded targets. For example, sequencing can include performing a polymerase chain reaction (PCR) amplification on a plurality of barcoded targets to generate sequencing data having sequences with read lengths of 50, 75, 100, or more nucleotides. Sequencing can include sequencing at least or at least about 200, 300, 400, 500, 600, 700, 800, 900, 1,000, or more nucleotides or base pairs of the barcoded targets. The sequencing can include sequencing at least or at least about 1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, or more nucleotides or base pairs of the barcoded targets.

[0239] The sequencing can include at least about 200, 300, 400, 500, 600, 700, 800, 900, 1,000, or more sequencing reads per run. In some embodiments, the sequencing can include at least or at least about 1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, or more sequencing reads per run. The sequencing can include up to about 1,600,000,000 sequencing reads per run. The sequencing can include up to about 200,000,000 reads per run.

[0240] sample In some embodiments, multiple targets can be contained in one or more samples. A sample can include one or more cells or nucleic acid from one or more cells. A sample can be a single cell or nucleic acid from a single cell. The one or more cells can be of one or more cell types. At least one of the one or more cell types can be a brain cell, a cardiac cell, a cancer cell, a circulating tumor cell, an organ cell, an epithelial cell, a metastatic cell, a benign cell, a primary cell, a circulating cell, or any combination thereof.

[0241] The sample used in the disclosed method can include one or more cells. A sample can refer to one or more cells. In some embodiments, the plurality of cells can include one or more cell types. At least one of the one or more cell types can be brain cells, cardiac cells, cancer cells, circulating tumor cells, organ cells, epithelial cells, metastatic cells, benign cells, primary cells, circulating cells, or any combination thereof. In some embodiments, the cells are cancer cells excised from cancer tissue, such as breast cancer, lung cancer, colon cancer, prostate cancer, ovarian cancer, pancreatic cancer, brain tumor, melanoma or non-melanoma skin cancer, etc. In some embodiments, the cells are derived from a cancer but collected from a bodily fluid (e.g., circulating tumor cells). Non-limiting examples of cancers can include adenoma, adenocarcinoma, squamous cell carcinoma, basal cell carcinoma, small cell carcinoma, large cell undifferentiated carcinoma, chondrosarcoma, and fibrosarcoma. The sample can include tissue, cell monolayer, fixed cells, tissue sections, or any combination thereof. The sample may include a biological sample, a clinical sample, an environmental sample, a biological fluid, a tissue, or cells from a subject. The sample may be obtained from a human, a mammal, a dog, a rat, a mouse, a fish, a fly, a worm, a plant, a fungus, a bacteria, a virus, a vertebrate, or an invertebrate.

[0242] In some embodiments, the cell is a cell infected with a virus and containing viral oligonucleotides. In some embodiments, the viral infection may be caused by a virus such as a single-stranded (positive strand or "sense") DNA virus (e.g., parvovirus) or a double-stranded RNA virus (e.g., reovirus). In some embodiments, the cell is a bacterium. These may include gram-positive or gram-negative bacteria. In some embodiments, the cell is a fungus. In some embodiments, the cell is a protozoan or other parasite.

[0243] As used herein, the term "cell" can refer to one or more cells. In some embodiments, the cells are normal cells, e.g., human cells at different stages of development or human cells from different organ or tissue types. In some embodiments, the cells are non-human cells, e.g., other types of mammalian cells (e.g., mouse, rat, pig, dog, cow, or horse). In some embodiments, the cells are other types of animal or plant cells. In other embodiments, the cells can be any prokaryotic or eukaryotic cell.

[0244] In some embodiments, the cells are sorted prior to associating the cells with the beads. For example, the cells can be sorted by fluorescence activated cell sorting, magnetic activated cell sorting, or more generally by flow cytometry. The cells can be filtered by size. In some embodiments, the retentate comprises the cells to be associated with the beads. In some embodiments, the flow-through comprises the cells to be associated with the beads.

[0245] A sample can refer to a plurality of cells. A sample can refer to a monolayer of cells. A sample can refer to a thin section (e.g., a thin tissue section). A sample can refer to a solid or semi-solid collection of cells that can be arranged in one direction on an array.

[0246] Execution environment The present disclosure provides a computer system programmed to perform the methods of the present disclosure (e.g., method 400 or method 600). Figure 7 shows a computer system 700 programmed or otherwise configured to perform any of the methods disclosed herein. The computer system 700 can be a user's electronic device or a computer system located remotely from the electronic device. The electronic device can be a mobile electronic device.

[0247] The computer system 700 includes a central processing unit (CPU, also referred to herein as "processor" and "computer processor") 705, which can be a single-core or multi-core processor, or multiple processors for parallel processing. The computer system 700 also includes memory or memory locations 710 (e.g., random access memory, read-only memory, flash memory), an electronic storage unit 715 (e.g., hard disk), a communication interface 720 (e.g., network adapter) for communicating with one or more other systems, and peripherals 725, such as cache, other memory, data storage devices, and / or electronic display adapters. The memory 710, storage unit 715, interface 720, and peripherals 725 communicate with the CPU 705 through a communication bus (solid lines), such as a motherboard. The storage unit 715 can be a data storage unit (or data repository) that stores data. The computer system 700 can be operatively coupled to a computer network ("network") 730 using the communication interface 720. Network 730 can be the Internet, an Internet and / or an extranet, or an intranet and / or an extranet in communication with the Internet. In some cases, network 730 is a telecommunications network and / or a data network. Network 730 can include one or more computer servers that can enable distributed computing, such as cloud computing. Network 730 can, in some cases, implement a peer-to-peer network using computer system 700, allowing devices coupled to computer system 700 to act as clients or servers.

[0248] The CPU 705 may execute machine-readable sequences of instructions, which may be implemented in a program or software. The instructions may be stored in a memory location, such as the memory 710. The instructions may be directed to the CPU 705, which may then be programmed or otherwise configured to implement the methods of the present disclosure. Examples of operations performed by the CPU 705 may include fetch, decode, execute, and writeback. The CPU 705 may be part of a circuit, such as an integrated circuit. One or more other components of the system 700 may be included in the circuit. In some cases, the circuit is an application specific integrated circuit (ASIC).

[0249] The storage unit 715 can store files such as drivers, libraries, and saved programs. The storage unit 715 can store user data, such as user preferences and user programs. The computer system 700 can include one or more additional data storage units that are in some cases external to the computer system 700, such as located on a remote server that communicates with the computer system 700 through an intranet or the Internet.

[0250] Computer system 700 can communicate with one or more remote computer systems through network 730. For example, computer system 700 can communicate with a remote computer system of a user (e.g., a microbiologist). Examples of remote computer systems include a personal computer (e.g., a portable PC), a slate or tablet PC (e.g., an Apple® iPad, a Samsung® Galaxy Tab), a phone, a smartphone (e.g., an Apple® iPhone, an Android-enabled device, a Blackberry®), or a personal digital assistant. A user can access computer system 700 through network 730.

[0251] The computer system 700 can include or be in communication with an electronic display 735 that includes a user interface (UI) 740 that provides an output showing, for example, string co-occurrence or interactions of multiple taxa of microorganisms represented by strings. Examples of UIs include, but are not limited to, graphical user interfaces (GUIs) and web-based user interfaces.

[0252] The methods described herein may be implemented by machine (e.g., computer processor) executable code stored in electronic storage locations of computer system 700, such as memory 710 or electronic storage unit 715. Machine executable or machine readable code may be provided in the form of software. In use, the code may be executed by processor 705. In some cases, the code may be retrieved from storage unit 715 and stored in memory 710 for easy access by processor 705. In some situations, electronic storage unit 715 may be eliminated and machine executable instructions may be stored in memory 710.

[0253] The code may be pre-compiled and configured for use with a machine having a processor configured to execute the code, or may be compiled during run-time. The code may be provided in a programming language that can be selected to allow the code to be executed either pre-compiled or compiled.

[0254] Aspects of the systems and methods provided herein, such as the computer system 700, may be embodied in programming. Various aspects of the technology may be thought of as an "article of manufacture" or "product" in the form of machine (or processor) executable code and / or associated data, typically carried on or embodied within a type of machine-readable medium. The machine-executable code may be stored in an electronic storage unit, such as a memory (e.g., read-only memory, random access memory, flash memory) or a hard disk. A "storage" type medium may include any and all tangible memory of a computer, processor, etc., or modules associated therewith, such as various semiconductor memories, tape drives, disk drives, etc., which may provide non-transitory storage for software programming from time to time. All or portions of the software may be communicated from time to time over the Internet or various other telecommunications networks. Such communication may, for example, allow the software to be loaded from one computer or processor to another, for example, from a management server or host computer to a computer platform of an application server. Thus, other types of media that may carry software elements include light waves, radio waves, and electromagnetic waves, such as those used across physical interfaces between local devices, through wired and optical land-line networks, and over various air links. The physical elements that carry such waves, such as wired or wireless links, optical links, etc., may also be considered as media that carry software. As used herein, unless limited to non-transitory tangible "storage" media, terms such as computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.

[0255] Thus, a machine-readable medium such as a computer executable code may take many forms, including but not limited to a tangible storage medium, a carrier wave medium, or a physical transmission medium. Non-volatile storage media include optical or magnetic disks, such as any storage device in any computer, such as may be used to implement the databases, etc., shown in the figures. Volatile storage media include dynamic memory, such as the main memory of such a computer platform. Tangible transmission media include coaxial cables, copper wire, and optical fibers, including the wires that make up a bus in a computer system. Carrier wave transmission media may take the form of electric, electromagnetic, acoustic, or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer readable media thus include, for example, a floppy disk, a flexible disk, a hard disk, a magnetic tape, any other magnetic medium, a CD-ROM, a DVD, or a DVD-ROM, any other optical medium, punch cards, paper tape, any other physical storage medium having a pattern of holes, a RAM, a ROM, a PROM, an EPROM, a Flash EPROM, any other memory chip or cartridge, a carrier wave carrying data or instructions, a cable or link carrying such a carrier wave, or any other medium from which a computer may read programming code and / or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.

[0256] In some embodiments, some or all of the analysis functions of the computer system 700 can be packaged in one software package. In some embodiments, the complete set of data analysis functions can include a complete software package. In some embodiments, the data analysis software can be a stand-alone package provided to a user independent of the assay instrument system. In some embodiments, the software can be web-based and allow users to share data. In some embodiments, commercially available software can be used to perform all or part of the data analysis, for example, Seven Bridges (https: / / www.sbgenomics.com / ) software can be used to compile a table of copy numbers of one or more genes in each cell throughout a collection of cells.

[0257] The methods and systems of the present disclosure can be implemented by one or more algorithms or methods. The methods can be implemented by software executed by the central processing unit 705. Exemplary applications of algorithms or methods implemented by software include bioinformatics methods of sequence data processing (e.g., merging, filtering, trimming, clustering), alignment and calling, and processing of string data and optical density data (e.g., most probable number and cultivable abundance determination).

[0258] In an exemplary embodiment, the computer system 700 can perform data analysis on sequence data sets generated by performing single-cell probabilistic barcoding assays. Examples of data analysis functions include, without limitation, (i) algorithms to decode / demultiplex target sequence data provided by sequencing sample, cellular, spatial, and molecular labels, as well as probabilistic barcode libraries created in running an assay; (ii) algorithms to determine the number of reads per gene per cell and the number of unique transcript molecules per gene per cell based on the data and create summary tables; (iii) statistical analysis of sequence data, e.g., clustering cells by gene expression data or predicting confidence intervals such as determining the number of transcript molecules per gene per cell; (iv) algorithms to identify rare cell subpopulations using, e.g., principal component analysis, hierarchical clustering, k-means clustering, self-organizing maps, neural lineages, etc.; (v) sequence alignment functions to align gene sequence data to known reference sequences and detect mutations, polymorphic markers, and splice variants; and (vi) automated clustering of molecular labels to compensate for amplification or sequencing errors. In some embodiments, the computer system 700 can output the sequencing results in a useful graphical format, for example, a heat map showing the copy number of one or more genes occurring in each cell of the cell population. In some embodiments, the computer system 700 can execute algorithms to extract biological meaning from the sequencing results, for example, by correlating the copy number of one or more genes occurring in each cell of the cell population to cell types, rare cell types, or cells derived from subjects with a particular disease or condition. In some embodiments, the computer system 700 can execute algorithms to compare populations of cells across different biological samples. EXAMPLES

[0259] Several aspects of the above-described embodiments are discussed in further detail in the following examples, which are not intended to limit the scope of the disclosure in any way.

[0260] Example 1 Clustering by recursive tree partitioning and testing followed by merging In this example, a clustering method by recursive partitioning (eg, recursive tree partitioning) and testing, followed by merging, is described.

[0261] remarks In the method shown in this example, during the tree splitting step, if the algorithm can find at least one gene that achieves a sufficiently low p-value (or a sufficiently high -log10(p-value)), the split is considered biologically relevant (e.g., by default). In other words, in some embodiments, the only hyperparameter to tune is the score threshold parameter. A higher score threshold (e.g., 100) corresponds to a lower p-value (10e-100), which means that more significant genes must be found for the split to be considered valid. A higher score threshold produces fewer clusters.

[0262] If after the splitting step too many clusters are produced, the user can try to increase the score threshold. If after the splitting step too few clusters are produced, the user can try to decrease the score threshold. Multiple score thresholds can be tested with the same distance matrix. By pre-computing the distance matrix, a lot of computation time can be saved.

[0263] If sweeping through different score thresholds continues to produce meaningless results, the problem may lie in the initially generated phylogenetic tree (i.e., the distance matrix). As shown in cell [3] below, the first step of the algorithm involves moving from a matrix of molecule counts to a distance matrix (a preprocessing step). It may be desirable to try different kinds of preprocessing. The user could perhaps try a different distance measure, try not to employ logarithms, or prefilter cells and / or genes that may produce a more accurate distance measure for the user's application.

[0264] If the splitting step produces many small clusters that are deemed irrelevant, the breakup percentile parameter may be reduced. This parameter determines whether to keep the final cluster based on the number of pairwise distances that are within the bottom breakup percentile of the overall pairwise distances. For example, running the algorithm with a breakup percentile of 20 will only keep one cluster if at least one pairwise distance is within the bottom 20% of the overall distances.

[0265] To identify why the clusters are split into two clusters, we identify those two clusters and perform a pairwise t-test analysis. This can be done in Example 2 for every pair of clusters in cells

[13] . This function shows the markers that distinguish the two clusters. We also check the exploration features of how the split is determined to understand the exact steps in the splitting algorithm that lead to the split.

[0266] To determine whether inaccurate clusters are merged together, we lower the score threshold parameter in the merging step, where the higher the score threshold, the higher the probability that two different clusters are merged together. We also check the search features of how the merge is decided to understand the exact steps in the merging algorithm that lead to the merge.

[0267] To identify more outliers, try reducing the outlier_threshold_percentile_parameter in the integration step.

[0268] dependence The module had the following dependencies - numpy(1.10.4) - scipy(0.17.0) - matplotlib(1.5.1) - sklearn(0.17.1) - networkx(1.11) - community-rpy2(2.8.2).

[0269] networkx, community, and rpy2 are not required by default. networkx and community are used for community detection. networkx is also used for maximum weighted matching (as a measure of how close two sets of labels are). rpy2 is used to run sigclust, a statistical test for whether two populations should actually be one population. To run sigclust, users may also need to install R with the sigclust package.

[0270] [1]:# Load related modules and libraries %load_ext autoreload %autoreload2 %matplotlib inline from dendrosplit import split,merge import pickle import numpy as np import matplotlib.pyplot as plt np.set_printoptions(precision=2,suppress=True)

[0271] Pipeline execution The input to the pipeline is an NxM matrix of molecule counts (natural numbers) called "X". "genes" is a length M list of gene names. "x1" and "x2" represent a 2D embedding of the data using whatever method the user chooses. "x1" and "x2" are used solely to visualize the results of the pipeline along with the intermediate steps. The algorithm requires that all columns of "X" that sum to zero be removed, and the code in this cell takes care of that.

[0272] [2]:#Load data dataset='Resolve4' pickledir=' / Users / user1 / Desktop / datasets / ' X,genes=pickle.load(file(pickledir+dataset+'.pickle')) x1,x2=pickle.load(file(pickledir+dataset+'tsne.pickle')) #Delete columns of X that sum to 0 X,genes=split.filter_genes(X,genes) Retained 19307 genes with counts >0 across all cells

[0273] First, a distance matrix can be generated from the count matrix. The cell below accomplishes this by calculating the pairwise correlation distance between log-transformed samples (log(X+1)). The splitting portion of the algorithm only required the count matrix as input, but the user can supply in the distance matrix as shown below. This portion of the algorithm returned a set of labels (strings) of length N of samples along with a "history", a data structure that kept track of all intermediate information generated by the algorithm. The "history" was useful for later functions that were used to discern how the algorithm generated such labels (and which features were most important in generating such labels). The labels were strings indicating where the clusters were located according to the phylogenetic tree generated using the distance matrix. For example, "rLLR" means that this point belongs to the right subtree of the left subtree of the left subtree of the root.

[0274] [3]:#Get the first set of labels. It is highly recommended to calculate the distance matrix outside the algorithm. D=split.log_correlation(X) ys,shistory=split.dendrosplit((D,X),preprocessing='precomputed', score_threshold=10,verbose=True,disband_percentile=50) Potential split results: 883 and 3 dendrosplit / feature selection.py:106:RuntimeWarning: Division by zero encountered in log10 gene_scores=np.nan_to_num(-np.log10(p[keep_inds])) Split score 1.8E+308 Potential split outcomes: 1 and 882 Potential split results: 484 and 398 / Users / user1 / anaconda2 / lib / python2.7 / site-packages / scipy / stats / _distn_infrastructure.py:1748:Runtime cond1 = (scale>0) & (x>self.a) & (x <self.b) / Users / user1 / anaconda2 / lib / python2.7 / site-packages / scipy / stats / _distn_infrastructure.py:1748: Runtime cond1 = (scale>0) & (x>self.a) & (x <self.b) / Users / user1 / anaconda2 / lib / python2.7 / site-packages / scipy / stats / _distn_infrastructure.py:1749: Runtime cond2 = cond0 & (x <= self. a) Split score 182.26 Potential split results: 481 and 3-way split score 1.8E+308 Potential split results: 1 and 480 Potential split outcomes: 1 and 479 Potential split results: 195 and 284 Split score 125.49 Potential split outcomes: 177 and 18 Split score 15.35 Potential split outcomes: 1 and 176 Potential split outcomes: 1 and 175 Potential split outcomes: 1 and 174 Potential split outcomes: 12 and 162 Split score 18.88 Potential split outcomes: 1 and 11 Potential split outcomes: 1 and 10 Potential split outcomes: 2 and 8 Split score 6.11 Potential split outcomes: 1 and 161 Potential split outcomes: 1 and 160 Potential split outcomes: 28 and 132 Split score 12.32 Potential split outcomes: 25 and 3 Split score 13.94 Potential split outcomes: 1 and 24 Potential split outcomes: 11 and 13 Split score 4.77 Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breakup (points in a cluster are too far from each other) Potential splitting results: 122 and 10 Split score 18.52 Potential split outcomes: 13 and 109 Split score 24.92 Potential split outcomes: 6 and 7 Split score 3.77 Potential split results: 105 and 4 Split score 31.72 Potential split outcomes: 15 and 90 Split score 11.31 Potential split outcomes: 3 and 12 Split score 6.55 Potential split outcomes: 17 and 73 Split score 8.91 Potential split outcomes: 2 and 2 Split score 1.58 Breakup (points in a cluster are too far from each other) Potential split outcomes: 2 and 8 Split score 5.79 Potential split outcomes: 1 and 17 Potential split outcomes: 1 and 16 Potential split outcomes: 1 and 15 Potential split outcomes: 4 and 11 Split score 4.57 Potential split outcomes: 1 and 283 Potential split outcomes: 1 and 282 Potential split outcomes: 1 and 281 Potential split outcomes: 271 and 10 Split score 38.04 Potential split outcomes: 2 and 269 Split score 233.23 Potential split outcomes: 1 and 1 Breaking up (points in a cluster are too far from each other) Potential splitting outcomes: 1 and 268 Potential split results: 265 and 3 Split score 80.24 Potential split outcomes: 4 and 261 Split score 100.26 Potential split outcomes: 1 and 3 Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breakup (points in a cluster are too far from each other) Potential splitting results: 192 and 69 Split score 9.66 Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breakup (points in a cluster are too far from each other) Potential split outcomes: 2 and 8 Split score 5.12 Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breakup (points in a cluster are too far from each other) Potential splitting results: 1 and 397 Potential split outcomes: 1 and 396 Potential split outcomes: 1 and 395 Potential split results: 392 and 3 Split score 228.58 Potential split outcomes: 1 and 391 Potential split outcomes: 1 and 390 Potential split outcomes: 1 and 389 Potential split outcomes: 1 and 388 Potential split outcomes: 1 and 387 Potential split outcomes: 1 and 386 Potential split outcomes: 32 and 354 Split score 33.24 Potential split outcomes: 1 and 31 Potential split outcomes: 1 and 30 Potential split outcomes: 21 and 9 Split score 7.20 Potential split outcomes: 1 and 353 Potential split outcomes: 1 and 352 Potential split outcomes: 1 and 351 Potential split outcomes: 19 and 332 Split score 32.86 Potential split outcomes: 1 and 18 Potential split outcomes: 3 and 15 Split score 8.90 Potential split outcomes: 6 and 326 Split score 83.57 Potential split outcomes: 1 and 5 Potential split outcomes: 1 and 4 Potential split outcomes: 2 and 2 Split score 1.32 Breakup (points in a cluster are too far from each other) Potential splitting outcomes: 3 and 323 Split score 148.25 Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breakup (points in a cluster are too far from each other) Potential splitting results: 314 and 9 Split score 71.43 Potential split outcomes: 221 and 93 Split score 48.70 Potential split outcomes: 1 and 220 Potential split outcomes: 1 and 219 Potential split outcomes: 1 and 218 Potential split outcomes: 1 and 217 Potential split results: 215 and 2 Split score 133.42 Potential split outcomes: 166 and 49 Split score 7.64 Potential split outcomes: 1 and 1 Potential split outcomes: 40 and 53 Split score 9.31 Potential split outcomes: 4 and 5 Split score 3.20 Breakup (points in a cluster are too far from each other) Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breakup (points in a cluster are too far from each other) Potential split outcomes: 1 and 2 Potential split outcomes: 1 and 1 Breaking up (points in a cluster are too far from each other) Number of times score function was called: 40 The total computation time was 9.532 seconds.

[0275] The merging step involved performing a pairwise comparison of all clusters generated by the splitting procedure above. Clusters that were not sufficiently dissimilar were merged together starting from the two most similar clusters. Like the splitting step, the merging step returned both a label (of length N) and a history of intermediate steps. Labels were integers. Outliers were marked as "-1". See below for an alternative approach to the merging step based on community detection.

[0276] [4]:#Merge cluster labels ym,mhistory=merge.dendromerge((D,X),ys,score_threshold=10,preprocessing='precomputed',verbose=True,outlier_threshold_percentile=90)

[0277] Of the 886 samples, 0 were singletons. The outlier threshold is 0.51. 821 nearest neighbors: 72 in 76 clusters (D=0.375) 661 nearest neighbors: 29 in 76 clusters (D=0.379) 729 nearest neighbors: 281 in cluster 76 (D=0.381) 559 nearest neighbors: 79 in 76 clusters (D=0.381) 690 nearest neighbors: 171 in 76 clusters (D=0.381) 564 nearest neighbors: 79 of 76 clusters (D=0.381) 776 nearest neighbors: 474 in cluster 38 (D=0.387) 860 nearest neighbors: 340 in cluster 38 (D=0.390) 816 nearest neighbors: 379 in 78 clusters (D=0.390) 787 nearest neighbors: 63 in 38 clusters (D=0.391) 737 nearest neighbors: 72 in 76 clusters (D=0.392) 874 nearest neighbors: 220 in cluster 76 (D=0.392) 743 nearest neighbors: 72 in 76 clusters (D=0.394) 877 nearest neighbors: 174 in cluster 76 (D=0.394) 753 nearest neighbors: 190 in cluster 76 (D=0.397) 774 nearest neighbors: 158 in 38 clusters (D=0.398) 565 nearest neighbors: 190 in 76 clusters (D=0.399) 785 nearest neighbors: 79 in 76 clusters (D=0.401) 706 nearest neighbors: 101 in cluster 18 (D=0.403) 829 nearest neighbors: 213 in cluster 38 (D=0.404) 701 nearest neighbors: 179 in cluster 76 (D=0.404) 770 nearest neighbors: 453 in cluster 38 (D=0.404) 630 nearest neighbors: 79 in 76 clusters (D=0.406) 866 nearest neighbors: 87 in 38 clusters (D=0.407) 795 nearest neighbors: 159 in cluster 76 (D=0.407) 865 nearest neighbors: 179 in 76 clusters (D=0.407) 869 nearest neighbors: 101 in cluster 18 (D=0.409) 830 nearest neighbors: 165 in cluster 38 (D=0.412) 851 nearest neighbors: 29 in 76 clusters (D=0.412) 782 nearest neighbors: 50 in cluster 76 (D=0.412) 627 nearest neighbors: 72 of 76 clusters (D=0.412) 848 nearest neighbors: 83 in 76 clusters (D=0.413) 883 nearest neighbors: 687 in cluster 12 (D=0.413) 793 nearest neighbors: 107 in cluster 76 (D=0.414) 631 nearest neighbors: 101 in cluster 18 (D=0.416) 720 nearest neighbors: 101 in cluster 18 (D=0.418) Nearest neighbors of 885: 101 in cluster 18 (D=0.418) 813 nearest neighbors: 101 in cluster 18 (D=0.419) 788 nearest neighbors: 278 in 38 clusters (D=0.420) 748 nearest neighbors: 101 in cluster 18 (D=0.422) 762 nearest neighbors: 158 in 38 clusters (D=0.423) 804 nearest neighbors: 177 in cluster 18 (D=0.425) 854 nearest neighbors: 101 in cluster 18 (D=0.426) 605 nearest neighbors: 159 in 76 clusters (D=0.437) 849 nearest neighbors: 101 in cluster 18 (D=0.437) Nearest neighbors of 835: 101 in cluster 18 (D=0.438) 790 nearest neighbors: 32 in cluster 76 (D=0.442) 744 nearest neighbors: 188 in 38 clusters (D=0.448) 822 nearest neighbors: 282 in cluster 38 (D=0.449) 723 nearest neighbors: 170 in cluster 76 (D=0.456) 884 nearest neighbors: 101 in cluster 18 (D=0.459) 563 nearest neighbors: 34 in 76 clusters (D=0.463) 867 nearest neighbors: 160 in cluster 18 (D=0.463) 771 nearest neighbors: 34 in cluster 76 (D=0.473) 826 nearest neighbors: 165 in cluster 38 (D=0.475) 777 nearest neighbors: 174 in cluster 76 (D=0.478) 759 nearest neighbors: 101 in cluster 18 (D=0.483) 855 nearest neighbors: 101 in cluster 18 (D=0.485) 702 nearest neighbors: 160 in cluster 18 (D=0.492) 750 nearest neighbors: 230 in cluster 76 (D=0.495) 704 nearest neighbors: 216 in cluster 78 (D=0.497) 711 nearest neighbors: 55 in cluster 76 (D=0.502) 708 nearest neighbors: 537 in cluster 78 (D=0.510) 791 nearest neighbors: 115 in cluster 76 (D=0.534) 722 nearest neighbors: 15 in cluster 76 (D=0.547) 700 nearest neighbors: 107 in 76 clusters (D=0.549) 846 nearest neighbors: 72 of 76 clusters (D=0.552) 876 nearest neighbors: 85 in cluster 76 (D=0.560) 868 nearest neighbors: 740 in 78 clusters (D=0.562) 569 nearest neighbors: 68 in 76 clusters (D=0.572) 817 nearest neighbors: 56 in 76 clusters (D=0.582) 798 nearest neighbors: 310 in 38 clusters (D=0.585) 717 nearest neighbors: 216 in cluster 78 (D=0.597) 879 nearest neighbors: 209 in cluster 76 (D=0.612) 727 nearest neighbors: 96 in cluster 76 (D=0.616) 828 nearest neighbors: 142 in 38 clusters (D=0.618) 840 nearest neighbors: 632 in 78 clusters (D=0.640) 747 nearest neighbors: 202 in cluster 76 (D=0.698) 842 nearest neighbors: 797 in cluster 38 (D=0.703) 442 nearest neighbors: 336 in 78 clusters (D=0.735)

[0278] Total number of outliers: 18 Allocated singleton (0.052s) Generated Dc(13.181s) Before integration: 14 clusters Merging markers 0 (N=10) and 6 (N=15) with a distance of 3.60 Before integration: 13 clusters Merged labels 2 (N=15) and 4 (N=10) with a distance of 4.31 Before merger: 12 clusters Merged labels 1 (N=13) and 11 (N=25) with a distance of 4.37 Before merger: 11 clusters Merged markers 0 (N=25) and 10 (N=38) with a distance of 5.23 Before merger: 10 clusters Merged markers 3 (N=30) and 7 (N=95) with a distance of 6.04 Before merger: 9 clusters Merged labels 2 (N=10) and 5 (N=2) with a distance of 6.81 Before merger: 8 clusters Merged markers 4 (N=25) and 5 (N=63) with a distance of 7.19 Before merger: 7 clusters Merged labels 2 (N=18) and 5 (N=12) with a distance of 7.23 Before merger: 6 clusters Merging markers 3 (N=125) and 5 (N=30) with a distance of 9.76. Merging the clusters took 25.977 s.

[0279] Community detection based integration used networkx and community python modules, where the returned history data structure contains only the input labels and the labels after singleton processing.

[0280] [5]:ym_community=merge.dendromerge((D,X),ys,preprocessing='precomputed',verbose=True,outlier_threshold_percentile=90,perform_community_detection=True)

[0281] Of the 886 samples, 80 were singletons, with an outlier threshold of 0.51. 821 nearest neighbors: 72 in 76 clusters (D=0.375) 661 nearest neighbors: 29 in 76 clusters (D=0.379) 729 nearest neighbors: 281 in cluster 76 (D=0.381) 559 nearest neighbors: 79 in 76 clusters (D=0.381) 690 nearest neighbors: 171 in 76 clusters (D=0.381) 564 nearest neighbors: 79 of 76 clusters (D=0.381) 776 nearest neighbors: 474 in cluster 38 (D=0.387) 860 nearest neighbors: 340 in cluster 38 (D=0.390) 816 nearest neighbors: 379 in 78 clusters (D=0.390) 787 nearest neighbors: 63 in 38 clusters (D=0.391) 737 nearest neighbors: 72 in 76 clusters (D=0.392) 874 nearest neighbors: 220 in cluster 76 (D=0.392) 743 nearest neighbors: 72 in 76 clusters (D=0.394) 877 nearest neighbors: 174 in cluster 76 (D=0.394) 753 nearest neighbors: 190 in cluster 76 (D=0.397) 774 nearest neighbors: 158 in 38 clusters (D=0.398) 565 nearest neighbors: 190 in 76 clusters (D=0.399) 785 nearest neighbors: 79 in 76 clusters (D=0.401) 706 nearest neighbors: 101 in cluster 18 (D=0.403) 829 nearest neighbors: 213 in cluster 38 (D=0.404) 701 nearest neighbors: 179 in cluster 76 (D=0.404) 770 nearest neighbors: 453 in cluster 38 (D=0.404) 630 nearest neighbors: 79 in 76 clusters (D=0.406) 866 nearest neighbors: 87 in 38 clusters (D=0.407) 795 nearest neighbors: 159 in cluster 76 (D=0.407) 865 nearest neighbors: 179 in 76 clusters (D=0.407) 869 nearest neighbors: 101 in cluster 18 (D=0.409) 830 nearest neighbors: 165 in cluster 38 (D=0.412) 851 nearest neighbors: 29 in 76 clusters (D=0.412) 782 nearest neighbors: 50 in cluster 76 (D=0.412) 627 nearest neighbors: 72 in 76 clusters (D=0.412) 848 nearest neighbors: 83 in 76 clusters (D=0.413) 883 nearest neighbors: 687 in cluster 12 (D=0.413) 793 nearest neighbors: 107 in cluster 76 (D=0.414) 631 nearest neighbors: 101 in cluster 18 (D=0.416) 720 nearest neighbors: 101 in cluster 18 (D=0.418) Nearest neighbors of 885: 101 in cluster 18 (D=0.418) 813 nearest neighbors: 101 in cluster 18 (D=0.419) 788 nearest neighbors: 278 in 38 clusters (D=0.420) 748 nearest neighbors: 101 in cluster 18 (D=0.422) 762 nearest neighbors: 158 in 38 clusters (D=0.423) 804 nearest neighbors: 177 in cluster 18 (D=0.425) 854 nearest neighbors: 101 in cluster 18 (D=0.426) 605 nearest neighbors: 159 in 76 clusters (D=0.437) 849 nearest neighbors: 101 in cluster 18 (D=0.437) Nearest neighbors of 835: 101 in cluster 18 (D=0.438) 790 nearest neighbors: 32 in cluster 76 (D=0.442) 744 nearest neighbors: 188 in 38 clusters (D=0.448) 822 nearest neighbors: 282 in cluster 38 (D=0.449) 723 nearest neighbors: 170 in cluster 76 (D=0.456) 884 nearest neighbors: 101 in cluster 18 (D=0.459) 563 nearest neighbors: 34 in 76 clusters (D=0.463) 867 nearest neighbors: 160 in cluster 18 (D=0.463) 771 nearest neighbors: 34 in cluster 76 (D=0.473) 826 nearest neighbors: 165 in cluster 38 (D=0.475) 777 nearest neighbors: 174 in cluster 76 (D=0.478) 759 nearest neighbors: 101 in cluster 18 (D=0.483) 855 nearest neighbors: 101 in cluster 18 (D=0.485) 702 nearest neighbors: 160 in cluster 18 (D=0.492) 750 nearest neighbors: 230 in cluster 76 (D=0.495) 704 nearest neighbors: 216 in cluster 78 (D=0.497) 711 nearest neighbors: 55 in cluster 76 (D=0.502) 708 nearest neighbors: 537 in cluster 78 (D=0.510) 791 nearest neighbors: 115 in cluster 76 (D=0.534) 722 nearest neighbors: 15 in cluster 76 (D=0.547) 700 nearest neighbors: 107 in 76 clusters (D=0.549) 846 nearest neighbors: 72 of 76 clusters (D=0.552) 876 nearest neighbors: 85 in cluster 76 (D=0.560) 868 nearest neighbors: 740 in 78 clusters (D=0.562) 569 nearest neighbors: 68 in 76 clusters (D=0.572) 817 nearest neighbors: 56 in 76 clusters (D=0.582) 798 nearest neighbors: 310 in 38 clusters (D=0.585) 717 nearest neighbors: 216 in cluster 78 (D=0.597) 879 nearest neighbors: 209 in cluster 76 (D=0.612) 727 nearest neighbors: 96 in cluster 76 (D=0.616) 828 nearest neighbors: 142 in 38 clusters (D=0.618) 840 nearest neighbors: 632 in 78 clusters (D=0.640) 747 nearest neighbors: 202 in cluster 76 (D=0.698) 842 nearest neighbors: 797 in cluster 38 (D=0.703) 442 nearest neighbors: 336 in 78 clusters (D=0.735)

[0282] Total number of outliers: 18 Allocated singleton (0.054s) Generated Dc(12.773s) A graph with 14 nodes and 24 edges was constructed (12.774s) It took 12.775 seconds to merge the cluster.

[0283] Overall, these data demonstrate clustering by recursive partitioning and testing, followed by integration.

[0284] Example 2 Visualization of clustering results by recursive partitioning and testing of dendrograms followed by merging This example describes the visualization of the clustering results by recursive partitioning and testing of the dendrogram shown in Example 1, followed by merging.

[0285] The cluster labels generated after the split and merge steps were examined.

[0286] [6]:plt.scatter(x1,x2,edgecolors='none') _=plt.axis('off') plt.title('Pre-clustering') #Clustering results using pre-integrated labels (labeled singletons) plt.figure() split.plot_labels_legend(x1,x2,split.str_labels_to_ints(ys)) plt.title('After splitting step') #Clustering results using integrated labels plt.figure() split.plot_labels_legend(x1,x2,ym) plt.title('After merging step') #Clustering results using integrated labels plt.figure() split.plot_labels_legend(x1,x2,ym_community) plt.title('After merging step using community detection') Out[6]:<matplotlib.text.Text at 0x112674510>

[0287] Panels (a)-(d) of FIG. 8 show non-limiting, exemplary plots of expression profiles in two-dimensional space after segmenting and integrating the expression profiles of single cells.

[0288] Exploring how the split was decided We can explore how the partitioning step of the method treats the dataset using the 'print_history' function. Row i describes the i-th valid partition. A partition is considered valid if both clusters generated are above 'min_clust_size' and the lowest p-value generated from the partition is below a threshold.

[0289] [7]:split.print_history(genes,shistory) Pre-split: 886 L: 883 R: 3 Score: 1.8E+308 Top gene: RPL31 Top gene score: 1.8E+308 Pre-split: 882 L: 484 R: 398 Score: 182.26 Top genes: FTL Top genes score: 182.26 Pre-split: 484 L: 481 R: 3 Score: 1.8E+308 Top gene: RPL23 Top gene score: 1.8E+308 Pre-split: 479 L: 195 R: 284 Score: 125.49 Top genes: IGHM Top genes score: 125.49 Pre-split: 195 L: 177 R: 18 Score: 15.35 Top gene: RRP7A Top gene score: 15.35 Pre-split: 174 L: 12 R: 162 Score: 18.88 Top gene: ANXA11 Top gene score: 18.88 Pre-split: 160 L: 28 R: 132 Score: 12.32 Top gene: TTF1 Top gene score: 12.32 Pre-split: 28 L: 25 R: 3 Score: 13.94 Top gene: SRPK1 Top gene score: 13.94 Pre-split: 132 L: 122 R: 10 Score: 18.52 Top genes: TOP2A Top gene score: 18.52 Pre-split: 122 L: 13 R: 109 Score: 24.92 Top gene: CACYBP Top gene score: 24.92 Pre-split: 109 L: 105 R: 4 Score: 31.72 Top genes: RPSA Top genes score: 31.72 Pre-split: 105 L: 15 R: 90 Score: 11.31 Top gene: PSMD14 Top gene score: 11.31 Pre-split: 281 L: 271 R: 10 Score: 38.04 Top gene: RNASEH2B Top gene score: 38.04 Pre-split: 271 L: 2 R: 269 Score: 233.23 Top gene: GAS8 Top gene score: 233.23 Pre-split: 268 L: 265 R: 3 Score: 80.24 Top gene: CNPY3 Top gene score: 80.24 Pre-split: 265 L: 4 R: 261 Score: 100.26 Top gene: MZB1 Top gene score: 100.26 Pre-split: 395 L: 392 R: 3 Score: 228.58 Top gene: CREB3L1 Top gene score: 228.58 Pre-split: 386 L: 32 R: 354 Score: 33.24 Top gene: VMP1 Top gene score: 33.24 Pre-split: 351 L: 19 R: 332 Score: 32.86 Top gene: EIF2B1 Top gene score: 32.86 Pre-split: 332 L: 6 R: 326 Score: 83.57 Top gene: NUDT5 Top gene score: 83.57 Pre-split: 326 L: 3 R: 323 Score: 148.25 Top gene: TMSB4X Top gene score: 148.25 Pre-split: 323 L: 314 R: 9 Score: 71.43 Top gene: C12orf57 Top gene score: 71.43 Pre-split: 314 L: 221 R: 93 Score: 48.70 Top gene: RPL27A Top gene score: 48.70 Pre-split: 217 L: 215 R: 2 Score: 133.42 Top gene: JUN Top gene score: 133.42

[0290] The points involved in each split were visualized. Each row has two figures. Row i describes the ith split that was saved. Panels (a)-(x) of FIG. 9 are non-limiting, exemplary plots of expression profiles in two-dimensional space showing how the splits were determined. In each panel, the left figure shows how the split was performed. Blue points did not participate in the split at all. Red and green points were used in the same cluster and then separated. The title of the left figure indicates the number of splits and the three genes that achieved the maximum t-statistic (after taking the absolute value). The number associated with each gene is the -log10 of the corresponding p-value. A "0" or "1" in parentheses next to each gene indicates the cluster that had a higher mean expression of that gene. The right figure shows the log expression of the genes that achieved the maximum t-statistic.

[0291] [8]:split.visualize_history(np.log(1+X),x1,x2,genes,shistory) / Users / user1 / anaconda2 / lib / python2.7 / site-packages / matplotlib / pyplot.py:516: RuntimeWarning: More max open warning, RuntimeWarning)

[0292] You can use the "analyze_split" function to further explore which genes determined why a particular split was retained. Use the "show_background" keyword to also show cells that were not involved in the split. Use "clust" to only see genes that are more highly expressed in a particular cluster. You can use "num_genes" to show a custom number of genes.

[0293] [9]:#See division 5 split_num=5 cluster_of_interest=None show_background=False split.analyze_split(X,x1,x2,genes,shistory,split_num,num_genes=12, show_background=show_background,clust=cluster_of_interest)

[0294] Figure 10 shows non-limiting, exemplary plots of expression profiles in two-dimensional space after the fifth cycle of splitting. Panels (a)-(l) of Figure 11 are non-limiting, exemplary plots of expression profiles in two-dimensional space showing why certain splits in the phylogenetic tree were retained at the fifth cycle shown in Figure 10.

[0295] Exploring how integration decisions were made The functions for exploring how the splits were determined can be used to explore how the merges were performed.

[0296]

[10] :split.print_history(genes,mhistory) split.visualize_history(np.log(1+X),x1,x2,genes,mhistory) Of the 886 samples, 80 are singletons Singleton 442,569,700,708,717,722,727,747,791,798,817,828,840,842,846,868,876,879 m Singleton 15 was merged with cluster 12 (N = 24) to form cluster 1 (N = 25). Singletons 3, 4, 6, 7, 9, 10, 11, 13, 14, 19, 20, 21, 22, 24, 25, and 26 were merged with cluster 18 (N = 90). Singletons 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, and 41 were merged with cluster 38 (N = 261) to form singletons 28, 53, 55, 56, 58, 59, 60, 61, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 80, and 81. Singletons 54 and 66 were merged with cluster 78 (N = 93) to form cluster 13 (N = 95). After integration: 25 L: 10 R: 15 Score: 3.60 Top gene: ENOSF1 Top gene score: 3.60 After integration: 25 L: 15 R: 10 Score: 4.31 Top gene: MAGED1 Top gene score: 4.31 After integration: 38 L: 13 R: 25 Score: 4.37 Top gene: PRPF40A Top gene score: 4.37 After integration: 63 L: 25 R: 38 Score: 5.23 Top gene: ALDOC Top gene score: 5.23 After integration: 125 L: 30 R: 95 Score: 6.04 Top gene: PARP1 Top gene score: 6.04 After integration: 12 L: 10 R: 2 Score: 6.81 Top gene: IGLC3 Top gene score: 6.81 After integration: 88 L: 25 R: 63 Score: 7.19 Top gene: HMGB2 Top gene score: 7.19 After integration: 30 L: 18 R: 12 Score: 7.23 Top gene: VIM Top gene score: 7.23 After integration: 155 L: 125 R: 30 Score: 9.76 Top gene: HMGN5 Top gene score: 9.76

[0297] Panels (a)-(i) of FIG. 12 are non-limiting, exemplary plots of expression profiles in two-dimensional space showing how integration was determined.

[0298]

[11] :#See integration 2 merge_num=2 cluster_of_interest=None show_background=False split.analyze_split(X,x1,x2,genes,mhistory,merge_num,num_genes=4, show_background=show_background,clust=cluster_of_interest)

[0299] Figure 13 shows non-limiting, exemplary plots of expression profiles in two-dimensional space after the second cycle of integration. Panels (a)-(d) of Figure 14 show non-limiting, exemplary plots of expression profiles in two-dimensional space showing how the second cycle of integration shown in Figure 13 was determined.

[0300] Differential expression The module allows two types of simple differential expression analysis: the first type performs a one-v-rest comparison of each cluster and visualizes the most significant genes in each cluster according to a t-test for each gene, the second type performs a pairwise comparison for every pair of two clusters.

[0301]

[12] :split.save_more_highly_expressed_genes_in_one_clust(X,genes,ym,x1,x2,num_genes=3,show_plots=True)

[0302] Panels (a)-(f) of FIG. 15 are plots showing one non-limiting, exemplary type of differential expression analysis.

[0303]

[13] :split.pairwise_cluster_comparison(X,genes,ym,x1=x1,x2=x2,num_genes=3, show_plots=True,verbose=F dendrosplit / utils.py:39: FutureWarning: Element-wise comparison failed; returning a scalar instead, but at plt.plot(x1[y==i],x2[y==i],'.',c=RGBs[j],label=str(i)+'('+str(np.sum(y==i))+')') dendrosplit / feature selection.py:221:RuntimeWarning: Division by zero encountered in double scalar fold = gmeanj / gmeani

[0304] Panels (a)-(o) of FIG. 16 are plots showing another non-limiting, exemplary type of differential expression analysis.

[0305] distance distribution The module also allows the user to visualize the distribution of distances within each cluster. For a given cluster, the function plots the proportion of pairwise distances (between points within the cluster) for each percentile bin across the set of pairwise distances. For example, 0.3 in 1 indicates that 30% of the pairwise distances are between the 5th and 10th percentile of the overall distances. Use this function to get a sense of how agglomerated clusters are according to the original distance matrix. Intuitively, a good cluster should have all points close to each other. For example, a cluster that has no distances within the bottom 10 bins (i.e., the bottom 50th percentile) is considered bad. Note that, as expected, this is the case for cluster "-1" below, which contains an outlier.

[0306]

[14] :merge.visualize_within_cluster_distance_distributions(D,ym,show_D_dist=True)

[0307] Panels (a)-(g) of FIG. 17 are non-limiting, exemplary plots visualizing the distances between clusters.

[0308] phylogenetic tree The module can also allow the user to generate a phylogenetic tree and obtain the order of cells according to the phylogenetic tree. Phylogenetic trees can be difficult to view in an iPython notebook. In some embodiments, the phylogenetic tree can be saved as shown below. The user can supply in a cluster label (the "label" keyword). If desired, the function can make the names of all samples in a cluster the same color.

[0309]

[15] :cell_order=split.plot_dendro(D,return_cell_order=True,labels=ym,save_name=' / Users / user1 / Desktop / dendrogram') dendrosplit / split.py:233:FutureWarning: A comparison with "None" leads to an element-by-element object comparison if the indicator is "!" =None:

[0310] FIG. 18 shows a non-limiting exemplary phylogenetic tree.

[0311] Taken together, these data illustrate the various steps and tools of the present disclosure for visualizing the results of the recursive splitting and merging followed by the merging.

[0312] Example 3 Parameter sweep for clustering by recursive partitioning and testing of phylogenetic trees followed by merging This example describes a recursive split and test followed by a parameter sweep to optimize parameters for synthesis.

[0313] During the splitting step of the method, two hyperparameters can be tuned: score threshold and breakup percentile. We can explore what different clusters can be generated using different hyperparameters. By taking advantage of clusters generated using a smaller score threshold (the smaller the threshold, the more clusters are generated) splitting clusters generated using a larger score threshold, we can quickly obtain some (pre-integration after splitting) clustering results. First, perform the splitting step using a very low threshold. Then, use the get clusters from the history() function.

[0314] An example of sweeping through various score thresholds is shown below: The same can be done with breakup percentiles.

[0315]

[16] :ys,shistory=split.dendrosplit((D,X),preprocessing='precomputed', score_threshold=2,verbose=False,disband_percentile=50) ys_sweep=[] thresholds=range(5,100,5) for threshold in thresholds: ys_sweep.append(split.get_clusters_from_history(D,shistory,threshold,50)) plt.figure() split.plot_labels_legend(x1,x2,split.str_labels_to_ints(ys_sweep[-1])) plt.title('Clustering result using a threshold of%.3f'%(threshold))

[0316] Panels (a)-(s) of FIG. 19 are non-limiting example plots showing parameter sweeps.

[0317] By sweeping the parameters, it is possible to see how the number of clusters varies as a function of the threshold, which may give the user insight into how to select the optimal threshold for a particular application.

[0318]

[17] :def count_nonsingleton_clusters(y): return sum([1 for i in np.unique(y) if np.sum(y==i)!=1]) plt.plot(thresholds,[count_nonsingleton_clusters(i) for i in ys_sweep]) plt.grid() plt.xlabel('thresholds (-log10(p-value))') plt.ylabel('number of nonsingletone clusters') Out

[17] :<matplotlib.text.Text at 0x117fb3290>

[0319] Figure 20 is a non-limiting exemplary plot showing how a parameter sweep can be used to identify a threshold value. Because a large number of clusters of expression profiles were identified using a threshold value of only 5, a larger threshold value (e.g., 40 as shown in panel (h) of Figure 19) was used to identify fewer clusters of expression profiles.

[0320] Collectively, these data suggest that a parameter sweep leads to recursive split-and-test followed by integration to optimize hyperparameters.

[0321] Example 4 Clustering by recursive partitioning and testing of phylogenetic trees followed by merging This example describes a clustering method by recursive partitioning (e.g., recursive tree partitioning) and testing, followed by merging. In this example, for each cluster or node of the tree (except leaf nodes), the intra-cluster median correlation of the two sub-clusters was higher than the inter-cluster median correlation.

[0322] During the partitioning and testing phase of the expression profiles of 357 cells, starting from the top of the tree, the tree was partitioned into two candidate subtrees. The partition corresponds to a split of the cluster into two candidate subtrees under the constraint that the intra-cluster median correlation of the two subclusters should be higher than the inter-cluster median correlation. The quality of the partition was scored. If the subclusters were considered sufficiently different, the phase continued for each subtree. If they were not considered sufficiently different, the method terminated for this part of the tree. This phase generated a set of labels for the dataset.

[0323] Panels (a)-(j) of Figure 21 are non-limiting exemplary plots showing the results of the first partition. During the first partition, 20 genes (shown in Table 1) were determined to be differentially expressed in 357 cells.

[0324] [Table 1]

[0325] FIG. 22 is a non-limiting exemplary t-SNE plot showing partitioning results of expression profiles of 357 cells showing that 357 cells were classified into two clusters using a threshold of 10. FIG. 23 shows a non-limiting exemplary dendrogram showing expression profiles classified into two clusters based on the features shown in Table 2 (cluster 0 in Table 1 corresponds to cluster 1 in Table 2, and cluster 1 in Table 2 corresponds to cluster 2 in Table 2). FIG. 24 is a non-limiting exemplary plot showing a parameter sweep. Since two clusters of expression profiles were identified using a threshold of only 10, the same two clusters of expression profiles were identified using a larger threshold (compare FIG. 24 with FIG. 20).

[0326] [Table 2]

[0327] Overall, these data show clustering by recursive partitioning and testing followed by merging. In this example, for each cluster or node of the tree (except for the leaf nodes), the intracluster median correlation of the two subclusters was higher than the intercluster median correlation.

[0328] In at least some of the above-described embodiments, one or more elements used in an embodiment can be used interchangeably in another embodiment, unless the substitution with another embodiment is not technically feasible. Those skilled in the art will appreciate that various other omissions, additions, and modifications can be made to the methods and structures described above without departing from the spirit and scope of the claims. All such variations and modifications are intended to be within the spirit and scope defined by the appended claims.

[0329] With respect to the use of virtually any plural and / or singular terminology herein, one of ordinary skill in the art can convert from plural to singular and / or from singular to plural as appropriate to the situation and / or application. Various singular / plural permutations may be expressly set forth herein for purposes of clarity. As used in this specification and the appended claims, the singular forms "a," "an," and "the" include the plural unless the context clearly indicates otherwise. Any reference herein to "or" is intended to include "and / or" unless otherwise stated.

[0330] In general, it will be understood by those of skill in the art that the terms used herein, and particularly in the appended claims (e.g., the body of the appended claims), are generally intended as "open" terms (e.g., the term "including" should be interpreted as "including, but not limited to," the term "having" should be interpreted as "having at least," the term "include" should be interpreted as "including, but not limited to," etc.). If a specific number is intended in the introduced claim recitation, such recitation will be expressly recited in the claim, and it will be further understood by those of skill in the art that, in the absence of such recitation, no such intention exists. For example, as an aid to understanding, the following appended claims may introduce claim recitations using the introductory phrases "at least one" and "one or more." However, the use of such phrases should not be construed as implying that introducing a claim recitation with the indefinite article "a" or "an" limits any particular claim that includes such introduced claim recitation to embodiments that include only one such recitation, even if the same claim includes the introductory phrase "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should be construed to mean "at least one" or "one or more"), and the same is true when introducing a claim recitation using a definite article. In addition, those skilled in the art will understand that even when a particular number is expressly recited in an introduced claim recitation, such recitation should be construed to mean at least the recited number (e.g., the mere recitation "two recitations" without any other qualifiers means at least two recitations, or more than two recitations). Additionally, when a phrase similar to "at least one of A, B, and C, etc." is used, such a phrase is generally intended to have the meaning that one of ordinary skill in the art would understand the phrase (e.g., "a system having at least one of A, B, and C" includes, without limitation, systems having only A, only B, only C, both A and B, both A and C, both B and C, and / or all of A, B, and C, etc.).When phrases like "at least one of A, B, and C, etc." are used, such phrases are generally intended to have the meaning that one of ordinary skill in the art would understand the phrase (e.g., "a system having at least one of A, B, and C" includes, without limitation, systems having only A, only B, only C, both A and B, both A and C, both B and C, and / or all of A, B, and C, etc.). Furthermore, one of ordinary skill in the art will understand that virtually any disjunctive word and / or disjunctive phrase expressing two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibility of including one of the terms, either of the terms, or both terms. For example, the phrase "A or B" is understood to include the possibilities of "A" or "B" or "A and B."

[0331] In addition, those skilled in the art will recognize that when features or aspects of the disclosure are described in terms of a Markush group, the disclosure is also described in terms of any individual element or subgroup of elements of the Markush group.

[0332] As will be understood by those of skill in the art, for any and all purposes, including providing a description, all ranges disclosed herein include any and all possible subranges and combinations of subranges. It will be readily recognized that any range recited fully describes and allows for the same range to be subdivided into at least one half, one third, one quarter, one fifth, one tenth, etc. As a non-limiting example, each range recited in the specification can be readily divided into a lower third, a middle third, an upper third, etc. Also, as will be understood by those of skill in the art, all terms such as "up to," "at least," "greater than," "less than," etc., are inclusive of the recited numbers and refer to ranges that may be subsequently subdivided into subranges as described above. Finally, as will be understood by those of skill in the art, ranges include individual elements. Thus, for example, a group having 1 to 3 cells refers to a group having 1, 2, or 3 cells. Similarly, a group having 1 to 5 cells refers to groups having 1, 2, 3, 4, or 5 cells, etc.

[0333] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will become apparent to those skilled in the art. The various aspects and embodiments disclosed herein are intended to be illustrative and not limiting, with the true scope and spirit being indicated by the following claims. Preferred aspects of the present invention are as follows. [1] A method for identifying a target that distinguishes a cell type, comprising: (a) receiving a target count data structure, the target count data structure including an expression profile of a plurality of cells, the expression profile of the plurality of cells including a number of each target of a plurality of targets for each cell of the plurality of cells; (b) hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, the phylogenetic tree comprising a plurality of nodes, the plurality of nodes comprising a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, and the root node representing the expression profile of the plurality of cells; (c) traversing through each of the plurality of nodes of the phylogenetic tree from the root node of the phylogenetic tree to the plurality of leaf nodes of the phylogenetic tree; (1) determining whether it is valid or invalid to split the node into child nodes of the node; (2) if it is invalid to split the node into its child nodes, adding the node to a combined cluster set; and (d) repeatedly, for each first node in the aggregated cluster set; if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate an integrated node that includes the expression profile represented by the first node and the second node; (e) for each of the nodes in the integrated cluster set, identifying a target that distinguishes a cell type based on an expression profile of the plurality of targets of a cell represented by the node; A method comprising: [2] The method according to [1], wherein the target count data structure includes a target count matrix. [3] The method according to [2], wherein each row or column of the target count matrix contains several targets of a plurality of targets in different individual cells of the plurality of cells. [4] A parent node is associated with each of the plurality of leaf nodes and the plurality of non-root non-leaf nodes; The method of claim 1, wherein the root node and each of the non-root non-leaf nodes are associated with a left child node and a right child node, and the root node and each of the non-root non-leaf nodes represent an expression profile represented by the left child node and the right child node of the node. [5] In (a), before receiving the target count data structure, (f) barcoding the targets in the cells with a plurality of barcodes to create a plurality of barcoded targets, each of the plurality of barcodes comprising a cellular label and a molecular label, wherein barcoded targets created from different cellular targets have different cellular labels and barcoded targets created from a cellular target in one of the plurality of cells have a different molecular label; (g) obtaining sequence data for said plurality of barcoded targets; (h) for each of the plurality of cells, (1) counting the number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell; (2) estimating the number of each target of the plurality of targets in the cell based on the number of molecular labels having distinct sequences associated with the target in the sequence data counted in (h)(1); The method according to any one of [1] to [4] above, comprising: [6] Receiving the target count data structure includes: The method of claim 5, further comprising generating a target count data structure from the number of each target of the plurality of targets of the cell estimated in (h)(2), wherein the expression profile of the cell of the plurality of cells includes the number of each target of the plurality of targets of the cell estimated in (h)(2). [7] In (b), before hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate the phylogenetic tree representing the expression profiles of the plurality of cells; (i) identifying a distance data structure of elements of the target count data structure, the distance data structure comprising distances between the expression profiles of the plurality of cells; The method according to any one of [1] to [6] above, comprising: [8] The method according to [7], wherein the distance data structure includes a distance matrix. [9] The method according to [8], wherein each diagonal element of the distance matrix has a value of 0.

[10] (b) The method according to any one of [7] to [9], wherein hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and the distances between the expression profiles of the plurality of cells to generate the phylogenetic tree representing the expression profiles of the plurality of cells comprises hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and the distance data structure.

[11] The method according to any one of [7] to

[10] , wherein the distance between the expression profiles of the multiple cells includes a pairwise correlation distance between the expression profiles of the multiple cells.

[12] (i) before identifying the distance data structur...

Claims

1. 1. A method for identifying a target that distinguishes a cell type, comprising: (a) receiving a target count data structure, the target count data structure comprising an expression profile of a plurality of cells, the expression profile of the plurality of cells comprising a number of each target of a plurality of targets for each cell of the plurality of cells; (b) hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate a phylogenetic tree representing the expression profiles of the plurality of cells, wherein the phylogenetic tree comprises a plurality of nodes, the plurality of nodes including a root node, a plurality of leaf nodes, and a plurality of non-root non-leaf nodes, each leaf node of the plurality of leaf nodes representing an expression profile of a different cell of the plurality of cells, the root node representing the expression profile of the plurality of cells, each of the plurality of leaf nodes and the plurality of non-root non-leaf nodes being associated with a parent node, and each of the root node and the plurality of non-root non-leaf nodes being associated with left and right child nodes and representing the expression profile represented by the left and right child nodes of the node; (c) traversing through each of the plurality of nodes of the phylogenetic tree from the root node of the phylogenetic tree to the plurality of leaf nodes of the phylogenetic tree; (1) Determine whether it is valid or invalid to split the node into its child nodes by using the following (A) and (B): (A) determining that the split is valid if the distance between the left child node and the right child node exceeds a split threshold; and (B) determining that the split is invalid if the distance between the left child node and the right child node does not exceed a splitting threshold; wherein the distance between the left child node and the right child node is determined based on a statistical test performed for each target of the plurality of targets between the expression profiles represented by the left child node and the right child node. and (2) adding the node to a consolidated cluster set if it is invalid to split the node into its child nodes; (d) repeatedly, for each first node in the aggregated cluster set, if a distance between the first node in the integrated cluster set and a second node in the integrated cluster set that is closest to the first node is within an integrated distance threshold, merging the first node with the second node to generate a combined node that includes the expression profile represented by the first node and the second node; (e) for each of the nodes in the integrated cluster set, identifying targets that distinguish cell types based on the expression profile of the plurality of targets of the cell represented by the node; A method comprising:

2. The method of claim 1 , wherein the target count data structure comprises a target count matrix.

3. 3. The method of claim 2, wherein each row or column of the target count matrix includes a number of each of a plurality of targets for different individual cells of the plurality of cells.

4. In (a), prior to receiving the target count data structure, (f) barcoding the targets in the cells with a plurality of barcodes to create a plurality of barcoded targets, each of the plurality of barcodes comprising a cellular label and a molecular label, wherein barcoded targets created from different cellular targets have different cellular labels and barcoded targets created from a cellular target in one of the plurality of cells have a different molecular label; (g) obtaining sequence data for the plurality of barcoded targets; and (h) for each of the plurality of cells, (1) counting the number of molecular labels having distinct sequences associated with each target of the plurality of targets in the sequence data of the cell; (2) (h) estimating the number of each target of the plurality of targets in the cell based on the number of molecular labels having distinct sequences associated with the target in the sequence data counted in (1); The method according to any one of claims 1 to 3, comprising:

5. Receiving the target count data structure includes: (h) generating a target count data structure from the number of each target of the plurality of targets of the cell estimated in (2), wherein the expression profile of the cell of the plurality of cells includes the number of each target of the plurality of targets of the cell estimated in (h)(2). The method of claim 4 , comprising:

6. (b) prior to hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate the dendrogram representing the expression profiles of the plurality of cells; (i) identifying a distance data structure for elements of the target count data structure, the distance data structure comprising distances between the expression profiles of the plurality of cells; The method according to any one of claims 1 to 5, comprising:

7. The method of claim 6 , wherein the distance data structure comprises a distance matrix.

8. 8. The method of claim 6 or 7, wherein in (b), hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells to generate the dendrogram representing the expression profiles of the plurality of cells comprises hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and the distance data structure.

9. The method of any one of claims 6 to 8, wherein the distance between the expression profiles of the plurality of cells comprises a pairwise correlation distance between the expression profiles of the plurality of cells.

10. prior to identifying distance data structures for elements of the target count data structure in (i), log-transforming the target count data structure into a log-transformed target count data structure; Identifying the distance data structure of an element of the target count data structure includes identifying the distance data structure of the log-transformed target count data structure; 10. The method of claim 6, wherein in (b), hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells comprises hierarchically clustering the expression profiles of the plurality of cells based on the log-transformed target count data structure and the distance data structure to generate the dendrogram.

11. 11. The method of claim 10, wherein log-transforming the target count data structure into the log-transformed target count data structure comprises increasing a value of each element of the target count data structure by an increment.

12. In (b), hierarchically clustering the expression profiles of the plurality of cells based on the target count data structure and distances between the expression profiles of the plurality of cells comprises: assigning each expression profile of the plurality of cells to a different leaf node; if a second node is a nearest neighbor of the plurality of nodes to a first node, iteratively combining the first node and the second node of the plurality of nodes to generate a parent node of the first node and the second node; The method according to any one of claims 1 to 11, comprising:

13. 13. The method of claim 12, wherein the distance between the first node and the second node is the maximum distance between any cell having an expression profile represented by the first node and any cell having an expression profile represented by the second node.

14. 14. The method of claim 12 or 13, wherein at least one of the intra-node correlation of the first node and the intra-node correlation of the second node is higher than the inter-node correlation between the first node and the second node.

15. 14. The method of claim 12 or 13, wherein a measure of intra-node correlation of the first node and intra-node correlation of the second node is higher than an inter-node correlation between the first node and the second node.

16. The measures of intra-node correlation of the first node and intra-node correlation of the second node are a maximum intra-node correlation of the first node and the second node; an intra-node average correlation of the first node and the second node; the intra-node median correlation of the first node and the second node; an intra-node minimum correlation of the first node and the second node; and Any combination of them The method of claim 15 based on at least one of the following:

17. The intra-node correlation of the first node is the maximum intra-node correlation of the first node; an intra-node average correlation of the first node; the intra-node median correlation of the first node; the intra-node minimum correlation of the first node; and Any combination of them and / or The intra-node correlation of the second node is the maximum intra-node correlation of the second node; the intra-node average correlation of the second node; the intra-node median correlation of the second node; the intra-node minimum correlation of the second node; and Any combination of them and / or The inter-node correlation between the first node and the second node is a maximum inter-node correlation between the first node and the second node; an inter-node average correlation between the first node and the second node; an inter-node median correlation between the first node and the second node; a minimum inter-node correlation between the first node and the second node; and Any combination of them The method according to any one of claims 14 to 16, wherein the method is based on at least one of the following:

18. 18. The method of claim 1, wherein the distance between the left child node and the right child node is determined based on a maximum p-value of the statistical test performed for each target of the plurality of targets between each expression profile represented by the left child node and each expression profile represented by the right child node.

19. 19. The method of claim 1, further comprising: when traversing the plurality of nodes of the phylogenetic tree, at each node, (3) adding the node to the integrated cluster set if the node represents an expression profile of a single cell.

20. A method according to any preceding claim, comprising, at each node, assigning a node label to the node as the plurality of nodes of the tree are traversed.

21. If the node represents an expression profile of a cell, the node label of the node includes a cell name; otherwise, when the node is the left child node of the parent node, the node indicator of the node includes the node indicator and left name of the parent node; 21. The method of claim 20, wherein the node indicator of the node otherwise includes the node indicator of the parent node and a right name.

22. For each node in the integrated cluster set, identifying the targets that distinguish the cell types based on the expression profile of the plurality of targets of the cell represented by the node includes: determining that a difference in the number of molecular labels having distinct sequences associated with the targets that distinguish the cell types between the expression profile represented by the node and an expression profile represented by another node in the integrated cluster set is greater than a significance threshold. The method according to any one of claims 1 to 21, comprising:

23. 23. The method of any one of claims 1 to 22, comprising classifying the plurality of cells based on the nodes in the integrated cluster set that represent expression profiles of the cells.

24. specifying a whole transcriptome assay based on said targets that distinguishes between identified cell types; or specifying a targeted transcriptome assay based on said targets that distinguish the identified cell types; 24. The method according to any one of claims 1 to 23.

25. 1. A computer system for identifying a number of targets, comprising: A hardware processor; a non-transitory memory having instructions stored thereon, the instructions, when executed by the hardware processor, causing the processor to perform a method according to any one of claims 1 to 24; A computer system comprising:

26. A computer readable medium comprising code for performing the method of any one of claims 1 to 24, wherein the computer readable medium is a non-transitory tangible storage medium.

Citation Information

Patent Citations

  • Dendrogram display method

    JP2002366594A

  • Computer systems and methods for identifying genes and revealing pathways associated with traits

    JP2005516310A

  • Evolutionary clustering algorithm

    JP2012514783A

  • Genomic classification of non-small cell lung carcinoma based on patterns of gene copy number alterations

    US20100145893A1