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

博文

统计碱基组成的R语言小程序Rjuan 1.03 (核心代码函数化封装)

已有 4293 次阅读 2012-3-30 08:25 |个人分类:我的研究|系统分类:科研笔记| 碱基组成, Rjuan, 封装, 核心代码, 函数化

统计碱基组成的R语言小程序Rjuan 1.03 (核心代码函数化封装)

 

熊荣川

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

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

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

 

 

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

)

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

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

shown=data.frame(namen,numbern)

print(shown)

}

 

data<-read.csv("D:\ziliao\zhuanye\R bear\test2.csv")

导入test2.csv数据存在矩阵data

length(data[,1])

[1] 602

查看行数,理论上应该和我们序列中碱基数一致

 

 

 

 

z=data[,1]

为了增加我们基础代码的通用性(较少改动),我们首先将序列数据格式又矩阵转为向量格式

 

> nucount(z)

  namen numbern

1    na     139

2    nt     182

3    ng     109

4    nc     172

调用函数并输出结果

 

 

 

data<-read.csv("D:\ziliao\zhuanye\R bear\test3.csv")

导入第二条序列

length(data[,1])

[1] 17962

序列长度17962bp

 

z=data[,1]

序列向量化

nucount(z)

  namen numbern

1    na    5111

2    nt    5272

3    ng    2667

4    nc    4912

 

调用函数nucount()

统计碱基数

 



https://blog.sciencenet.cn/blog-508298-553282.html

上一篇:统计碱基组成的R语言小程序Rjuan 1.02 (加入打印功能)
下一篇:统计碱基组成的R语言小程序Rjuan 1.04(增加比率统计)
收藏 IP: 210.75.236.*| 热度|

0

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

数据加载中...

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

GMT+8, 2024-11-24 19:44

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部