-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
232 lines (163 loc) · 15.3 KB
/
Copy pathmain.py
File metadata and controls
232 lines (163 loc) · 15.3 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
from bio_structures import *
from bioinformatics_tools import *
from algorithmic_tools import *
import numpy as np
seq = "GGGCGGCTCG"
# Print statements to validate functions
# f = open("sample_fasta.txt", "r")
# for i in f:
# dna_seqs.append(i.strip("\n"))
# # dna_seq_validate()
# convert sequence to DNA sequence in all uppercase
# or if the sequence is not a valid, get 0
#DNA_seq = dna_seq_validate(seq)
# # dna_freq_counter()
# print("Frequency Counts: ", dna_freq_counter(DNA_seq))
# print(str(dna_freq_counter(DNA_seq)["A"]) + " " +ṇ
# str(dna_freq_counter(DNA_seq)["C"]) + " " +
# str(dna_freq_counter(DNA_seq)["G"]) + " " +
# str(dna_freq_counter(DNA_seq)["T"]))
# # rna_transcription()
#print("The transcribed RNA is", rna_transcription(seq))
#print("The complementary strand is:", dna_reverse_compliment(dna_seq_validate(seq)))
# # printing fibonacci series
# for i in range(25):
# print("Fibonacci Series element", i+1, ":", fibonacci(n=i, k=1))
# print(fibonacci(n=4, k=3))
# # fasta_to_dict()
# print(fasta_to_dict('sample_fasta.txt'))
# # gc_content()
# print(gc_content(seq))
#print(gc_content_subset("ATGCATGCATGCATGCATGC", 4))
# # max gc content from fasta file
# new_dict = fasta_to_dict('sample_fasta.txt')
# gc_dict = {}
# for key, value in new_dict.items():
# gc_dict[key] = gc_content(value)
# maxKey = max(gc_dict, key=gc_dict.get)
# print(maxKey)
# print(gc_dict[maxKey]*100)
# # hamming_distance()
# seq1 = "GGGCCGTTGGT"
# seq2 = "GGACCGTTGAC"
# print("Hamming distance:", hamming_distance(seq1, seq2))
# # rna translation
# print(rna_translation(seq))
# # motif_search_overlapping()
# seq = "ACGACAGACGACAGACGACAGACGACAGGACACGACAGACGACAGGTTAACGACAGCCACGACAGCACGACAGACGACAGGTAACGACAGACGACAGACGACAGTACGACAGAGGACGACAGACGACAGACGACAGGACGACAGCACGACAGAAGCCACGACAGATAGTCACGACAGCACGACAGATACACGACAGCCACGAACGACAGAGAGACGACAGAGTTACGACAGAACGACAGGCACGACAGACGACAGACGACAGTACGACAGCTACGACAGCCAGGTACGACAGACGACAGTGATACGACAGCAGTGCACGACAGACGACAGACGACAGCCCAGCAAACGACAGACGACAGACGACAGGGGGCGGAGAACGACAGACGACAGCCCACACGACAGTCACGACAGCACGACAGGAGACGACAGAGCACGACAGAGAACTACGACAGTACGACAGAGGTTAAGAACGACAGACGACAGAACGACAGACCACGACAGGAAACGACAGTAATACGACAGGACGACAGGCTACGACAGTGACGACAGACGACAGCCGAGGTTTCACGACAGTGGGACGACAGAACGACAGACGACAGCACGACAGCACGACAGACGACAGGGGTCTTCGGACGACAGACGACAGTTATGAGGGACGACAGTAACGACAGAGATATACGACAGAACGACAGAAACGACAGACGACAGACGACAGGTCAGTATACGACAGGACGACAGAACGACAGCATTGAGAAACGACAGCCCTGATACGACAGACGACAGACGACAGGACGACAGGCACGACAGAACGACAGACGACAGTCTACGACAGATGGTACTACGACAGACGACAGAGACCACGACAGACGACAGTTCAACGACAGAACGACAGAGACGACAGACACGACAGACGACAGACACGACAGACGACAGGACACGACAGTCACGACAGTACACGACAGGGTCGACGACAGAAACGACAGACGACAGCTACGACAGATCCACGACAGGACGACAGTACCGTACGACAGAGACGACAGGGAGTACGACAGACGACAGACGACAGAGGACGACAGCCCACGACAGCTCGTCGGACGACAGACGACAGAACGACAGAATGACGACAGTCACGACAGGGGCACGACAGACGACAGACGACAGAGGTCACCGGAGTCTGCATTGGGGGCACCACGACAGCCACGACAGATACGACAGTACGACAGAACGACAGACGACAGCACGACAGGTTGGCGTTCACTACGACAGACGACAGACGACAGCAACACGACAGAATGACGACAGGACGACAGACGACAGGCCACGACAGACGACAGAACGACAGCGACGACAGTTTTACGACAGCGACGACAGACGACAGCTACGTCCATGTAACGACAGATCGACGACAGTGACGACAGACGACAGGCGGTGCTCACGACAGCTTACGACAGCCATACACGACAGACGACAGTTTCGACGACAGACGACAGACGACAGGACGACAGGTGGGGACGACAGCGTCAACGACAGACGACAGCTATGTACGACAGCTATGCTAACGACAGACGACAGGTTAGAACGACGACAGATACACGACAGTTACGACAGTGTTAAACGACAGACGACAGACGACAGGACGACAGACAATACGACAGACGACAGACGACAGCACAACGACAGCCACACGACAGTGACGACAGAAATACGACAGAACGACAGACGACAGGGTTGGGACGACAGGACGACAGAGACGACAGCAAGACGACAGACGACAGACGACAGGACGACAGTGACGACAGACGCACGACAGCACGACAGAAACGACAGGATATTACGACAGACGACAGTAACGACAGTGACGACAGACGACAGCAACGACAGAGTACGACAGTACGACAGGGTGTGTACGACGACAGTGTGACGGGAACGACAGTAACGACAGCACGACAGATCCACGGACGACAGGACGACAGAACCTCCACGACAGACGACAGAACGACAGCACGACAGCGAACGACAGACGACAGGCAACGACAGAACGACAGTACGACAGCCCACGACAGTCCACGACAGGGACGACAGACTACGACAGACGACAGGACGACAGACGACAGCTAACTTACGACAGACGACAGGTGTGATACACGACAGCACGCACGACAGACGACAGGAGACGACAGTCAAGGACGACAGCGACGACAGTTAACGACAGGACGACAGGGAACGACAGGGACGACAGTCACGCTACGACAGCACGACAGACGACAGTACGACAGGGACGACAGCGAACAAGTAGAGGATAATTGACGACAGAGGGACGACAGGGACGACAGCCACGACAGGAAGACGACAGTACGACAGCTACGACAGACGACAGATAGCGTGCACGACAGACGACAGTACGACAGACGACAGGACGACGACAGCACGACAGGACGACAGACGACAGACGACAGTACGACAGACGACAGACGACAGGCCACGACAGATGTACGACAGACGACAGGGACGACAGTTAGAGATCACGACAGGCACGACAGCGTGACGACAGAATACGACAGCCACGACAGACGACAGCACGACAGACGACAGACCACGACAGGGATTAGTCAAGGCAAAAACGACAGAACGACAGAAACGACAGACGACAGCGTGAAAACGACAGAGATTAAACGACAGAACGACAGGGCACGACAGACGACAGACGACAGCCACGACAGTCTTTACGACAGTACGACAGACGCCACGACAGCTAACGACAGCTGACGACAGACACGACAGCCACGACAGGTCGTATTACGACAGGCACACGACAGACGACAGCACGACAGACGACAGCCAACGACAGGACACGACAGACGACAGCTTTACGACAGAGCCCGCCGGTATAACCGACGACAGGACGACAGTCTACGACAGGACGACAGGCACGACAGGGACGACAGGGAACGACAGGGACGACAGGCTTCCACACCAATCGCAGCGACGACAGGGCACGACAGCACGACAGGGCTCAGAGCCTTTACGACAGAAACAAGCTACGACAGACGACAGAACGACAGATGACGACAGTGACGACAGTATACGACAGACGACAGCCGGACGACAGTTGACAGGTAACGACAGACGACAGTACGACAGGGTACGACAGCTTCTCACGACAGCCTTTACGACAGGGTACGACAGTGTACGACAGCCGTACGACAGATGCAGCACGACAGACGACAGGGACGACAGAACACGACAGACGACAGACGACAGAACGACAGCCAACTTACGACAGGACGACAGACGACAGGAACGACAGCCTTACAACACGACAGAGACGACAGACGACAGACGACAGTCACGACAGTCACGACAGTACGACAGACGACAGTACGACAGCCCTTGCGGCACGACAGACGACAGTGAAGCTAAACGACAGACGACAGCACGACAGACGACAGGACGACAGACGACAGAAACGACAGACGACAGCTGAACGACAGTACGACAGACACGACAGTGTACGACAGACGACAGTCCACTACGACAGTGTACGACAGCGCCAAACGACAGACGACAGGCGACGACAGTAACGACAGAACGACAGCACGACAGGGAACGACAGGCCACACGACAGGACCCGACGACGACAGTGACGACAGTACGACAGAATGTCCACGACAGTTAGTACACGACAGGGACTACCACGACAGGACGACAGCCGCCCGAGGGCCAACACCCCCAACGACAGATTGGGTACGACAGCGACGACAGACGACAGGAAACGACAGTCAACGACAGCACGACAGTACGACAGAAACGACAGACGACAGATCACGACAGCGGACGACAGCGGAACGACAGTCGACGACAGCCACGACAGACGACAGACGACAGCTCTCTACAAACGACAGTCTGTATACAGCACGACAGACGACAGACGACAGGACGACAGACGACAGCGACGACAGTTCCACAGAGACGACAGACGACAGAGATCACGACAGGACGTGTGACGACAGACGACAGGACTGATACGACAGGCGGCTGACACGACAGAACGACAGCCGACGACAGGCCACGACAGACACGACGACAGGACGACAGGAAACGACAGACGACAGCTCTACGGGGAGACGACAGCAATGCTGACGACAGACGACAGACGACAGACGACAGGTCAAACGACAGCTACGACAGACGACAGGAAAACGACAGCACGACAGTACGACAGCACGACAGAACGACAGACGACAGGTCAGTACGACAGTCACGACAGACGACAGCTCCAAACGACAGCATAAGCAACGACAGACGACAGTACACGACAGTACGACAGAACGACAGACGACAGTAGACGACAGACGACAGTACGACAGGTACGACAGAGACGACAGTGACGACAGTTGCCTTTACGACAGCATCACGACAGTTTCACGACAGCACTTTCTTTATGCTGCTTACGACAGACGACAGCGTACGACAGTGACGACAGAAGTCGCGCATGCCACGACAGGTCGCAAACGACAGGACGACAGTGTGCGAGCGACGACAGCGACGACAGGTGACGACAGCACGACAGGAAACGACAGTACGACAGTTAATAACGACAGTACGACAGAGACGGCCACGACAGACCACGACAGCGACGACAGACGACAGTCGTGAACGACAGTAACCGACGACAGCAACGCACGACAGCGACGACAGTAAAACGACAGACGACAGAACGACAGGGCACGACAGCGGGTACTACGACAGACGACAGAACGACAGATCGTGCACGACAGCCACAACGACAGACGACAGACGACGACAGGGAGACGACAGACGACAGTGCAGGATTACGACAGAAGGCGGAACGACAGACGACAGCACCCCTCCACGACAGGACGACAGTACGACAGACGACAGTAACTCACCGACGACAGAACGACAGACGACAGTCACGACAGTTGACGACAGAAAGACGACAGAGTAGACGACAGACGACAGAGACGACAGAACGACAGCACGACAGCTACGACAGACGACAGAACGACAGACTAAGCATTGTGATGTACGACAGACGACAGACGACAGGACGACAGATGTGATGACCCAGCCACGACAGAAGCTTACGACAGTTACGACAGAGCTACGACAGTACGACAGACGACAGACGACAGTCCTGGACGACAGACGACAGTACGACAGCTGGACGACAGTGACGACAGTCTAACGACAGCATTGACGACAGCGTCCTTACGACAGACGACAGCACGACAGACGACAGGCACACGACAGCTGCCCGACGACAGAGGGTCCTTCGATTACGACAGAAACGACAGACGACAGCACGACAGTTACGACAGGACGACAGACACACGACAGTTTATGATCGACACGACAGACGACAGAAACGACAGCACATACGACAGCACTGGCGTGTAACACGACAGCCGGACGACAGCACGACAGGGACGACAGTCTACGACAGTACGACAGAAACGACAGTAACGACAGGTTCAACGACAGACGACAGGACGACAGAACGACAGTATACGACAGGGTACGACAGACGACAGCGACGACACGACAGCCGGTAATTAACGACAGGCTACGACAGGATTACGACAGTAACGACAGCCTCAACGACAGACAACGACAGACGACAGTGAACGACAGACGACAGTGAGAGATTACGACAGACGACAGCTGAACGACAGCACGACAGACGGCATAACGACAGTGACGACAGGAGGATAACGACAGACACGACAGTTGGCTAGACGACAGACGACAGACGACAGGATGACGACAGGATTCCGACGACAGGGAATAGGGTTGACGACAGCATACGACAGACGACAGGACGACAGGCACGACAGGACGACAGAACGACAGACGACAGACGACAGTGGACGACAGACGACAGACAACGACAGTTGGACTACGACAGACGACAGACGACAGACGACAGGGGGCCACGACAGTACGACAGAGACGACAGTACGACAGGTTGTACGACAGTCTGGACGACAGTACGACAGACGACAGCTGAACGACAGACGACAGATCCCACGACAGTGTGTTACTTGCACGACAGTACGACAGTACGACAGATACGACAGCAACGACAGTACGACAGACGACAGGACGAGACGACAGACGACAGTACGACAGGGACGACAGGGCATTGGACGACAGCCACGACAGCGACGACAGTCCTGACGACAGGCCGTCACGACAGGTTTTGACGACAGGCTTCGAACGACAGACGACAGCAACTTGCAGACGACAGACGACAGGACGACAGCCGACTGACGACAGACGACAGGACGACAGACGACAGAAACGACAGAAACGACAGACGACAGCACGACAGACGACAGACGCACGACAGCCTCACGACAGTATACGACAGTACGACAGACGACAGTGAACGACAGGTACGACAGTATCAACGACAGAACAGCTGGAGCACGACAGTGAATAGCTACGACAGATGACGACAGACGACAGCTCAGATGCACGACAGAACGACAGACGACAGGCACGACAGGTGTACGACAGCACGACAGTCCGTACGACAGAGATCCTCTGGGTCGGTAGACGACAGGTGACGACAGCCACGGACGACAGTACATCGAACGACAGAACGACAGAGGCATAACGACAGCCTCCCAAACGACAGAACGACAGGACACGACAGCCACACGACAGGATACACGACAGCTACGACAGACGACAGCACGACAGACACGACAGTACGACAGGCCTGCTACATTACGACAGGACGACAGTGCCTACCGCCACGACAGACGACAGGACGACAGTGAACGACAGACGACAGCATCTTACGACAGACGACAGTTACGACAGTACGACAGACGACAGATACGACAGGAACGACAGGACGACAGACGACAGGACGACAGACGACAGACGACAGATACGACAGACGACAGACCTTCGCACGACAGAACGACAGCACGACAGCAAAAAGACGACAGACGACAGAACGACAGACGACAGGAACGACAGACGACAGCGTACGACAGCAATCACGACAGTACGACAGAACGACAGCAACGACAGACGACAGACGACAGACGACAGAGAACGACAGCAACGACAGAAAAACGACAGCTAACGACAGCACGACAGACGACAGAACGACAGGTGACGACAGTACGACAGGAGACGACAGGTACGACAGGTACGACAGTGACGACAGCCACGACAGAACGACAGCACGACAGGACGACAGACGACAGGACGACAGAGAAGACGACAGACGACAGGACGACAGACGACAGGCTCACGACAGACGACAGTGCAACGACAGCACGACAGACCAGGACGACAGACGACAGAACGACAGAACGACAGCAAAAACGACAGACGACAGGACGACAGGGGTACGACAGCTGACGACAGTACGACAGGCGAGAACGACAGTCTGTAACGACAGTTGTACGACAGATCGGACACGACAGACGACAGTCTACGACAGACGACAGTACGACAGCATACGACGACAGAACGACAGAACGACAGCTACGACAGGCTACGACAGGAGGCGCACGACAGGCGACGACAGAGGGAAACGACAGACGACAGTACGACAGGGACGACAGCTTTGTCCATCACGACAGTGGCCGCCACGACAGGACGACAGACACGACAGAACGACAGGACGACAGGGCGTGAAACGACAGCACGACAGTACGACAGCAATACGACAGACGACAGTCCTATAGGAAAGGACGACAGAACTCACGACAGTGCCGGACCGGCATCACGACAGTCACGACGACAGGGATCTACGACAGGACTGACGACAGACGACAGACGACAGTTCCAGTTTACGACAGCGACGACAGACGACAGCACGACAGAACGACAGGACGACAGACGACAGGACGACAGAAGGAGACGACAGTTGAATGTAATACGACAGCAACGACAGGACGACAGAACGACAGACGACAGACTACGACAGGACGACAGCACGACAGCACACACGACAGTAACGACAGTATGACGACAGAACGACAGTACGACAGGGACGACAGACGACAGGTAGACGACAGGAAATACGCCTTGCACGACAGAAAACGACAGTACGACAGACGACAGTACGACAGCACGACAGGACGACAGGGTACGACAGCCCACGACAGCGCCGCTCACGACAGTTGACGACAGAGCACGACAGACGACAGGCGGCAGCACGACAGGCTTGACGACAGTCGCACTGGCTACGACAGCACGACAGACGACAGTTTACGACAGACGACAGATTTTCTCATTACGACAGAATGTACGACAGAGACGACCCGAACGACAGACTCTAATTTCAACGACAGCACGACAGGACGACAGACGACAGACGACAGTCGGATACGACAGCTCACGACAGCTACGACAGACGACAGTCGTGTATCTACGACAGACCGACAGGCACGACAGACGACAGACGACAGTCACGACAGATACACGACAGAATACGACAGATACGACAGACGACAGAAACGACAGCATTATGTCCCGGAAGGACGACAGCACGACAGCACGACAGACGACAGACGACAGTTTATTTACGACAGGACCTTACACGACAGCAAAACGACAGACGACAGGATCGTGACGACAGCACGACAGAACGGTATTACGACAGACGACAGCCTCACGACAGACGACAGAGTACGACAGCACGACAGGACGACAGGTAACGACAGTTACACGACAGAACGACAGTCTGCAGAACGACAGACTGACGACAGACGACAGAACGACAGGACGACAGGACGACAGTCCTCCACGACAGAACGACAGACGACAGGAGCACGACAGAACGACAGCACGACAGACCTCGGACGACAGCCTACGACAGAGGTACGACAGGACGACAGTAACGACAGGCACGACAGACGACAGACGACAGTACATCACGACAGTGGTACGACAGAGGCTACGACAGCAAACGACAGACGACAGATACGACAGTGTAAGGATACGACAGGCACGACAGCACGACAGTAAACGACAGACGACAGACGACAGGGGGTGACGACAGAATATTCCTACGACAGTTAATCACGACAGGAAGCAACGGACGACAGCACGACAGCACGACAGACGACAGACGACAGTTTGCCTTACCAACGACAGTCGACGACAGGGTAACGACAGTGTTACGACAGACGACAGGACGACAGTCTAAACGACAGTCCACGACAGCGGTCACGACAGTACAACGACAGACGACAGCACGACAGACGACAGCACGACAGACGACAGACGACAGAACGACAGACGACAGATGATAAACCTTGGTGCAGACGACAGGCCCCAACGACAGCACGACAGACGACAGGACGACAGACGACAGACGACAGTCAGGGCTTACGACAGACGACAGTGGGACGACAGACGACAGCACGACAGGACGACAGTCACGACAGTGCGTTGACGACAGACGACAGACTGGACGCTTGACGACAGACGACAGCGAACGACAGACGACAGGACTACAACGAGATCTACGACAGTACGACAGCCTTGACGACAGTGCTGACGACAGAAACGACAGTTACGACAGTATGAAGAACGACAGGGACGACAGATACGACAGACGACAGACGACAGGACGACAGCATGTAGTGACACGACAGGCGTGGTACGACAGACGACAGACGACAGTACGACAGCCGGACACGACAGACGACAGACGACAGTTGACGACAGGCACGACAGACGACAGGAGACGACAGTGTCCGCACGACAGTGGACGACAG"
# sebseq = "ACGACAGAC"
# for i in motif_search_overlapping(seq, sebseq):
# print(i-1, end=" ")
# # generate_reading_frames()
# print(generate_reading_frames(seq))
# # proteins_from_seq()
# print(proteins_from_steq(['I', 'M', 'T', 'H', 'M', 'T',
# 'Q', 'G', 'N', 'V', 'A', 'Y', 'I', '_']))
# # proteins_from_seq_orfs()
# seq = 'AGCCATGTAGCTAACTCAGGTTACATGGGGATGACCCCGCGACTTGGATTAGAGTCTCTTTTGGAATAAGCCTGAATGATCCGAGTAGCATCTCAG'
# for p in proteins_from_seq_orfs(seq, 0, len(seq), True):
# print(p)
# # profile_matrix() and consensus_sequence()
# fDict = fasta_to_dict("sample_fasta.txt")
# seqList = fDict.values()
# print(consensus_sequence(profile_matrix(seqList)))
# for x in range(4):
# print(Nucleotides[x], ": ", end="")
# for j in profile_matrix(seqList)[x]:
# print(j, end=" ")
# print("\n")
# # most_frequent_kmer()
# text = "ACGTTGCATGTCGCATGATGCATGAGAGCT"
# k = 4
# for i in most_frequent_kmer(text, k):
# print(i, end=" ")
# # clump_finder()
# seq = 'CGGACTCGACAGATGTGAAGAAATGTGAAGACTGAGTGAAGAGAAGAGGAAACACGACACGACATTGCGACATAATGTACGAATGTAATGTGCCTATGGC'
# k = 5
# l = 75
# t = 4
# for i in clump_finder(seq, k, l, t):
# print(i, end=" ")
# # min_skew_finder()
# seq = "CCTATCGGTGGATTAGCATGTCCCTGTACGTTTCGCCGCGAACTAGTTCACACGGCTTGATGGCAAATGGTTTTTCCGGCGACCGTAATCGTCCACCGAG"
# print(min_skew_finder(seq))
# # motif_search_overlapping_approx()
# seq = "CGCCCGAATCCAGAACGCATTCCCATATTTCGGGACCACTGGCCTCCACGGTACGGACGTCAATCAAATGCCTAGCGGCTTGTGGTTTCTCCTACGCTCC"
# subseq = "ATTCTGGA"
# d = 3
# for i in motif_search_overlapping_approx(seq, subseq, d):
# print(i, end=" ")
# # kmer_frequencies()
# seq = "ACGCGGCTCTGAAA"
# k = 2
# for i in kmer_frequencies(seq, k):
# print(i, end=" ")
# # lexicographic_kmer
# print(lexicographic_kmer(7076, 11))
# # lexicographic_kmer_rank
# print(lexicographic_kmer_rank("TGTGCTGGAGAACTACCTATGCGGA"))
# # kmer_neighbours
# f = open("sample_fasta.txt", "w")
# kmer = "TAACTATCCT"
# d = 2
# for i in kmer_neighbours(kmer, d):
# f.write(i)
# f.write("\n")
# # most_frequent_kmer_approx
# seq = "AGTCAGTC"
# k = 4
# d = 2
# for i in most_frequent_kmer_approx(seq, k, d):
# print(i, end=" ")
# # most_frequent_kmer_approx_reverse()
# seq = "ACGTTGCATGTCGCATGATGCATGAGAGCT"
# k = 4
# d = 1
# for i in most_frequent_kmer_approx_reverse(seq, k, d):
# print(i, end=" ")
# # motif_enumeration
# k = 5
# d = 2
# dna_seqs = ['ATTTGGC', 'TGCCTTA', 'CGGTATC', 'GAAAATT']
# for i in motif_enumeration(dna_seqs, k, d):
# print(i, end=" ")
# # score_of_kmer_in_dna_list()
# kmer = "AAA"
# dna_list = ["TTACCTTAAC", "GATATCTGTC",
# "ACGGCGTTCG", "CCCTAAAGAG", "CGTCAGAGGT"]
# print(score_of_kmer_in_dna_list(kmer, dna_list))
# # median_string()
# dna_list = ["AAATTGACGCAT", "GACGACCACGTT",
# "CGTCAGCGCCTG", "GCTGAGCACCGG", "AGTACGGGACAG"]
# k = 3
# print(median_string(k, dna_list))
# # profile_probability()
# kmer = "CCGAG"
# profile = [[0.2, 0.2, 0.3, 0.2, 0.3],
# [0.4, 0.3, 0.1, 0.5, 0.1],
# [0.3, 0.3, 0.5, 0.2, 0.4],
# [0.1, 0.2, 0.1, 0.1, 0.2]]
# print(profile_probability(kmer, profile))
# # profile_probable_kmer()
# seq = "ACCTGTTTATTGCCTAAGTTCCGAACAAACCCAATATAGCCCGAGGGCCT"
# k = 5
# profile = [[0.2, 0.2, 0.3, 0.2, 0.3],
# [0.4, 0.3, 0.1, 0.5, 0.1],
# [0.3, 0.3, 0.5, 0.2, 0.4],
# [0.1, 0.2, 0.1, 0.1, 0.2]]
# print(profile_probable_kmer(seq, k, profile))
# # motif_random_probability()
# print(math.log10(motif_random_probability("ACGATACAA", 0.129)))
# # longest_common_substring()
# dna_dict = fasta_to_dict("sample_fasta.txt")
# dna_list = list(dna_dict.values())
# print(longest_common_substring(dna_list))
# # degree of simple graph
# n, e, edges = edge_list_format_reader("sample_fasta.txt")
# graph = simple_graph_adjacency_matrix(n, e, edges)
# for node in graph:
# print(sum(node), end=" ")
# # simple_graph_double_degree()
# n, e, edges = edge_list_format_reader("sample_fasta.txt")
# for i in simple_graph_double_degree(simple_graph_adjacency_matrix(n, e, edges), simple_graph_adjacency_list(n, e, edges)):
# print(i, end=" ")