I tried writing different function variations but my count_dna function keeps returning zeroes (despite having consecutive sequences of STRs in the dna sequences)--can anyone please tell me why?
Note: I'm yet to write the part where the program looks for matches in the persons DNA database.
"""DNA MATCHING!"""
import csv # Import necessary modules
import sys
import cs50
import re
track_str = {} # dictionary to track STRs
def count_dna(strs, dna_sequence):
i = 0
while strs * (i+1) in dna_sequence:
i += 1
return i
if len(sys.argv) != 3:
sys.exit("Usage: python dna.py data.csv sequence.txt")
with open(sys.argv[1], 'r') as file, open (sys.argv[2], 'r') as text:
csv_data = csv.DictReader(file, delimiter = ',')
dna_sequence = text.read()
with open(sys.argv[1]) as names_dna:
strs = csv.DictReader(names_dna)
strs = strs.fieldnames[1:]
print(strs)
""" Turn strs iteratible object to dictionary """
for element in strs: # Iterate through the single row extracted from csv.reader object into dictionary as KEYS with value = 1
track_str[element] = 0
for i in track_str:
string = str(track_str[i])
track_str[i] = count_dna(string, dna_sequence)
print(track_str)