Skip to content

Instantly share code, notes, and snippets.

@ryanbekabe
Forked from odanga94/dna.py
Created August 16, 2019 01:01
Show Gist options
  • Save ryanbekabe/469261daf703c7964fc7a4b8199d1ea0 to your computer and use it in GitHub Desktop.
Save ryanbekabe/469261daf703c7964fc7a4b8199d1ea0 to your computer and use it in GitHub Desktop.
CodeAcademy Python project: DNA Analysis
sample = ['GTA','GGG','CAC']
def read_dna(dna_file):
dna_data = ""
with open(dna_file, "r") as f:
for line in f:
dna_data += line
return dna_data
def dna_codons(dna):
codons = []
for i in range(0, len(dna), 3):
if (i + 3) < len(dna):
codons.append(dna[i:(i + 3)])
return codons
def match_dna(dna):
matches = 0
for codon in dna:
if codon in sample:
matches += 1
return matches
def is_criminal(dna_sample):
dna_data = read_dna(dna_sample)
codons = dna_codons(dna_data)
num_matches = match_dna(codons)
if num_matches >= 3:
print("There were %d codon matches in %s. Further investigation should be done") %(num_matches, dna_sample)
else:
print("There were only %d codon matches in %s. As the dna test clears this suspect of any allegations they can be freed") % (num_matches, dna_sample)
is_criminal('suspect1.txt')
is_criminal('suspect2.txt')
is_criminal('suspect3.txt')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment