在网上没有找到,可能没有,自己写一个。采用了插入@和&后分割的方法。
x<- scan('fasta.txt',what = "c")
x[grep('>',x)]<-paste0('&',x[grep('>',x)],'@')
x<-unlist(strsplit(unlist(strsplit(paste(x,collapse =''),"&")),"@"))
write.table(x,'fasta.txt',sep = '\n',row.names = F,col.names =FALSE,quote =FALSE)
效果:
使用前:
使用后:
真不如awk,R太慢了
awk '!/^>/{printf "%s", $0; n="\n"}/^>/{print n $0; n=""}END{printf "%s", n}'