Exercicio Python de função,arquivos e matrizes

Alguém poderia me ajudar a descobrir o que possivelmente está dando errado nesse programa:
#definir Função do Menu
def menu():
print (“MENU”)
print (“1- Cadastrar Sequência”)
print (“2 - Análise de Mutações”)
print (“3 - Gerar Relatório”)
print (“4 - Sair”)

#Definir Funcao para cadastrar
def primeira_op(arq):
f1 = open(arq, “r”)
lista = f1.readlines()
#O programa lê cada lista e coloca em uma outra lista
mat.append(lista)
f1.close()
return mat

def primeira_op1(arq):
V = []
f1 = open(arq, “r”)
lista = f1.readlines()
for i in range (3, len(lista)+1):
V.append(lista[i])
f1.close()
return V

def segunda_opI(arq1):
f2 = open(arq1)
lista1 = f2.readlines()
f2.close()
return lista1

def segunda_op(arq1):
mat1 = []
f2 = open(arq1)
lista1 = f2.readlines()
mat1.append(lista1)
f2.close()
return mat1

def segunda_op1(Co1, m, lista, mat):
h = 0
vet = []
for Co1 in m:
p = lista1.index(Co1)
for i in range (0, len(m), 6):
l = lista
for j in range (len(l)):
str1 = m[i]
str2 = m[i+1]
w = str1[:2]
w = w + str2
w = w + str1[6:]
h += l.count(w)
vet = vet + [i]
print(""“Sequência código: %sNúmero de mutações: %d “””)
for i in range (h):
print(“Mutação %d: \nCódon: %s \nAutor e Revista: %s” % (i, mat[i][1], mat[i][5]))

#Corpo principal do Programa
a = 0
mat = []
mat1 = []
menu()
print("************ATENÇÃO!!!************\n A opção 2 só pode ser acessada caso haja feito a opção de cadastro")
set = int(input("Escolha sua opção: "))
while set != 4:
if set == 1:
print(“NÃO ESQUEÇA DE COLOCAR A EXTENSÃO!”)
nomearq = str(input("Digite o nome do arquivo: "))
matriz = primeira_op(nomearq)
lis = primeira_op1(nomearq)
#pra ver se está funcionando
print(matriz)
print(lis)
a += 1
print(“Um total de %d sequências foi/foram cadastradas” % a)
menu()
set = int(input("Escolha sua opção: "))

elif set == 2:
#arquivo já existente
    matriz1 = segunda_op("muta.txt")
    cod = int(input("Digite o código referente a sequência: "))
    lis1 = segunda_opI(nomearq)
    segunda_op1(cod, lis1, lis, matriz1)
    
    #pra ver se está funcionando
    print(matriz1)
    print(lis1)
    menu()
    set = int(input("Escolha Sua opção: "))
    
elif set == 3:
    terceira_op()
    menu()
    set = int(input("Escolha Sua opção: "))
else:
    break

Preciso que esse programa faça:Considere elaborar um programa que permita a obtenção de informações sobre as mutações genéticas na proteína humana PrP - Human prion protein. O programa deve iniciar exibindo um menu com as seguintes opções (o menu deve ser exibido até que o usuário escolha a opção 4):
***** Análise de Sequências *****
Selecione a opção desejada:
1-Cadastrar Sequência
2- Análise de Mutações
3- Gerar Relatório
4- Sair
Cada uma das opções acima (com exceção da última) deve obrigatoriamente ser implementada como uma função específica para a tarefa e ter o funcionamento como descrito abaixo.
1a- Opção: Cadastrar Sequência
Esta opção deve permitir cadastrar os dados para um conjunto de sequências. O programa deve solicitar ao usuário o nome de um arquivo texto (contendo várias sequências de DNA no formato FASTA - Exemplo abaixo), e armazenar para cada sequência lida o seu código, o nome do organismo e a sequência.Todos estes dados deverão ser armazenados em uma matriz onde cada linha representa uma sequência. Ao final do cadastro, exibir a mensagem: ‘Um total de XX sequências foram cadastradas com sucesso!!’, substituindo XX pelo número de sequências cadastradas, e voltar ao menu principal.
2a-Opção: Análise de Mutações
Esta opção deve ler o arquivo texto com as mutações em prion conhecidas (fornecido no final deste arquivo), e armazenar em uma matriz. Em seguida para uma sequência específica cadastrada (pedir ao usuário para digitar o código da sequência desejada. Ex.: 74273680), informar:
1-Número de mutações encontradas
2-O Codon relacionado à cada mutação e nome do autor do artigo que referencia a mutação
3- Número de mutações de cada tipo: Causative, Stop causative, Neutral e Silent, de acordo com a tabela em http://www.mad-cow.org/prion_point_mutations.html (ver cores).
Após a exibição dos resultados, voltar ao menu principal.
3a-Opção: Gerar relatório
Esta opção deve gerar um arquivo texto contendo cada uma das sequências cadastradas separadas por aminoácido mutado (Initial AA) (i) todos os dados informativos das sequências, separados por sequências que tenham mais de 10 mutações e menos de 10 mutações; além de (ii) dados de todas as sequências que possuem mais de 50% das suas mutações do tipo Causative e (iii) sequências que possuem apenas mutações Neutral.
Após a conclusão do relatório, informar ao usuário o nome do arquivo texto gerado.