一个R考核题-多个芯片平台的探针序列输出到fasta文件

有一个数据框,第一列是探针ID,第二列是探针的碱基序列,第三列是芯片平台,模拟数据代码如下:

options(stringsAsFactors = F)
set.seed(123)
ns=sample(1:1000,10)
seqs = do.call(rbind,lapply(ns, function(n){
 # n=ns[1]
 id=paste0('id',1:n)
 seq=rep('aaacccgggtttcccggaaa',n)
 gpl=paste0('gpl',n)
 df=data.frame(id,seq,gpl)
 return(df)
}))
unique(seqs$gpl)
# 这个 seqs 数据框里面,有10个gpl平台,需要拆分成为10个单独的文件
# 把序列fasta格式化
x=as.vector(seqs[1, ])
paste0('>',x[1],'\n',x[2]) 
# 这个就是fasta序列。

Comments are closed.