[Python] Iterare una sequenza

Giorgio Zoppi giorgio.zoppi a gmail.com
Dom 26 Nov 2017 11:34:29 CET


Io userei el automa di aho corasick.
In Bioinformatics si usa tanto.
http://carshen.github.io/data-structures/algorithms/2014/04/07/aho-corasick-implementation-in-python.html


2017-11-26 10:20 GMT+01:00 Giuseppe Costanzi <giuseppecostanzi a gmail.com>:

> 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 a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML รจ stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20171126/8538fbdc/attachment.html>


Maggiori informazioni sulla lista Python