Preprocessing nanopore signals
A computer-implemented method for nanopore signal processing through piecewise constant approximation and refinement addresses the challenge of fast transient signals, enhancing signal analysis accuracy by separating noise from physical sublevels.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-18
- Publication Date
- 2026-03-26
AI Technical Summary
Existing nanopore data analysis techniques struggle to accurately characterize fast transient signals due to bandwidth limitations and noise, leading to poor signal classification and identification of analytes, particularly in cases where signal variations are small and fast, such as with polypeptides and proteins.
A method involving a computer-implemented approach to process nanopore signals by fitting a piecewise constant approximation, refining it through merging sublevels based on refinement criteria, to separate noise from physical sublevels, enabling accurate fitting of very fast transient events down to twice the system response time.
The method achieves accurate fitting and characterization of nanopore signals, improving signal analysis by effectively distinguishing between noise and physical sublevels, even in bandwidth-limited conditions.
Smart Images

Figure GB2025052049_26032026_PF_FP_ABST
Abstract
Description
[0001] PREPROCESSING NANOPORE SIGNALS
[0002] Technical Field
[0003] The present disclosure relates to processing a signal generated during translocation of an analyte with respect to a nanopore. The disclosure has particular, though not exclusive, relevance to preprocessing a signal for use in determining properties of, or characterising a polymer, such as a polynucleotide, polypeptide or a DNA-based nanostructured molecule.
[0004] Background
[0005] Various biochemical analysis systems provide measurements of biomolecules to determine biomolecular details, such as a sequence of a biomolecular polymer. One such type of analysis system uses a nanopore. In such a system, successive measurements of a polymer are taken by a sensor element comprising the nanopore during translocation of the biomolecule through the nanopore. A measurable property of the system depends on properties of the biomolecule within the nanopore, and measurements of that property are taken. For example, the nanopore may operate in a conductive solution, and a voltage may be applied to maintain an ionic current through the nanopore. The ionic current may be transiently blocked when a biomolecule translocates the nanopore. By studying the duration and depth of the blockage, as well as the patterns in the current blockage signature, one can determine the physical properties of that biomolecule such as size, shape, orientation, folding, and branching. Nanopores are used for various molecular detection applications, including DNA sequencing or “basecalling”, detection of biomarkers of disease in clinically relevant biofluids, and decoding of digital information encoded in molecular carriers.
[0006] The interpretation of the complex signals resulting from nanopore measurements is a challenge, and the methods used to analyse and decode the rich information content in such signals remain a significant bottleneck. In particular, existing techniques for analysis of the resulting digital signals to determine biomolecular properties perform poorly when transient signal characteristics approach the bandwidth limitations of the measurement electronics, or equivalently the characteristic response time of the measurement electronics. For instance, some nanopore analysis tasks involve the categorization of signals, such as to recognize a rare target biomolecule signature from a complex mixture. Current analysis methods struggle to classify and identify analytes due to the fast kinetics of molecular passage compared to available measurement bandwidth and to their associated inability to accurately characterize fast transient signals. Furthermore, physically relevant signal characteristics may have very small magnitudes, for example in the order of sub- nanoamps or picoamps, and may be of a similar order to measurement noise within the system. Signal variations may be particularly small, for example, when translocating polypeptides and proteins through a nanopore, making accurate analysis of such analytes challenging with existing techniques.
[0007] Currently, nanopore data analysis is served by a varied patchwork of techniques, many of which are specific to a single experimental context, leading to differences in statistical treatment and making quantitative comparisons between labs challenging. While numerous methods have been proposed over the years, only a few can fit an arbitrary number of piecewise constant sublevels away from the baseline within a noisy and band-width-limited nanopore signal, and / or categorize events by type through recognition of patterns encoded in the sublevel structure.
[0008] A commonly used class of methods involves variations on the Cumulative Sum (CUSUM) algorithm (see, for example, P. Granjon, “The CuSum algorithm - a small review,” Jun. 2013). This algorithm assumes that the signal to be analysed is a piecewise constant signal overlaid with Gaussian-distributed noise, and iteratively applies a modified t-test to each new data point to determine the likelihood that the local mean has undergone a step change of known magnitude. Like most nanopore analysis frameworks, CUSUM performs poorly when fitting transients that are short compared to the response time of the measurement system, leading to miscalculations of sublevel duration and blockage depth when fitting very fast transients, or missing them entirely. In particular, CUSUM may fail to identify or accurately fit transients that are less than around four or five times the characteristic response time of the measurement electronics.
[0009] An alternative to probabilistic sublevel fitting is to use an approximation to the transfer function of the measurement system to extract the underlying signal from the distorted measurement. The Adaptive Time-Series Analysis (ADEPT) algorithm fits a linear sum of exponential step functions over the event to determine the position of individual sublevels using standard nonlinear fitting techniques. This algorithm works under the assumption that the nanopore operates as a simple RC-equivalent circuit and that the rate-limiting factor that dominates the signal distortion is the response time of the measurement electronics, an assumption that breaks down when the signal is subjected to heavy filtering that can result in the time-response of the filter dominating that of the RC response. However, the use of nonlinear fitting over many parameters (at least 3 independent parameters for each sublevel) means that the algorithm performs increasingly poorly as events get more complex and often suffers from difficult-to- debug numerical errors that result in rejection of valid events. Moreover, because an estimate of the number of sublevels needed for fitting is a required input to the algorithm, the same challenges with respect to heavily distorted sublevels exist.
[0010] Summary
[0011] According to aspects of the present disclosure, there are provided a computer- implemented method of processing a signal generated during translocation of an analyte with respect to a nanopore, a data processing system comprising means for carrying out the method, and a computer program product (such as one or more non-transitory computer-readable storage media) comprising instructions which, when executed by a computer, cause the computer to carry out the method.
[0012] The method includes fitting, to the signal, a first piecewise constant approximation of the signal, including grouping datapoints of the signal into a set of sublevels, and refining the first piecewise constant approximation of the signal to determine a second piecewise constant approximation of the signal, including merging a subset of the set of sublevels on the basis of one or more refinement criteria.
[0013] By processing the signal in this sequential manner, whereby the datapoints are grouped into overfitted sublevels that are then merged, for example by increasingly fine-grained passes over the underlying data, non-physical artefacts and noise can be separated from the physical sublevels. By using appropriate refinement criteria and merging techniques, fitting and characterisation of nanopore signals that contain very fast transient events can be achieved, showing fitting accuracy down to twice the system response time. A further aspect of the present disclosure include apparatus comprising a sensor element comprising a nanopore, means for translocating an analyte with respect to the nanopore, and a data processing system comprising means for carrying out the above computer-implemented method. The means may include a binding enzyme for controlling the translocation of the analyte with respect to the nanopore.
[0014] A still further aspect includes a method comprising translocating an analyte with respect to a nanopore, generating a signal comprising measurements of the analyte by a sensor element comprising the nanopore, and filtering the signal using the above computer-implemented method.
[0015] Further features and advantages will become apparent from the following description of preferred embodiments, given by way of example only, which is made with reference to the accompanying drawings.
[0016] Brief Description of the Drawings
[0017] Fig. 1 shows an example of apparatus for analysing an analyte.
[0018] Fig. 2 illustrate how different types of distortion many affect a piecewise constant signal.
[0019] Figs. 3A-3C show an examplary result of applying the presently disclosed methods to a current trace.
[0020] Fig. 4 is a flow diagram representing a method of processing a signal according to the present disclosure.
[0021] Fig. 5 shows the input and output of a first fitting step applied to a current trace generated during translocation of an analyte with respect to a nanopore.
[0022] Fig. 6 shows the input and output of a second fitting step that may be applied after the first fitting step.
[0023] Figs. 7A-7B illustrate a system-aware method of estimating signal values for sublevels.
[0024] Fig. 8 is a flow diagram representing a method of refining a piecewise constant approximation of a signal according to the present disclosure.
[0025] Fig. 9 is a flow diagram representing a method of merging neighbouring sublevels.
[0026] Fig. 10 shows the input and output of a sublevel merging process. Fig. 11 shows different categories of sublevels arising from application of methods described herein to a nanopore signal.
[0027] Fig. 12 shows the input and output of a short sublevel correction process.
[0028] Fig. 13 shows the input and output of a clear baseline process.
[0029] Fig. 14 shows the input and output of a correct starting times process.
[0030] Fig. 15 shows the input and output of a slopes sublevel correction process.
[0031] Fig. 16 shows an example of a nanopore signal corresponding to an event being processed using the methods described herein.
[0032] Fig. 17 shows a comparison of results of processing a nanopore signal using the presently disclosed methods and using CUSUM.
[0033] Detailed Description
[0034] Details of systems and methods according to examples will become apparent from the following description with reference to the figures. In this description, for the purposes of explanation, numerous specific details of certain examples are set forth. Reference in the specification to ‘an example’ or similar language means that a feature, structure, or characteristic described in connection with the example is included in at least that one example but not necessarily in other examples. It should be further noted that certain examples are described schematically with certain features omitted and / or necessarily simplified for the ease of explanation and understanding of the concepts underlying the examples.
[0035] Embodiments of the present disclosure relate to processing a signal generated during translocation of an analyte with respect to a nanopore. In particular, embodiments address challenges of accurately fitting physically relevant sublevels to a noisy, bandwidth-limited signal generated during translocation of an analyte with respect to a nanopore. In the present disclosure, fitting physically relevant sublevels to a signal involves estimating signal values for substantially constant segments of the signal, and transition times between those segments, as would be measured in the absence of noise and / or effects resulting from finite response time of the measurement circuitry. Prior to fitting, the signal may be pre-processed in a number of ways, such as digitisation, amplification, and / or filtering. Filtering may be a process that removes some unwanted components, features, or artefacts from a signal. The method of the invention may be used to characterise one or more properties of an analyte such as size, identity, secondary structure, orientation, folding, branching and whether or not the analyte is modified. The analyte may be a polymer and the method may be used to determine a sequence of polymer units of the polymer.
[0036] Fig. 1 shows apparatus 100 for estimating a sequence or series of polymer units of a polymer 102. For illustrative purposes, in Fig. 1 the polymer 102 is shown as being formed of two segments with different thicknesses. In practical applications, the polymer 102 may have a far more complex structure. The polymer 102 may for example be a polynucleotide strand of a polynucleotide (or nucleic acid), and the polymer units may be nucleotides. The nucleic acid is typically deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or a synthetic nucleic acid known in the art, such as peptide nucleic acid (PNA), glycerol nucleic acid (GNA), threose nucleic acid (TNA), locked nucleic acid (LNA) or other synthetic polymers with nucleotide side chains. The nucleic acid may be single-stranded, be double-stranded or comprise both singlestranded and double-stranded regions. The nucleic acid may comprise one strand of RNA hybridised to one strand of DNA. Typically cDNA, RNA, GNA, TNA or LNA are single stranded. The polymer units may be any type of nucleotide. The nucleotide can be naturally occurring or artificial. For instance, the method may be used to verify the sequence of a manufactured oligonucleotide.
[0037] The polymer units may be canonical polymer units. For example, in the case that the polymer 102 is a DNA polynucleotide, the canonical bases are adenine (A), cytosine (C), guanine (G), and thymine (T). By contrast ribonucleic acid (RNA) comprises the canonical bases A, C and G, with uracil (U) in place of thymine. A nucleotide may also lack a nucleobase and a sugar. The nucleotide may be modified such as 5mC, 5hmC and N1 -methylpseudouridine. Machine learning methods to detect modified bases are disclosed in WO23094806.
[0038] The polymer may be a nanostructured DNA polymer made by hybridization and origami, such as disclosed by Hannewald et al Angew. Chem. Int. Ed. 2021, 60, 6218- 6229. It may be used to create a nanostructured DNA-based barcode. In other examples, the polymer 102 may be a polypeptide such as a protein, or a polysaccharide. The polymer 102 may be natural or synthetic. In other examples the polymer 102 may be replaced with other types of molecules, including other types of biomolecules. The apparatus 100 comprises a nanopore 104 situated in a membrane 104, and electronic circuitry comprising an electrical power supply 108 for driving a potential difference between two electrodes 110a, 110b, and a sensor 112 which in this example is arranged to measure a current through the nanopore. For example, the nanopore may be positioned within a conductive solution (not shown), resulting in an ionic current through the nanopore 104 under the influence of the applied potential difference. The ionic current may be transiently blocked during an event in which the polymer 102 translocates or passes through the nanopore 104. As will be explained in more detail hereinafter, the sensor 112 may generate a measurement signal by sampling the ionic current at a sequence of time steps during the event.
[0039] Although only a single nanopore 104 is shown in Fig. 1, the apparatus 100 may employ many nanopores, for example arranged in an array, to provide parallelised collection of information. The measurement system may comprise at least 10 nanopores, at least 100 nanopores, or at least 1,000 nanopores.
[0040] The nanopore 104 is a pore or hole, typically having a size of the order of nanometres, which may allow the passage of polymers therethrough. The nanopore may be a protein pore or a solid-state pore. The nanopore 104 may, for example, be a protein pore such as a polypeptide or a collection of polypeptides. Alternatively, the nanopore may be composed of any other such molecules that allow the nanopore 104 to function as an aperture in the membrane 104. The biological pore may be a transmembrane protein pore. Transmembrane protein pores for use in accordance with the invention can be derived from P-barrel pores or a-helix bundle pores. P-barrel pores comprise a barrel or channel that is formed from P-strands. Suitable P-barrel pores include, but are not limited to, P-toxins, such as a-hemolysin, anthrax toxin and leukocidins, and outer membrane proteins / porins of bacteria, such as Mycobacterium smegmatis porin (Msp), for example MspA, MspB, MspC or MspD, lysenin, outer membrane porin F (OmpF), outer membrane porin G (OmpG), outer membrane phospholipase A and Neisseria autotransporter lipoprotein (NalP). a-helix bundle pores comprise a barrel or channel that is formed from a-helices. Suitable a-helix bundle pores include, but are not limited to, inner membrane proteins and a outer membrane proteins, such as WZA and ClyA toxin. The transmembrane pore may be derived from Msp or from a-hemolysin (a-HL). The transmembrane pore may be derived from lysenin. Suitable pores derived from lysenin are disclosed in WO 2013 / 153359. Suitable pores derived from MspA are disclosed in WO-2012 / 107778. The pore may be derived from CsgG, such as disclosed in WO-2016 / 034591 and W02019 / 002893, both herein incorporated by reference in their entirety. The pore may be a DNA origami pore.
[0041] A protein pore may be a naturally occurring pore or may be a mutant pore. A protein pore may be inserted into an amphiphilic layer such as a biological membrane, for example a lipid bilayer. An amphiphilic layer is a layer formed from amphiphilic molecules, such as phospholipids, which have both hydrophilic and lipophilic properties. The amphiphilic layer may be a monolayer or a bilayer. The amphiphilic layer may be a co-block polymer such as disclosed in Gonzalez-Perez et al., Langmuir, 2009, 25, 10447-10450, WO2014 / 064444, or US6723814 herein incorporated by reference in its entirety. Alternatively, a protein pore may be inserted into an aperture provided in a solid-state layer, for example as disclosed in W02012 / 005857.
[0042] A suitable apparatus for providing an array of nanopores is disclosed in WO 2014 / 064443. The nanopores may be provided across respective wells wherein electrodes are provided in each respective well in electrical connection with an ASIC for measuring current flow through each nanopore. A suitable current measuring apparatus may comprise the current sensing circuit as disclosed in WO-2016 / 181118.
[0043] The nanopore 104 may comprise an aperture formed in a solid-state layer, which may be referred to as a solid-state pore. The aperture may be a well, gap, channel, trench or slit provided in the solid-state layer along or into which the analyte may pass. Methods of forming a pore of controllable size are disclosed in US 9,777,390. Such a solid-state layer is not of biological origin. In other words, a solid-state layer is not derived from or isolated from a biological environment such as an organism or cell, or a synthetically manufactured version of a biologically available structure. Solid state layers can be formed from both organic and inorganic materials including, but not limited to, microelectronic materials, insulating materials such as Si3N4, A1203, HfO2, SiO2 and multi-layered versions of these materials, organic and inorganic polymers such as polyamide, plastics such as Teflon® or elastomers such as two-component addition-cure silicone rubber, and glasses. The solid-state layer may be formed from graphene or other 2D materials such as MoS2. Suitable graphene layers are disclosed in WO-2009 / 035647, WO-2011 / 046706 or WO-2012 / 138357. Suitable methods to prepare an array of solid-state pores are disclosed in WO-2016 / 187519. Further details on fabrication of nanopores are disclosed in US 9,777,389 and US 10,753,009.
[0044] Such a solid-state pore is typically an aperture in a solid-state layer. The aperture may be modified, chemically, or otherwise, to enhance its properties as a nanopore. A solid-state pore may be used in combination with additional components which provide an alternative or additional measurement of the polymer such as tunnelling electrodes (Ivanov AP et al., Nano Lett. 2011 Jan 12; 1 l(l):279-85), or a field effect transistor (FET) device (as disclosed for example in WO-2005 / 124888). Solid state pores may be formed by known processes including for example those described in WO-OO / 79257. The nanopore 104 may be a hybrid of a solid-state pore with a protein pore.
[0045] As mentioned above, the sensor 112 may takes a series or sequence of measurements of a property that depends on the polymer units of the polymer 102 being translocated with respect to the nanopore 106. The series of measurements may form a measurement signal. The property that is measured may be associated with an interaction between the polymer 102 and the nanopore 106. Such an interaction may occur at a constricted region of the pore. In the example of Fig. 1, the property that is measured is the ion current flowing through a nanopore. These and other electrical properties may be measured using standard single channel recording equipment as describe in Stoddart D et al., Proc Natl Acad Sci, 12;106(19):7702-7, Lieberman KR et al, J Am Chem Soc. 2010; 132(50): 17961-72, and WO-2000 / 28312. Alternatively, measurements of electrical properties may be made using a multi-channel system, for example as described in WO-2009 / 077734, WO-2011 / 067559 or WO-2014 / 064443. Methods of integrating nanopore sensors within microfluidic channel arrays are disclosed in US 10,718,064.
[0046] The property that is measured by the sensor may not necessarily be ionic current. Some examples of alternative types of property include electrical properties and optical properties. A suitable optical method involving the measurement of fluorescence is disclosed by J. Am. Chem. Soc. 2009, 131 1652-1653. Possible electrical properties include: ionic current, impedance, a tunnelling property, for example tunnelling current (for example as disclosed in Ivanov AP et al., Nano Lett. 2011 Jan 12; 1 l(l):279-85), and a FET (field effect transistor) voltage (for example as disclosed in WO2005 / 124888). One or more optical properties may be used, optionally combined with electrical properties (Soni GV et al., Rev Sci Instrum. 2010 Jan;81(l):014301). The property may be a transmembrane current, such as ion current flow through a nanopore. The ion current may typically be the DC ion current, although in principle an alternative is to use the AC current flow (i.e. the magnitude of the AC current flowing under application of an AC voltage).
[0047] As mentioned above, one or more conductive or ionic solutions may be provided on either side of the membrane 104 or solid-state layer, which ionic solutions may be present in respective compartments. A sample containing the polymer analyte of interest may be added to one side of the membrane 104 and allowed to move with respect to the nanopore, for example under a potential difference or chemical gradient. The measurement signal may be derived during the movement of the polymer 102 with respect to the nanopore 106, for example taken during translocation of the polymer 102 through the nanopore 106. The polymer may partially translocate the nanopore 106.
[0048] In order to allow measurements to be taken as the polymer 102 passes through the nanopore 106, the rate of translocation can be controlled by a polymer binding moiety. Typically, the moiety can move the polymer 102 through the nanopore with or against an applied field. The moiety can be a molecular motor using for example, in the case where the moiety is an enzyme, enzymatic activity, or as a molecular brake. Where the polymer is a polynucleotide there are a number of methods proposed for controlling the rate of translocation including use of polynucleotide binding enzymes. Suitable enzymes for controlling the rate of translocation of polynucleotides include, but are not limited to, polymerases, helicases, exonucleases, single stranded and double stranded binding proteins, and topoisomerases, such as gyrases. The helicase may be any of the helicases, modified helicases or helicase constructs disclosed in WO2013 / 057495, WO 2013 / 098562, WO2013098561, WO 2014 / 013259; WO 2014 / 013262 and WO 2014013260. The helicase may be added to the polynucleotide during sample preparation and stalled by one or more spacers as disclosed in WO2014135838. For other polymer types, moieties that interact with that polymer type can be used. The polymer interacting moiety may be any disclosed in WO-2010 / 086603, WO- 2012 / 107778, and Lieberman KR et al, J Am Chem Soc. 2010; 132(50): 17961-72), and for voltage gated schemes (Luan B et al., Phys Rev Lett. 2010;104(23):238103). The rate of translocation of the polymer through the nanopore may be controlled by a voltage control pulse to step the polymer through the nanopore such as disclosed in W02019 / 006214. Translocation of the polymer may be controlled by a molecular hopper such as disclosed by W02020 / 016573.
[0049] The polynucleotide may comprise a polymer leader sequence which preferentially threads into the pore. The leader is preferably negatively charged and may be a polynucleotide, such as DNA or RNA, a modified polynucleotide (such as abasic DNA), PNA, LNA, polyethylene glycol (PEG) or a polypeptide. The leader sequence may form part of a Y adaptor typically comprising (a) a double stranded region and (b) a single stranded region or a region that is not complementary at the other end. Leader sequences and Y adaptors suitable for use are disclosed for example in WO2017149316.
[0050] The effective surface concentration at the membrane surface can be enhanced by coupling the polynucleotide to the membrane. Suitable coupling moieties are disclosed for example in WO2017149316 and WO12164270.
[0051] The polymer binding moiety can be used in a number of ways to control the polymer motion. The moiety can move the polymer through the nanopore with or against the applied field. The polynucleotide binding enzyme does not need to display enzymatic activity as long as it is capable of binding the target polynucleotide and controlling its movement through the pore. For instance, the enzyme may be modified to remove its enzymatic activity or may be used under conditions which prevent it from acting as an enzyme. Such conditions are discussed in more detail below. The polynucleotide binding enzyme may be a Dda helicase such as disclosed in WO2015055981, hereby incorporated by reference in its entirety.
[0052] Translocation of the polymer 102 through the nanopore may occur either with or against an applied potential, applied by an electronic circuit (not shown) as described hereafter. The translocation may occur under an applied potential which may control the translocation. The binding enzyme is typically held against the cis or trans opening of the nanopore during translocation of the polynucleotide through the nanopore under an applied potential.
[0053] It will be appreciated that the electrical circuitry in this example is illustrative, and may include different or additional components for generating and / or measuring a signal during translocation of the polymer 102 with respect to the nanopore 104. For example, the electronic circuit may be substantially as disclosed in WO2016059427, incorporated herein by reference in its entirety. The electronic circuit may be arranged to control the application of bias voltages across sensor elements of the sensor. During normal operation, the bias voltage is selected to enable translocation of a polymer through the pore of a sensor element. Such a bias voltage may typically be of a level up to -200 mV. The bias voltage supplied by the electronic circuit may also be selected so that it is sufficient to eject the translocating polymer from the pore. By causing the electronic circuit to supply such a bias voltage, the sensor element is operable to eject a polymer that is translocating through the pore. To ensure reliable ejection, the bias voltage is typically a reverse bias, although that is not always essential. The electronic circuit may be connected to electrodes on either side of the membrane 104. The electronic circuit controls the application of bias voltages to generate a bias between the electrodes to control translocation of the polymer 102 as described above.
[0054] In some examples, exonucleases that act progressively or processively on double stranded DNA, or similar enzymatic motor structures that act on other types of polymers (for example, an unfoldase acting on a protein molecule, such as disclosed in WO2013123379), can be used on the cis side of the nanopore 104 to feed the remaining single strand through under an applied potential or the trans side under a reverse potential. Likewise, a helicase that unwinds the double stranded DNA can also be used in a similar manner. There are also possibilities for sequencing applications that require strand translocation against an applied potential, but the DNA must be first “caught” by the enzyme under a reverse or no potential. With the potential then switched back following binding the strand will pass cis to trans through the pore and be held in an extended conformation by the current flow. The single strand DNA exonucleases or single strand DNA dependent polymerases can act as molecular motors to pull the recently translocated single strand back through the pore in a controlled stepwise manner, trans to cis, against the applied potential. Alternatively, the single strand DNA dependent polymerases can act as a molecular brake slowing down the movement of a polynucleotide through the pore. Any moieties, techniques or enzymes described in WO-2012 / 107778 or WO-2012 / 033524 could be used to control polymer motion. Measurement signals generated by the sensor device 110 may be provided to a data processing system 114 for analysis. Variations of the property measured by the sensor device 110 may be extremely small. For example, measurements of ionic current may be on the order of picoamps. Measurements of the property may optionally be amplified before being digitised to generate the measurement signal.
[0055] The data processing system 114 may be a desktop computer, a laptop computer, a tablet computer, a server computer, or any combination thereof. In some examples, the data processing system 114 may be a dedicated device for sequencing polymers, such as a device produced by Oxford Nanopore Technologies (RTM).
[0056] The data processing system 114 includes one or more processors 116 and memory 118. Additionally, the data processing system 114 includes a power supply 120, which may include a mains power supply, a battery, a solar power supply, and / or the like, and the data processing system 114 may also include one or more interface devices 122. The interface devices 122 may include input devices such as a keyboards, a touch screen, a touch pad, a mouse, a microphone, etc. to enable a user to control the data processing device 114, along with output devices such as a display, a speaker, etc. The interface devices 122 may also include network interface devices for example to enable data or information generated by the data processing system 114 to be transmitted to other devices or systems.
[0057] The processor(s) 116 may include one or more of each of a central processing unit (CPUs), graphics processing unit (GPU), neural processing unit (NPU), neural network accelerator (NNA), tensor processing unit (TPU), application-specific integrated circuit (ASIC), application-specific standard product (ASSP), digital signal processor (DSP), field programmable gate array (FPGA), system-on-chip (SoC), any other suitable form of integrated circuit.
[0058] In the present disclosure, the term memory is used to encapsulate both volatile and non-volatile working memory, as well as non-volatile storage. The memory 118 is configured to store measurement signals generated by the sensor device 110, as well as program code for implementing the methods described hereinafter. The program code may include source code, object code, firmware, etc. in any suitable language. For example, the source code may be written in Python, C, C++, Rust, Julia, etc and may use specific development frameworks, libraries, or packages, including PyTorch, TensorFlow, Keras, CUDA, etc. The program code may include instructions for carrying out one or more algorithms. In particular, the program code may include code for a filtering algorithm arranged to remove unwanted components (such as random noise, systematic noise, measurement noise, systematic errors etc.) from the measurement signal to generate a filtered signal. The program code may further include instructions for one or more downstream algorithms for carrying out one or more downstream tasks using the filtered signal. Examples of downstream tasks include basecalling, detecting of biomarkers of disease in clinically relevant biofluids, and decoding of digital information encoded in molecular carriers, single-molecular diagnostics, protein detection, and molecular information storage.
[0059] The measurement signal produced by the system 100 may be generally characterised as a distorted or noisy piecewise constant signal, for example with different sublevels deviating from a baseline measurement and corresponding to different blockage levels during translocation of the polymer 102 with respect to the nanopore 106. The sublevel currents and the baseline current, as well as the transitions between sublevels, may be affected by random noise as well as various types of systematic error such as resulting from the finite response time or limited bandwidth of the electronic circuitry.
[0060] Frames 202-206 of Fig. 2 illustrate how different types of distortion many affect a piecewise constant signal generated as the two-segment polymer 102 of Fig. 1 is translocated with respect to the nanopore 106. Frame 202 shows the true underlying signal to be extracted, which is well-approximated by a piecewise constant function.
[0061] A truly instantaneous transition between states requires infinite bandwidth, whereas the finite response time and bandwidth limitations imposed by measurement electronics, as well as any low-pass filtering applied to the signal, result in distortion of the signal. Frame 204 shows the effect of these limitations on the piecewise constant signal of frame 202, for a hypothetical example in which the rise time (i.e., the time taken for the signal to reach a steady state following a change) is dictated solely by the RC response of the measurement circuit.
[0062] The system 100 is also subject to several sources of electrical noise that further distort the signal. Frame 206 shows an example of the full raw signal (i.e., as measured by the electronics and subject to noise and bandwidth limitations). The various noise sources are not independent of bandwidth-limited distortion depending on where they are introduced in the measurement pipeline, but this introduces only minor variations from additive noise.
[0063] As illustrated in frame 208, distortion becomes especially problematic when the duration of an important feature of the signal approaches the response time of the measurement system or the bandwidth of the recording device, which causes the signal to be attenuated as shown in the example of the and vanishing entirely into the noise for durations that are shorter than the system rise time.
[0064] In view of the above considerations, and as explained in more detail below, the present disclosure provides a method of processing a measurement signal that enables an accurate decoding of sublevels all the way down to the bandwidth and hardware- imposed limitations of nanopore measurement.
[0065] Fig. 3A shows an example of a current trace 300 produced by a sample analyte translocating a nanopore. The current trace 300 exhibits a noisy baseline current 302 and a number of discrete events showing as spikes in the current trace, including one contained in the dashed box 304. Fig. 3B shows a zoomed-in view of the signal portion contained within the dashed box 304, normalised to have values in the range [0,1], Fig. 3C shows a piecewise constant approximation 306 of the signal portion overlaid on the signal portion of Fig. 3B, determined by application of the methods described herein to that signal portion. In this case, it is observed that the piecewise constant approximation 306 has two distinct sublevels deviating from a baseline sublevel.
[0066] An approach to processing a signal in accordance with the present disclosure is exemplified by the method 400 of Fig. 4. The method 400 begins with the optional step of normalising, at 402, the datapoints within the signal to a predetermined range, such as [0,1], The normalisation may be performed separately for separate events (for example, separate portions of a signal trace corresponding to respective different events), which may result in any hyperparameters used to perform the method 400 having a similar effect on each event.
[0067] The method 400 continues, at 404, with fitting, to the measurement signal, a first piecewise constant approximation of the measurement signal. This stage includes grouping datapoints within the signal into a set of sublevels, which effectively denoises the signal, but typically results in an overfit of the data. The method 400 continues with refining, at 406, the first piecewise constant approximation of the measurement signal to determine a second piecewise constant approximation of the signal, which more accurately captures the physically relevant features of the underlying signal. The refining stage 406 typically includes merging a subset of the sublevels based on one or more refinement criteria. The refinement criteria may depend on a number of hyperparameters which may be context-specific, user- defined and / or learned from data. The refining may, in particular, result in correction of errors arising from a finite bandwidth or finite response time of the system. Following the refining stage, the method may optionally include denormalising the second piecewise constant approximation of the signal so that the sublevels have respective current values.
[0068] Details of the initial fitting stage 404 and the refining stage 406 will now be described with reference to Figs. 5-15.
[0069] The initial fitting stage 404 may utilise one or more machine learning algorithms (optionally after applying a low pass filter to the measurement signal and / or normalising the signal data to a fixed range, such as the interval [0,1]). For example, the denoising may use decision trees and / or Adaptive Boosting (AdaBoost) to determine an initial overfit of the measurement signal.
[0070] Decision trees is a supervised machine learning algorithm that can be used both for classification and regression. The algorithm works by grouping datapoints within a signal into subsets or sublevels that are represented by a single signal value (for example, a constant sublevel ionic current level). The sublevels may be iteratively split into smaller sublevels until an error such as a mean-squared error arising from this local approximation is minimized. Initially, a signal (or signal portion) corresponding to a nanopore translocation event may be represented by a single subevent associated with a root node of a tree structure. At each iteration, the algorithm may select a unique position in all sublevels at the current lowest nodes within the tree, to achieve the best split as measured by minimizing the error following the split. The process may be repeated until a threshold is reached. The sublevels at the lowest nodes when the threshold is reached may be a piecewise constant approximation of the data, such that data points with similar signal values in a contiguous region may be well -approximated by a sublevel with a common signal value. The threshold may for example be a maximum depth of the tree structure, where a greater maximum depth typically results in a more overfitted piecewise constant approximation of the signal, whereas a shallower tree will have fewer levels and will correspond to a rougher approximation of the signal. The maximum depth of the tree structure may be a tuneable hyperparameter of the method (approxSubLevelEstimate), and may be selected so that the resulting approximation captures a general structure of an event without missing physically significant sublevels. Different maximum depths may be appropriate depending on various factors such as the translocation rate, sampling rate, duration of event, length of analyte, etc. The suitable maximum depth may for example be in the region of 3, 5, 10 or 20, or any other suitable value depending on use case.
[0071] AdaBoost is an ensemble learning meta-algorithm that learns by training several base learners and improves itself by learning from their mistakes. In the domain of machine learning, base learners or weak learners may be models that perform slightly better than random chance. These can be, for example, decision trees, linear models, or any other suitable model that is only slightly better than random guessing. AdaBoost uses these base learners as building blocks to create a strong ensemble predictive model through iterative training and re-weighting. Over the iterations, the algorithm reduces the weighted sum of errors, such as mean square errors, of each component base learner by updating the weight of these base learners in the overall model according to their individual performance. Hyperparameters of the AdaBoost algorithm include the number of base learners (AdaBoostRegressorNoEstimators, which may be, for example, more than 10, more than 50, more than 100, more than 500, or more than 1000), and the hyperparameters of the base learners (such as maximum depth in the case that decision trees are used as weak learners). Using a greater number of base learners may increase the accuracy of the fit at the expense of a higher computational cost and time to termination. Similarly to Decision Trees, AdaBoost can be used to determine a piecewise constant approximation of a signal, but as an ensemble technique, AdaBoost may be less prone to excessive overfitting that may otherwise result from an individual iteration of Decision Trees.
[0072] In a particularly preferred example, the initial fitting stage 404 of the method 400 is performed via a pass of AdaBoost with Decision Trees as base learners, followed by an individual application of a Decision Tree. The inventors have found that by first applying AdaBoost to denoise or smooth the measurement signal (with hyperparameters chosen to err on the side of overfitting), then using the Decision Tree with a suitable maximum depth for the use case, a well-calibrated fit of the data can be obtained. The fit may still include a number of nonphysical sublevels, which may subsequently be removed during the refinement stage as described hereinafter. Although in the example described above both AdaBoost and Decision Trees are used, in other examples either one of these algorithms may be omitted, and / or one or more other denoising algorithms may be applied in addition to, or instead of, either or both of these algorithms.
[0073] The top frame 502 of Fig. 5 shows an example of a raw current trace consisted of data points at equally spaced time steps, generated during nanopore translocation of an analyte consisting of two different-sized tags on the ends of a 2kbp (2,000 base pair) dual-strand DNA segment. The bottom frame 504 of Fig. 5 shows the input and output of an initial pass of AdaBoost, where the input is the raw signal normalized to the interval [0,1], and the output is an overfitted piecewise constant approximation of the normalized signal, containing many nonphysical sublevels.
[0074] Fig. 6 shows the input and output of a Decision Tree pass applied after the AdaBoost pass of Fig. 5. The input of the Decision Tree pass is the output of the AdaBoost pass, and the output of the Decision Tree pass is an improved, but still overfitted, piecewise constant approximation of the normalised signal.
[0075] In addition to allocating datapoints to a set of sublevels, determining a piecewise constant approximation of a signal involves determining or estimating indicative signal values for the sublevels. This may need to be done after each step of the present method, for example after a pass of AdaBoost and / or after a pass of Decision Trees.
[0076] One approach to estimating a signal value for a sublevel may be to take an average signal value (such as a mean signal value) of all datapoints allocated to the sublevel. However, a subset of these datapoints will typically have distorted signal values due to the finite rise time of the measurement electronics, which can result in a systematic error in which neighbouring sublevels appear less well -separated than they should. An alternative approach is to determine the signal value for the sublevel in a system-aware manner by considering the ways in which the measurement electronics distort the signal. In this approach, sublevels may be treated differently depending on whether they last long enough to reach a steady state.
[0077] For a sublevel that is too short to reach a steady state (as determined for example by comparing the number of datapoints allocated to the sublevel with a threshold value), the sublevel value may be determined as the signal value of a datapoint allocated to the sublevel that has a maximum deviation from an estimated signal value of the previous sublevel. Fig. 7A shows an example of a sublevel 702 to which four datapoints (shown in black) are allocated. This sublevel 702 is too short to reach a steady state, as reflected by the number of data points being less than a threshold number of datapoints (the threshold is six data points, in this case). The signal value for the sublevel 702 is then estimated as the signal value of the datapoint 704, which is the datapoint that deviates most from the estimated signal value of the neighbouring sublevel 706, which in this case is the sublevel immediately preceding the sublevel 702. In other examples, the neighbouring sublevel may be a sublevel immediately following the sublevel of interest, i.e. the sublevel 708 in Fig. 7A, for example if the sublevels are estimated via a reverse pass through the sublevels rather than a forward pass through the sublevels.
[0078] For a sublevel that is long enough to reach a steady state, the sublevel may be estimated based on signal values of a subset of datapoints allocated to the sublevel, the subset omitting an earliest one or more datapoints allocated to the first sublevel. In one example, the signal value for the sublevel is estimated as a mean signal value for the last given percentage of datapoints in the sublevel, for example the last 50% of datapoints in the sublevel. In another example, a fixed number of datapoints may be omitted. Fig. 7B shows an example of a sublevel 708 to which eight datapoints (shown in black) are allocated. This sublevel 708 is long enough to reach a steady state, as reflected by the number of data points not being less than the threshold number of datapoints (six datapoints). In this example, the signal value for the sublevel 708 is estimated as the mean signal value of the four datapoints in the dashed box 710, which are the last 50% of datapoints within the sublevel 710.
[0079] An example implementation of the system-aware method of estimating a signal level for a sublevel is given by the pseudocode of Algorithm 1 :
[0080] As explained above, the piecewise constant approximation of the signal following the denoising stage 404 may still include a number of nonphysical sublevels. The primary task of the refinement stage is to filter out transitions
[0081] As explained above, the piecewise constant approximation of the signal following the initial fitting stage 404 may still include a number of nonphysical sublevels. The primary task of the refinement stage 406 is to filter out these nonphysical sublevels. This typically involves merging sublevels, for example by reallocating datapoints from a sublevel determined to be nonphysical to another sublevel or sublevels, and optionally updating the signal value of the sublevel or sublevels to which the points are reallocated.
[0082] Fig. 8 shows an example of a method 800 of refining the piecewise constant approximation of a signal resulting from the initial fitting steps described above. Not all of the steps of the method 800 are always necessary, and the steps may be performed in different orders and / or multiple times. The inventors have found that this sequence of steps strike a good balance between approximation (fitting a smaller number of larger sublevels) and detail (fitting many smaller sublevels). Other refinement steps may also be performed in addition to any of those shown.
[0083] The method 800 may begin with merging, at 802, nearby sublevels, for example neighbouring sublevels for which a difference between estimated signal levels is less than a threshold difference, indicating that the difference is too small to represent a physical change. The result may be two, three or more neighbouring sublevels being merged or combined to generate a merged sublevel. The merging of two or more nearby sublevels may include reallocating all of the datapoints from both nearby sublevels to the merged sublevel, or equivalently reallocating all of the datapoints of one of the nearby sublevels to the other nearby sublevel and updating the estimated signal value of that sublevel to account for the reallocated datapoints (for example using Algorithm 1 above). The threshold difference for merging nearby sublevels may be a tuneable hyperparameter of the method (MaxHeightDiff). Alternatively, the threshold difference may be a predetermined multiple of a characteristic width of the baseline signal, for example the standard deviation of the baseline signal, in which case the predetermined multiple may be a tuneable hyperparameter (numb erOfStd Ab ove AndB el ow) .
[0084] An example implementation of a method of identifying and merging nearby sublevels is given by the pseudocode of Algorithm 2:
[0085] In some cases, the effect of systematic distortion leads to an over-estimate or under-estimate of the signal value of a sublevel, which can lead to sublevels being erroneously merged. To mitigate this effect, a correction step referred to as “boosting” may be performed before the merging, making use of the fact that such distortion can be detected by considering the sign of the residuals of the local fit of the sublevel.
[0086] Fig. 9 shows an example of a three-step process 900 for merging nearby sublevels. The method 900 begins with boosting, at 902, one or more sublevels. In particular, boosting may be performed for sublevels for which it is determined that (i) an absolute difference between a number of positive residuals and a number of negative residuals associated with datapoints within a sublevel is less than a first threshold, and (ii) a number of data points assigned to the sublevel is greater than a second threshold. The first threshold (oneSidedPercentParity) and the second threshold (minDataPointsToBeBoosted) may be tuneable hyperparameters of the method.
[0087] The boosting may include updating the signal value to a first candidate signal which, out of a set of candidate signal values, results in minimal asymmetry in the sign of the resulting residuals (in other words, the candidate signal value which minimises the absolute difference between the number of positive residuals and the number of negative residuals within the sublevel). The candidate signal values may include some or all of the following: (A) a signal value of the datapoint allocated to the sublevel having a maximum deviation from an estimated signal value of a neighbouring sublevel (such as the immediately preceding sublevel), (B) signal values of a subset of datapoints allocated to the sublevel, the subset omitting an earliest one or more datapoints allocated to the sublevel (for example, the last 50%), and (C) a mean signal value of all datapoints allocated to the sublevel.
[0088] The method 900 continues with merging, at 904, the (possibly boosted) sublevels, for example using Algorithm 2. In some cases, large deviations from the local sublevel current estimate within a sublevel can lead to errors in downstream sublevel classification. Therefore, the method 900 may optionally include updating the signal value of any sublevel (for example using Algorithm 1) if any datapoint within that sublevel deviates from the locally fitted estimate by more than a threshold deviation, controlled by a tuneable hyperparameter
[0089] “exceptionalHeightBaseMaxDiffForHeightRefresh". Fig. 10 shows the input and output of the merging stage applied after the Decision Tree pass of Fig. 6. The input of the merging is the output of the Decision Tree pass, and the output of the merging stage is a smoothed piecewise constant approximation, in which sublevels that have unphysically small steps between them have been merged.
[0090] Returning to Fig. 8, the method 800 continues with correcting, at 804, sublevels with durations less than a threshold duration (for example, having a number of datapoints less that a tuneable hyperparameter minDataPointsToBeSubLevel). Such sublevels may be referred to as short sublevels.
[0091] It is often challenging to identify whether a short sublevel represents a physical change. Simply removing all short sublevels may not be an option as some physical sublevels can also be quite narrow. According to one approach, sublevels may be classified or categorised, and treated differently depending on the category. Fig. 11 shows examples of different categories of sublevel, as follows:
[0092] (A) Normal sublevel 1102 - normal sublevels last long enough to reach a steady state and do not require correction in this pass.
[0093] (B) Exceptional peaked sublevel 1104 - peaked sublevels do not last long enough to reach a steady state between current steps in opposite directions. According to one possible set of criteria, a short sublevel qualifies as an exceptional peaked sublevel only if:
[0094] (i) the absolute difference in signal value from the previous sublevel and to next sublevel must each be greater than a threshold difference (for example, a threshold multiple of the baseline standard deviation, the multiple being a hyperparameter exceptionalPeakMinHeightStdAboveAndBelow),
[0095] (ii) the number of datapoints allocated to the sublevel being greater than a hyperparameter exceptionalPeakWidthLowerBound, and
[0096] (iiii) the absolute difference in signal value of the previous sublevel and the first non- exceptional sublevel after the current sublevel is greater than a threshold difference (for example, a threshold multiple of the baseline standard deviation, the threshold multiple being a hyperparameter exceptionalPeakBaseDifferenceStdAtleast). (C) Exceptional slope sublevel 1106 - sloped sublevels do not last long enough to reach a steady state between two current steps in the same direction. According to one possible set of criteria, a short sublevel qualifies as an exceptional slope sublevel only if:
[0097] (i) the number of datapoints allocated to the sublevel being greater than a hyperparameter Exceptional SlopeWidthLowerBound, and
[0098] (ii) The minimum of absolute difference in signal value between the current and previous sublevel, and between the current and next sublevel should be greater than a threshold difference (for example, a threshold multiple of the baseline standard deviation, the threshold multiple being a hyperparameter exceptionalSlopeMinHeightStdofMinDiff).
[0099] (D) Bad sublevel 1108 - bad sublevels may be any sublevel not classified into one of the previous categories (i)-(iii).
[0100] It will be appreciated that different sets of criteria may be used for classifying short sublevels, for example omitting some of the criteria above and / or using alternative or additional criteria. In other examples, all short sublevels may be treated in the same way (for example treated as bad sublevels), in which case the classification step may be omitted.
[0101] After classifying any short sublevels as above, bad sublevels may be merged with neighbouring sublevels. This may include splitting the bad sublevel into a left portion and a right portion, merging the left portion with a sublevel immediately preceding the short sublevel, and merging the right portion with a sublevel immediately following the short sublevel. The merging may be performed for example using the MERGE function within Algorithm 2. The position at which the bad sublevel is split may be determined in various ways, for example as halfway along the bad sublevel, or based on an earliest datapoint allocated to the short sublevel having a signal value outside a threshold range around an estimated signal value for the short sublevel.
[0102] An example implementation of a method of splitting bad sublevels is given by the pseudocode of Algorithm 3 : After the short sublevel correction stage, there is a possibility of neighbouring sublevels newly satisfying the criteria for merging nearby sublevels. The method 800 may therefore return to 802 before proceeding further.
[0103] Fig. 12 shows the input and output of the short sublevel correction stage applied after the merging stage of Fig. 10. The input of the short sublevel correction stage is the output of the merging stage, and the output of the short sublevel correction stage is an updated piecewise constant approximation of the signal in which short sublevels have been removed or corrected.
[0104] Because the baseline signal before and after an event is treated as its own sublevel, it is possible at this stage for one or more sublevels to be allocated to the baseline signal. These sublevels are not physical and can simply be removed, cleared, or replaced with a single sublevel representing the baseline signal. Using the known start and endpoint of the event, sublevels that fall outside of this interval may be merged into a single baseline sublevel. This step may be dependent on a hyperparameter baselineStdThreshold, which determines what multiple of the baseline standard deviation a sublevel outside the interval must exceed in order to not be suppressed.
[0105] Accordingly, the method 800 may continue with suppressing, at 806, one or more sublevels that are outside the interval and deviate from the baseline.
[0106] Fig. 13 shows the input and output of the clear baseline stage applied after the short sublevel correction stage of Fig. 12. The input of the clear baseline stage is the output of the short sublevel correction stage, and the output of the clear baseline stage is an updated piecewise constant approximation of the signal in which sublevels that were detected before the beginning of the event or after the end of the event have been suppressed.
[0107] Following the steps 802-806, the resulting approximation of the signal may include all of the physical sublevels within an event, with minimal or no unphysical sublevels. However, the transitions between the sublevels may not correspond to the times of the physical changes that drove the transitions. Specifically, the transitions may occur artificially late due to the system rise time. The method 800 therefore continues with correcting, at 808, the start and end times of the remaining sublevels to properly account for the system rise time. Correcting the starting times of the sublevels may include reallocating datapoints from a later sublevel to an earlier sublevel to account for the system rise time. In one example, this includes iteratively, in a reverse temporal direction starting from an earliest datapoint of the later sublevel, reallocating datapoints from the earlier sublevel to the later sublevel, until a direction of change between signal values of the datapoints is inconsistent with the direction of change between the earlier sublevel and the later sublevel. Once the starting times all of the sublevels have been corrected, the signal values may be updated, for example using Algorithm 1 with the new sublevel time bounds. A tolerance parameter can be added if extremely precise sublevel positions are required, which may control how many opposite direction data points to ignore before reaching the absolute point of inflection used as the sublevel end point
[0108] Fig. 14 shows the input and output of the correct starting times stage applied after the clear baseline stage of Fig. 13. The input of the correct starting times stage is the output of the clear baseline stage, and the output of the correct starting times stage is an updated piecewise constant approximation of the signal in which errors in the time-indices of the changes between sublevels have been corrected.
[0109] Following the method 800, the resulting piecewise constant estimate of the signal may be used in downstream tasks. For example, the piecewise constant estimate may be further processed to characterise an event associated with the signal and / or to determine features of the corresponding molecule (e.g. polymer) that was translocated with respect to the nanopore. In one example, the analyte is a DNA or RNA molecule, and the piecewise constant estimate of the signal is used to basecall the DNA or RNA molecule. Suitable algorithms for such downstream tasks may include machine learning algorithms, for example using recurrent neural networks (RNNs) as disclosed in WO 2023094806 and WO 2020109773, or any other suitable algorithm for processing sequential data, such as a transformer.
[0110] Other refinements steps may optionally be applied, for example recalculating the signal value of a sloped sublevel if the ratio of data points above and below the sublevel exceeds a threshold defined by a directionalThreshold hyperparameter. The signal value may for example be recalculated based on the last 50% of the datapoints allocated to the sublevel. The result of such a correction is shown in Fig. 15. The fitted signal may then optionally be denormalised if normalisation was applied at the start of the process.
[0111] Fig. 16 shows an example of a nanopore signal corresponding to an event being processed using the methods described herein (including all steps of the methods 400, 800, 900). Fig. 17 shows a comparison of results of processing a signal using the presently disclosed methods and using CUSUM. This data arises from translocation of a complex molecule that encodes information in the form of a double-stranded DNA (dsDNA) backbone with binding sites to which side chains can bind through DNA hybridization. These side chains carry a DNA nanostructure shaped as a star with either 4 or 12 dsDNA arms, which produce clearly distinguished blockage levels when they pass through a nanopore, and represent a digital 0 or 1, respectively. Because of the need to achieve high data density, these chains are quite small and result, in the ideal case, in a symmetric peaked sublevel with a short duration relative to the rise time of our measurement electronics, too short for CUSUM to consistently recognize, let alone fit accurately. The frame 1702 shows the result of CUSUM, whereas the frame 1704 shows the result of the present method.
[0112] Following the methods described above, features of the fitted signal, such as the number of sublevels, the sublevel timings, and the estimated signal values may be extracted to be used for further testing or analysis, and / or may be output via a user interface. Additionally, or alternatively, a visual presentation of the fitted signal may be generated and presented to a user, for example overlaid on the original signal. This may be useful for example when the user wishes to manually tune hyperparameters of the method, as discussed below.
[0113] The methods and algorithms described above may utilise a number of hyperparameters. These hyperparameters may be tuned either manually (for example by systematically varying hyperparameters in a systematic fashion and observing the effect on the result, either visually or based on certain numerical features) or using automated hyperparameter tuning methods such as Bayesian optimisation or any other suitable method. Default values for the various hyperparameters mentioned above may be provided as follows: approxSubLevelEstimate = 5 adaBoostRegressorNoEstimators = 50 numb erOfStdAboveAndB elow = 2.2 minDataPointsToBeBoosted = 20 oneSidedPercentParity = 0.2 exceptionalHeightBaseMaxDiffForHeightRefresh = 0.35 minDataPointsToBeSubLevel = 2% of no. of points in event exceptionalPeakMinHeightStdAboveAndBelow = 3 exceptionalPeakWidthLowerBound = 0.2% of no. of points in event exceptionalPeakBaseDifferenceStdAtleast = 0 exceptionalSlopeWidthLowerBound = 10% of no. of points in event exceptionalSlopeMinHeightStdofMinDiff = 2.2 baselineStdThreshold = 1.5 directi onalThreshold = 0.5
[0114] Further embodiments are envisaged. In particular, the various fitting and refinement steps described above may be treated as modular and may be omitted, reordered, added to, or repeated any number of times, allowing for a high degree of tunability and flexibility across different experimental contexts. Furthermore, the problem of fitting noisy piecewise constant data appears in many scientific fields aside from nanopore analysis, such as in the analysis of anomalous network traffic, neuronal activity patterns, and many other settings. The methods described herein may therefore be applicable to analysis of signals generated during other physical events. Effective techniques to fit and analyse this type of signal have the potential to be generally useful beyond just nanopore science.
[0115] It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.
Claims
CLAIMS1. A computer-implemented method of processing a signal generated during translocation of an analyte with respect to a nanopore, comprising: fitting, to the signal, a first piecewise constant approximation of the signal, including grouping datapoints of the signal into a set of sublevels; and refining the first piecewise constant approximation of the signal to determine a second piecewise constant approximation of the signal, wherein the refining comprises merging a subset of the set of sublevels on the basis of one or more refinement criteria.
2. The computer-implemented method of claim 1, wherein the fitting comprises estimating a signal level of a first sublevel based on signal values of a subset of datapoints allocated to the first sublevel, the subset omitting an earliest one or more datapoints allocated to the first sublevel.
3. The computer-implemented method of claim 1 or claim 2, wherein the fitting comprises estimating, based on determining that fewer than a threshold number of datapoints is allocated to a given sublevel, a signal level of the given sublevel based on a signal value of a datapoint allocated to the given sublevel having a maximum deviation from an estimated signal value of a neighbouring sublevel to the given sublevel.
4. The computer-implemented method of any preceding claim comprising, upon determining that: an absolute difference between a number of positive residuals and a number of negative residuals associated with datapoints within a selected sublevel is less than a first threshold; and a number of data points assigned to the selected sublevel is greater than a second threshold, estimating, from a plurality of candidate signal values, a signal value for the selected sublevel from a set of candidate signal values that minimises the absolutedifference between the number of positive residuals and the number of negative residuals associated with datapoints within the selected sublevel.
5. The computer-implemented method of claim 4, wherein the set of candidate signal values comprises two or more of: a signal value of a datapoint allocated to the selected sublevel with a maximum deviation from an estimated signal value of a sublevel neighbouring the selected sublevel; signal values of a subset of datapoints allocated to the selected sublevel, the subset omitting an earliest one or more datapoints allocated to the selected sublevel; and a mean signal value of datapoints allocated to the selected sublevel.
6. The computer-implemented method of any preceding claim, wherein: the one or more refinement criteria include a difference between estimated signal levels of two neighbouring sublevels being less than a threshold value; and the merging comprises merging the two neighbouring sublevels, thereby to determine a merged sublevel.
7. The computer-implemented method of claim 6 comprising estimating, upon determining that a maximum deviation between a signal level of a datapoint within the merged sublevel and the estimated signal level for the merged sublevel exceeds a threshold deviation, a signal level for the merged sublevel based on one or more datapoints within the merged sublevel.
8. The computer-implemented method of any preceding claim wherein: the one or more refinement criteria include a short sublevel having less that a threshold number of datapoints; and the merging comprises: splitting the short sublevel into a left portion and a right portion; merging the left portion with a sublevel immediately preceding the short sublevel; andmerging the right portion with a sublevel immediately following the short sublevel.
9. The computer-implemented method of claim 8, comprising determining a position for the splitting of the short sublevel based on an earliest datapoint allocated to the short sublevel having a signal value outside a threshold range around an estimated signal value for the short sublevel.
10. The computer-implemented method of claim 8 or claim 9, comprising classifying the short sublevel based on one or more criteria, wherein the splitting of the short sublevel is dependent on an outcome of the classifying.
11. The computer-implemented method of any preceding claim, wherein: the signal is a portion of a signal trace, the portion corresponding to an event taking place within an interval; and the refining comprises supressing one or more sublevels that are outside the interval and deviate from a baseline of the signal trace.
12. The computer-implemented method of any preceding claim, wherein the refining comprises reallocating datapoints from a later sublevel to an earlier sublevel to account for a system rise time of measurement electronics used to measure the signal.
13. The computer-implemented method of claim 12, wherein the reallocating comprises iteratively, in a reverse temporal direction starting from an earliest datapoint of the later sublevel, reallocating datapoints from the earlier sublevel to the later sublevel, until a direction of change between signal values of the datapoints is inconsistent with the direction of change between the earlier sublevel and the later sublevel.
14. The computer-implemented method of any preceding claim comprising: normalising the signal to a predetermined range prior to the fitting; and denormalising the second piecewise constant approximation of the signal.
15. The computer-implemented method of any preceding claim, wherein grouping the datapoints of the signal uses one or more of adaptive boosting and decision trees.
16. The computer-implemented method of any preceding claim, comprising applying a low-pass filter to the signal prior to the fitting.
17. The computer-implemented method of any preceding claim, comprising using the second piecewise constant approximation of the signal to characterise an event associated with the signal.
18. The computer-implemented method of any preceding claim, wherein: the analyte is a polymer and the method comprises using the second piecewise constant approximation of the signal to estimate a sequence of polymer units of the polymer; or the method comprises using the second piecewise constant approximation of the signal to determine a characteristic of the analyte.
19. The computer-implemented method of any preceding claim, wherein the analyte is polymer, the method comprising using the second piecewise constant approximation of the signal to estimate a shape of one or more structures attached along the polymer.
20. The computer-implemented method of any preceding claim, comprising outputting, via a user interface, data indicative of features of the second piecewise constant approximation of the signal.
21. The computer-implemented method of any preceding claim wherein the signal is indicative of changes of ion flow through the nanopore.
22. A computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of any preceding claim.
23. A data processing system comprising means for carrying out the method of any of claims 1 to 21.
24. Apparatus comprising: a sensor element comprising a nanopore; means for translocating an analyte with respect to the nanopore; and a data processing system comprising means for carrying out the method of any of claims 1 to 21 to process a signal comprising measurements of the analyte by the sensor element during translocation of the analyte with respect to the nanopore.
25. A method comprising: translocating an analyte with respect to a nanopore; generating a signal comprising measurements of the analyte by a sensor element comprising the nanopore; and processing the generated signal using the computer-implemented method of any of claims 1 to 21.
Citation Information
Patent Citations
Integrating nanopore sensors within microfluidic channel arrays using controlled breakdown
US10718064B2
Localizing nanopore fabrication on a membrane by laser illumination during controlled breakdown
US10753009B2
Amphiphilic copolymer planar membranes
US6723814B2
Fabrication of nanopores using high electric fields
US9777389B2
Method for controlling the size of solid-state nanopores
US9777390B2