删除碱基对

时间:2011-08-01 10:05:00

标签: r

我需要从fasta文件中删除一些base pairs。这是我的输入文件

的示例
>\>NODE_1
GTTGGCCGAGCCCCAGGACGCGTGGTTGTTGAACCAGATCAGGTCCGGGCTCCACTGCAC
GTAGTCCTCGTTGGACAGCAGCGGGGCGTACGAGGCCAGCTTGACCACGTCGGCGTTGCG
CTCGAGGCCGGTCATGAACGCGGCCTCGGCGAGGGCGTTCTTCCAGGCGTTGCCCT  
\>NODE_2 
GTTGGCCGAGCCCCAGGACGCGTGGTTGTTGAACCAGATCAGGTCCGGGCTCCACTGCAC
GTAGTCCTCGTTGGACAGCAGCGGGGCGTACGAGGCCAGCTTGACCACGTCGGCGTTGCG
CTCGAGGCCGGTCATGAACGCGGCCTCGGCGA

我的文件中有20种这样的节点。我的目标是像这样缩短文件

>\>NODE_1
GTTGGCCGAGCCCCAGGACGCGTGGTTGTTGAACCAGATCAGGTCCGGGCTCCACTGCAC
GTAGTCCTCGTTGGACAGCAGCGGGGCGT  
\>NODE_2 
GTTGGCCGAGCCCCAGGACGCGTGGTTGTTGAACCAGATCAGGTCCGGGCTCCACTGCAC
GTAGTCCTCGTTGGACAGC

现在,我只能读取R中的文件。

x<-readLines("input file.fa", n = -1L, ok = TRUE, warn = TRUE)

你能指导我怎么办?

1 个答案:

答案 0 :(得分:4)

对于base-R解决方案,请使用substr。然而,更好的想法是使用Bioconductor的Biostrings'函数,即

readFASTA("input.fa")->x
shortX<-subseq(x,start=1,width=100)
writeFASTA(shortX,"output.fa")