什么是反向重复序列,反向重复序列和正向重复序列
关键词:反向;完整;测序;
*如何获得基因序列的反向互补序列?*这是基因序列分析领域的常见问题。其实答案很简单。很多现成的软件都有这个功能。但是,作为一个活着的信徒,当然可以自己实现一个。
首先想到的是用* *多个if…else…**语句判断选择的方法。这种方法太笨拙了,写出来的代码很难看。今天分享几个好方法。
版本:tr和shell命令
Python版本:基于字典
代码如下所示。
这种方法简短,美观,一目了然。上面的代码只需要遍历一次原字符串,而且比使用多个str.replace()函数效率更高,因为多个str.replace()函数需要多次遍历字符串。
此外,在上面的代码中,字符串被用来编写Pythonic。s[:-1].更多的Pythonic语法请参考我的拙作《Python(一)让你的代码更加pythonic》。
c:基于数组
代码如下所示。
这种方法可以通过使用字符的ascii码将字符映射到数字。这个数字被转换成字符数组的编号(索引),完成了字符到字符的映射。
C的版本是目前最快的!
值得注意的是,上述编码序列不仅可以完成最常见碱基“AGCTN”之间的映射,还可以完成“B”和“V”、“D”和“H”、“R”和“Y”等http://www.Sina.com
如有疑问,欢迎随时交流!
(微信官方账号:盛鑫))。