沉闷科学的掘墓人分享 http://blog.sciencenet.cn/u/Bearjazz

博文

统计碱基组成的R语言小程序Rjuan 1.20(序列输入格式.fastr)

已有 5137 次阅读 2012-3-30 22:42 |个人分类:我的研究|系统分类:科研笔记|关键词:学者| R语言, 格式, 碱基组成, Rjuan, 序列输入

统计碱基组成的R语言小程序Rjuan 1.20(序列输入格式.fastr

 

熊荣川

六盘水师范学院生物信息学实验室

xiongrongchuan@126.com

http://blog.sciencenet.cn/u/Bearjazz

 

之前我们所开发的一段R语言代码——Rjuan 1.0可用于一段序列的各个碱基数量的统计。(详见“统计碱基组成的R语言小程序Rjuan 1.0 http://bbs.sciencenet.cn/home.php?mod=space&uid=508298&do=blog&id=553110

我们的第一次升级解决了输入序列长度限制的问题

http://bbs.sciencenet.cn/home.php?mod=space&uid=508298&do=blog&id=553147

第二次升级在程序的后面加上一段具有打印功能的代码,并将信息保存为矩阵,并与输出为表格文件

http://bbs.sciencenet.cn/home.php?mod=space&uid=508298&do=blog&id=553163

第三次升级对核心代码部分进行函数化封装,这样的在处理新的输入序列时,只需要使用调用函数的方式就可以输出结果了。同时也避免了每次都要进行计数器清零操作。

http://bbs.sciencenet.cn/home.php?mod=space&uid=508298&do=blog&id=553282

第四次升级,增加了各碱基比率统计并输出。

http://bbs.sciencenet.cn/home.php?mod=space&uid=508298&do=blog&id=553293

现在我们对程序进行全新的升级,使用R语言自己的方式来转化序列的输入格式。通常序列保存的格式为fasta格式,这里例如isk.fasta,这里使用本程序的序列格式非常简单,直接把带有“>”符号的标题行删除即可,为了和原来的fasta格式区别,我们把这个格式称为fastr格式,例如isk.fastr。下面我们来示范怎么导入这种格式的序列数据,并作碱基统计运算。

 

 

nucount=function(x){

na=0

nt=0

ng=0

nc=0

for (i in 1:length(x)) (

if(x[i]=="A")

na=na+1

else if(x[i]=="T")

nt=nt+1

else if(x[i]=="G")

ng=ng+1

else if(x[i]=="C")

nc=nc+1

)

sum=sum(c(na,nt,ng,nc))

RateA=na/sum

RateT=nt/sum

RateG=ng/sum

RateC=nc/sum

sumR=RateA+RateT+RateG+RateC

namen=c("na","nt","ng","nc","sum")

numbern=c(na,nt,ng,nc,sum)

Rate=c(RateA,RateT,RateG,RateC,sumR)

shown=data.frame(namen,numbern,Rate)

print(shown)

}

载入主程序

data <- readLines("D:\ziliao\zhuanye\R bear\isk.fastr")

导入fastr格式文件

data <- strsplit(data,'')

分割字符

 

data <- unlist(data)

打散字符

nucount(data)

调用函数nucount()

 

  namen numbern      Rate

1    na    6138 0.2920076

2    nt    6326 0.3009515

3    ng    2999 0.1426736

4    nc    5557 0.2643673

5   sum   21020 1.0000000

 

结果

 



https://m.sciencenet.cn/blog-508298-553655.html

上一篇:统计碱基组成的R语言小程序Rjuan 1.04(增加比率统计)
下一篇:将fastr格式序列转化为整体字体串(使用R语言)

0

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-17 20:24

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部