【发布时间】:2020-10-23 20:15:38
【问题描述】:
我至少需要在 R 中读取 10 GB 大小的文件。为了限制内存使用,我只想读取那些匹配模式的行。例如,在下面的文本文件mytext.tsv 中,我想从将成为标题的所需行中读取。然后从col2 中读取匹配coding 和synonymous 的行,即patterns。
patterns <- c("coding", "synonymous")
mytext.tsv:
## lines unwanted
## lines unwanted1
## lines unwanted2
## lines unwanted3
wanted col1 col2
aaa variant1 coding
jhjh variant2 non-coding
ggg variant3 synonymous
fgg variant4 coding
gdg variant6 missense
我预期的数据框应该是:
wanted col1 col2
aaa variant1 coding
ggg variant3 synonymous
我知道我可以使用连接和扫描然后循环遍历每个模式,但是在 R 中是否有任何有效的方法可以做到这一点?
我的实际数据示例:
【问题讨论】:
-
最终您可以使用 awk、sed 或 PERL 进行预处理。
-
@jogo 是的,我想过,但很想知道它是否可以在 R 中完成。
-
我猜这是一个 VCF 文件?也许 bcftools 更合适?
-
@zx8754 是的,它是VEP的输出。
-
考虑添加VCF文件的例子和“生物信息学”标签,那么你可能会得到更多相关的答案。
标签: r bigdata bioinformatics