2011-08-01 46 views
0

我需要从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) 

的文件,你可以指导我如何能继续呢?

+0

这是什么意思删除碱基对?我没有研究遗传学... –

+0

对于没有生物学背景的人,我认为你应该弄清楚一个碱基对是什么(例如,你如何通过删除它来缩短节点)。 –

+0

我已经添加了一个链接这么久,但请澄清这个问题,让人们更容易帮忙。 –

回答

4

对于base-R解决方案,请使用substr。然而更好的主意是使用Bioconductor的Biostrings的功能,即

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