|||
在基因组中搜索目标片段(使用R语言)
熊荣川
六盘水师范学院生物信息学实验室
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是否一致,进行逻辑判断 |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 14:37
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社