Calibrated probabilistic RNA decoding using monotonic lattice regression

The RNA decoding system uses machine learning models to enhance transcript detection by filtering out false codes and background noise, improving decoding efficiency and accuracy by identifying both complete and partial barcodes.

WO2026050647A1PCT designated stage Publication Date: 2026-03-05BRUKER SPATIAL BIOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/044196
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-30
Filing Date
2025-08-29
Publication Date
2026-03-05

Smart Images

  • Figure US2025044196_05032026_PF_FP_ABST
    Figure US2025044196_05032026_PF_FP_ABST
Patent Text Reader

Abstract

A data processing system implements techniques for mapping RNA to identify genes therein. Reporter probes are bound to molecular targets on the RNA. Each reporter probe is associated with a spot color representing a wavelength of light emitted by a fluorophore. Specific target genes are associated with a barcode comprising a specific set of spot colors. An RNA mapping pipeline is provided to identify candidate gene transcripts that include a complete or partial barcode. The mapping pipeline determines various quality metrics for each of the candidate gene transcripts and analyzes each of the candidate gene transcripts using machine learning models to determine whether the candidate gene transcripts are false codes or negative probes. The mapping pipeline then calculates a quality score for each of the candidate transcripts based on the quality metrics and whether the candidate transcripts are predicted to be false codes or negative probes.
Need to check novelty before this filing date? Find Prior Art

Description

PATENT NovoTecliIP Docket No. 240613A-001PCTCALIBRATED PROBABILISTIC RNA DECODING USING MONOTONIC LzArTICE REGRESSIONBACKGROUND

[0001] Ribonucleic acid (RNA) is a nucleic acid that is present in all living cells and is essential for many biological processes. These biological processes include gene expression, which is a process in which information encoded in a gene is used to direct the assembly of protein molecules. In transcription, a copy of the genetic information representing a gene is encoded in a segment of RNA referred to as a gene transcript. Analyzing RNA can therefore reveal which genes are being transcribed, which can provide important information for understanding numerous biological processes. Hence, there is a need for improved systems and methods that provide means for identification of RNA molecules.SUMMARY

[0002] An example data processing system according to the disclosure includes a processor and a memory storing executable instructions. The instructions when executed cause the processor alone or in combination with other processors to perform operations including obtaining a data file resulting from an assay of a sample including ribonucleic acid (RNA) in which reporter probes have been bound to molecular targets on the RNA, each reporter probe being associated with a spot color, the spot color representing a wavelength of light emitted by a fluorophore of the reporter probe, the data file including spot information identifying locations in the sample at which fluorescence at a wavelength emitted by a reporter probe was detected; identifying candidate transcripts in the data file representing a gene target, the candidate transcripts including a set of spots matching at least a threshold number of spots of a barcode associated with the gene target, the barcode including a unique combination of spot colors associated with the gene target that can be used to identify a presence of the gene target in the sample; analyzing the candidate transcripts to determine first quality metrics to assess whether each of the candidate transcripts is a real transcript; analyzing the candidate transcripts and the first quality metrics using a first machine learning model to obtain false code scores for each of the candidate transcripts, the first machine learning model being trained to output a false code score representing a likelihood that a candidate transcript is a false code comprising a random grouping of spots based on the first quality metrics associated with the candidate transcript; filtering the candidate transcripts to reduce a number of candidate transcripts predicted to be false codes below a maximum falsePATENT NovoTecliIP Docket No. 240613A-001PCT code threshold; determining, after filtering the candidate transcripts, second quality metrics for the candidate transcripts; analyzing the candidate transcripts, the first quality metrics, and the second quality metrics using a second machine learning model to obtain negative probe scores for each of the candidate transcripts, the second machine learning model being trained to output a negative probe score representing a likelihood that the candidate transcript results from background fluorescence or non-specific binding; determining an overall quality score for each of the candidate transcripts based on the false code score and the negative probe score associated with the candidate transcript; filtering the candidate transcripts to remove candidate transcripts having an overall quality score that do not satisfy an overall quality' threshold to generate a set of detected transcripts; and outputting the set of detected transcripts.

[0003] An example method implemented in a data processing system includes obtaining a data file resulting from an assay of a sample including ribonucleic acid (RNA) in which reporter probes have been bound to molecular targets on the RNA, each reporter probe being associated with a spot color, the spot color representing a wavelength of light emitted by a fluorophore of the reporter probe, the data file including spot information identifying locations in the sample at which fluorescence at a wavelength emitted by a reporter probe was detected; identifying candidate transcripts in the data file representing a gene target, the candidate transcripts including a set of spots matching at least a threshold number of spots of a barcode associated with the gene target, the barcode including a unique combination of spot colors associated with the gene target that can be used to identify a presence of the gene target in the sample; analyzing the candidate transcripts to determine first quality' metrics to assess whether each of the candidate transcripts is a real transcript; analyzing the candidate transcripts and the first quality metrics using a first machine learning model to obtain false code scores for each of the candidate transcripts, the first machine learning model being trained to output a false code score representing a likelihood that a candidate transcript is a false code including a random grouping of spots based on the first quality' metrics associated with the candidate transcript; filtering the candidate transcripts to reduce a number of candidate transcripts predicted to be false codes below a maximum false code threshold; determining, after filtering the candidate transcripts, second quality metrics for the candidate transcripts; analyzing the candidate transcripts, the first quality metrics, and the second quality metrics using a second machine learning model to obtain negative probe scores for each of the candidate transcripts, the second machine learning model being trained to output a negative probe score representing a likelihood that the candidate transcript results fromPATENT NovoTecliIP Docket No. 240613A-001PCT background fluorescence or non-specific binding; determining an overall quality score for each of the candidate transcripts based on the false code score and the negative probe score associated with the candidate transcript; filtering the candidate transcripts to remove candidate transcripts having an overall quality score that do not satisfy an overall quality threshold to generate a set of detected transcripts; and outputting the set of detected transcripts.

[0004] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The drawing figures depict one or more implementations in accord with the present teachings, by way of example only, not by way of limitation. In the figures, like reference numerals refer to the same or similar elements. Furthermore, it should be understood that the drawings are not necessarily to scale.

[0006] FIG. 1 is a diagram of an example computing environment in which the techniques for decoding RNA disclosed herein are implemented

[0007] FIG. 2 is an example implementation of the RNA decoding pipeline show n in FIG. 1.

[0008] FIGS. 3 A and 3B are diagrams showing an example of spot data according to the techniques disclosed herein.

[0009] FIG. 4A is an example diagram in which gene transcripts and corresponding barcodes are shown.

[0010] FIG. 4B is a diagram of an example data structure that stores the candidate transcript information and quality metrics determined by the RNA decoding pipeline.

[0011] FIG. 5 is a flow7chart of an example process for decoding RNA according to the techniques disclosed herein.

[0012] FIG. 6 is a block diagram show ing an example software architecture, various portions of which may be used in conjunction with various hardw are architectures herein described, which may implement any of the described features.PATENT NovoTecliIP Docket No. 240613A-001PCT

[0013] FIG. 7 is a block diagram showing components of an example machine configured to read instructions from a machine-readable medium and perform any of the features described herein.

[0014] FIG. 8 is a diagram that provides an example comparison of the transcript counts determined using a prior approach compared with the improved technique for determining transcript counts disclosed herein.

[0015] FIGS. 9A and 9B provide a comparison of a plot of example results of the adaptive two-dimensional threshold approach with a plot of the results one-dimensional threshold approach for identifying gene transcripts.

