Розалинда Консенсус и профили Python

В Python 3.7 мой код работает с образцом данных страницы, но на большом он не работает.

Есть идеи, что я делаю не так?

amounts = {"A": "", "C": "", "G": "", "T": ""}
new = []
consensus = ""
contents = []
with open("condna.txt") as f:
    oldcontents = f.readlines()

for index, letters in enumerate(oldcontents):
    oldcontents[index] = oldcontents[index].rstrip()

insert = -1
for index, letters in enumerate(oldcontents):
    if letters.startswith(">"):
        contents.append("")
        insert += 1
        continue
    contents[insert] += letters


for i in range(len(contents[0])):
    new.append("")
    for word in contents:
        new[i] += word[i]

for new_word in new:
    for letter in amounts:
        amounts[letter] += str(new_word.count(letter)) + " "


for i in range(len(amounts["A"])):
    if amounts["A"][i] == " ":
        continue
    find_max = -1
    for k, number in amounts.items():
        if int(number[i]) > find_max:
            find_max = int(number[i])
            store_k = k
    consensus += store_k

with open("consensus answer.txt", "a") as ans:
    ans.write(consensus + "\n")
    for k, v in amounts.items():
        ans.write("{}: {}\n".format(k, v))
print(consensus)
for k, v in amounts.items():
    print("{}: {}".format(k, v))

Вот ответ, который он мне дает: https://pastebin.com/rZWRnKVS

0 ответов

Другие вопросы по тегам