I have really tried to just solve this one myself but after a few weeks this seems futile without guidance. I am having trouble getting a for loop to calculate the maximum consecutive occurrences of each substring (str).
if len(sys.argv) != 3:
print("Usage: python dna.py data.csv sequence.txt")
exit(1)
strCounts = {}
strList = []
dna_seq = ""
database = {}
#open csv file
with open(sys.argv[1], "r") as csvfile:
reader = csv.DictReader(csvfile)
database = list(reader)
#generate list of all present str codes
strList = list(reader.fieldnames)
strList.pop(0)
#open sequence txt file
with open(sys.argv[2], "r") as f:
dna_seq = f.read()
#Loop through dna sequence searching for each specified str
for i in range(len(strList)):
target = strList[i]
window = len(target)
# print("The current target str is: " + strList[i] + " and it's window length is " + str(window))
#for loop to count max consecutive occurences of each str
max_count = 0
count = 0
for k in range (len(dna_seq)):
if dna_seq[k : window-1] == target:
count +=1
k = window
window = window + window
if max_count == None or max_count < count:
max_count = count
else: window +=1
strCounts[target] = max_count
I had initially set k to k += 1 and same for window. However logic suggests the window should slide the full distance of the substring(window) if there is a match