[0016] FIGS. 10A-10E are diagrams illustrating an example of multiple iterations of the two-dimensional quality score approach for matching candidate transcripts disclosed herein.DETAILED DESCRIPTION

[0017] Systems and methods for mapping RNA are provided herein. These techniques provide a technical solution to the problems associated with detecting gene transcripts in RNA sequences in biomolecular samples. The techniques herein provide an RNA decoding pipeline that analyzes fluorescence data obtained from reporter probes that bind to specific molecular targets on RNA transcripts in a biomolecular sample. The patterns of fluorescence detected are analyzed to identify unique patterns or barcodes associated with specific genes. The RNA decoding pipeline identifies candidate transcripts in the data that include both full and partial barcodes. The RNA decoding pipeline analyzes these candidate transcripts to determine qualify metrics associated with each of the candidate transcripts. These qualify metrics are indicative that an actual gene transcript has been detected in the sample. The RNA decoding pipeline utilizes machine learning models trained to identify candidate transcripts that are not real, such as but not limited to false codes representing random grouping of fluorescent spots and negative probes resulting from background fluorescence or non-specific binding. The RNA decoding pipeline determines a qualify score for each of the candidate transcripts based on the quality metrics, false code information, and negative probe information and identifies candidate transcripts that satisfy a qualify score threshold as actual gene transcripts. A technical benefit of this approach is that the RNA decoding pipeline can rely on both complete and partial barcodes to identify7gene transcripts in a sample. This approach utilizes experimental data that would not be included in scoring in other approaches. The qualify score threshold can be selected to a desired sensitivity, specificity, and / or background level in the detected transcripts. These and other technical benefits of thePATENT NovoTecliIP Docket No. 240613A-001PCT techniques disclosed herein will be evident from the discussion of the example implementations that follow.

[0018] FIG. 1 is a diagram of an example computing environment 100 in which the techniques for decoding RNA disclosed herein are implemented. The example computing environment 100 includes an experimental instrument 170 and a data analysis system 105. The example computing environment 100 shows one possible configuration of a computing environment that may be used to implement the techniques disclosed herein. Other implementations may include additional components instead of or in addition to one or more the components shown in the example implementation of FIG. 1.

[0019] The experimental instrument 170 is a device configured to analyze biomolecular samples. The experimental instrument 170 can perform assays on various types of biomedical samples, including decoding of RNA in biomedical samples according to the techniques disclosed herein. In some implementations, the experimental instrument 170 collects magnified images of the sample w hich has been treated with fluorescent reporter probes. These images can be collected through a microscope objective lens with an imaging sensor. Each type of fluorescent reporter probe is designed to bind to specific molecular targets on the RNA in the sample. For example, each type of fluorescent reporter probe can be designed to bind to a specific sequence of the nucleic acids within the RNA. Each reporter probe comprises a light-emitting fluorophore that emits specific wavelength of light referred to herein as a “spot color” because the fluoresce can appear as a spot or point of light in the data captured by the imager of the experimental instrument 170. The spot color of each type of reporter probe is known so that the locations of specific molecular targets can be identified.

[0020] These spot colors are grouped together into barcodes that can be used to identify specific gene transcripts that are present in the sample. The reporter probes are selected such that each of the gene transcripts are associated with a barcode that includes a unique combination of spot colors w hich can be used to distinguish the gene transcript from other gene transcripts that may be present in the sample. In some implementations, the gene transcript is associated with a four-spot barcode where the combination of spot colors included in the barcode are unique to that specific gene transcript.

[0021] The experimental instrument 170 can output the results from the assay in various formats. These formats can include but are not limited to a comma separated values (CSV) file or other file format that can be analyzed by the data analysis system 105. The data output by the experimental instrument 170 can be stored in the experimental data datastore 114 ofPATENT NovoTecliIP Docket No. 240613A-001PCT the data analysis system 105. The experimental data datastore 114 is a persistent datastore in a memory of the data analysis system 105 that can be used to store the data generated by the experimental instrument 170 for further analysis.

[0022] The data analysis application 110 provides tools for viewing, analyzing, and / or creating visualizations of data from various data sources, including the experimental data datastore 114 and / or the decoding output datastore 118.

[0023] The RNA decoding pipeline 112 analyzes data output by the experimental instrument 170 and stored in the experimental data datastore 114. The RNA decoding pipeline 112 analyzes this data to identify gene transcripts present in the samples. The RNA decoding pipeline 112 implements improved techniques for mapping the candidate transcripts where complete barcode has not been detected, but various quality metrics indicate that the candidate transcript is an actual transcript. A technical benefit of this approach is an increased ability to detect gene transcripts in a sample. The RNA decoding pipeline 112 outputs information identifying the detected transcripts to the decoding output datastore 118. The data analysis application 110 and / or other applications can be used to view, analyze, and / or create visualizations of the data stored in the decoding output datastore 118. Additional implementation details of the RNA decoding pipeline are shown in FIG. 2.

[0024] The barcode reference datastore 116 is a persistent datastore in the memory' of the data analysis system 105. The barcode reference datastore 116 includes a mapping between barcodes and specific genes that can be used by the RNA decoding pipeline 112. The RNA decoding pipeline 112 utilizes this information to identify full or partial matches of barcodes in the data output by the experimental data datastore 114.

[0025] FIG. 2 is an example implementation of the RNA decoding pipeline 112 shown in FIG. 1. The RNA decoding pipeline 112 includes a candidate transcript selection unit 202, a false code detection model 204, a candidate labeling and filtering unit 206, a negative probe detection model 208, a qualify score determination unit 210, model training data 212, and model training unit 214.

[0026] The candidate transcript selection unit 202 obtains a data file of data output by the experimental instrument 170 from the experimental data datastore 114. As discussed in the preceding examples, the data file results from an assay of a sample comprising RNA in which reporter probes have been bound to molecular targets on the RNA. The reporter probes include a fluorophore that emits a specific known wavelength of light that can be detected by the imaging sensor of the experimental instrument 170. The data file includes spotPATENT NovoTecliIP Docket No. 240613A-001PCT information identifying locations in the sample at which fluorescence at a wavelength emitted by a reporter probe was detected.

[0027] The candidate transcript selection unit 202 identifies candidate transcripts (also referred to herein as ‘‘transcript calls”) from the data file. The candidate transcript selection unit 202 selects candidate transcripts that appear to include a full barcode or a partial barcode having at least a threshold number of spots. For example, in some implementations, the full barcode includes four spots, and partial barcodes are barcodes include at least three spots. The spots in the full or partial barcode are located within a threshold distance of one another. For example, in some implementations, the candidate transcript selection unit 202 selects spots that are within a radius of approximately 1.5 pixels of one another. Once the candidate barcodes have been selected, the candidate transcript selection unit 202 analyzes the candidate transcripts to determine first quality metrics to assess whether each of the candidate transcripts is a real transcript that has been detected by the experimental instrument 170. These qualify metrics can include one or more of the following qualify metrics: the spread of the reporter binding events; the posterior probability gene score; the proportion of spots that encode the gene; a unique number of bits; the number of reporter binding events; and / or the log likelihood ratio (LLR) of the reporter binding events colors. The spread of the reporter binding events is indicative of the qualify7of the candidate reporter binding event, because random groupings of spots (referred to herein as “false codes”) tend to have spots that are spread farther apart than spots detected for real gene transcripts. The posterior probability gene score represents a probability of the candidate transcript being a real gene transcript given the possible genes that could be encoded by all of the spots in a local neighborhood. The local neighborhood includes the spots that are a predetermined distance from the spots comprising a candidate transcript. The proportion of spots that encode the gene represents a proportion of the spots in the local neighborhood corresponding to the barcode of the candidate transcript. The proportion of spots qualify metric can serve as a surrogate measure for “crowdedness” of a particular gene transcript in the local neighborhood. The unique number of bit or spots included in the candidate transcript is also indicative of the qualify of the candidate transcripts. Candidate transcripts that include a full barcode of spots tend to have a higher qualify’ than those with fewer spots. The number of reporter binding events in the neighborhood of the candidate transcript which encode a particular gene matching the barcode of the candidate transcript indicate a higher confidence that the candidate transcript is a real transcript. The LLR of the colors of the candidate transcript is also indicative of whether the candidate transcript is a real transcript that has been detected and notPATENT NovoTecliIP Docket No. 240613A-001PCT experimental error. Residual autofluorescence from morphology staining prior to the RNA imaging cycle undertaking by the experimental instrument 170 can cause an excess of spots corresponding to specific colors. These spots can create a background fluorescence that results in excess transcript calls. Under ideal conditions, the distribution of colors of the barcode of a candidate transcript should match the distribution of colors for a barcode of a gene target that is being matched with the candidate transcript.

