Bloom Filter Alignment for Nucleic Acid Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current nucleic acid sequence alignment techniques are inefficient and often provide both relevant and irrelevant information, making them unsuitable for rapidly determining chromosomal abundance, especially in applications like detecting fetal aneuploidy, due to high memory usage and processing times.
Innovation Solution
The use of Bloom filters, which employ a collection of hash functions and a bit array to rapidly align short nucleic acid sequences to reference sequences, allowing for the determination of chromosomal abundance by assessing the presence of reads in multiple chromosomes, with the ability to exclude irrelevant regions and manage false positives.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional nucleic acid sequence alignment techniques are used, then alignment accuracy can be maintained, but alignment time becomes excessively long (hours or days) and memory usage becomes prohibitively high
Solution Approach 1:
The reference sequence is divided into multiple k-mers (short sequences of length k), and a Bloom filter is constructed using only these k-mers. This segmentation allows the system to answer alignment queries efficiently by checking whether reads contain any of the k-mer seeds, achieving millisecond-level alignment speeds while using minimal memory compared to storing the entire reference sequence.
Solution Approach 2:
A Bloom filter data structure is introduced as an intermediary between the reference sequence and the alignment query process. The Bloom filter acts as a compact probabilistic index that enables rapid set membership testing, allowing the system to determine read-chromosome associations without performing full sequence alignment, thus dramatically reducing computation time and memory requirements.
2Productivity
If conventional alignment techniques provide comprehensive information, then measurement precision is maintained, but the relevant information cannot be rapidly extracted for applications like chromosomal abundance determination
Solution Approach 1:
The invention extracts only the essential information needed for chromosomal abundance determination by using k-mer seeds and Bloom filters to identify read-chromosome associations. This extraction approach filters out irrelevant alignment details and focuses solely on determining which chromosome each read belongs to, enabling rapid information extraction for applications like aneuploidy detection.
3Speed
If Bloom filters are used to reduce alignment time, then alignment speed increases to milliseconds per read, but false positive rates may increase
Solution Approach 1:
The Bloom filter uses k-mers of length k to create a probabilistic index that may produce false positives, but the system compensates by requiring reads to contain at least one valid k-mer seed from the reference sequence. This partial matching approach maintains high speed while controlling false positive rates through proper k-mer selection and Bloom filter parameter optimization.
Data Source
AI summary
Disclosed are methods and tools for rapidly aligning reads to a reference sequence. These methods and tools employ Bloom filters or similar set membership testers to perform the alignment. The reads may be short sequences of nucleic acids or other biological molecules and the reference sequences may be sequences of genomes, chromosomes, etc. The Bloom filters include a collection of hash functions, a bit array, and associated logic for applying reads to the filter. Each filter, and there may be multiple of these used in a particular application, is used to determine whether an applied read is present in a reference sequence. Each Bloom filter is associated with a single reference sequence such as the sequence of a particular chromosome. In one example, chromosomal abundance is determined by aligning reads from a sequencer to multiple chromosomes, each having an associated Bloom filter or other set membership tester.


