||
Bioinformatics Stronghold - REVC: Complementing a Strand of DNA
The Secondary and Tertiary Structures of DNA
DNA分子双链,且方向相反;
两条链上的碱基互补配对,A与T、C与G;
两条链相互缠绕形成螺旋着的阶梯结构,叫做双螺旋(a double helix)。
以上1和2是DNA的二级结构(secondary structure);3则是DNA的三级结构(tertiary structure)。
The double helix of DNA on the molecular scale.
在双螺旋的模型中,一对碱基就叫做碱基对(a base pair),简称bp。因此DNA(双链核酸)的长度单位就是bp,而不是nt。另外,在已知DNA双链的其中一条链的情况下,我们可以根据碱基互补配对原则得到另一条链的序列。不过由于两条链的方向相反,所以根据一条链获取对应链的序列过程又叫做反向互补(reverse complement)。
In DNA strings, symbols 'A' and 'T' are complements of each other, as are 'C' and 'G'.
The reverse complement of a DNA string s is the string sc formed by reversing the symbols of s, then taking the complement of each symbol (e.g., the reverse complement of "GTCA" is "TGAC").
Given: A DNA string s of length at most 1000 bp.
Return: The reverse complement sc of s.
AAAACCCGGT
ACCGGGTTTT
>>> s = 'AAAACCCGGT'
>>>
reversed()这个函数是将一段序列进行反转,并将其元素从后向前颠倒构建成一个新的迭代器,且reversed()之后的iterator只在第一次遍历时返回值,比如:
>>>
s中存放的是一段序列’AAAACCCGGT',r = reversed(s)就是将s进行反转并存放于r中,构成一个新的迭代器,可以用list查看该迭代器内所有元素,但只能查看一次,下一次迭代器重新生成,默认为空。
我们的思路就是先将给定序列进行反转,然后构建一个Dictionary将反转后的序列进行互补,最后得到反向互补序列。
参考
(出处: 生信技能树)
http://www.cnblogs.com/sesshoumaru/p/6060407.html
http://blog.csdn.net/justheretobe/article/details/50609418
Rosalind is a platform for learning bioinformatics and programming through problem solving. Take a tour to get the hang of how Rosalind works.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-27 16:38
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社