[0028] The false code detection model 204 analyzes the candidate transcripts and the first quality metrics to obtain a false code score for each of the candidate transcripts. The false code detection model 204 is trained to output a false code score representing a likelihood that a candidate transcript is a false code comprising a random grouping of spots based on the first quality metrics associated with the candidate transcript. The false code detection model 204 is implemented using monotonic lattice regressions in some implementations. The false code detection model 204 can be implemented using the TensorFlow Lattice (TFL) library implemented in Python programing language. The false code detection model 204 is fitted or trained by the model training unit 214 using a set of labeled training data selected from the model training data 212. The training data includes labeled examples that train the false code detection model 204 to predict whether a candidate transcript is a false code. The false code prediction output by the false code detection model 204 outputs an indication as to whether the candidate transcript is predicted to be a false code or not. In some implementations, the indication is a continuous score between zero and one, where values closer to one indicate stronger confidence that the candidate transcript is not a false code, and values closer to zero indicate stronger confidence that the candidate transcript is a false code.

[0029] The false code detection model 204 assigns a monotonic constraint to each of the first quality metrics considered by the model. The monotonic constraint forces the predicted false code score to increase or decrease monotonically with respect to the quality metric if other quality metrics are held constant. A technical benefit of this approach is that prior knowledge can be encoded in the false code detection model 204 which makes the model robust to overfitting. Overfitting occurs when a model fits too closely to its training data, causing the model to make inaccurate predictions when analyzing new data on which the model was not trained.

[0030] The model considers various aspects of the first quality metrics with respect to each of the candidate transcripts. Increased spread of the reporter binding events can decrease the falsecode quality score for a candidate transcript. Increased posterior probability gene score can make the prediction of whether the candidate transcript is a false code morePATENT NovoTecliIP Docket No. 240613A-001PCT accurate. The barcode of the candidate transcript being complete (e.g. included all four spots of a four-spot barcode) can improve the prediction of whether the candidate transcript is a false code, while the remaining quality metrics equally impact the prediction. Increasing the number of reporter binding events in the neighborhood of the candidate transcript can improve the prediction of whether the candidate transcript is a false code, while the remaining quality’ metrics equally impact the prediction. A technical benefit of using the false code detection model 204 is that random groupings of spots in the data output by the experimental instrument 170 that appear to be complete or partial barcodes of a gene target can be eliminated from the data, thereby potentially increasing the number of transcript matches detected without sacrificing the accuracy of the results.

[0031] The candidate labeling and filtering unit 206 analyzes, labels, and filters the candidate transcripts. The candidate labeling and filtering unit 206 adds segmentation or cell ID labels to each of the candidate transcripts. The candidate labeling and filtering unit 206 then filters the candidate transcripts to reduce the number of candidate transcripts predicted to be false codes below a maximum false code threshold that represents the maximum proportion of predicted false codes that can be included in the candidate transcripts. The maximum false code threshold can be adjusted dow nw ard to reduce the proportion of false codes that may be included in the candidate transcripts or adjusted upward to increase the proportion of false codes that may be included in the candidate transcripts.

[0032] The candidate labeling and filtering unit 206 then determines, second quality metrics for the candidate transcripts after performing the filtering operation. The second quality metrics can include but are not limited to one or more of an average distance between each candidate transcript and its nearest predetermined number of neighboring transcripts; a number of negative probe transcripts within a threshold distance from the candidate; a distance to the nearest negative probe transcript from the candidate transcript; and an energy score representing a number of times a transcript having a same gene label is observed among the neighboring transcripts w ithin a predetermined distance of the candidate transcript.

[0033] The negative probe detection model 208 analyzes the filtered candidate transcripts, the first quality metrics, and the second quality metrics to predict negative probe scores for each of the candidate transcripts. The negative probe detection model 208 is trained to output a negative probe score representing a likelihood that the candidate transcript results from background fluorescence or non-specific binding. The negative probe detection model 208 is implemented using monotonic lattice regressions in some implementations using the TFL library as discussed above with respect to the false code detection modelPATENT NovoTecliIP Docket No. 240613A-001PCT204. The negative probe detection model 208 is fitted or trained by the model training unit 214 using a set of labeled training data selected from the model training data 212. The training data includes labeled examples that train the negative probe detection model 208 to predict whether a candidate transcript is a negative probe. The negative probe prediction output by the negative probe detection model 208 outputs an indication of whether the candidate transcript is predicted to be a negative code or not. This indication is referred to herein as the negative code score. In some implementations, the indication is a continuous score between zero and one, where values closer to one indicate stronger confidence that the candidate transcript is not a negative code, and values closer to zero indicate stronger confidence that the candidate transcript is a negative code.

[0034] The quality score determination unit 210 determines a quality score for each of the candidate transcripts. The quality score is based at least in part on the false code score and / or the negative code score associated with the candidate transcript in some implementations. One implementation of a quality score determination unit uses a set of "gold standard’ or ‘high confidence’ candidate transcripts for overall quality score calibration. These ‘high confidence’ candidate transcnpts may be full barcode candidate transcripts with high false code or negative code quality scores above a given threshold in some implementations. The frequency of each RNA gene target can first be inferred amongst these high confidence candidate transcripts (by computing the proportion of times each gene is called). Then, additional candidate transcripts outside of the ‘high confidence’ set can be iteratively added to the dataset such that they maximize concordance with the gene call distribution in the high confidence set. All candidate transcripts can be considered to fall in a two-dimensional space described by their falsecode and negative code quality scores. In some implementations, transcripts can be grouped into ‘buckets’ describing their approximate coordinates in this two-dimensional quality score space. Next, a bucket of transcripts can be chosen to be added to the final dataset amongst a candidate set of transcript buckets such that concordance with gene frequency amongst the high confidence set is maximized amongst possible buckets. The set of possible buckets which may be considered for addition to the dataset at any iteration is determined by their false code and negative probe quality scores. The algorithm requires that transcripts buckets are considered monotonically with respect to their two dimensional quality score coordinate. For example, a transcript bucket representing a quality score coordinate of (Negative Code quality' = 0.8, False code quality' = 0.7) could not be considered before first adding a transcript bucket with (Negative Code quality = 0.8, False code quality = 0.9), because the second bucket has superior false code quality score comparedPATENT NovoTecliIP Docket No. 240613A-001PCT to the first. This algorithm allows a flexible construction of a final dataset that may align with overall expected gene target frequency. The iterative construction of a two-dimensional quality score space does not require pre-specified weights or parametric formulae for combining the false code and negative code quality scores to determine an overall quality score which makes the method flexible and robust to diverse datasets.

