Rosalind 020 Locating Restriction Sites

背景:

       限制性内切酶是一种同源二聚体,这意味着它由两个相同的亚结构组成。 这些结构中的每一个 与限制性内切酶分离,以结合并切割噬菌体DNA分子的一条链; 两个亚结构都预先编程为包含4至12个核苷酸的相同靶,以便在噬菌体DNA中搜索。 限制酶识别DNA序列中的回文序列,回文序列是一种旋转对称结构,在轴的两侧序列相同而反向,特点是在该段的碱基序列的互补链之间正读反读都相同。

       例如,GCATGC是一个反向回文,因为它的反向补码是GCATGC。

https://rosalind.info/problems/revp/

问题:

        给出一条长度不超过1kb的DNA序列。

        返回这条序列上长度在4-12nt间的回文序列的位置和长度,以任意顺序输出。

例子:

input:

TCAATGCATGCGGGTCTATATGCAT

ouput:

4 6
5 4
6 6
7 4
17 4
18 4
20 6
21 4

代码:

from method import fasta
def Reverse(dna_seq):                              #反向互补序列
    com = { "A" : "T", "T" : "A", "C" : "G", "G" : "C"}
    Reversed_dna = ''
    for i in dna_seq[::-1]:
        Reversed_dna+=com[i]
    return Reversed_dna

name_list,value_list = fasta('')
seq = value_list[0]

"""
seq = 'TCAATGCATGCGGGTCTATATGCAT'
"""

for i in range(4,13,2):
    for j in range(0,len(seq)-i+ 1):
        if seq[j:j+i] == Reverse(seq[j:j+i]):
            print(j+1,end=" ")
            print(i)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值