A method for processing streaming data from a sequencer, the method comprising: receiving multiple sequences (301, 302, 303, 304) from the sequencer; storing each of the multiple sequences as data records (311, 312, 313, 314) on a database; and progressively receiving a further sequence as streaming data from the sequencer; characterized in that: each of the multiple sequences is associated with a counter (321, 322, 323, 324) indicative of a number of times the associated sequence has been sequenced; and the method further comprises: while receiving the further sequence, performing base calling on the further sequence and matching the streaming data against each of the multiple sequences in the database to determine a matching score for each of the multiple sequences in the records of the database; upon the matching score exceeding a matching threshold for one of the multiple sequences in the database, selecting the one of the multiple sequences in the database based on the matching score; storing the further sequence on non-volatile memory where the counter value associated with the selected sequence is below a saturation threshold; and terminating the receiving of the further sequence where the counter value associated with the selected sequence is above the saturation threshold, wherein terminating the receiving of the further sequence comprises sending a reject signal to the sequencer to abort sequencing the further sequence before the sequencer reaches the end of the further sequence and to allow a next sequence to be sequenced before the further sequence is fully sequenced, and the method further comprises: monitoring the counters in the database to determine whether one or more counters exceed a depth threshold; and upon determining that one or more counters exceed a depth threshold, creating an alert that sufficient sequences have been sequenced. receiving multiple sequences (301, 302, 303, 304) from the sequencer; storing each of the multiple sequences as data records (311, 312, 313, 314) on a database; and progressively receiving a further sequence as streaming data from the sequencer; each of the multiple sequences is associated with a counter (321, 322, 323, 324) indicative of a number of times the associated sequence has been sequenced; and the method further comprises: while receiving the further sequence, performing base calling on the further sequence and matching the streaming data against each of the multiple sequences in the database to determine a matching score for each of the multiple sequences in the records of the database; upon the matching score exceeding a matching threshold for one of the multiple sequences in the database, selecting the one of the multiple sequences in the database based on the matching score; storing the further sequence on non-volatile memory where the counter value associated with the selected sequence is below a saturation threshold; and terminating the receiving of the further sequence where the counter value associated with the selected sequence is above the saturation threshold, while receiving the further sequence, performing base calling on the further sequence and matching the streaming data against each of the multiple sequences in the database to determine a matching score for each of the multiple sequences in the records of the database; upon the matching score exceeding a matching threshold for one of the multiple sequences in the database, selecting the one of the multiple sequences in the database based on the matching score; storing the further sequence on non-volatile memory where the counter value associated with the selected sequence is below a saturation threshold; and terminating the receiving of the further sequence where the counter value associated with the selected sequence is above the saturation threshold, monitoring the counters in the database to determine whether one or more counters exceed a depth threshold; and upon determining that one or more counters exceed a depth threshold, creating an alert that sufficient sequences have been sequenced.