1

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

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

我试过了:

a<-list.files()

接着

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

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

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

法比奥

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

4

1 回答 1

3

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

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

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

library(ShortRead)
?readFasta

list.files找出与您要读取的 fasta 文件匹配的模式(如),并将与该模式匹配的所有 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 邮件列表是获得 Bioconductor 软件包支持的最佳地点。

于 2012-02-17T15:55:35.797 回答