In [125]:
def readBases(filename):
    
    fastaData = {}
    
    with open(filename, 'r') as f:
        Rosalind_ID = ''
        for line in f:
            if '>' in line:
                Rosalind_ID = line[1:].rstrip()
            elif Rosalind_ID in fastaData:
                fastaData[Rosalind_ID]['Sequence'] = fastaData[Rosalind_ID]['Sequence'].rstrip() + line.rstrip()
            else:
                fastaData[Rosalind_ID] = { 'Sequence' : line.rstrip() , 'Percentage' : 0 }
                

    highest_percentage = 0
    highest_percentage_ID = ''
    
    for RosalindID, Data in fastaData.items():
        
        length = len(Data['Sequence'])
        gc_count = 0
        
        
        for base in Data['Sequence']:
            if base == 'G' or base == 'C':
                gc_count = gc_count + 1
                
        percentage = ( gc_count / length ) * 100
        
        fastaData[RosalindID]['Percentage'] = percentage
        
        if(highest_percentage < percentage):
            highest_percentage = percentage
            highest_percentage_ID = RosalindID
            
    print(highest_percentage_ID) 
    print(highest_percentage)

In [126]:
readBases('rosalind_gc_1.txt')


Rosalind_2865
52.11442786069652

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]: