Я хочу использовать R для хранения последовательности ДНК с минимальным использованием диска. Последовательность ДНК представляет собой очень длинную (обычно десятки миллионов символов) строку символов, состоящую из «A», «C», «G» и «T».Хранение одной длинной строки символов с минимальным использованием диска с помощью R
Предположим, что «abc.fa» - это текстовый файл на диске, содержащий 43 миллиона символов, я пробовал следующие различные подходы.
(1) Без использования R я использую команду Linux gzip
для сжатия файла «abc.fa», а файл результата «abc.fa.gz» занял около 13 Мб дискового пространства.
(2) Используя Biostring
пакет R.
dat <- readDNAStringSet("abc.fa")
writeXStringSet(dat, file="abc.comp.fa", compress=TRUE)
Выходной файл abc.comp.fa
также занято около 13 Мб дискового пространства.
(3) Используя save
функцию R для хранения последовательности в качестве character
строки R.
dat <- readDNAStringSet("abc.fa")
dat <- as.character(dat)
save(dat, file="abc.chara.fa", compress="xz")
выходного файла abc.chara.fa
занимаемого около 9 Мб дискового пространства.
мне интересно, если есть более эффективные подходы к хранению этого рода последовательности с еще меньшим использованием диска в R.
Спасибо.
А как насчет базы данных (ad hoc)? –