Skip to content

Instantly share code, notes, and snippets.

@malsagov1
Created May 30, 2021 16:14
Show Gist options
  • Save malsagov1/5a0b06a18b2ea4a8653ad32bb77db61f to your computer and use it in GitHub Desktop.
Save malsagov1/5a0b06a18b2ea4a8653ad32bb77db61f to your computer and use it in GitHub Desktop.
PSET6 CS50 DNA easy solution. Check out this code guys, may be helpful for someone.
import csv
import sys
def repeats(str, dna):
maxim = []
counter = 0
i=0
while i<len(dna):
if dna[i:i+len(str)] == str:
counter = counter + 1
i = i + len (str)
continue
elif counter>0:
maxim.append(counter)
counter = 0
i=i+1
if not maxim:
return 0
else:
return max(maxim)
filename = sys.argv[1]
str1 = []
pas = 0;
with open(filename) as file:
reader = csv.reader(file)
for each in reader:
str1.append(each)
file2 = sys.argv[2]
with open (file2) as file:
dna = file.read()
collision = True
for i in range (1, len(str1)):
for j in range (1, len(str1[0])):
if int(str1[i][j]) != repeats(str1[0][j], dna):
collision =False
break
else:
collision = True
if collision ==True:
print (str1[i][0])
sys.exit(0)
print ("No match")
@malsagov1
Copy link
Author

:) dna.py exists
:) correctly identifies sequences/1.txt
:) correctly identifies sequences/2.txt
:) correctly identifies sequences/3.txt
:) correctly identifies sequences/4.txt
:) correctly identifies sequences/5.txt
:) correctly identifies sequences/6.txt
:) correctly identifies sequences/7.txt
:) correctly identifies sequences/8.txt
:) correctly identifies sequences/9.txt
:) correctly identifies sequences/10.txt
:) correctly identifies sequences/11.txt
:) correctly identifies sequences/12.txt
:) correctly identifies sequences/13.txt
:) correctly identifies sequences/14.txt
:) correctly identifies sequences/15.txt
:) correctly identifies sequences/16.txt
:) correctly identifies sequences/17.txt
:) correctly identifies sequences/18.txt
:) correctly identifies sequences/19.txt
:) correctly identifies sequences/20.txt

@malsagov1
Copy link
Author

variable on 25 line is not needed guys, forgot to remove

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment