用R语言随便编一个模拟fasta序列

在生物信息学中,FASTA格式(又称为Pearson格式),是一种基于文本用于表示核苷酸序列或氨基酸序列的格式。格式:第一行为一个大于号加序列名称;第二列为序列信息(核苷酸用ACGT四种字母表示;氨基酸用20个字母表示),接下来利用R语言一些函数循环编写多个fasta序列,并储存到本地。
教程参考自生信星球,海边拾贝的旺财,嘻嘻~

蛋白质序列

涉及的两个基础函数

  • sample抽样函数
    sample(x,n,replace=TRUE) 三个参数依次表示抽样数据源,抽样次数,抽样方法(TRUE表示有放回的抽取)
  • paste连接函数,有两个特殊参数,一个是sep、一个是collapse,分别对应两种连接用法。
    (1)一般使用paste需要提供两个数据对象,以供连接;使用sep参数表示连接方式,而默认为空格连接sep=" "
paste('A','B','C')
paste(c('A','B','C'),c(1,2,3))
paste(c('A','B','C'),c(1,2,3),sep="-")
1

(2)如果仅提供一个数据对象,以希望修改数据对象内的连接方式,需要使用collapse参数。(可能用的比较少,但的确这次用到了)

paste('1','2','3')  #多个对象
paste(1:3)  #一个对象
paste(1:3, collapse="")
paste(1:3, collapse="-")
2

开始吧~

步骤一:function()

x= c("A","T","C","G")
ms <-function(n){
  paste(sample(x,n,replace = TRUE),collapse = "")
} 
ms(25)
抽取

步骤二:for循环批量抽10个

y = c()
for(i in 1:10){
  y[i] = ms(25)
}
y
批量处理

步骤三:利用换行符\n组成fasta文件格式

  • 法1
x1 = paste0("seq",1:10)
# x1=paste("seq",1:10,sep="")
# paste0()就是sep=""的paste()
res <- paste0(">",x1,"\n",y)
res
writeLines(res)
res1
  • 法2
df <- data.frame(V1=paste0("seq",1:10),V2=y)
#转成表格,其中V1,V2表示列名
res2 = apply(df,1,function(x){
  paste0(">",x[1],"\n",x[2])
})
writeLines(res2)

步骤四:导出

write.table(res1,
            file = "test.fasta",
            row.names = F,
            quote = F)
最终结果

就最后的结果来看,首行为单独一个x的多余行,奇怪,存疑!有知道为什么的朋友吗?欢迎评论区留言。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,576评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,515评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,017评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,626评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,625评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,255评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,825评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,729评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,271评论 1 320
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,363评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,498评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,183评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,867评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,338评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,458评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,906评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,507评论 2 359

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,407评论 0 5
  • 最近在学习构建进化树,尝试了用PHYML构建ML树和用MrBayes构建贝叶斯树,因为构建ML树时用的是网站的PH...
    沉_0cb2阅读 27,608评论 7 31
  • Blast,全称Basic Local Alignment Search Tool,即"基于局部比对算法的搜索工具...
    晓佥阅读 15,064评论 1 26
  • 1. getwd() 描述打印当前的工作目录(working directory),是R用来读取文件和保存结果的默...
    生信摆渡阅读 2,677评论 0 2
  • 我发现自己越来越看清真相,可是内心却有一股浓浓的悲伤!想哭!我不知道自己怎么了!看见模式中的人们,心理升起无限的感...
    竺子阅读 59评论 0 0