+#' @name de_serialize
+#' @rdname de_serialize
+#' @aliases binarize binarizeTransform getDataInFile
+#'
+#' @title (De)Serialization of a [big]matrix or data stream
+#'
+#' @description \code{binarize()} serializes a matrix or CSV file with minimal overhead,
+#' into a binary file. \code{getDataInFile()} achieves the inverse task: she retrieves
+#' (ASCII) data rows from indices in the binary file. Finally,
+#' \code{binarizeTransform()} serialize transformations of all data chunks; to use it,
+#' a data-retrieval function must be provided, thus \code{binarize} will most likely be
+#' used first (and then a function defined to seek in generated binary file)
+#'
+#' @param data_ascii Either a matrix or CSV file, with items in rows
+#' @param indices Indices of the lines to retrieve
+#' @param data_bin_file Name of binary file on output (\code{binarize})
+#' or intput (\code{getDataInFile})
+#' @param nb_per_chunk Number of lines to process in one batch
+#' @inheritParams claws
+#' @param getData Function to retrieve data chunks
+#' @param transform Transformation function to apply on data chunks
+#'
+#' @return For \code{getDataInFile()}, the matrix with rows corresponding to the
+#' requested indices. \code{binarizeTransform} returns the number of processed lines.
+#' \code{binarize} is designed to serialize in several calls, thus returns nothing.
+NULL
+
+#' @rdname de_serialize
+#' @export
+binarize = function(data_ascii, data_bin_file, nb_per_chunk,