Email updates

Keep up to date with the latest news and content from BMC Genomics and BioMed Central.

This article is part of the supplement: Selected articles from ISCB-Asia 2012

Open Access Research

Fast probabilistic file fingerprinting for big data

Konstantin Tretyakov1*, Sven Laur1, Geert Smant2, Jaak Vilo1 and Pjotr Prins23*

Author Affiliations

1 Institute of Computer Science, University of Tartu, J. Liivi 2, 50409 Tartu, Estonia

2 Laboratory of Nematology, Wageningen Agricultural University, Droevendaalsesteeg 1, 6708 PB Wageningen, The Netherlands

3 Groningen Bioinformatics Center, University of Groningen, P.O. Box 14, 9750 AA Haren, The Netherlands

For all author emails, please log on.

BMC Genomics 2013, 14(Suppl 2):S8  doi:10.1186/1471-2164-14-S2-S8

Published: 15 February 2013

Abstract

Background

Biological data acquisition is raising new challenges, both in data analysis and handling. Not only is it proving hard to analyze the data at the rate it is generated today, but simply reading and transferring data files can be prohibitively slow due to their size. This primarily concerns logistics within and between data centers, but is also important for workstation users in the analysis phase. Common usage patterns, such as comparing and transferring files, are proving computationally expensive and are tying down shared resources.

Results

We present an efficient method for calculating file uniqueness for large scientific data files, that takes less computational effort than existing techniques. This method, called Probabilistic Fast File Fingerprinting (PFFF), exploits the variation present in biological data and computes file fingerprints by sampling randomly from the file instead of reading it in full. Consequently, it has a flat performance characteristic, correlated with data variation rather than file size. We demonstrate that probabilistic fingerprinting can be as reliable as existing hashing techniques, with provably negligible risk of collisions. We measure the performance of the algorithm on a number of data storage and access technologies, identifying its strengths as well as limitations.

Conclusions

Probabilistic fingerprinting may significantly reduce the use of computational resources when comparing very large files. Utilisation of probabilistic fingerprinting techniques can increase the speed of common file-related workflows, both in the data center and for workbench analysis. The implementation of the algorithm is available as an open-source tool named pfff, as a command-line tool as well as a C library. The tool can be downloaded from http://biit.cs.ut.ee/pfff webcite.