Capítulo 10. Encontrar la Secuencia Compartida Más Larga: Encontrar K-mers, escribir funciones y utilizar la búsqueda binaria
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Como se describe en el reto LCSM de Rosalind, el objetivo de este ejercicio es encontrar la subcadena más larga que comparten todas las secuencias de un archivo FASTA dado. En el Capítulo 8 , buscaba un motivo dado en algunas secuencias. En este reto, no sé a priori que esté presente ningún motivo compartido -mucho menos su tamaño o composición-, así que simplemente buscaré cualquier longitud de secuencia que esté presente en todas las secuencias. Se trata de un ejercicio desafiante que reúne muchas ideas que he mostrado en capítulos anteriores. Utilizaré las soluciones para explorar el diseño de algoritmos, las funciones, las pruebas y la organización del código.
Aprenderás:
-
Cómo utilizar k-mers para encontrar subsecuencias compartidas
-
Cómo utilizar
itertools.chain()
para concatenar listas de listas -
Cómo y por qué utilizar una búsqueda binaria
-
Una forma de maximizar una función
-
Cómo utilizar la opción
key
conmin()
ymax()
Cómo empezar
Todo el código y las pruebas de este reto están en el directorio 10_lcsm.Empieza copiando la primera solución en el programa lcsm.py
y pide ayuda:
$ cp solution1_kmers_imperative.py lcsm.py $ ./lcsm.py -h usage: lcsm.py [-h] FILE Longest Common Substring positional arguments: FILE Input FASTA ...
Get Dominar Python para Bioinformática now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.