tritemio/FRETBursts

Save 8-spot data to HDF5

Closed this issue · 1 comments

Problem

The 8-spot smFRET binary is poorly designed and space-wise very inefficient.

Would be better to save those files in HDF5 format. This would save space, increase the reading speed and make the data accessible to other programs.

Implementation

Currently 8-spot data files are pickled on first load for efficiency. Instead of pickling, they can be saved with pytables to HDF5 using zlib compression.

Similarly to what is done for the 48-spot format, the class PyTablesList defined in dataload/pytables_array_list.py can be used.

Commit 96b86e4 adds HDF5 support for all the supported file formats (i.e. single and multi-spot non-ALEX and single-spot ALEX).

This is the first attempt at creating a general-purpose HDF5-based file format for confocal smFRET data.