首页 文章

如何用R读取多个FASTA文件?

提问于
浏览
1

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

我的问题如下:如何在同一时间从不同的文件中读取?

我试过了:

a<-list.files()

然后

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

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

非常感谢您的帮助,非常感谢!

法比奥

PS . 一周前我开始和R一起工作......所以,请耐心,即使这是一个愚蠢的问题!

1 回答

  • 2

    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包支持的最佳位置 .

相关问题