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

博文

在基因组中搜索目标片段(使用R语言)

已有 3870 次阅读 2012-3-31 16:56 |个人分类:我的研究|系统分类:科研笔记| 基因组, R语言, 搜索, 目标片段

在基因组中搜索目标片段(使用R语言)

 

熊荣川

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

xiongrongchuan@126.com

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

 

有时候,我们获得一条序列,它可能是某个目标基因或是基因组中的部分片段。比如我们设计的引物,比如某个可能的重复片段。通常我们确定其是否在目标基因中的方法是把两者在序列比对软件中进行比对。但是其算法由于是比对,所以速度可能会比较慢。同时只能铆钉在一个位置,如果目标基因中有多个位置匹配就无法检测出来。

因此,我们写了一段R语言代码,使得以上的搜索更加直接而彻底。

这里输入序列格式为fastr格式,详见我们之前的博文

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

 

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

导入fastr格式序列

x=data

data赋值个x,避免由于运算而变化data内容,再次需要的时候还有输入那段冗长命令

y=x[1]

初始化我们的y值,使得y为一个合适的字符变量

for (i in 2:length(x))

{

y=paste(y, x[i], sep = "")

}

x的第二个单元开始逐一合并到y上,最终成为一个整体

length(y)

[1] 1

检验y的整体性

> 

nchar(y)

[1] 349

查看y的完成性

 

Tag="AATCATCATTCATATATATGTTTGA"

界定我们要搜索的片段

for (i in 1:nchar(y))

{

if(

substring(y,i,i+nchar(Tag)-1)==Tag

)

print(i)

}

打印搜索片段在目标基因中的起始位置

 

 

[1] 53

搜索结果

substring(y,53,53+nchar(Tag)-1)

[1] "AATCATCATTCATATATATGTTTGA"

从目标基因上截取从第53位开始,长度和Tag相同的片段看看和Tag是否一致,进行肉眼判断

substring(y,53,53+nchar(Tag)-1)==Tag

[1] TRUE

从目标基因上截取从第53位开始,长度和Tag相同的片段看看和Tag是否一致,进行逻辑判断

 

下面模拟搜索多个匹配位置

 

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

导入fastr格式序列

x=data

data赋值个x,避免由于运算而变化data内容,再次需要的时候还有输入那段冗长命令

y=x[1]

初始化我们的y值,使得y为一个合适的字符变量

for (i in 2:length(x))

{

y=paste(y, x[i], sep = "")

}

x的第二个单元开始逐一合并到y上,最终成为一个整体

length(y)

[1] 1

检验y的整体性

nchar(y)

[1] 349

查看y的完成性

 

Tag="AATCATCATTCATATATATGTTTGA"

界定我们要搜索的片段

for (i in 1:nchar(y))

{

if(

substring(y,i,i+nchar(Tag)-1)==Tag

)

print(i)

}

打印搜索片段在目标基因中的起始位置

 

 

[1] 53

[1] 333

搜索结果

substring(y,53,53+nchar(Tag)-1)

[1] "AATCATCATTCATATATATGTTTGA"

从目标基因上截取从第53位开始,长度和Tag相同的片段看看和Tag是否一致,进行肉眼判断

 

substring(y,333,333+nchar(Tag)-1)

[1] "AATCATCATTCATATATATGTTTGA"

从目标基因上截取从第333位开始,长度和Tag相同的片段看看和Tag是否一致,进行肉眼判断

substring(y,53,53+nchar(Tag)-1)==Tag

[1] TRUE

从目标基因上截取从第53位开始,长度和Tag相同的片段看看和Tag是否一致,进行逻辑判断

 

substring(y,333,333+nchar(Tag)-1)==Tag

[1] TRUE

从目标基因上截取从第333位开始,长度和Tag相同的片段看看和Tag是否一致,进行逻辑判断

 



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

上一篇:将fastr格式序列转化为整体字体串(使用R语言)
下一篇:统计碱基组成的R语言小程序Rjuan 1.30(非循环语句运用)
收藏 IP: 210.75.236.*| 热度|

1 zdlh

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

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

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

GMT+8, 2024-11-24 14:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部