【问题标题】:How to read from multiple FASTA files with R?如何使用 R 从多个 FASTA 文件中读取?
【发布时间】:2012-02-17 12:51:01
【问题描述】:

我有以下问题:我有 10 个不同的 FASTA 文件,每个文件中有数千个序列。我想从每个 fasta 文件中读取所有序列,然后(使用粘贴)创建一个包含所有序列的大文件。

我的问题如下:如何同时读取不同的文件?

我试过了:

a<-list.files()

然后

for (x in a) { temp<-read.table(x) seq<-summary(temp) print (seq)

但它不能正常工作。我也尝试了命令 read.fasta 但它给了我一个奇怪的输出(不是所有的序列)

非常感谢您的帮助,将不胜感激!

法比奥

PS。我一周前才开始使用 R...所以请耐心等待,即使这是一个愚蠢的问题!

【问题讨论】:

  • 如果您在这里没有得到帮助,也许可以在 Bioconductor 邮件列表中尝试您的问题(指出您是从 StackOverflow 交叉发布的)。
  • 能否成功导入单个文件?为什么命令之间没有; 或换行符?

标签: r fasta


【解决方案1】:

Bioconductor 有许多用于处理 DNA 序列的软件包。使用

安装 ShortRead 包
source("http://bioconductor.org/biocLite.R")
biocLite("ShortRead")

加载库并查阅 readFasta 的帮助页面

library(ShortRead)
?readFasta

找出一个匹配你要读入的fasta文件的模式(如list.files),并将所有匹配该模式的fasta文件读入一个对象

patt <- "fasta$"
fasta <- readFasta("/my/directory/containing/fasta/files", patt)

然后写出对象

writeFasta(fasta, "my_destination.fasta")

但实际上,R 并不是仅用于连接文件的正确工具;可能你想做更多有趣的事情,其中​​一些可能会在 ShortRead、Biostrings 和 GenomicRanges 的小插曲中描述

browseVignettes("ShortRead")
browseVignettes("Biostrings")
browseVignettes("GenomicRanges")

Bioconductor mailing list 是获得 Bioconductor 软件包支持的最佳地点。

【讨论】:

  • 非常感谢。然而,而不是 readFasta...我使用了命令 apply (lapply(myseqs, function(x), read.fasta(x))。
猜你喜欢
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 2016-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多