Прежде всего, я хочу сказать, что я новичок в программировании.У меня есть 2 zip-файла (каждый из которых содержит одну базу данных) и 4 файла fast (каждый из которых содержит последовательность белка и один содержит последовательность нуклеотида).
Я хотел бы создать программу, которую пользователь может выбрать изменю, чтобы запустить файл аминокислоты или нуклеотида в своей базе данных соответственно.Код, упомянутый ниже, был лучшим, что я смог сделать.К сожалению, это не работает вообще.Я буду очень признателен, если бы вы могли указать мне, как справиться с этим?
import sys
import zipfile
def main():
def menu():
print("*****MAIN MENU*****")`
print()
choice = input("""
A: For nucleotide "DNA" quest
B: For amino acid "Protein" quest
Q: For Exit the program
Please enter your choice: """)
if choice == "A" or choice =="a":
Dnaquery()
elif choice == "B" or choice =="b":
Proteinquery()
elif choice=="Q" or choice=="q":
sys.exit
else:
print("You must only select either A,B,or Q.")
print("Please try again")
menu()
def Dnaquery(): #for nucletide query
with zipfile.ZipFile("Dna.zip","r") as zip_ref:
zip_ref.extractall("C:\Users\Gpapa\Desktop\Zipfiles\DnaDatabase>")
from Bio.Blast import NCBIWWW
fasta_string = open("Dna.fasta").read()
result_handle = NCBIWWW.qblast("blastn", "nt", fasta_string)
def Proteinquery(): #for protein query
with zipfile.ZipFile("Protein.zip","r") as zip_ref:
zip_ref.extractall("C:\Users\Gpapa\Desktop\Zipfiles\ProteinDatabase>")
def menu2 ()
print("************Select Protein 2 blast **************")
print()
choice = input("""
1: For Protein Query 1
2: For Protein Query 2
3: For Protein Query 3
Please enter your choice: """)
if choice == 1:
from Bio.Blast import NCBIWWW
fasta_string = open("protein1.fasta").read()
result_handle = NCBIWWW.qblast("blastp", "prot", fasta_string)
elif choice == 2:
from Bio.Blast import NCBIWWW
fasta_string = open("protein2.fasta").read()
result_handle = NCBIWWW.qblast("blastp", "prot", fasta_string)
elif choice==3:
from Bio.Blast import NCBIWWW
fasta_string = open("protein3.fasta").read()
result_handle = NCBIWWW.qblast("blastp", "prot", fasta_string)
else:
print("You must only select either 1,2,or 3")
print("Please try again")
menu2()
main()