Day36-Rosalind练习题学习(2)

    又来做Rosalind题目啦~


2.Counting DNA Nucleotides

    这题也比较简单,就是给出一段DNA序列,将它翻译成RNA,本质上也就是将T碱基替换成U碱基。

Question 2

    python里面也有一个特殊的方法replace()可以对字符串中的子字符串进行替换,直接在命令行中执行即可。

>>> str="GATGGAACTTGACTACGTAAATT"
>>> print(str.replace("T","U"))
GAUGGAACUUGACUACGUAAAUU

    这题好像没有看到什么特殊的解法。


3.Complementing a Strand of DNA

    给出一个DNA序列,需要打印出其互补链上的序列,本质上实际上是字符串倒置加上替换的一个操作。

Question 3

    这里需要用到python中一个反向输出字符串的小技巧seq[::-1]能够将seq非常方便地倒置,再加上上面介绍的replace(),可以很轻松地完成需求。

>>> s="AAAACCCGGT"
>>> print(s[::-1].replace("A","M").replace("C","N").replace("T","A").replace("G","C").replace("M","T").replace("N","G"))
ACCGGGTTTT

    我这里替换使用了临时替代“M”“N”,还看到了一种写法是利用大小写的不同,最后用upper()转换大小写,这样会比我少写两个replace(),比较巧妙。

seq = 'AAAACCCGGT'
rev_seq=seq[::-1].replace('C', 'g').replace('G', 'c').replace('T', 'a').replace('A', 't').upper()
print(rev_seq)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容