Dieser Code sollte alle codierenden Sequenzen in einer größeren Sequenz namens Sequentie drucken. Es wird jedoch die erste gefundene Sequenz unendlich gedruckt.Der Code wird nicht richtig durchgeschleift
def getCodons(sequentie):
DNA = sequentie
while 'atg' in DNA:
start = DNA.find('atg')
codon = getSequentie(DNA, start)
DNA = DNA[DNA.index(codon):]
def getSequentie(DNA, start):
print ('')
print ("Sequentie:")
while start+2 < len(DNA):
codon = DNA[start:start+3]
if codon == "tag" or codon == "taa" or codon == "tga":
print (codon, end=' ')
return codon
break
print (codon, end=' ')
start+=3
So Ausgabe:
Sequentie: atg aag ttt ttg gta gtt AAG ata AAG ctc gag Akt gat att TCA tat Akt GGA tga tga
Sequentie: atg aag ttt ttg gta gtt AAG ata AAG ctc gag Akt gat att TCA tat Akt gGA tga tga
Sequentie: atg aag ttt ttg gta gtt AAG ata AAG ctc gag Akt gat att TCA tat Akt GGA tga tga
Sequentie: atg aag ttt ttg gta gtt AAG ata AAG ctc gag Akt gat att TCA tat Akt GGA tga tga ...
für die sequentie ccagaatggttactatggacatccgccaaccatacaagctatggtgaaatgctttatctatctcatttttagtttcaaagcttttgttataacacatgcaaatccatatccgtaaccaatatccaatcgcttgacatagtctgatgaagtttttggtagttaagataaagctcgagactgatatttcatatactggatgatttagggaaacttgcattctattcatgaacgaatgagtcaatacgagacacaaccaagcatgcaaggagctgtgagttgatgttctatgctatttaagtatttttcgggagatatatatatcttattgttctcctcctcccgagtcaagttgttctaagaaagaaggatctatttcattttgtggattgtctagtttcagggacagacggggtttaggggaagcgctatccgtggctgctatgacatcgaagaaactctgcacgacatggtat gtaatct
I Sequentie erhalten möchten: atg aag ttt ttg gta gtt AAG ata AAG ctc gag Akt gat att TCA tat Akt GGA tga tga
und dann die nächste Sequenz gefunden
können Sie bitte einen Beispiel-Eingang und Ihre erwartete Ausgabe hinzufügen – Kidus
In 'getCodons' möchten Sie wahrscheinlich DNA = DNA [DNA.Index (Codon) +1:]' –
Können Sie bitte ein konkretes Beispiel eingeben und die erwartete Ausgabe? Der Zweck des Codes ist schwer anders zu erhalten. BTW, ich glaube, du musst 'start + = 4' anstelle von' start + = 3' schreiben – Iarwa1n