[0035] In other implementations, an overall quality score may be determined by multiplying the false code score and the negative code score associated with the candidate transcript. Other implementations of the quality score determination unit 210 can utilize other approaches for determining the quality scores based on the negative probe scores and the false code scores. Some implementations utilize a meta-model which predicts whether a candidate transcript is both (1) not a negative probe and (2) not a false code and uses the negative probe score and the false code score as a predictor. The model f is implemented using logistic regression in some implementations, and differential w eights can be given to the negative probes and the false codes during training of the model depending on whether the false code rate or the negative probe rate should be optimized.

[0036] FIGS. 9 A and 9B provide a comparison of a plot 901 of example results of the adaptive two-dimensional threshold approach discussed above compared with a plot 902 of example results one-dimensional threshold approach for identifying gene transcripts. The one-dimensional approach filters out candidate gene transcripts that have a quality score that fails to satisfy a minimum quality score threshold. FIG. 9B shows a markup of the plot 901 and the plot 902 that calls out differences in the result of the two approaches. The points 905 represent the false codes and the points 915 represent the gene code matches detected using the tw o-dimensional threshold approach. The points 920 represent the false codes, the points 925 represent the negative probes, and the points 935 represent the gene code matches detected using the one-dimensional threshold approach. The final transcript call target frequency for gene code matches more closely correlate with the target frequency among gold standard calibration data with the Adaptive threshold approach (915) compared to the Standard Quality Score Approach (935).

[0037] FIGS. 10A-10E are diagrams illustrating an example of multiple iterations of the two-dimensional quality score approach discussed above. The number of candidate transcripts that are matched increases for each iteration. A technical benefit of this approach is that the number of gene transcript matches can be significantly improved compared to the one-dimensional approach discussed above.PATENT NovoTecliIP Docket No. 240613A-001PCT

[0038] In other implementations, an overall quality score may be determined by multiplying the false code score and the negative probe score associated with the candidate transcript. Other implementations of the quality score determination unit 210 can utilize other approaches for determining the quality scores based on the negative probe scores and the false code scores. Some implementations utilize a meta-model / which predicts whether a candidate transcript is both (1) not a negative probe and (2) not a false code and uses the negative probe score and the false code score as a predictor. The model / is implemented using logistic regression in some implementations, and differential weights can be given to the negative probes and the false codes during training of the model depending on whether the false code rate or the negative probe rate should be optimized.

[0039] The quality score determination unit 210 can filter the candidate transcripts to remove candidate transcripts having an overall quality score that does not satisfy an overall quality7threshold to generate a set of detected transcripts in some implementations. The quality score threshold can be selected to reach a desired sensitivity, specificity, and / or background level in the detected transcripts. The quality score determination unit 210 can store the detected transcript information in the decoding output datastore 118, provide the detected transcript information to the data analysis application 110, and / or perform other actions on the detected transcript information. A technical benefit of the approach provided by the RNA decoding pipeline 112 is that transcript detections can be increased by including transcripts which lack a complete barcode in the data output by the experimental instrument 170 without sacrificing the desired sensitivity, specificity, and / or background level in the detected transcripts.

[0040] FIGs. 3A and 3B are diagrams showing an example of spot data that has been collected by the experimental instrument 170. The barcodes can include four spot colors: yellow (Y), green (G), red (R), and blue (B) in these examples, and different combinations of these spot colors are used to represent various target genes. The location and color of each of the spots is identified in the data file output by the experimental instrument. FIG. 3B shows an example of the data file from FIG. 3A in which several candidate transcripts have been identified which are highlighted with shaded circles.

[0041] FIG. 4A is an example diagram showing example gene mapping information 400 in which specific gene 402 and their corresponding barcodes 404 are shown. Each row includes a separate gene and the color mapping information associated with each of the barcodes. The mapping information can include expected spot colors resulting from fluorescence when a sample is exposed to one or more wavelengths of light by thePATENT NovoTecliIP Docket No. 240613A-001PCT experimental instrument 170. The gene mapping information 400 can be stored in the barcode reference datastore 116 and can include a mapping for each of the target genes that the RNA decoding pipeline 112 can attempt to identify in a sample.

