startswith TypeError в функции

Вот код:

def readFasta(filename): """ Reads a sequence in Fasta format """ fp = open(filename, 'rb') header = "" seq = "" while True: line = fp.readline() if (line == ""): break if (line.startswith('>')): header = line[1:].strip() else: seq = fp.read().replace('\n','') seq = seq.replace('\r','') # for windows break fp.close() return (header, seq) FASTAsequence = readFasta("MusChr01.fa") 

Ошибка, которую я получаю:

 TypeError: startswith first arg must be bytes or a tuple of bytes, not str 

Но первый аргумент startswith должен быть строкой в ​​соответствии с документами … так что происходит?

Я предполагаю, что использую хотя бы Python 3, так как использую последнюю версию LiClipse.

Python - лучший язык программирования в мире.