<div dir="ltr"><div><div><div><div><div><div>ciao federico,<br></div><br></div>il secondo metodo mi piace, tra l' altro ho notato che itera solo 22 volte mentre il mio 28.<br></div>in pratica vai a blocchi di lunghezza uguale al target invece di andare una base alla volta.<br></div>bello, mi piace questa soluzione.<br><br>grazie<br></div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-26 11:06 GMT+01:00 Federico Cerchiari <span dir="ltr"><<a href="mailto:federicocerchiari@gmail.com" target="_blank">federicocerchiari@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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 = '<wbr>ACTGATCGATTACGTATAGTAGAATTCTAT<wbr>CATACATATATATCGATGCGTTCAT'</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-wrap"> </span>if dna_seq[position:position+len(<wbr>target)] == target:</div><div><span style="white-space:pre-wrap"> </span>position += 1 # Aggiungiamo 1 perchè enumerate è 0-based</div><div><span style="white-space:pre-wrap"> </span>print('lunghezza pre-target: %d, post-target %d' % (position, len(dna_seq)-position))</div></div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Federico</div></font></span></div><div class="HOEnZb"><div class="h5"><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="m_-3174654373239279076HOEnZb"><div class="m_-3174654373239279076h5"><br>
<br>
<br>
On Sun, Nov 26, 2017 at 10:30 AM, Carlo Miron <<a href="mailto:miron@python.it" target="_blank">miron@python.it</a>> wrote:<br>
> On Sun, Nov 26, 2017 at 10:20 AM, Giuseppe Costanzi<br>
> <<a href="mailto:giuseppecostanzi@gmail.com" target="_blank">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 = "ACTGATCGATTACGTATAGTAGAATTCTA<wbr>TCATACATATATATCGATGCGTTCAT"<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" target="_blank">Python@lists.python.it</a><br>
> <a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailma<wbr>n/listinfo/python</a><br>
______________________________<wbr>_________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailma<wbr>n/listinfo/python</a><br>
</div></div></blockquote></div><br></div>
</div></div><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>
<br></blockquote></div><br></div>