Pregunta:
Encontrar la ubicación y la unidad de longitud de secuencias repetitivas dentro de una lectura larga
gringer
2017-06-02 07:48:05 UTC
view on stackexchange narkive permalink

Después de descubrir algunas dificultades con el ensamblaje del genoma, me interesé en encontrar y categorizar secuencias de ADN repetitivas, como esta de Nippostrongylus brasiliensis [cada base está codificada por colores como A: verde; C: azul; G: amarillo; T: red]:

Repeat sequence represented in a rectangular fashion Repeat sequence represented in a circular fashion

[Se puede encontrar el archivo FASTA asociado con esta secuencia aquí]

Estas secuencias con tamaños de unidad de repetición grandes solo son detectables (y ensamblables) usando lecturas largas (por ejemplo, PacBio, nanopore) porque cualquier subsecuencia más pequeña que la longitud de la unidad no podrá para distinguir entre error de secuenciación y golpear una ubicación diferente dentro de la estructura de repetición. He estado rastreando estas secuencias de forma masiva mediante dos métodos:

  1. Ejecutando un mapeo de todos contra todos y buscando secuencias que se mapeen a sí mismas muchas veces
  2. Llevar a cabo una compresión de la secuencia (por ejemplo, bzip2) y encontrar secuencias que tengan una tasa de compresión sustancialmente más alta de lo normal

Después de encontrar una secuencia sospechosa, entonces desea poder categorizar la repetición (por ejemplo, duración de la repetición principal, número de repeticiones en tándem, secuencia repetitiva). Aquí es donde me quedo atascado.

Para hacer una demostración de "apariencia brillante", actualmente tengo un proceso muy manual para obtener estas secuencias en un formato que pueda visualizar. Mi proceso es el siguiente:

  1. Use LAST para producir un diagrama de puntos de auto-mapeo para el mapeo
  2. Identifique visualmente la región repetitiva y extraiga la región de la secuencia
  3. Utilice una combinación de fold -w <width> y less -S para inspeccionar visualmente la secuencia con varios anchos de unidad de repetición potenciales para encontrar el repetir el tamaño de la unidad
  4. Muestre la secuencia de forma rectangular y circular usando mi propio guión, ajustando la longitud de la unidad de repetición

Pero ese proceso no es de ninguna manera factible cuando tengo miles de posibles secuencias repetitivas en las que pescar.

¿Hay alguna manera mejor de hacer esto? Dada una secuencia de ADN arbitraria de longitud> 10 kb, ¿cómo puedo (de forma automatizada) encontrar tanto la ubicación de la región de repetición como la unidad de longitud (teniendo en cuenta que puede haber múltiples estructuras de repetición, con longitudes de unidad de 30 pb a 10kb)?

Se puede encontrar una secuencia de ejemplo aquí, que tiene una región de repetición de ~ 21kb con unidades de repetición de ~ 171 pb aproximadamente a 1/3 del camino en la secuencia.

Un análisis basado en Kmer

Ahora he visto secuencias humanas con regiones repetitivas superiores a 10 kb (es decir, fuera del rango de la mayoría de las lecturas vinculadas aplicaciones). Mi idea actual se centra en crear tablas hash de secuencias cortas (actualmente 13-mers) y rastrear su ubicación:

  1. Procesar la secuencia, almacenando la ubicación de cada kmer
  2. Para cada kmer, averigüe cuántas veces aparece en la secuencia
  3. Para los kmers repetidos, averigüe cuánto espacio hay entre la próxima vez que ocurre el kmer
  4. Informe la longitud de la brecha media y modal de kmers repetidos, y las estadísticas asociadas con su frecuencia en la secuencia

Algunas regiones locales repetitivas pueden perderse en las estadísticas con este enfoque, es difícil saber si hay varias regiones repetitivas dentro de una sola secuencia, y si las unidades de repetición son en sí mismas ligeramente repetitivas (lo suficiente como para que un kmer se duplique dentro de una unidad de repetición), entonces el algoritmo notificará la repetitividad (ver paso 3) ).

¿RepeatMasker te ayudaría aquí? ¿O solo encuentra elementos repetitivos conocidos y regiones de baja complejidad? Nunca intenté usarlo para identificar repeticiones simples.
Estas repeticiones tienen unidades de repetición de alta complejidad; No he encontrado las regiones marcadas con tantan o polvo, y sospecho que RepeatMasker será similar. El servicio web al menos no puede encontrar la región de repetición en la secuencia de prueba que he vinculado.
Conozco [esta publicación de blog] (https://dazzlerblog.wordpress.com/2016/04/01/detecting-and-soft-masking-repeats/) de Gene Myers, donde está usando la estrategia de enmascarar repeticiones en lecturas largas. para acelerar el ensamblaje del genoma. No estoy seguro de si es exactamente lo que desea, pero pensé que podría ser útil.
Gracias. TANmask (al final de la publicación) se parece mucho al tipo de algoritmo que estoy buscando. Al menos resolverá el problema de los límites, si no la repetición de la estadística de longitud unitaria. ¿Puedes escribir eso como respuesta?
Dos respuestas:
#1
+2
Sergio Arredondo
2017-06-02 19:20:35 UTC
view on stackexchange narkive permalink

¿Podría ser una idea fragmentar las lecturas largas en secuencias pequeñas, como simular lecturas de Illumina de 150 pb, y luego mapear estas pequeñas secuencias con las lecturas largas originales y extraer regiones con una cobertura alta?

#2
+2
gringer
2018-09-04 16:09:01 UTC
view on stackexchange narkive permalink

He ordenado la visualización. Aquí hay tres representaciones alternativas de estructuras repetitivas para la misma secuencia:

Repeat patterns represented as a dotplot Repeat patterns represented as a linear "ripple" plot Repeat patterns represented as a semicircular "sunset" plot

Estos fueron generados usando el mismo script R, invocable desde la línea de comando:

  $ repaver.r -style dotplot -prefix dotplot MAOA_chrX_43645715-43756016.fa $ repaver. r -style profile -prefix profile MAOA_chrX_43645715-43756016.fa $ repaver.r -style semicircular -prefix semi MAOA_chrX_43645715-43756016.fa  

Más detalles sobre esto en la presentación Di en la Semana de Investigación de Queenstown, 2018. También hay un capítulo de un libro electrónico revisado por pares en breve.

Esto es lo suficientemente rápido como para que pueda ejecutarlo en el genoma de nanoporos C. elegans en aproximadamente la mitad una hora, produciendo estos gráficos para cada contig. No tengo un método para iterar a través de esta gráfica y seleccionar la longitud de repetición dominante en cada ubicación, pero esa es una extensión [relativamente] simple de lo que ya hice.



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...