Я пытаюсь напечатать для пользователя наиболее распространенную аминокислоту, которая появляется в их последовательности белка (например: если пользователь вводит AHEHD, наиболее распространенным АА является H, который появляется 2 раза)
В настоящее время я использую Counter и most.common (), который работает в большинстве случаев:
sequence=input("\n" + "\033[1;34;40mHello, and Welcome! Please enter your sequence:").upper()
AA_count=Counter(sequence)
AA_mostfrequent=AA_count.most_common(1)
При печати:
for key, value in AA_mostfrequent:
print("\n",key, "\033[1;35;40mis the most common amino acid in your sequence, appearing", value, "time(s)!", sep=" ")
Однако, скажем, у меня есть последовательность с появлением определенного AAтак же часто, как и другие (напр .: ADEH или AAAAADEEEEE).
В этом случае программа произвольно выберет любой из АА для печати.(например: используя ADEH, он скажет, что только D появляется больше всего в моей последовательности, появляясь 1 раз)
Я не буду знать, сколько раз каждый AA появляется в данной последовательности.Правило состоит в том, что я могу предоставить любую желаемую действительную последовательность белка любой длины, при условии, что указано, какая из аминокислот является (является) наиболее распространенной.
*** для определения частотыкаждый АА:
AA_total=len(sequence)
for key, value in sorted(AA_count.items()):
print(key,value/AA_total, sep=":")