1

次の問題があります。各ファイル内に千の配列を持つ 10 個の異なる FASTA ファイルがあります。各 fasta ファイルからすべてのシーケンスを読み取り、(貼り付けて) すべてのシーケンスを含む 1 つの大きなファイルを作成したいと思います。

私の質問は次のとおりです。異なるファイルから同時に読み取るにはどうすればよいですか?

私は試した:

a<-list.files()

その後

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

しかし、それは正しく動作しません。コマンド read.fasta も試しましたが、奇妙な出力が得られます(すべてのシーケンスではありません)

大変お世話になりました。

ファビオ

PS。R を使い始めたのはちょうど 1 週間前です...ですから、ばかげた質問であっても、しばらくお待ちください!

4

1 に答える 1

3

Bioconductorには、DNA 配列を操作するための多くのパッケージがあります。でShortReadパッケージをインストールします

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

ライブラリをロードし、readFasta のヘルプ ページを調べます

library(ShortRead)
?readFasta

読み込みたい fasta ファイルに一致するパターン ( などlist.files) を見つけ、そのパターンに一致するすべての fasta ファイルを 1 つのオブジェクトに読み込みます

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 に答える