<div dir="ltr">Ciao Giuseppe,<div><br></div><div>per trovare la posizione di un oggetto in una sequenza (lista, stringa o altro) puoi usare il metodo '.index' delle liste:</div><div><div><br></div><div>dna_seq = 'ACTGATCGATTACGTATAGTAGAATTCTATCATACATATATATCGATGCGTTCAT'</div><div>target = 'GAATTCT'</div><div>target_position = dna_seq.index(target) + 1</div><div>print('lunghezza pre-target: %d, post-target %d' % (target_position, len(dna_seq)-target_position))</div></div><div><br></div><div>Se vuoi iterare sulla sequenza per farci altro fai bene a usare 'enumerate', ma invece di costruirti la stringa di comparazione di volta in volta puoi prelevarla dalla stringa originale ad ogni ciclo:</div><div><br></div><div><div>for position, gene in enumerate(dna_seq):</div><div><span style="white-space:pre">     </span>if dna_seq[position:position+len(target)] == target:</div><div><span style="white-space:pre">          </span>position += 1  # Aggiungiamo 1 perchè enumerate è 0-based</div><div><span style="white-space:pre">          </span>print('lunghezza pre-target: %d, post-target %d' % (position, len(dna_seq)-position))</div></div><div><br></div><div>Federico</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-26 10:42 GMT+01:00 Giuseppe Costanzi <span dir="ltr"><<a href="mailto:giuseppecostanzi@gmail.com" target="_blank">giuseppecostanzi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ciao carlo,<br>
<br>
si, interessante ma vorrei iterare la sequenza mano a mano,<br>
<br>
stavo pensando a qualcosa tipo<br>
<br>
next(iterator, default)<br>
<br>
grazie comunque<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Sun, Nov 26, 2017 at 10:30 AM, Carlo Miron <<a href="mailto:miron@python.it">miron@python.it</a>> wrote:<br>
> On Sun, Nov 26, 2017 at 10:20 AM, Giuseppe Costanzi<br>
> <<a href="mailto:giuseppecostanzi@gmail.com">giuseppecostanzi@gmail.com</a>> wrote:<br>
><br>
>> ho una sequenza del tipo<br>
>> ACTGATCGATTACGTATAGTAGAATTCTAT<wbr>CATACATATATATCGATGCGTTCAT<br>
>> scorrendola devo trovare una sequenza target GAATTC<br>
>> ACTGATCGATTACGTATAGTA  "GAATTC"  TATCATACATATATATCGATGCGTTCAT<br>
>> quindi dividere la sequenza da G, la prima lettera della sequenza target,<br>
>> e calcolarmi la lunghezza dei due frammenti risultanti<br>
>> ACTGATCGATTACGTATAGTAG<br>
>> e di questa<br>
>> GAATTCTATCATACATATATATCGATGCGT<wbr>TCAT<br>
><br>
> qualcosa tipo<br>
><br>
>>>> seq = "<wbr>ACTGATCGATTACGTATAGTAGAATTCTAT<wbr>CATACATATATATCGATGCGTTCAT"<br>
>>>> target = "GAATTCT"<br>
>>>> first, second = seq.split(target, 1)<br>
>>>> first += target[1]<br>
>>>> second = target[1:] + second<br>
>>>> len(first), len(second)<br>
> (22, 33)<br>
><br>
> ?<br>
> ㎝<br>
><br>
> --<br>
> |:**THE 🍺-WARE LICENSE** *(Revision ㊷)*:<br>
> | <miron@🐍.it> wrote this mail. As long as you retain this<br>
> | notice you can do whatever you want with this stuff.<br>
> | If we meet some day, and you think this stuff is worth it,<br>
> | you can buy me a 🍺 in return. —㎝<br>
> ______________________________<wbr>_________________<br>
> Python mailing list<br>
> <a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
> <a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/<wbr>mailman/listinfo/python</a><br>
______________________________<wbr>_________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/<wbr>mailman/listinfo/python</a><br>
</div></div></blockquote></div><br></div>