составление последовательности - PullRequest
0 голосов
/ 03 января 2012

Я написал скрипт, который читает входную последовательность, но эта последовательность должна быть написана с включенной блокировкой Caps! Как я могу, кроме этой ошибки, запросить новую последовательность, если 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")

Но этот код ничего не делает с последовательностью, если они написаны с отключенной заглавной буквой.

Может ли кто-нибудь дать мне руку?

Я разместил здесь мой вопрос о более полной последовательности!


Мне нужно сделать следующие кадры:

`+3 SerIleLeuAlaStpProLysTrpGluProProTyrValAlaStpProIleTyrIleTyrTle`

+2 PheAsnThrSerMetThrLysValGlyThrProLeuArgSerMetThrHisIleTyrIleTyr

+1 PheGlnTyrStpHisAspGlnSerGlyAsnProLeuThrStpHisAspProTyrIleTyrIle

TTTCAATACTAGCATGACCAAAGTGGGAACCCCCTTACGTAGCATGACCCATATATATATATATA

TATATATATATATATGGGTCATGCTACGTAAGGGGGTTCCCACTTTGGTCATGCTAGTATTGAAA

-1 TyrIleTyrIleTyrGlySerCysTyrValArgGlyPheProLeuTrpSerCysStpTyrStp

-2 IleTyrIleTyrMetGlyHisAlaThrOc*GlyGlySerHisPheGlyHisAlaSerIleglu

-3 TyrIleTyrIleTrpValMetLeuArgLysGlyValProThrLeuValMetLeuValLeuLys

последовательность в середине - это моя входная последовательность, последовательность под входными последовательностями mijn - это дополнительная последовательность mijn, +1 - перевод всей моей последовательности. +2 - переводы, начинающиеся с позиции 1, а +3 - с позиции 2 (отсчет начинается с нуля)

-1, -2 и -3 одинаковы для вычисления, но теперь я должен использовать мои дополнительные данные.

первые кадры, которые я сделал, но я не могу сделать свой следующий, дополняющий. я сделал это с помощью следующего сценария:

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:])))

Может кто-нибудь помочь мне с комплементарной частью ??

спасибо

1 Ответ

1 голос
/ 03 января 2012

Я не вижу нигде, где вы на самом деле проверяете это заглавными буквами. Я бы рекомендовал использовать оператор if then, а не try, кроме Statement.

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

В качестве альтернативы вы также можете просто взять пользовательский ввод и использовать его для своей выгоды.

...