在 R 中将多 fasta 文件转换为单独的单独 fasta 文件

Convert multi-fasta file into seperate individual fasta files in R

我有一个多 fasta 文件,其中包含 1333 个单独的 fasta 文件,格式为 txt fomrat

>header1
ACGATGCACAAGGT.....
>header2
CCAAACGCAGGGGT.....
>header3
CCAATAAGTAGCCC.....
>header4
AAAGTCGGATTTAG.....

继续到 >header1333

我想将 multi-fasta 拆分成单独的单独 fasta 文件,以便它适合我的 R 代码,用于一些专门为单个 fasta 文件制作的生物分析。

我希望结果像 file1.txt 将包含

>header1
ACGATGCACAAGGT.....

file2.txt 将包含

>header2
CCAAACGCAGGGGT.....

等等。有什么可行的方法吗?

您可以在 data.frame 中阅读它,然后使用 for 循环将其保存在名为 fastafolder 的文件夹中:

fasta <- read.table("~/fasta", quote="\"", comment.char="")

dir.create("~/fastafolder")

for (line in 1:nrow(fasta)) {
  rows <- 2 * line - 1
  if (rows < nrow(fasta)) {
    write(fasta[rows:(rows + 1), 1] , paste0("~/fastafolder/fasta" , line))
  }
}

reprex package (v2.0.1)

于 2022-05-28 创建