[Python] Iterare una sequenza
Giuseppe Costanzi
giuseppecostanzi a gmail.com
Dom 26 Nov 2017 10:20:53 CET
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."
Maggiori informazioni sulla lista
Python