import os BASE_PATH = os.path.join(os.path.expanduser("~"), r'Documents\Python projects\Rosalind') class Fasta_record: def __init__(self, label): self.label = label self.data = "" self.GC = 0 def __str__(self): return self.label + '/' + self.data def get_label(self): return self.label def add_data(self, new_data): self.data += new_data def get_data(self): return self.data def get_GC(self): return 100 * float(self.data.count('C') + self.data.count('G')) / len(self.data) data_file=[] record = Fasta_record("") max_GC = max_index = 0 data = ('>Rosalind_6404','CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC','TCCCACTAATAATTCTGAGG','>Rosalind_5959','CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT','ATATCCATTTGTCAGCAGACACGC','>Rosalind_0808','CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC','TGGGAACCTGCGGGCAGTAGGTGGAAT') ##data = open(os.path.join(BASE_PATH,'rosalind_gc.txt'), 'r') #store data for line in data: line = line.strip() if line[0] == '>': if record.get_label(): data_file.append(record) #store old record record = Fasta_record(line[1:]) #new record else: record.add_data(line) data_file.append(record) #store last record ##data.close() #compare GCs for i,record in enumerate(data_file): if record.get_GC() > max_GC: max_GC = record.get_GC() max_index = i print(data_file[max_index].get_label()) print(max_GC)
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question