r - 在 R 中将表转换为 fasta

标签 r fasta

我有一张这样的表:

>head(X)
column1    column2
sequence1 ATCGATCGATCG
sequence2 GCCATGCCATTG

我需要一个 fasta 文件中的输出,如下所示:
sequence1  
ATCGATCGATCG
sequence2  
GCCATGCCATTG

所以,基本上我需要第二列的所有条目成为新行,穿插第一列。然后可以丢弃旧的第二列。

我通常这样做的方法是在 Notepad++ 中用\n 替换空格(或制表符),但我担心我的文件太大而无法这样做。

有没有办法在 R 中做到这一点?

最佳答案

D <- do.call(rbind, lapply(seq(nrow(X)), function(i) t(X[i, ])))
D
#         1             
# column1 "sequence1"   
# column2 "ATCGATCGATCG"
# column1 "sequence2"   
# column2 "GCCATGCCATTG"

然后,当您写入文件时,您可以使用
write.table(D, row.names = FALSE, col.names = FALSE, quote = FALSE)
# sequence1
# ATCGATCGATCG
# sequence2
# GCCATGCCATTG

这样行名、列名和引号都将消失。

关于r - 在 R 中将表转换为 fasta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23374100/

相关文章:

r - 如何让用户在 R Shiny 中的 ggplot2 和 gVis 图之间切换?

r - 使用 dplyr 对多个分组变量进行计数

C:读取文件中第二行后的 Realloc() 会产生垃圾值

regex - 使用正则表达式从 fasta 文件中获取特定序列

c++ - 快速计数大量序列中的核苷酸类型

通过数值变量对因子重新排序

r - 通过运行信号值计算 `cumsum`

r - 在有条件的数据框中结转值(value)

python - 根据bp坐标提取fasta序列的一部分

perl - Perl 中未定义的子例程和主要错误