I am trying to use recursion to compare values of elements between two lists. For an index i
, if list1[i] = A and list2[i] = T
and vice versa, the values are valid. Also, for an index i, if list1[i] = G and list2[i] = C
and vice versa, the values are valid. However, if these two conditions are not met (list1[i] = A and list2[i] = G
), then the values are not valid. I created two new lists where valid values are stores and invalid values are replaced with blanks ' '.
This code works fine with a for loop (for i in range (0, len(list1)):
) but how would one use recursion?
def check_valid(sequence1, sequence2):
sequence1 = list(sequence1)
sequence2 = list(sequence2)
valid_units1 = []
valid_units2 = []
if (sequence1[i] == 'A' and sequence2[i] == 'T') or (sequence1[i] == 'T' and sequence2[i] == 'A'):
valid_units1.append(sequence1[i])
valid_units2.append(sequence2[i])
elif (sequence1[i] == 'G' and sequence2[i] == 'C') or (sequence1[i] == 'C' and sequence2[i] == 'G'):
valid_units1.append(sequence1[i])
valid_units2.append(sequence2[i])
else:
valid_units1.append(' ')
valid_units2.append(' ')
print(valid_units1)
print(valid_units2)
valid_units = [valid_units1, valid_units2]
return valid_units