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

博文

统计碱基组成的R语言小程序Rjuan 1.01 (第一次升级)

已有 4284 次阅读 2012-3-29 21:06 |个人分类:我的研究|系统分类:科研笔记| R语言, 升级, 碱基组成, Rjuan

统计碱基组成的R语言小程序Rjuan 1.01 (第一次升级)

 

熊荣川

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

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

我们的原始思路是直接将序列粘贴到R语言平台上,转化成一个字符串变量,但是我们发现这种方法虽然简单,但是对序列的长度有极大的局限性,粘贴到第二行就出错了。因此我们这里对输入格式进行调整,以解决长度限制的问题。

首先下载的序列保存为fasta格式,将序列文件用word打开之后,使用替换操作使得每个碱基都单独成一行。(具体方法为在“替换为”中设置特殊格式加入“手动换行符”,如下图)

转换完毕后将内容另存为csv格式(如test2.csv)然后转到R语言平台上执行如下操作

 

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

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

length(data[,1])

[1] 602

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

 

> na=0

> nt=0

> ng=0

> nc=0

将各个碱基的计数器清零

 

z=data[,1]

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

 

for (i in 1:length(z)) {

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

na=na+1

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

nt=nt+1

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

ng=ng+1

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

nc=nc+1

}

这是Rjuan 1.0核心代码

 

> na

[1] 139

> nc

[1] 172

> nt

[1] 182

> ng

[1] 109

查看结果

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

[1] 602

加总之后等于碱基总数,间接检验运算的可靠性

 

 

 

 



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

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

0

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

数据加载中...
扫一扫,分享此博文

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

GMT+8, 2024-5-12 02:20

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部