Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 罗莎琳德:REVP在给定案例中失败_Python_String_Algorithm_Rosalind - Fatal编程技术网

Python 罗莎琳德:REVP在给定案例中失败

Python 罗莎琳德:REVP在给定案例中失败,python,string,algorithm,rosalind,Python,String,Algorithm,Rosalind,我写了一个解决方案。它成功地处理了给定的示例案例,但没有处理实际案例 挑战: 如果DNA字符串等于其反向补码,则它是反向回文。例如,GCATGC是一个反向回文组,因为它的反向补码是GCATGC。例如: 5'…GCATGC…3' 3'…CGTACG…5' 鉴于: FASTA格式中长度最多为1 kbp的DNA字符串 返回: 字符串中每个反向回文的位置和长度 长度在4到12之间的。你可以在任何时候归还这些双 秩序 样本数据集 >Rosalind_24 tcaatgcatggtctatatgcat 样本

我写了一个解决方案。它成功地处理了给定的示例案例,但没有处理实际案例

挑战: 如果DNA字符串等于其反向补码,则它是反向回文。例如,GCATGC是一个反向回文组,因为它的反向补码是GCATGC。例如:

5'…GCATGC…3'

3'…CGTACG…5'

鉴于:

FASTA格式中长度最多为1 kbp的DNA字符串

返回:

字符串中每个反向回文的位置和长度 长度在4到12之间的。你可以在任何时候归还这些双 秩序

样本数据集

>Rosalind_24 tcaatgcatggtctatatgcat

样本输出

4.6

5.4

6.6

7 4

17 4

18 4

206

21 4

对于示例,它是有效的。然而,它在实际样品上失败了

实际数据集:

>Rosalind7901ATAGTCGGCTGTCCAGCAATCCAGGCGAATGGAACGACATTCGGTACTAGATTCGCCCGGATATGCCAGCGCGAGCCACCCCCCTACTCGTCTCGGTT TCGGCCGGCATGATCTCTCTCTTGATCAGATAGTCCAACAGACTATTCAA GATCAGATGCCAAGAGAGATCCAGAGAGATCAGCAGAGAGATCAGCAGAGAGAGATCAGCAGAGAGAGAGAGATCAAGAGAGAGAGAGAGAGAGAGAGATCAAGAGAGAGAGAGAGGCGCCAAGAGAGATCCAGAGAGAGAGAGATTCAGAGAGAGAGATCTCAGCGCGCGCATTCAGATTCAGATTCAGATTCAGATTCAGATTCAGATTCAGCGGGACCATGTAAAGCAAGAGAGAGAGCGGGGCCGTCGAAGAGAGAGAGAGAGAGAGAGAGGCGCGCGCGTGTACTAATTTCATGGGCTACTGGCACTAGGGGCTTAAGCGCTTATGAATATAGTTCGTGGCGCAGTCTTTTCGGGAGTCTTCGAGGCATGCGCGCATGCGCGCATTTGCGCATTCATGCGCATTCAGTCATGCGCATTCAGTCATGCATGCCAATGCATGCATGCGCCAATGCATGCGCGCGCATGCGCGCATGCGCGCGCATGCGCGCGCATGCGCGCTCATGCGCGCTCATGCGCGCGCTCATGCGCGCGCGCGCGCGCGTGTGTGTATGCGCGCATGCGCGCGCGCGCATGCGCGGGTTGGAGGTGTGTGTGTGTGTGATAGAGATAGCGGTAGAGATAGATAGATAGATAGATCGCGCGCGCGGCATAGATAGTAGGTTCGGACACGCGCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGAGATCGAGATCGAGATCGAGATCGAGATCGAGATCGATCGAGATCGAGATGGAGAGATGA GGAGAGAGATCGAGAGAGATGA GGAGATCG

实际产量:

14
2 4
23 6
24 4
48 4
70 4
73 4
79 4
82 4
86 4
93 4
124 6
125 4
126 6
127 4
131 4
155 4
156 4
184 4
222 4
236 4
251 4
337 4
342 4
389 4
394 4
415 4
423 4
440 4
441 4
452 4
453 4
482 4
496 4
509 4
513 4
526 6
527 4
554 4
558 4
565 4
587 4
604 6
605 4
634 4
656 10
657 8
658 6
659 4
674 4
709 6
710 4
714 4
733 4
739 4
744 4
758 8
759 4
759 6
760 4
761 4
780 4
813 4
818 4
822 4
846 4

代码:

(测试样品时,第4行为

protein=open('rosalind_revp.txt','r').read()[12::].strip()

我甚至手动匹配了一组位置-长度对,遗憾地发现它们都工作得很好。我仍然不知道为什么结果不被接受。
有人能告诉我哪里错了吗?

这是我的github链接,它有解决方案,希望能奏效
def倒档(l):
t=“”
对于范围内的i(len(l)):
如果(l[i]=='A'):
t=t+'t'
elif(l[i]='T'):
t=t+A
elif(l[i]=='C'):
t=t+'G'
elif(l[i]=='G'):
t=t+'C'
返回t
def版本(d):
返回d[len(d):-1]
k=输入()
p=输入()
对于范围内的i(len(p)):
对于范围(4,14)内的j:

如果(p[i:i+j]==rev(反向(p[i:i+j]))i+J您的代码格式不正确。请尝试在代码中包含一些解释/注释。请在上面的github链接中查看或下载代码。我已经测试并上传了它,它可以用于上面的输出。我没有说它不工作。您在回答中给出的代码格式不正确。只需正确设置它的格式,以便其他人可以轻松地使用它明白了吗
from string import maketrans
table=maketrans('ATCG','TAGC')

protein=open('rosalind_revp.txt','r').read()[14::].strip()

for i in range(len(protein)):
    for ii in range(2,7):
        if protein[i:i+ii]==protein[i+2*ii-1:i+ii-1:-1].translate(table):
            print str(i+1),str(2*ii)