Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- import sys
- database=[]
- def main():
- # TODO: Check for command-line usage
- if len(sys.argv) != 3:
- sys.exit("Usage:FILENAME")
- # TODO: Read database file into a variable
- filename=sys.argv[1]
- with open(filename) as file:
- reader=csv.DictReader(file)
- for row in reader:
- database.append(row)
- # TODO: Read DNA sequence file into a variable
- sequences=[]
- filename_2=sys.argv[2]
- with open(filename_2) as file_2:
- reader_2=csv.DictReader(file_2)
- for row in reader_2:
- sequences.append(row)
- # TODO: Find longest match of each STR in DNA sequence
- n = len(sequences)
- k = len(database[0])
- max_matches = max_sum(sequences, n, k)
- def max_sum(sequences,n,k):
- for i in range(n-k+1):
- current_sum=0
- for j in range(k):
- current_sum += int(sequences[i + j]['sequence'])
- max_sum = max(current_sum, max_sum)
- return max_sum
- # TODO: Check database for matching profiles
- for person in database:
- match = True
- # Check each STR in the database against the sequences
- for str_name, str_count in person.items():
- if str_name == 'name':
- continue
- str_count = int(str_count)
- if str_count != max_matches[str_name]:
- match = False
- break
- if match:
- print(person['name'])
- break # Exit the loop if a match is found
- # If no match is found
- else:
- print("No match")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement