我想使用readr
包来读取大型fasta文件并计算条目。该文件有多行,每个条目以>
开头。一般来说,我对其他数据不感兴趣,我只想计算以>
开头的行。
我认为最有效的方法是使用read_lines_chunked
包中的readr
,但结果有点奇怪。
s <- '>a\nb\nc\n>d\ne\n>f\ng\n>h\ni\nj\n>k\nl'
f <- function(x, pos) x[grepl('^>', x)]
jnk <- readr::read_lines_chunked(s, readr::DataFrameCallback$new(f), chunk_size=5)
结果不是像我预期的那样的单行向量,而是矩阵,甚至有奇怪的结果,因为它列举了例如>k
两次:
[,1] [,2]
[1,] ">a" ">d"
[2,] ">f" ">h"
[3,] ">k" ">k"
有人可以帮我这个或建议一个更好的方法来计算以大>
开头的行,而不将所有内容都加载到内存中......