[0042] FIG. 4B is a diagram of an example data structure 410 that stores the candidate transcript information and qualify metrics determined by the RNA decoding pipeline 112. The data structure 410 can be used to store data in the decoding output datastore 118. The RNA decoding pipeline 112 can update the data structure 410 associated with each of the gene candidates identified by the RNA decoding pipeline 112. The data structure 410 includes column 412 which represents a particular gene target that the RNA decoding pipeline 112 has selected as a candidate transcript. Columns 414 and 416 represent the x and y coordinates of the candidate gene transcript within the datafile output by the experimental instrument 170. The data structure 410 also includes columns 418, 420, 422, and 424 representing four potential spot colors that can be detected for a barcode representing a particular gene. Other implementations can include a different number of spot colors and the data structure 410 can be adapted to include an appropriate number of columns to store the spot colors. For example, in some embodiments there can be 5 spot colors. 6 spot colors, or 7 spot colors. The column 426 represents the number of reporter binding events associated with the candidate transcript that was determined as part of the first qualify metrics.Candidate transcripts associated with more reporter binding events (RBEs) are less likely to be false codes and often less likely to be negative probes. Column 428 comprises the unique number of bits value associated with the candidate transcript and indicates whether the candidate transcript is associated with a complete or partial barcode detected in the datafile output by the experimental instrument 170. In the example shown in FIG. 4B, three of the genes are associated with partial barcodes: DNMT3A and PHF12 lack a spot in column 420 and COL15A1 lacks a spot in column 424. Column 430 stores the posterior probability gene score representing a probability of the candidate transcript being a real gene transcript given the possible genes that could be encoded by all of the spots in a local neighborhood. Column 432 stores the spread of the reporter binding event and is indicative of the quality of the candidate transcript, because random groupings of spots (referred to herein as "false codes7’) tend to have spots that are spread farther apart than spots detected for real gene transcripts. Column 434 stores the proportion of spots that encode the gene transcript, which represents a proportion of the spots in the local neighborhood corresponding to the barcode of the candidate transcript. The proportion of spots quality metric can serve as a surrogate measure for '‘crowdedness” of a particular gene transcript in the local neighborhood. Column 436PATENT NovoTecliIP Docket No. 240613A-001PCT stores a value which represents an energy score representing the number of times a particular transcript with the same gene label is observed among the nearest neighbors of the candidate transcript. Additional elements of the first quality metrics and / or the second quality metrics can also be stored in the data structure 410 in other implementations.

[0043] FIG. 5 is a flow chart of an example process 500 for decoding RNA according to the techniques disclosed herein. The process 500 can be implemented by the RNA decoding pipeline 112 discussed in the preceding examples.

[0044] The process 500 includes an operation 502 of obtaining a data file resulting from an assay of a sample comprising ribonucleic acid (RNA) in which reporter probes have been bound to molecular targets on the RNA. Each reporter probe is associated with a spot color. The spot color representing a wavelength of light is emitted by a fluorophore of the reporter probe. The data file comprising spot information identifying locations in the sample at which fluorescence at a wavelength emitted by a reporter probe was detected. As discussed in the preceding examples, the data file can be a spot file that represents a location on the sample that may represent reporter binding events.

[0045] The process 500 includes an operation 504 of identifying candidate transcripts in the data file representing a gene target, the candidate transcripts comprising a set of spots matching at least a threshold number of spots of a barcode associated with the gene target, the barcode comprising a unique combination of spot colors associated with the gene target that can be used to identify a presence of the gene target in the sample. The candidate transcript selection unit 202 identifies the candidate transcripts from the data file obtained in operation 502. The candidate transcripts include transcripts for which a complete barcode has been detected as well as transcripts for which at least a threshold number of dots of the barcode have been detected. For instance, in some implementations, the barcodes comprise four spots and the threshold is three spots, so transcripts for which three spots have been detected are also included in the candidate transcripts. The length of the barcode and the threshold value can vary in different implementations and are not limited to a specific length and / or threshold value. The RNA decoding pipeline 112 analyzes these candidate transcripts to eliminate candidate transcripts that are random noise (false codes) and / or background fluorescence (negative probes) and filters out other candidate transcripts based on various quality metrics. A technical benefit of this approach is that the RNA decoding technique implemented by the RNA decoding pipeline 112 can increase transcript counts identified in the data file compared to current rule-based approaches. The RNA decoding pipeline 112 evaluates both transcripts for which a full barcode is detected as well as those for which at least the threshold number ofPATENT NovoTecliIP Docket No. 240613A-001PCT dots of the barcode have been detected because the approach taken by the RNA decoding pipeline 112 reliably determines which of the transcripts with less than a full barcode are actual transcript matches, thereby increasing the decoding efficiency compared with cunent approaches which require a full barcode match for a transcript.

[0046] FIG. 8 provides an example comparison of the gene transcript counts determined using a prior approach compared with the improved approach implemented by the RNA decoding pipeline 112 provided herein. The example data describes a dataset of 20 flow cells across various tissue types. The columns show per-cell averages for the prior approach that used only full barcodes and the improved approach provided herein that utilizes partial matches. The table shows that the improved approach disclosed herein can identify significantly more gene transcripts compared with the prior approach as a result of the higher sensitivity.

[0047] The process 500 includes an operation 506 of analyzing the candidate transcripts to determine first quality metrics to assess whether each of the candidate transcripts is a real transcript. The candidate transcript selection unit 202 can determine various quality metrics for each of the candidate transcripts that are indicative of transcript call quality. The specific quality metrics may vary in different implementations and additional quality metrics can be determined in addition to or instead of one or more of the quality7metrics described herein.

[0048] The process 500 includes an operation 508 of analyzing the candidate transcripts and the first quality metrics using a first machine learning model to obtain false code scores for each of the candidate transcripts. The first machine learning model is trained to output a false code score representing a likelihood that a candidate transcript is a false code comprising a random grouping of spots based on the first quality metrics associated with the candidate transcript. The false code detection model 204 analyzes the candidate transcripts and the first quality metrics. In some implementations, the false code detection model 204 outputs a false code score having a zero value in response to the model determining that the candidate transcript is a false code and a value of one in response to the model determining that the candidate transcript is not a false code.

[0049] The process 500 includes an operation 510 of filtering the candidate transcripts to reduce a number of candidate transcripts predicted to be false codes below a maximum false code threshold. The candidate labeling and filtering unit 206 adds segmentation / cell ID labels to each transcript and then filters out candidate transcripts until the proportion of false codes to the candidate transcripts as a whole is less than a desired maximum level.PATENT NovoTecliIP Docket No. 240613A-001PCT

[0050] The process 500 includes an operation 512 of determining, after filtering the candidate transcripts, second quality metrics for the candidate transcripts. The candidate labeling and filtering unit 206 also calculates a second set of quality metrics for each of the candidate transcripts. The specific quality metrics may vary in different implementations and additional quality metrics can be determined in addition to or instead of one or more of the quality metrics described herein.

[0051] The process 500 includes an operation 514 of analyzing the candidate transcripts, the first quality' metrics, and the second quality metrics using a second machine learning model to obtain negative probe scores for each of the candidate transcripts. The second machine learning model is trained to output a negative probe score representing a likelihood that the candidate transcript results from background fluorescence or non-specific binding. The negative probe detection model 208 implements the second machine learning model.

[0052] The process 500 includes an operation 516 of determining an overall quality score for each of the candidate transcripts based on the false code score and the negative probe score associated with the candidate transcript. The quality score determination unit 210 determines the quality score for each of the candidate transcripts based on the false code score and the negative probe score for that candidate transcript.

[0053] The process 500 includes an operation 518 of filtering the candidate transcripts to remove candidate transcripts having an overall quality score that do not satisfy an overall quality threshold to generate a set of detected transcripts. The quality’ score determination unit 210 can filter the candidate transcripts to remove candidate transcripts for which the quality score does not satisly a quality' score threshold. This threshold can be adjusted to filter the final dataset of detected transcripts to a desired sensitivity, specificity, and / or background level.

[0054] The process 500 includes an operation 520 of outputting the set of detected transcripts. The quality score determination unit 210 can output the final set of transcripts to the decoding output datastore 118 in some implementations. The quality score determination unit 210 provides the final set of transcripts to the data analysis application 110 in some implementations for presentation on a user interface of the data analysis application to enable the data to be viewed, visualized, and / or further analyzed.

[0055] The detailed examples of systems, devices, and techniques described in connection with FIGS. 1-5 are presented herein for illustration of the disclosure and its benefits. Such examples of use should not be construed to be limitations on the logical process embodiments of the disclosure, nor should variations of user interface methods fromPATENT NovoTecliIP Docket No. 240613A-001PCT those described herein be considered outside the scope of the present disclosure. It is understood that references to displaying or presenting an item (such as. but not limited to, presenting an image on a display device, presenting audio via one or more loudspeakers, and / or vibrating a device) include issuing instructions, commands, and / or signals causing, or reasonably expected to cause, a device or system to display or present the item. In some embodiments, various features described in FIGS. 1-5C are implemented in respective modules, which may also be referred to as, and / or include, logic, components, units, and / or mechanisms. Modules may constitute either software modules (for example, code embodied on a machine-readable medium) or hardware modules.

[0056] In some examples, a hardware module may be implemented mechanically, electronically, or with any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic that is configured to perform certain operations. For example, a hardware module may include a special-purpose processor, such as a field- programmable gate array (FPGA) or an Application Specific Integrated Circuit (ASIC). A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations and may include a portion of machine- readable medium data and / or instructions for such configuration. For example, a hardware module may include software encompassed within a programmable processor configured to execute a set of software instructions. Il will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (for example, configured by software) may be driven by cost, time, support, and engineering considerations.

[0057] Accordingly, the phrase “hardware module’' should be understood to encompass a tangible entity capable of performing certain operations and may be configured or arranged in a certain physical manner, be that an entity that is physically constructed, permanently configured (for example, hardwired), and / or temporarily configured (for example, programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module" refers to a hardware module. Considering examples in which hardware modules are temporarily configured (for example, programmed), each of the hardw are modules need not be configured or instantiated at any one instance in time. For example, where a hardware module includes a programmable processor configured by software to become a special-purpose processor, the programmable processor may be configured as respectively different special-purpose processors (for example, including different hardware modules) at different times. Software mayPATENT NovoTecliIP Docket No. 240613A-001PCT accordingly configure a processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time. A hardware module implemented using one or more processors may be referred to as being ‘’processor implemented” or “computer implemented.”

[0058] Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications may be achieved through signal transmission (for example, over appropriate circuits and buses) between or among two or more of the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory devices to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output in a memory device, and another hardware module may then access the memory device to retrieve and process the stored output.

[0059] In some examples, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by, and / or among, multiple computers (as examples of machines including processors), with these operations being accessible via a network (for example, the Internet) and / or via one or more software interfaces (for example, an application program interface (API)). The performance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across several machines. Processors or processor-implemented modules may be in a single geographic location (for example, within a home or office environment, or a server farm), or may be distributed across multiple geographic locations.

[0060] FIG. 6 is a block diagram 600 illustrating an example software architecture 602, various portions of which may be used in conjunction with various hardware architectures herein described, which may implement any of the above-described features. FIG. 6 is a nonlimiting example of a software architecture, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 602 may execute on hardware such as a machine 700 of FIG. 7 that includes, among other things, processors 710, memory / storage 730, and input / output (I / O)PATENT NovoTecliIP Docket No. 240613A-001PCT components 750. A representative hardware layer 604 is illustrated and can represent, for example, the machine 700 of FIG. 7. The representative hardware layer 604 includes a processing unit 606 and associated executable instructions 608. The executable instructions 608 represent executable instructions of the software architecture 602, including implementation of the methods, modules and so forth described herein. The hardware layer 604 also includes a memory / storage 610, which also includes the executable instructions 608 and accompanying data. The hardware layer 604 may also include other hardware modules 612. Instructions 608 held by processing unit 606 may be portions of instructions 608 held by the memor / storage 610.

[0061] The example software architecture 602 may be conceptualized as layers, each providing various functionality. For example, the software architecture 602 may include layers and components such as an operating system (OS) 614, libraries 616, frameworks / middleware 618, applications 620, and a presentation layer 644. Operationally, the applications 620 and / or other components within the layers may invoke API calls 624 to other layers and receive corresponding results 626. The layers illustrated are representative in nature and other software architectures may include additional or different layers. For example, some mobile or special purpose operating systems may not provide the frameworks / middleware 618.

[0062] The OS 614 may manage hardware resources and provide common services. The OS 614 may include, for example, a kernel 628. services 630. and drivers 632. The kernel 628 may act as an abstraction layer between the hardware layer 604 and other software layers. For example, the kernel 628 may be responsible for memory' management, processor management (for example, scheduling), component management, networking, security settings, and so on. The services 630 may provide other common services for the other software layers. The drivers 632 may be responsible for controlling or interfacing with the underlying hardware layer 604. For instance, the drivers 632 may include display drivers, camera drivers, memory / storage drivers, peripheral device drivers (for example, via Universal Serial Bus (USB)), network and / or wireless communication drivers, audio drivers, and so forth depending on the hardware and / or software configuration.

[0063] The libraries 616 may provide a common infrastructure that may be used by the applications 620 and / or other components and / or layers. The libraries 616 typically provide functionality for use by other software modules to perform tasks, rather than interacting directly with the OS 614. The libraries 616 may include system libraries 634 (for example, C standard library) that may provide functions such as memory allocation, string manipulation.PATENT NovoTecliIP Docket No. 240613A-001PCT file operations. In addition, the libraries 616 may include API libraries 636 such as media libraries (for example, supporting presentation and manipulation of image, sound, and / or video data formats), graphics libraries (for example, an OpenGL library for rendering 2D and 3D graphics on a display), database libraries (for example, SQLite or other relational database functions), and web libraries (for example, WebKit that may provide web browsing functionality). The libraries 616 may also include a wide variety of other libraries 638 to provide many functions for applications 620 and other software modules.

[0064] The frameworks / middleware 618 provide a higher-level common infrastructure that may be used by the applications 620 and / or other software modules. For example, the frameworks / middleware 618 may provide various graphic user interface (GUI) functions, high-level resource management, or high-level location services. The frameworks / middleware 618 may provide a broad spectrum of other APIs for applications 620 and / or other software modules.

[0065] The applications 620 include built-in applications 640 and / or third-party' applications 642. Examples of built-in applications 640 may include, but are not limited to, a contacts application, a browser application, a location application, a media application, a messaging application, and / or a game application. Third-party applications 642 may include any applications developed by an entity other than the vendor of the particular platform. The applications 620 may use functions available via OS 614, libraries 616, frameworks / middleware 618, and presentation layer 644 to create user interfaces to interact with users.

[0066] Some software architectures use virtual machines, as illustrated by a virtual machine 648. The virtual machine 648 provides an execution environment where applications / modules can execute as if they were executing on a hardware machine (such as the machine 700 of FIG. 7, for example). The virtual machine 648 may be hosted by a host OS (for example, OS 614) or hypervisor, and may have a virtual machine monitor 646 which manages operation of the virtual machine 648 and interoperation with the host operating system. A software architecture, which may be different from software architecture 602 outside of the virtual machine, executes within the virtual machine 648 such as an OS 650. libraries 652, frameworks 654, applications 656, and / or a presentation layer 658.

[0067] FIG. 7 is a block diagram illustrating components of an example machine 700 configured to read instructions from a machine-readable medium (for example, a machine- readable storage medium) and perform any of the features described herein. The example machine 700 is in a form of a computer system, within which instructions 716 (for example,PATENT NovoTecliIP Docket No. 240613A-001PCT in the form of software components) for causing the machine 700 to perform any of the features described herein may be executed. As such, the instructions 716 may be used to implement modules or components described herein. The instructions 716 cause unprogrammed and / or unconfigured machine 700 to operate as a particular machine configured to carry out the described features. The machine 700 may be configured to operate as a standalone device or may be coupled (for example, networked) to other machines. In a networked deployment, the machine 700 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a node in a peer-to-peer or distributed network environment. Machine 700 may be embodied as, for example, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a gaming and / or entertainment system, a smart phone, a mobile device, a wearable device (for example, a smart watch), and an Internet of Things (loT) device. Further, although only a single machine 700 is illustrated, the term “machine"’ includes a collection of machines that individually or jointly execute the instructions 716.

[0068] The machine 700 may include processors 710. memory / storage 730, and I / O components 750, which may be communicatively coupled via, for example, a bus 702. The bus 702 may include multiple buses coupling various elements of machine 700 via various bus technologies and protocols. In an example, the processors 710 (including, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, or a suitable combination thereof) may include one or more processors 712a to 712n that may execute the instructions 716 and process data. In some examples, one or more processors 710 may execute instructions provided or identified by one or more other processors 710. The term “processor” includes a multicore processor including cores that may execute instructions contemporaneously. Although FIG. 7 shows multiple processors, the machine 700 may include a single processor with a single core, a single processor with multiple cores (for example, a multicore processor), multiple processors each with a single core, multiple processors each with multiple cores, or any combination thereof. In some examples, the machine 700 may include multiple processors distributed among multiple machines.

[0069] The memory / storage 730 may include a main memory' 732, a static memory' 734, or other memory, and a storage unit 736, both accessible to the processors 710 such as via the bus 702. The storage unit 736 and memory 732, 734 store instructions 716 embodying any one or more of the functions described herein. The memor / storage 730 may also storePATENT NovoTecliIP Docket No. 240613A-001PCT temporary', intermediate, and / or long-term data for processors 710. The instructions 716 may also reside, completely or partially, within the memory 732, 734, within the storage unit 736, within at least one of the processors 710 (for example, within a command buffer or cache memory), within memory at least one of I / O components 750, or any suitable combination thereof, during execution thereof. Accordingly, the memory' 732, 734, the storage unit 736, memory in processors 710, and memory in I / O components 750 are examples of machine- readable media.

[0070] As used herein, “machine-readable medium” refers to a device able to temporarily or permanently store instructions and data that cause machine 700 to operate in a specific fashion, and may include, but is not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical storage media, magnetic storage media and devices, cache memory, network-accessible or cloud storage, other types of storage and / or any suitable combination thereof. The term “machine-readable medium” applies to a single medium, or combination of multiple media, used to store instructions (for example, instructions 716) for execution by a machine 700 such that the instructions, when executed by one or more processors 710 of the machine 700, cause the machine 700 to perform and one or more of the features described herein. Accordingly, a “machine-readable medium” may refer to a single storage device, as well as “cloud-based” storage systems or storage networks that include multiple storage apparatus or devices. The term “machine- readable medium” excludes signals per se.

[0071] The I / O components 750 may include a wide variety of hardw are components adapted to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I / O components 750 included in a particular machine will depend on the type and / or function of the machine. For example, mobile devices such as mobile phones may include a touch input device, whereas a headless server or loT device may not include such a touch input device. The particular examples of I / O components illustrated in FIG. 7 are in no way limiting, and other ty pes of components may be included in machine 700. The grouping of I / O components 750 are merely for simplifying this discussion, and the grouping is in no way limiting. In various examples, the I / O components 750 may include user output components 752 and user input components 754. User output components 752 may include, for example, display components for displaying information (for example, a liquid cry stal display (LCD) or a projector), acoustic components (for example, speakers), haptic components (for example, a vibratory motor or force-feedback device), and / or other signal generators. User input components 754 mayPATENT NovoTecliIP Docket No. 240613A-001PCT include, for example, alphanumeric input components (for example, a keyboard or a touch screen), pointing components (for example, a mouse device, a touchpad, or another pointing instrument), and / or tactile input components (for example, a physical button or a touch screen that provides location and / or force of touches or touch gestures) configured for receiving various user inputs, such as user commands and / or selections.

[0072] In some examples, the I / O components 750 may include biometric components 756, motion components 758, environmental components 760, and / or position components 762, among a wide array of other physical sensor components. The biometric components 756 may include, for example, components to detect body expressions (for example, facial expressions, vocal expressions, hand or body gestures, or eye tracking), measure biosignals (for example, heart rate or brain waves), and identify a person (for example, via voice-, retina-, fingerprint-, and / or facial-based identification). The motion components 758 may include, for example, acceleration sensors (for example, an accelerometer) and rotation sensors (for example, a gyroscope). The environmental components 760 may include, for example, illumination sensors, temperature sensors, humidity sensors, pressure sensors (for example, a barometer), acoustic sensors (for example, a microphone used to detect ambient noise), proximity sensors (for example, infrared sensing of nearby objects), and / or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment. The position components 762 may include, for example, location sensors (for example, a Global Position System (GPS) receiver), altitude sensors (for example, an air pressure sensor from which altitude may be derived), and / or orientation sensors (for example, magnetometers).

[0073] The I / O components 750 may include communication components 764, implementing a wide variety of technologies operable to couple the machine 700 to network(s) 770 and / or device(s) 780 via respective communicative couplings 772 and 782. The communication components 764 may include one or more network interface components or other suitable devices to interface with the network(s) 770. The communication components 764 may include, for example, components adapted to provide wired communication, wireless communication, cellular communication, Near Field Communication (NFC), Bluetooth communication, Wi-Fi, and / or communication via other modalities. The device(s) 780 may include other machines or various peripheral devices (for example, coupled via USB).

[0074] In some examples, the communication components 764 may detect identifiers or include components adapted to detect identifiers. For example, the communicationPATENT NovoTecliIP Docket No. 240613A-001PCT components 764 may include Radio Frequency Identification (RFID) tag readers, NFC detectors, optical sensors (for example, one- or multi-dimensional bar codes, or other optical codes), and / or acoustic detectors (for example, microphones to identify tagged audio signals). In some examples, location information may be determined based on information from the communication components 764, such as, but not limited to, geo-location via Internet Protocol (IP) address, location via Wi-Fi, cellular. NFC, Bluetooth, or other wireless station identification and / or signal triangulation.

[0075] In the preceding detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. However, it should be apparent that the present teachings may be practiced without such details. In other instances, well known methods, procedures, components, and / or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present teachings.

[0076] While various embodiments have been described, the description is intended to be exemplary, rather than limiting, and it is understood that many more embodiments and implementations are possible that are within the scope of the embodiments. Although many possible combinations of features are shown in the accompanying figures and discussed in this detailed description, many other combinations of the disclosed features are possible.Any feature of any embodiment may be used in combination with or substituted for any other feature or element in any other embodiment unless specifically restricted. Therefore, it will be understood that any of the features shown and / or discussed in the present disclosure may be implemented together in any suitable combination. Accordingly, the embodiments are not to be restricted except in light of the attached claims and their equivalents. Also, various modifications and changes may be made within the scope of the attached claims.

[0077] While the foregoing has described what are considered to be the best mode and / or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.

[0078] Unless otherwise stated, all measurements, values, ratings, positions, magnitudes, sizes, and other specifications that are set forth in this specification, including in the claims that follow, are approximate, not exact. They are intended to have a reasonable range that isPATENT NovoTecliIP Docket No. 240613A-001PCT consistent with the functions to which they relate and with what is customary in the art to which they pertain.

[0079] The scope of protection is limited solely by the claims that now follow. That scope is intended and should be interpreted to be as broad as is consistent with the ordinary meaning of the language that is used in the claims when interpreted in light of this specification and the prosecution history that follows and to encompass all structural and functional equivalents. Notwithstanding, none of the claims are intended to embrace subject matter that fails to satisfy the requirement of Sections 101, 102, or 103 of the Patent Act, nor should they be interpreted in such a way. Any unintended embracement of such subject matter is hereby disclaimed.

[0080] Except as stated immediately above, nothing that has been stated or illustrated is intended or should be interpreted to cause a dedication of any component, step, feature, object, benefit, advantage, or equivalent to the public, regardless of whether it is or is not recited in the claims.

[0081] It will be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. Relational terms such as first and second and the like may be used solely to distinguish one entity or action from another without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “a” or “an” does not, without further constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element. Furthermore, subsequent limitations referring back to “said element” or “the element” performing certain functions signifies that “said element” or “the element” alone or in combination with additional identical elements in the process, method, article, or apparatus are capable of performing all of the recited functions.

[0082] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in variousPATENT NovoTecliIP Docket No. 240613A-001PCT examples for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed example. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.

Claims

PATENT NovoTecliIP Docket No. 240613A-001PCTWhat is claimed is:

1. A data processing system comprising: a processor; and a memory storing executable instructions that, when executed, cause the processor alone or in combination with other processors to perform operations of: obtaining a data file resulting from an assay of a sample including ribonucleic acid (RNA) in which reporter probes have been bound to molecular targets on the RNA. each reporter probe being associated with a spot color, the spot color representing a wavelength of light emitted by a fluorophore of the reporter probe, the data file including spot information identifying locations in the sample at which fluorescence at a wavelength emitted by a reporter probe was detected; identifying candidate transcripts in the data file representing a gene target, the candidate transcripts including a set of spots matching at least a threshold number of spots of a barcode associated with the gene target, the barcode including a unique combination of spot colors associated with the gene target that can be used to identify a presence of the gene target in the sample; analyzing the candidate transcripts to determine first qualify metrics to assess whether each of the candidate transcripts is a real transcript; analyzing the candidate transcripts and the first quality metrics using a first machine learning model to obtain false code scores for each of the candidate transcripts, the first machine learning model being trained to output a false code score representing a likelihood that a candidate transcript is a false code comprising a random grouping of spots based on the first qualify metrics associated with the candidate transcript; filtering the candidate transcripts to reduce a number of candidate transcripts predicted to be false codes below a maximum false code threshold; determining, after filtering the candidate transcripts, second qualify metrics for the candidate transcripts; analyzing the candidate transcripts, the first qualify metrics, and the second qualify metrics using a second machine learning model to obtain negative probe scores for each of the candidate transcripts, the second machine learning model being trained to output a negative probe score representing a likelihood that the candidate transcript results from background fluorescence or non-specific binding; determining an overall qualify score for each of the candidate transcripts based on the false code score and the negative probe score associated with the candidate transcript;PATENT NovoTecliIP Docket No. 240613A-001PCT filtering the candidate transcripts to remove candidate transcripts having an overall quality score that do not satisfy an overall quality threshold to generate a set of detected transcripts; and outputting the set of detected transcripts.

2. The data processing system of claim 1, wherein the memory further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of: training the first machine learning model using a first training data set that includes labeled training data, the labeled training data including examples of false codes and examples that are not false codes.

3. The data processing system of claim 1, wherein the first machine learning model implements monotonic lattice regression to determine the false code score associated with a candidate transcript provided to the first machine learning model as in input.

4. The data processing system of claim 1, wherein the memory further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of: training the second machine learning model using a second training data set that includes labeled training data, the labeled training data including first examples of spots are caused by background fluorescence and have a false probe score indicating the first examples are negative probes and second examples of spots that are not caused by background fluorescence and have a false probe score indicating the second examples are not negative probes.

5. The data processing system of claim 1, wherein the second machine learning model implements monotonic lattice regression to determine the negative probe score associated with a candidate transcript provided to the second machine learning model as in input.

6. The data processing system of claim 1, wherein the barcode associated with the gene target comprises four spots, and wherein the threshold number of spots is three spots.PATENT NovoTecliIP Docket No. 240613A-001PCT7. The data processing system of claim 1, wherein identifying the candidate transcripts in the data file that match at least the threshold number of spots further comprises spots within a threshold pixel radius of each other.

8. The data processing system of claim 1, wherein identifying the candidate transcripts further comprises: obtaining barcode information for the gene target from a barcode datastore; and comparing the barcode information to the data file to match groups of spots that match at least the threshold number of spots for the barcode of the gene target.

9. The data processing system of claim 1. wherein the first quality metrics comprise one or more of a spread of reporter binding events, a posterior probability gene score, a proportion of spots that encode a target gene, a number of unique spots associated with the candidate transcript, a total number of reporter binding events detected within a threshold distance of the candidate transcript, and a log likelihood ratio associated with colors of the reporter binding events.

10. The data processing system of claim 1, wherein the second qualify metrics comprise one or more of an average distance between each candidate transcript and a predetermined number of neighboring candidate transcripts, a number of negative probe transcripts within a threshold number of pixels from the candidate transcript, a distance between the candidate transcript and a nearest negative probe transcript; and a number of times a transcript with a same gene label among the predetermined number of neighboring candidate transcripts.

11. A method implemented in a data processing system for performing a root cause analysis, the method comprising: obtaining a data file resulting from an assay of a sample including ribonucleic acid (RNA) in which reporter probes have been bound to molecular targets on the RNA, each reporter probe being associated with a spot color, the spot color representing a wavelength of light emitted by a fluorophore of the reporter probe, the data file including spot information identifying locations in the sample at which fluorescence at a wavelength emitted by a reporter probe was detected; identifying candidate transcripts in the data file representing a gene target, the candidate transcripts including a set of spots matching at least a threshold number of spots ofPATENT NovoTecliIP Docket No. 240613A-001PCT a barcode associated with the gene target, the barcode including a unique combination of spot colors associated with the gene target that can be used to identify a presence of the gene target in the sample; analyzing the candidate transcripts to determine first qualify metrics to assess whether each of the candidate transcripts is a real transcript; analyzing the candidate transcripts and the first qualify metrics using a first machine learning model to obtain false code scores for each of the candidate transcripts, the first machine learning model being trained to output a false code score representing a likelihood that a candidate transcript is a false code including a random grouping of spots based on the first qualify metrics associated with the candidate transcript: filtering the candidate transcripts to reduce a number of candidate transcripts predicted to be false codes below a maximum false code threshold; determining, after filtering the candidate transcripts, second qualify metrics for the candidate transcripts; analyzing the candidate transcripts, the first qualify metrics, and the second qualify metrics using a second machine learning model to obtain negative probe scores for each of the candidate transcripts, the second machine learning model being trained to output a negative probe score representing a likelihood that the candidate transcript results from background fluorescence or non-specific binding; determining an overall qualify score for each of the candidate transcripts based on the false code score and the negative probe score associated with the candidate transcript; filtering the candidate transcripts to remove candidate transcripts having an overall qualify score that do not satisfy' an overall qualify threshold to generate a set of detected transcripts; and outputting the set of detected transcripts.

12. The method of claim 11, further comprising: training the first machine learning model using a first training data set that includes labeled training data, the labeled training data including examples of false codes and examples that are not false codes.

13. The method of claim 11, wherein the first machine learning model implements monotonic latice regression to determine the false code score associated with a candidate transcript provided to the first machine learning model as in input.PATENT NovoTecliIP Docket No. 240613A-001PCT14. The method of claim 1 1 . further comprising: training the second machine learning model using a second training data set that includes labeled training data, the labeled training data including first examples of spots are caused by background fluorescence and have a false probe score indicating the first examples are negative probes and second examples of spots that are not caused by background fluorescence and have a false probe score indicating the second examples are not negative probes.

15. The method of claim 11, wherein the second machine learning model implements monotonic lattice regression to determine the negative probe score associated with a candidate transcript provided to the second machine learning model as in input.

16. The method of claim 11, wherein the barcode associated with the gene target comprises four spots, and wherein the threshold number of spots is three spots.

17. The method of claim 11, wherein identifying the candidate transcripts in the data file that match at least the threshold number of spots further comprises spots within a threshold pixel radius of each other.

18. The method of claim 17, wherein identifying the candidate transcripts further comprises: obtaining barcode information for the gene target from a barcode datastore; and comparing the barcode information to the data file to match groups of spots that match at least the threshold number of spots for the barcode of the gene target.

19. The method of claim 11, wherein the first quality metrics comprise one or more of a spread of reporter binding events, a posterior probability gene score, a proportion of spots that encode a target gene, a number of unique spots associated with the candidate transcript, a total number of reporter binding events detected within a threshold distance of the candidate transcript, and a log likelihood ratio associated with colors of the reporter binding events.

20. The method of claim 11, wherein the second quality metrics comprise one or more of an average distance between each candidate transcript and a predetermined number of neighboring candidate transcripts, a number of negative probe transcripts within a thresholdPATENT NovoTecliIP Docket No. 240613A-001PCT number of pixels from the candidate transcript, a distance between the candidate transcript and a nearest negative probe transcript; and a number of times a transcript with a same gene label among the predetermined number of neighboring candidate transcripts.

Citation Information

Patent Citations

  • Systems and methods for barcode design and decoding

    US20220084629A1

  • Methods and systems for determining gene expression profiles and cell identities from multi-omic imaging data

    US20220180975A1