Minsu Kim/python/Rosalind
function
def patterncount(text, pattern):
count=0
for i in range(0,len(text)):
if(text[i:len(pattern)+i]==pattern):
count += 1
return count
def complementing(sequence):
sequence = sequence[::-1]
text = list(sequence)
for i in range(0,len(text)):
if text[i] == 'A':
text[i] = 'T'
elif text[i] == 'G':
text[i] = 'C'
elif text[i] == 'C':
text[i] = 'G'
elif text[i] == 'T':
text[i] = 'A'
s = ''.join(text)
print(s)
return 0
rosalind transcript basic
f = open('rosalind_rna.txt')
a = f.readline()
f.close
text = list(a)
for i in range(0,len(text)):
if text[i] == 'T':
text[i] = 'U'
a = ''.join(text)
print(a)
f = open('rosalind_revc2.txt','r')
b = f.readline()
f.close
b = b[::-1]
text = list(b)
for i in range(0,len(text)):
if text[i] == 'A':
text[i] = 'T'
elif text[i] == 'G':
text[i] = 'C'
elif text[i] == 'C':
text[i] = 'G'
elif text[i] == 'T':
text[i] = 'A'
b = ''.join(text)
print(b)
Computing CG Content
f_fa = open('rosalind_gc.txt','r')
seq_list = dict()
for line in f_fa:
if line.startswith('>'):
name = line.strip('>').strip()
seq_list[name] = ''
else:
seq_list[name]= line.strip()
f_fa.close()
seq_CG = dict()
for k in seq_list:
count = 0
s = seq_list[k]
s = list(s)
for i in range(0,len(s)):
if s[i] == 'C' or s[i] == 'G':
count = count + 1
p = count / len(s)
seq_CG[k] = p
inverse = [(value, key) for key, value in seq_CG.items()]
max(inverse)
import matplotlib.pyplot as plt
seq_list = []
f_fa = open('Ecoli_genome.fasta', 'r')
for line in f_fa:
if not line.startswith('>'):
seq_list.append(line.strip())
tmp_seq = ''.join(seq_list)
count_G = 0
count_C = 0
count_list = []
for tmp_n in tmp_seq:
if tmp_n == 'G':
count_G += 1
if tmp_n == 'C':
count_C += 1
count_list.append(count_G-count_C)
pos_list = range(0,len(tmp_seq))
fig = plt.figure(figsize = (10,6))
ax1 = fig.add_subplot(1,1,1)
ax1.plot(pos_list, count_list, 'b-')
ax1.grid()
plt.show()
f_fa.close()