Created
May 30, 2021 16:14
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") |
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
:) 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