使用cat和paste函数以正确的格式保存fasta序列

时间:2014-05-23 11:16:20

标签: r cat

我正在尝试使用库BSgenome检索感兴趣的序列。我想以一种fasta格式保存序列,如下所示:

>Ggallus_Gene_name
ACGTCCCCCCCCC.........

但我似乎无法在我的数据seq中以这种格式获取我的数据。任何建议都将不胜感激。

library(BSgenome)
biocLite("BSgenome.Ggallus.UCSC.galGal4")
library(BSgenome.Ggallus.UCSC.galGal4)
seq=capture.output(cat(paste('>Ggallus_CRX',
    '\n',getSeq(Ggallus,"chr5",start=54293885,end=54318108))))

谢谢!

1 个答案:

答案 0 :(得分:2)

将您的查询表示为GRanges(开头,结尾,名称可以是载体,例如10,000个不同的基因)

query = GRanges("chr5", IRanges(54293885, 54318108, names="Ggallus_Gene_name"))

然后检索序列

seqs = getSeq(Ggallus, query)

并写出来

writeXStringSet(seqs, "my_file.fasta")

导致前几行

>Ggallus_Gene_name
GAGCGCGGCCCTCCCGCCCGGCCCCGGCCTCCCCCGCTCCGCCCGGCGCTGCGCGGCCCCGCTCCGCCTCCTCCCCCCGG
GGCGTGGGGCCGCGGCGGGGGCTCGGGCAGGTGGAGGTGACCTCCGTGCTGCCGCCCCTCCCGCCCGCCTTCCTGCCTTC
CTCCCTCCGCGGGAAGGAGGGGAGGGAAGTGGAGAAAAAAAAAAAAAAAGAAGAGAAAAAAGGGAGAGAAGGAGAAAAAA
AAAAAGGGGAAAAAAAAAAAGCAGAGGGCCCCAAGGCATTTCTCAACCAAGGGCGCGATTGTGCAGCGCGGCCCCCCTCT
...

可以连接和写出不同来源的DNAStringSets,writeXStringSet(c(seqs1, seqs2), "my_file.fasta"))或以前的文件可以附加到writeXStringSet(seqs2, "my_file.fasta", append=TRUE)