-1

我写了一个脚本来读取输入序列,但是这个序列必须在你的大写锁定的情况下编写!如果 Caps lock 没有打开,除了这个错误,我怎么能要求一个新的序列?

我有:

while True:
try:
    seq = input ("voer uw sequentie in, IN HOOFDLETTERS: ")

    break
except (ValueError, IndexError, KeyError ):
    print("voer uw sequentie in , IN HOOFDLETTERS")

但是如果这些代码是在关闭大写锁定的情况下编写的,则此代码不会对序列做任何事情。

谁能帮我一把

我已经在关于 het 互补序列下发布了 mij 问题!


我必须制作下一帧:

`+3 SerIleLeuAlaStpProLysTrpGluProProTyrValAlaStpProIleTyrIleTyrTle`

+2 PheAsnThrSerMetThrLysValGlyThrProLeuArgSerMetThrHisIleTyrIleTyr

+1 PheGlnTyrStpHisAspGlnSerGlyAsnProLeuThrStpHisAspProTyrIleTyrIle

TTTCAATACTAGCATGACCAAAGTGGGAACCCCCTTACGTAGCATGACCCATATATATATATATA

TATATATATATATATGGGTCATGCTACGTAAGGGGGTTCCCACTTTGGTCATGCTAGTATTGAAA

-1 TyrIleTyrIleTyrGlySerCysTyrValArgGlyPheProLeuTrpSerCysStpTyrStp

-2 IleTyrIleTyrMetGlyHisAlaThrOc*GlyGlySerHisPheGlyHisAlaSerIleglu

-3 TyrIleTyrIleTrpValMetLeuArgLysGlyValProThrLeuValMetLeuValLeuLys

中间的 sequentie 是我的输入序列,mijn 输入序列下的 sequentie 是 mijn 互补序列,,+1 是我整个 seq 的翻译。+2 是从位置 1 开始的翻译,而 +3 是从位置 2 开始的翻译(计数从零开始)

-1、-2 和 -3 的计算相同,但现在我必须使用我的补码序列。

我已经完成的第一帧,但我无法制作我的 seq ,complementair 。我用下一个脚本完成了它:

def translate(seq):
        x = 0
        aaseq = []
        while True:
            try:
                aaseq.append(dicti[seq[x:x+3]])
                x += 3
            except (IndexError, KeyError):
                break
        return aaseq

    for frame in range(3):
        #print(translate(seq[frame:]))

        print(''.join(item.split('|')[0] for item in translate(seq[frame:])))

有人可以帮我补充一下吗?

谢谢

4

1 回答 1

1

我没有看到您实际检查它是否为大写字母的任何地方。我建议使用 if then 语句而不是 try except 语句。

while True:
    seq = input("voer uw sequentie in, IN HOOFDLETTERS: ")
    if seq.isupper():
        break
    else:
        print "Input must be IN HOOFDLETTERS"

或者,您也可以只接受用户输入并自己大写。

于 2012-01-03T15:48:33.247 回答