首页 > 解决方案 > 如何拆分通过“>”导入为 data.frame 的 FASTA 文件

问题描述

我喜欢将 R 中的 FASTA 文件导入到如下所示的单列数据框中:

dna.sequences <- data.frame(c(">ID1", "sequence1", ">ID2" , "sequence2", ...))

我想将此数据框分成两列,并消除每个 ID 之前的“>”,所以我终于得到了这样的东西

    new_dna <- data.frame(
          ID = c("ID1", "ID2" ... ),
            sequence = c("sequence1", "sequence2" ... )              
            )

在此先感谢,何塞

标签: rdataframefasta

解决方案


如果您总是有备用值IDsequence值,则可以使用矢量回收技术。

transform(data.frame(ID = dna.sequences$col[c(TRUE, FALSE)], 
                     sequence = dna.sequences$col[c(FALSE, TRUE)]), 
          ID = sub('^>', '', ID))

#   ID  sequence
#1 ID1 sequence1
#2 ID2 sequence2

数据

dna.sequences <- data.frame(col = c(">ID1", "sequence1", ">ID2" , "sequence2"))

推荐阅读