Snažím sa robiť nejaký základný python so sekvenciami DNA, ale teraz sa dostávam do malého problému.
Toto je môj počiatočný kód:
def positie(enzyme):
pos = sequentie.find(enzyme.lower())
print (pos)
def searchopdracht(enzyme):
if enzyme.lower() in sequentie:
print(enzyme, " does cut, at location:")
positie(enzyme)
print(" ")
else:
print(enzyme, "does not cut")
print(" ")
for enzyme in [DdeI, BspMII, EcoRI, HindIII, TaqI]:
searchopdracht(enzyme)
Ktoré výstupy sú nasledovné:
CTGAG does cut, at location: 1022
TCCGGA does not cut
GAATTC does cut, at location: 1449
AAGCTT does cut, at location: 77
TCGA does cut, at location: 171
Všetko je v poriadku a funguje, ale chcem, aby sa názvy enzýmov zobrazovali namiesto sekvencií, napríklad, nie "CTGAG nemá strih, na mieste: 1022", ale "DdeI nemá rez, na mieste: 1022"
To je to, čo som sa snažil (ale nedáva žiadny výstup), ale neváhajte a uveďte ďalšie návrhy:
def positie( enzyme ):
pos = sequentie.find(enzyme.lower())
print (pos)
def searchopdracht(enzyme, enzyme_name):
if enzyme.lower() in sequentie:
print(enzyme_name," does cut, at location:")
positie(enzyme)
print(" ")
else:
print(enzyme_name, "does not cut")
print(" ")
list1 = [DdeI, BspMII, EcoRI, HindIII, TaqI]
list2 = ["DdeI", "BspMII", "EcoRI", "HindIII", "TaqI"]
for (enzyme, enzyme_name) in (list1, list2):
searchopdracht(enzyme)
odpovede:
0 pre odpoveď č. 1Musíte prejsť enzyme_name
ako argument pre searchopdracht()
, a používať zip
vytvoriť dvojice párov vášho vstupu:
for enzyme, enzyme_name in zip(list1, list2):
searchopdracht(enzyme, enzyme_name) # added argument