-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcountPointMutations.py
43 lines (28 loc) · 2.63 KB
/
countPointMutations.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from importNT import *
def hammingDist(s, t) :
'''Given: Two DNA strings s and t of equal length (not exceeding 1 kbp).
Return: The Hamming distance dH(s,t).'''
#Test input for legality
if type(s) != str or type(t) != str :
return('Input not str')
if len(s) > 1000 or len(t) > 1000 :
return('Input too long. Max 1000')
if len(s) != len(t) :
return('Inputs not same length')
s = s.upper()
t = t.upper()
DNA = ('A', 'C', 'G', 'T')
for i in range(len(s)) :
if s[i] not in DNA :
return('First input not a DNA sequence')
if t[i] not in DNA :
return('Second input not a DNA sequence')
#Actual function
dH = 0
for i in range(len(s)) :
if s[i] != t[i] :
dH += 1
return dH
fin1 = 'TAGCCCAACATTGTTACTATTTAAATAGAAATCCGAGCAGCCACCTCGTTCTATGCTATTCAGCCCGTGAACTTTAAAAGTTGCCGTGGTTGACTCCCGGCGTCGTCCCGTATATCGCCGGGGGGAGTTCCCTTGAACTCATGGGATTCATACGGTGTAACTGCTTTCTCGGAAAACTCGTAGCACGTATCCGTTGCTGGGGAACGCGGGTTGAGTGCTGAGCAACGACATCCGCGTACAGATTTTCATTTTCCGATCAAGGGGTATTAGGATTGCATTCACCGACTAAAAGTCTCATAGCGATCATTAGTCTACGGAATTGGGAATGAAGTATACTTCTATAACTTTAGAAGCCATTCTGATACAGTAGACGGCGGATTCTGGTGATAGATACATCTAGTATGGACTATAGTAAGACCTCTGCTCTGTGCCCAATACTCAAGAGTGGTTTTAGAAGTGCTTTTTCCTCCTCTTACATTGAATAATTGTGTATGCCGCCATCAAGTGTATTGTTATATAGGCGAGTTTAGCTTGCGAGGCCGGGTCAGTATTATTCCCCGCCACCCATACATGATGGGGTGTGTTCTGGGACTTTTCTCTATGGGGTGCGATTTCGGCAAGGGAATATGTAAACGTACCCCCGGACTCGGACAGCTCGCGCTTGAATCATGGTATCGGGCTGCTCCTAACCATGAATAAAACGAGGCGAGCTTGCCGATAGCTATATACAGACAAGGTAGTGAGTGAGCCTTTTTCCCCGACCCCTCCTATGAAAAGGCCAGGTCATGGCACTGAGTACACCGCTCAGCTGGAGGACGTAGCTCCGTCGTAGTGGGGGACCAGGACCGTCTGTCAGCCACAATAGCTCGCTCCTAGCAAGAATCCGTGTCCGTATGTCTCAAGTCCAGCCATAAGGTACTACTTCAAATAGAAGCTGCGGGTTGAGGCCGAAGCTCGTCAAGG'
fin2 = 'AAGGCGTAAAATACGACTATGTCGAACGGTAACCCAGACTCAAGCCCTATGTTAAATATGCTTCCCGGAGCCCGTCAAAATTGCCGTGTTTTCCTACCCCCGTAGTGCTGTCTATGCTCGAATCGCCCGCACGAGTGCGCACTGGACGCCGATGGCTTCCGTGTGGATTCCAAAAATTACTAAGAGGAATATATTCCCGTGCTAGTAGTGTATCGAGGTGAGTAATGGCGTTACCGCGATAAGAGTTCATGGCAGAATTATTGTGTTTAACCTTCAAATCGCAGCTTTTTCAGCTCGTTGCTAGCTTTACCCTCGGTAAGTGCGAACGAAGGATCCCTCGGAAAGCGTAGGGATCATCACCAGACATAAGACGTTGAGTGCTAGTGAAAAATTCTACTGCTATAGGCTAGTGTGTTTCCAATGTTCATCTGTTAGCTAACAAAAGTGAGTTTAAATAACGTAATACCTGGTCGGCTATTATAGAAGTGAGTATGGGGGCCCCTCGGTAACTCTAAGATCGACCAGTGCAGCTGATGAATCAGGGTGCGTACTCTAGAGCTCCCTTCTCGCAGTGTACTCTCTATACAGTGACTTTCATCCAAGGAGCTCGACGTGCGAAAGCCGAGAGGTTGCAGTTGCGACGTTCGCCTAGTCGTCTGGCATGTATCATTCTGACGGACAGGAGTTAACTTTGGGCCCAACGGCCTATAGTTCTTGATAACCATGGAATGATAGTTGGGTGAGTGTGCCCTTTTTCTCTGCCTGGCCGGTCCAAAGCCCCAGGTATGACAGACAGCAGTCCGCTCTGCCAGGCTGACCGACTCCAACTTCGCGACGGAGGCTCTGCGGCTGTCAGCCATAATAGCTAGCTTAGAACAACAGGTAGGGCGCGAATATCTCATATATGCGCTGAGGGTCAGTACTCCTCTTTATAGTTGGAGTCAAATTTCAAGGACGTTATTT'
print(hammingDist(fin1, fin2))