Skip to content

Commit cf4c181

Browse files
committed
more Rosalind solutions
1 parent 5273c78 commit cf4c181

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

RosalindGCContent.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
__author__ = 'ssen'
2+
3+
def countGCInString(dnaString):
4+
dnaString = dnaString.upper()
5+
gcCount = 0
6+
for c in dnaString:
7+
if c == 'C' or c == 'G':
8+
gcCount +=1
9+
10+
return gcCount*100.0/(len(dnaString)*1.0)
11+
12+
def countGC(filename):
13+
file = open(filename)
14+
fastaLine = file.readline()
15+
fname = fastaLine[1:len(fastaLine)-1]
16+
fastaLine = file.readline()
17+
maxFilename = ""
18+
maxFraction = 0
19+
while fastaLine != "":
20+
dnaString = ""
21+
# print fname
22+
while fastaLine != "" and fastaLine[0] != '>':
23+
dnaString += fastaLine.rstrip('\n')
24+
fastaLine = file.readline()
25+
gcFraction = countGCInString(dnaString)
26+
if gcFraction > maxFraction:
27+
maxFraction = gcFraction
28+
maxFilename = fname
29+
30+
fname = fastaLine[1:len(fastaLine)-1]
31+
fastaLine = file.readline()
32+
33+
print maxFilename
34+
print maxFraction
35+
countGC('C:\\rosalind_gc.txt')

0 commit comments

Comments
 (0)