K-mer counting is a requisite process for DNA assembly because it speeds up its overall process. The frequency of K-mers is used for estimating the parameters of DNA assembly, error correction, etc. The process also provides a list of district K-mers which assist in searching large databases and reducing the size of de Bruijn graphs. Nonetheless, K-mer counting is a data and compute-intensive process. Hence, it is crucial to implement a lightweight data structure that occupies low memory but does fast processing of K-mers. We proposed a lightweight K-mer counting technique, called KmerCo that implements a potent counting Bloom Filter variant, called countBF. KmerCo has two phases: insertion and classification. The insertion phase inserts all K-mers into countBF and determines distinct K-mers. The classification phase is responsible for the classification of distinct K-mers into trustworthy and erroneous K-mers based on a user-provided threshold value. We also proposed a novel benchmark performance metric. We used the Hadoop MapReduce program to determine the frequency of K-mers. We have conducted rigorous experiments to prove the dominion of KmerCo compared to state-of-the-art K-mer counting techniques. The experiments are conducted using DNA sequences of four organisms. The datasets are pruned to generate four different size datasets. KmerCo is compared with Squeakr, BFCounter, and Jellyfish. KmerCo took the lowest memory, highest number of insertions per second, and a positive trustworthy rate as compared with the three above-mentioned methods.
翻译:K-mer计数是DNA组装中的必要过程,因为它能加速整个组装流程。K-mer频率用于估算DNA组装参数、纠错等。该过程还提供一系列不同的K-mer,有助于搜索大型数据库并缩小de Bruijn图规模。然而,K-mer计数是一个数据密集型和计算密集型过程。因此,实现一种占用内存低但能快速处理K-mer的轻量级数据结构至关重要。我们提出了一种名为KmerCo的轻量级K-mer计数技术,它实现了一种高效的计数型布隆过滤器变体——countBF。KmerCo包含两个阶段:插入阶段和分类阶段。插入阶段将所有K-mer插入countBF并识别出不同的K-mer。分类阶段负责根据用户提供的阈值将不同的K-mer分类为可信K-mer和错误K-mer。我们还提出了一种新的基准性能指标。我们使用Hadoop MapReduce程序来确定K-mer频率。我们进行了严格的实验,以证明KmerCo相较于最先进的K-mer计数技术的优势。实验使用四种生物的DNA序列进行。数据集经过修剪以生成四种不同大小的数据集。KmerCo与Squeakr、BFCounter和Jellyfish进行了比较。与上述三种方法相比,KmerCo在内存占用最低、每秒插入次数最高、可信率正向化方面均表现优异。