Я относительно новичок в python и работаю над алгоритмом, включающим генетический c код. Я начал с связывания всех 4 генети c баз, A, C, T, G со списком. А равно 1,0,0,0. C равно 0,1,0,0. T равно 0,0,1,0, а G равно 0,0,0,1. Есть два разных генетических кода c, один из которых является исходным, а другой - генетически мутированным. Алгоритм будет делать выводы на основе предоставленных данных на основе разницы между двумя кодами geneti c. Но сначала мне нужно предварительно обработать данные, прежде чем я смогу работать над алгоритмом, делая выводы.
A = [1, 0, 0, 0]
C = [0, 1, 0, 0]
T = [0, 0, 1, 0]
G = [0, 0, 0, 1]
original = [A, T, T, G, C]
copy = [C, T, T, A, T]
final = original[:]
for i, v in enumerate(original):
if v == copy[i]:
print(v)
elif v != copy[i]:
v.insert(0, ("add"))
print(v)
Это результат:
Я пытаюсь сделать алгоритм так, чтобы алгоритм сравнивал исходный код и код копии c, элемент за элементом. Он проверяет, равны ли все буквы. Для первого A и C не равны. Если он не равен, я хочу, чтобы алгоритм выводил 1,1,0,0. По существу перекрывают две буквы. ЕСЛИ алгоритм видит, что код такой же, например, второй, T&T, он должен оставаться таким же, как и он.
На изображении выше, где он говорит о добавлении, это линии, в которых алгоритм перекрывается и должен измениться. У меня вопрос: как сделать так, чтобы, когда алгоритм обнаруживал две разные буквы, он, по сути, перекрывал два отдельных списка для слияния вместе?