import csv
with open("fasta_stat.csv", "w") as fh_csv:
csv_writer = csv.writer(fh_csv)
csv_writer.writerow(["description", "symbol_count", "gc content"])
with open("short.fasta", "r") as fh_fasta:
for line in fh_fasta:
line = line.rstrip()
if len(line) > 0 and line[0] == ">":
last_status = line
count = 0
gc_count = 0
elif line == "":
relative_gc_count = gc_count / count
print(count, gc_count, last_status)
csv_writer.writerow([last_status, count, relative_gc_count])
else:
count += len(line)
gc_count += line.count("G") + line.count("C")
import csv
with open("amino_acids.csv", "r") as fh:
for line in csv.reader(fh, delimiter=","):
print(line)
import csv
count = 0
mono_sum = 0.0
with open("amino_acids.csv", "r") as fh:
r = csv.reader(fh, delimiter=",")
next(r)
for line in r:
mono_sum += float(line[3])
count += 1
print("average monoisotopic mass is", mono_sum / count)
import csv
count = 0
mono_sum = 0.0
max_mass = 0
with open("amino_acids.csv", "r") as fh:
r = csv.reader(fh, delimiter=",")
header = next(r)
for line in r:
mono_mass = float(line[3])
if mono_mass > max_mass:
max_mass = mono_mass
mono_sum += mono_mass
count += 1
print("average monoisotopic mass is", mono_sum / count)
print("max monoisotopic mass is", max_mass)
(asking the user until he enters only one sympol was not part of the exercise desciption, I added it just for demonstration purposes):
while True:
one_letter_code = input("tell me a one letter code: ").upper()
if len(one_letter_code) != 1:
print("this is not a one letter input, try again")
else:
break
found = False
with open("amino_acids.csv", "r") as fh:
r = csv.reader(fh, delimiter=",")
next(r)
for line in r:
if line[0] == one_letter_code:
print(one_letter_code, "has monoisotopic mass", line[3], ", its molecular formula is", line[2])
found = True
if not found:
print("the given code is invalid")