Архив за день: Февраль 28, 2015

Программный комплекс по биоинформатике. Сериализация выборок

Для многих алгоритмов комплекса один из сохраняемых параметров — выборка последовательностей скрытых состояний (то есть геном или набор белков); в частности, выборки используются для всех алгоритмов распознавания. Объем информации, соответствующий такой выборке, составляет несколько десятков или даже сотен мегабайтов, так что ее хранение при сериализации алгоритма вызывает определенные трудности. Более того, одна и та же выборка (соответствующая, например, геному какого-то биологического вида) может быть общей для многих алгоритмов.

Для того чтобы не сохранять каждый раз все данные из выборки, можно определить текстовые идентификаторы для базовых выборок, соответствующих файлам на жестком диске. Соответствие между идентификаторами и файлами определяется окружением с помощью конфигурационного файла. Использование идентификаторов позволяет решить сразу несколько проблем:

  • файлы, в которых хранятся выборки, можно переносить без потери работоспособности сохраненных данных;
  • одному файлу может соответствовать несколько идентификаторов (например, в целях обратной совместимости).

Логика сериализации выборки не является универсальной: в некоторых случаях (например, если необходимо сохранять результаты работы алгоритма распознавания) имеет смысл все-таки записывать все содержимое выборки. Поэтому в комплексе базовые операции над выборками (выбор строк, объединение, фильтрация и т. п.) реализованы в виде класса SimpleSequenceSet, а функциональность, которая соответствует необычному механизму сериализации, сосредоточена в дочернем классе NamedSequenceSet.

Читать далее Программный комплекс по биоинформатике. Сериализация выборок