salve a tutti, ho una sequenza del tipo
ACTGATCGATTACGTATAGTAGAATTCTATCATACATATATATCGATGCGTTCAT scorrendola devo trovare una sequenza target GAATTC ACTGATCGATTACGTATAGTA "GAATTC" TATCATACATATATATCGATGCGTTCAT quindi dividere la sequenza da G, la prima lettera della sequenza target, e calcolarmi la lunghezza dei due frammenti risultanti ACTGATCGATTACGTATAGTAG e di questa GAATTCTATCATACATATATATCGATGCGTTCAT io avrei fatto seq = "ACTGATCGATTACGTATAGTAGAATTCTATCATACATATATATCGATGCGTTCAT" target = "GAATTCT" s = [] for i,base in enumerate(seq): s.append(base) if len(s)==8: s.pop(0) if ''.join(s) == target: print i-5 print len(seq)-(i-5) break funziona ma non e' che ne sia proprio convinto, avete suggerimenti su come iterare la sequenza? saluti beppe p.s. e' un esercizio che ho trovato su p4b, python for biologist "Let's start this exercise by solving the problem manually. If we look through the DNA sequence we can spot the EcoRI site at position 21. Here's the sequence with the base positions labelled above and the EcoRI motif in bold: in bold sarebbe questa GAATTCT 0123456789012345678901234567890123456789012345678901234 ACTGATCGATTACGTATAGTAGAATTCTATCATACATATATATCGATGCGTTCAT Since the EcoRI enzyme cuts the DNA between the G and first A, we can figure out that the first fragment will run from position 0 to position 21, and the second fragment from position 22 to the last position, 54. Therefore the lengths of the two fragments are 22 and 33." _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python