任何人都可以帮我弄清楚这段代码有什么问题吗?相同的RNA序列匹配程序

时间:2013-11-03 15:20:54

标签: python list matching dna-sequence

以下是我到目前为止:在提示用户输入两个序列时似乎有错误。

def matchSequences(sequence1, sequence2):

    numMatches = 0

    (input("Enter the RNA sequences")==(sequence1, sequence2)

    for i in range(0,len(sequence1))

        if sequence1[i] == A and i in sequence2[i] == U
            numMatches = numMatches+1
        if sequence1[i] == C and i in sequence2[i] == G
            numMatches = numMatches+1
        if sequence1[i] == G and i in sequence2[i] == C
            numMatches = numMatches+1
        if sequence1[i] == U and i in sequence2[i] == A
            numMatches = numMatches+1
        elif numMatches == numMatches+0:


            for i in range (sequence1, sequence2)
                if i in sequence1[i]:
                    numMatches == numMatches+1
                elif numMatches == numMatches+0:
                    return numMatches

matchSequences()

2 个答案:

答案 0 :(得分:1)

在我看来,你应该拥有这样的东西,而不是(input("Enter the RNA sequences")==(sequence1, sequence2)

sequence1, sequence2 = input("Enter the RNA sequences, seperated by a comma: ").split(",")

在这种情况下,您不需要函数来获取参数,您可以def matchSequences()

如果您想要使用参数,请删除包含输入的行,保留原始def matchSequences(sequence1, sequence2),而不是仅仅执行此操作:

matchSequences()

这样做:

first_sequence = input("Enter the first sequence: ")
second_sequence = input("Enter the second sequence: ")
matchSequences(first_sequence, second_sequence)

或者这个:

matchSequences(*input("Enter the RNA sequences, seperated by a comma: ").split(","))

(有关*在此处所做的事情,请参阅this问题。此外,herestr.split的文档。)

答案 1 :(得分:0)

您可以尝试以下方式:

sequences = tuple(seq for seq in raw_input().split("."))

格式化一对序列:

AAAA.CCCC