我需要从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 :(得分:4)
对于base-R解决方案,请使用substr
。然而,更好的想法是使用Bioconductor的Biostrings'函数,即
readFASTA("input.fa")->x
shortX<-subseq(x,start=1,width=100)
writeFASTA(shortX,"output.fa")