WEBVTT
Kind: captions
Language: es

00:00:01.160 --> 00:00:02.850
Impresionante, sí, gracias por la introducción.

00:00:02.850 --> 00:00:05.110
Con suerte, la gente puede ver mi pantalla.

00:00:05.110 --> 00:00:06.110
Sí, hola a todos.

00:00:06.110 --> 00:00:07.680
Como se mencionó, mi nombre es Niema Moshiri.

00:00:07.680 --> 00:00:12.210
Soy Profesor Asistente en el Departamento
de Ciencias de la Computación e Ingeniería

00:00:12.210 --> 00:00:13.210
en UC San Diego.

00:00:13.210 --> 00:00:16.930
Mi charla se centrará en algunos métodos
que mi laboratorio desarrolló usando los

00:00:16.930 --> 00:00:19.060
fondos de la NSF para acelerar el análisis
genómico viral.

00:00:19.060 --> 00:00:24.750
Específicamente, la charla de hoy se va a
centrar en cómo hemos habilitado el alineamiento

00:00:24.750 --> 00:00:28.880
de secuencias múltiples guiado por referencias
escalables de genomas virales completos.

00:00:28.880 --> 00:00:34.140
De hecho, hemos hecho muchas otras aceleraciones,
así que no tuve tiempo de hablar de hoy.

00:00:34.140 --> 00:00:40.780
Terminaré con un enlace a mi sitio web si
la gente tiene curiosidad acerca de cómo

00:00:40.780 --> 00:00:44.130
otra cosa se podría acelerar otros aspectos
de este tipo de análisis.

00:00:44.130 --> 00:00:45.340
Así que empecemos.

00:00:45.340 --> 00:00:52.630
Solo para dar un poco de contexto - aquí
hay un marco para un flujo de trabajo de filogenia

00:00:52.630 --> 00:00:53.630
viral estándar.

00:00:53.630 --> 00:00:56.879
Y, sabes, antes de hablar de esto, la filogenia
viral es muy importante para poder estudiar

00:00:56.879 --> 00:01:00.300
cómo el virus está mutando con el tiempo.

00:01:00.300 --> 00:01:02.739
¿Cómo es, una especie de ramificación?

00:01:02.739 --> 00:01:06.710
¿Cómo están relacionadas las diferentes
muestras que recolectamos en todo el mundo?

00:01:06.710 --> 00:01:11.540
Hay un montón de usos en el mundo de la epidemiología
molecular viral que están fuera del alcance

00:01:11.540 --> 00:01:15.229
de esta charla, pero generalmente, tener una
filogenia inferida a partir de genomas virales

00:01:15.229 --> 00:01:16.229
es muy útil.

00:01:16.229 --> 00:01:20.439
Normalmente el flujo de trabajo comienza así
cuando se empieza con un montón de secuencias

00:01:20.439 --> 00:01:22.850
virales sin alinear, que estoy mostrando aquí.

00:01:22.850 --> 00:01:29.270
El primer paso es por lo general la alineación
de secuencias múltiples donde se trata de

00:01:29.270 --> 00:01:34.755
tipo de colocar estas lagunas en el tipo diferente
de posiciones de cada una de las secuencias

00:01:34.755 --> 00:01:36.500
para conseguir que se alinean mejor.

00:01:36.500 --> 00:01:40.340
Esto te da una noción de homología de secuencias
después de hacer esto.

00:01:40.340 --> 00:01:44.299
Luego, dada la alineación de secuencias múltiples,
podemos realizar inferencia filogenética

00:01:44.299 --> 00:01:48.219
para tratar de inferir una relación evolutiva
no enraizada entre estas secuencias.

00:01:48.219 --> 00:01:54.170
Luego, típicamente después de eso, hacemos
lo que se llama enraizamiento para determinar

00:01:54.170 --> 00:01:56.780
cuál es el ancestro común más probable
de todas las secuencias.

00:01:56.780 --> 00:02:01.360
Ese tipo de entonces nos dice cuál fue el
avance en la historia evolutiva del tiempo

00:02:01.360 --> 00:02:02.360
de estas secuencias.

00:02:02.360 --> 00:02:05.469
Luego, tal vez haga algunos análisis adicionales.

00:02:05.469 --> 00:02:08.670
Tal vez haga un clúster de transmisión.

00:02:08.670 --> 00:02:13.900
Hay muchos otros análisis que puedes hacer
sobre la filogenia y las secuencias.

00:02:13.900 --> 00:02:24.280
Pero este es el tipo de bloques de construcción
de cómo hacer todos estos otros análisis.

00:02:24.280 --> 00:02:31.140
Así que típicamente estos pasos aquí son
los cuellos de botella computacionales clave.

00:02:31.140 --> 00:02:35.300
La alineación de secuencias múltiples y
luego la inferencia filogenética.

00:02:35.300 --> 00:02:44.099
En la charla de hoy, no voy a hablar de inferencia
filogenética voy a estar acercándome a la

00:02:44.099 --> 00:02:45.390
alineación de secuencias múltiples.

00:02:45.390 --> 00:02:50.410
Así que, algún contexto - alineación de
secuencias múltiples esto es lo que se llama

00:02:50.410 --> 00:02:52.030
un problema computacional NP-Complete.

00:02:52.030 --> 00:02:57.989
Lo que eso significa - hay un término muy
técnico de informática - pero básicamente

00:02:57.989 --> 00:03:02.390
lo que esto significa es que no hay una solución
exacta de tiempo polinomial.

00:03:02.390 --> 00:03:14.800
Básicamente me dio un montón de secuencias
y me pidió que se me ocurriera la alineación

00:03:14.800 --> 00:03:16.159
óptima de secuencias múltiples.

00:03:16.159 --> 00:03:20.310
No hay manera de hacer esto en tiempo polinomial.

00:03:20.310 --> 00:03:22.580
Es muy muy lento.

00:03:22.580 --> 00:03:28.830
Heurística se han desarrollado para proporcionar
optim- para proporcionar soluciones aproximadas.

00:03:28.830 --> 00:03:36.620
Por ejemplo, es posible que haya oído hablar
de ClustalOmega, MUSCLE y MAFFT.

00:03:36.620 --> 00:03:42.700
Estas son algunas herramientas estándar que
se utilizan en el espacio.

00:03:42.700 --> 00:03:47.450
Sin embargo, incluso estas heurísticas - generalmente
escalan cuadráticamente con respecto al número

00:03:47.450 --> 00:03:48.450
de secuencias.

00:03:48.450 --> 00:03:57.769
Para el contexto, la base de datos GISAID,
que es la base de datos donde la mayoría

00:03:57.769 --> 00:04:03.570
de la gente está almacenando sus genomas
completos de SARS-CoV-2, esta base de datos

00:04:03.570 --> 00:04:08.670
está creciendo extremadamente rápidamente
y a partir de hoy tenemos más de 15 millones

00:04:08.670 --> 00:04:11.210
de secuencias de SARS-CoV-2 disponibles de
todo el mundo.

00:04:11.210 --> 00:04:15.620
La próxima epidemia será secuenciar genomas
en tiempo real.

00:04:15.620 --> 00:04:19.590
Esta va a ser una herramienta que esperamos
seguir utilizando en las epidemias virales

00:04:19.590 --> 00:04:20.590
por venir.

00:04:20.590 --> 00:04:25.759
Podemos esperar que esto sea aún más significativo
de un problema de big data.

00:04:25.759 --> 00:04:29.320
Actualmente con estas herramientas como ClustalOmega,
MAFFT y MUSCLE, estamos viendo tiempos de

00:04:29.320 --> 00:04:35.570
ejecución de décadas a siglos, que, ya sabes,
por razones obvias, si estamos tratando de

00:04:35.570 --> 00:04:42.039
hacer análisis molecular en tiempo real,
décadas o siglos es un poco demasiado lento.

00:04:42.039 --> 00:04:44.360
Entonces, ¿cómo podemos acelerar esto?

00:04:44.360 --> 00:04:51.229
Bueno, resulta que el problema es en realidad
un poco más fácil de lo que estamos tratando

00:04:51.229 --> 00:04:52.229
de resolver.

00:04:52.229 --> 00:04:56.620
La alineación de secuencias múltiples, en
general, es como asumir que no hay homología

00:04:56.620 --> 00:04:57.620
de las secuencias en absoluto.

00:04:57.620 --> 00:04:58.940
Este es el tiempo que lleva alinear secuencias
completamente arbitrarias.

00:04:58.940 --> 00:05:09.180
Pero el SARS-CoV-2 y con los virus en general
tenemos un problema mucho más simple, ¿verdad?

00:05:09.180 --> 00:05:11.630
Tenemos mucha homología de secuencias.

00:05:11.630 --> 00:05:18.479
Incluso si el virus está mutando, ya sabes,
significativamente en todo el mundo, cada

00:05:18.479 --> 00:05:23.281
secuencia viral que obtenemos va a ser casi
idéntica al gen de referencia.

00:05:23.281 --> 00:05:30.050
No va a ser exactamente idéntico, pero va
a ser casi idéntico.

00:05:30.050 --> 00:05:37.509
Así que en realidad nos enfrentamos a un
problema computacional mucho más simple que

00:05:37.509 --> 00:05:41.289
es la alineación de secuencias múltiples
de secuencias muy similares.

00:05:41.289 --> 00:05:44.979
Entonces, ¿cómo podemos usar esa función
para acelerar este análisis?

00:05:44.979 --> 00:05:50.060
Podemos hacer lo que se llama un enfoque de
alineación a referencia.

00:05:50.060 --> 00:05:58.311
Así que en lugar de tratar de alinear todo
con el otro a la vez, lo que podríamos hacer

00:05:58.311 --> 00:06:03.000
es alineaciones individuales en cuanto a pares
contra una unidad de referencia.

00:06:03.000 --> 00:06:09.610
Así que en esta figura, la barra verde más
gruesa en la parte superior representa la

00:06:09.610 --> 00:06:14.170
referencia a nuestro genoma de ámbito 2,
y cada uno de estos otros genomas de color

00:06:14.170 --> 00:06:17.789
representa una secuencia que recojo del mundo
real.

00:06:17.789 --> 00:06:21.930
Quiero alinear cada uno de estos con el genoma
de referencia.

00:06:21.930 --> 00:06:23.280
Lo que podría hacer es uno por uno puedo
alinear independientemente cada una de estas

00:06:23.280 --> 00:06:24.867
secuencias del genoma contra el genoma de
referencia, que podría hacer cada uno de

00:06:24.867 --> 00:06:33.539
estos bastante rápido y puedo hacer una paralelización
masiva porque cada una de estas alineaciones

00:06:33.539 --> 00:06:37.380
de pares a la referencia se puede hacer de
forma completamente independiente.

00:06:37.380 --> 00:06:43.060
Puedo paralelizar sin embargo muchos núcleos
mi computadora tiene, puedo lanzar que muchos

00:06:43.060 --> 00:06:45.030
en este problema.

00:06:45.030 --> 00:06:54.160
Luego, una vez que haya competido con todas
esas líneas de emparejamiento a la referencia,

00:06:54.160 --> 00:07:00.139
podría usar el genoma de la llave - puedo
usar sus anclajes, sus posiciones como anclajes

00:07:00.139 --> 00:07:04.220
para crear las columnas de mi línea de secuencia
múltiple.

00:07:04.220 --> 00:07:10.729
Por ejemplo, tal vez empezaré con la primera
posición del genoma de referencia y veré,

00:07:10.729 --> 00:07:17.650
bueno, en la secuencia roja esta es la letra
que se alinea con esa posición.

00:07:17.650 --> 00:07:20.880
En la secuencia naranja, esta es la letra.

00:07:20.880 --> 00:07:23.949
En la secuencia rosa, esta es la letra.

00:07:23.949 --> 00:07:28.169
En la secuencia azul, esta es la letra.

00:07:28.169 --> 00:07:36.080
Y puedo combinar todas esas letras en una
columna de mi alineación de secuencia múltiple.

00:07:36.080 --> 00:07:43.160
Y podría hacer lo mismo para la segunda posición
de mi genoma de referencia, lo mismo para

00:07:43.160 --> 00:07:46.960
la tercera posición, cuarta posición, todo
el camino.

00:07:46.960 --> 00:07:52.490
Y tipo de posición por posición puedo construir
mi alineación de secuencia múltiple.

00:07:52.490 --> 00:07:58.820
Esta idea, esto es realmente bueno porque
es masivamente paralelizable y se escala linealmente

00:07:58.820 --> 00:08:03.050
con el número de secuencias en lugar de cuadrática.

00:08:03.050 --> 00:08:06.569
Así que también tiene una escalabilidad
mucho mejor.

00:08:06.569 --> 00:08:09.199
¿Tenemos que implementar este enfoque desde
cero?

00:08:09.199 --> 00:08:10.470
En realidad no.

00:08:10.470 --> 00:08:15.816
Resulta que si uno da un paso atrás y piensa
en este problema, esto es realmente equivalente,

00:08:15.816 --> 00:08:16.911
en cierto sentido, al problema del mapeo de
lectura larga.

00:08:16.911 --> 00:08:20.349
Demos un paso atrás y volvamos a pensar cuál
es el problema que estamos abordando.

00:08:20.349 --> 00:08:28.419
Nuestra entrada es un genoma de referencia
y un montón de secuencias largas que son

00:08:28.419 --> 00:08:30.990
muy similares al genoma de referencia.

00:08:30.990 --> 00:08:34.060
Nuestra salida es una alineación de cada
una de esas secuencias contra el genoma de

00:08:34.060 --> 00:08:35.060
referencia.

00:08:35.060 --> 00:08:36.060
Este es exactamente el mismo problema computacional
que la asignación de lecturas largas.

00:08:36.060 --> 00:08:37.450
En lugar de tener que reinventar la rueda,
podríamos simplemente construir a partir

00:08:37.450 --> 00:08:38.551
de todas estas técnicas realmente avanzadas
que la gente ha construido para resolver el

00:08:38.551 --> 00:08:42.479
problema del mapeo de lectura larga y simplemente
aplicarlo a este contexto.

00:08:42.479 --> 00:08:44.940
Con ese objetivo, desarrollé una herramienta
llamada ViralMSA y lo que hace es simplemente

00:08:44.940 --> 00:08:46.890
envolver los mapeadores de lectura largos
existentes para realizar esta alineación

00:08:46.890 --> 00:08:48.400
de secuencias múltiples guiada por referencia.

00:08:48.400 --> 00:08:53.370
Trata cada uno de esos genomas que he recopilado
como lecturas largas y trata el genoma de

00:08:53.370 --> 00:08:55.830
referencia como un genoma de referencia.

00:08:55.830 --> 00:09:02.540
Solo llama a ese mapeador de lectura - Me
envuelvo contra algunos mapeadores de lectura

00:09:02.540 --> 00:09:08.450
diferentes solo para demostrar flexibilidad
- pero principalmente sugiero que la gente

00:09:08.450 --> 00:09:10.190
use Minimap2 para la velocidad y la precisión.

00:09:10.190 --> 00:09:19.010
Luego, dados esos resultados de mapeo leídos,
puedo entonces - o dados los resultados de

00:09:19.010 --> 00:09:23.810
mapeo - puedo simplemente compilarlos en una
sola línea de secuencia múltiple.

00:09:23.810 --> 00:09:30.459
Así que todo lo que tienes que hacer para
ejecutar ViralMSA es darle a ViralMSA un genoma

00:09:30.459 --> 00:09:33.110
de referencia y un montón de secuencias para
alinear.

00:09:33.110 --> 00:09:37.690
Se encargará automáticamente de indexar
el genoma de referencia, tal vez si le das

00:09:37.690 --> 00:09:42.890
un número accesorio se encargará de descargar
e indexar el genoma de referencia.

00:09:42.890 --> 00:09:49.370
Se encargará de todo el pre-procesamiento
y todas las cosas de downstream y solo saldrá

00:09:49.370 --> 00:09:55.610
- llamará al mapeador de lectura, fusionará
los resultados en la alineación SQL múltiple,

00:09:55.610 --> 00:09:59.930
y solo generará un único archivo estándar
que es tu alineación de secuencias múltiples.

00:09:59.930 --> 00:10:03.180
¿Cómo funciona frente a las herramientas
existentes?

00:10:03.180 --> 00:10:09.071
Hicimos un experimento de referencia en el
que comparamos el tiempo de ejecución de

00:10:09.071 --> 00:10:14.910
ViralMSA alrededor de Minimap 2 en comparación
con Virulign, que es un enfoque de alineación

00:10:14.910 --> 00:10:20.190
existente con referencia, pero que solo implementa
su propia desde cero alineado con referencia.

00:10:20.190 --> 00:10:22.850
También comparamos con MAFFT, que se considera
típicamente una de las herramientas de segmento

00:10:22.850 --> 00:10:24.089
múltiple más utilizadas.

00:10:24.089 --> 00:10:26.470
En este gráfico, en el eje horizontal tengo
el número de secuencias.

00:10:26.470 --> 00:10:29.490
En el eje vertical tengo el tiempo total de
ejecución en segundos.

00:10:29.490 --> 00:10:34.249
Esto se hizo en secuencias completas del genoma
del SARS-CoV-2, por lo que la longitud del

00:10:34.249 --> 00:10:35.450
genoma es de aproximadamente 29.000.

00:10:35.450 --> 00:10:41.399
Como podemos ver, la línea azul, que es ViralMSA,
es órdenes de magnitud más rápido que las

00:10:41.399 --> 00:10:42.399
herramientas existentes.

00:10:42.399 --> 00:10:44.709
En comparación con VIRULIGN, que también
está escalando linealmente, estamos obteniendo

00:10:44.709 --> 00:10:48.190
- y por cierto, esta parcela es una parcela
de escala de registro - así que en comparación

00:10:48.190 --> 00:10:49.190
con VIRULIGN, somos aproximadamente mil veces
más rápidos.

00:10:49.190 --> 00:10:51.149
Y con MAFFT, no somos tan rápidos, pero se
puede ver que debido a que MAFFT escala cuadrática,

00:10:51.149 --> 00:10:54.030
nuestra velocidad con respecto a MAFFT está
aumentando a medida que avanza el tiempo.

00:10:54.030 --> 00:10:55.030
Incluso en solo mil secuencias.

00:10:55.030 --> 00:10:56.030
golpeamos aproximadamente mil veces más rápido
y esa brecha aumenta.

00:10:56.030 --> 00:10:57.030
Ahora, pueden estar preguntándose, bien,
bueno, rápido es bueno pero ¿cuál es el

00:10:57.030 --> 00:10:58.030
punto si no me da buenas alineaciones?

00:10:58.030 --> 00:10:59.030
También comparamos la precisión.

00:10:59.030 --> 00:11:00.930
Lo que hicimos fue tomar la alineación de
secuencias múltiples calculada por MAFFT,

00:11:00.930 --> 00:11:02.819
tomar la alineación de secuencias múltiples
calculada por ViralMSA en un montón de alineaciones

00:11:02.819 --> 00:11:05.209
curadas a mano del VIH, Ébola, y estoy en
blanco en el tercer virus, pero básicamente

00:11:05.209 --> 00:11:10.590
tomamos virus que habíamos curado alineaciones
de Los álamo- oh en realidad, no - esta trama

00:11:10.590 --> 00:11:11.590
es solo de HIV-1.

00:11:11.590 --> 00:11:13.660
Desde el Laboratorio Nacional de Los álamos
tomamos sus alineaciones de secuencia múltiple

00:11:13.660 --> 00:11:16.300
y las usamos como verdad de tierra.

00:11:16.300 --> 00:11:17.488
Luego vimos cómo se mapea en ViralMSA comparar
contra la tierra verdad comisariada alineación

00:11:17.488 --> 00:11:18.488
de secuencias múltiples.

00:11:18.488 --> 00:11:20.209
Si calculamos las distancias de emparejamiento
de las secuencias que obtenemos en nuestra

00:11:20.209 --> 00:11:24.899
alineación, y luego hacemos una prueba de
manto para la precisión - encontramos la

00:11:24.899 --> 00:11:27.100
correlación entre nuestras distancias de
emparejamiento, y el emparejamiento se calcula

00:11:27.100 --> 00:11:29.120
directamente desde la verdadera alineación
de secuencias múltiples, vemos que la correlación

00:11:29.120 --> 00:11:30.120
es insignificantemente diferente.

00:11:30.120 --> 00:11:32.850
Aquí, ya sabes, obtenemos un coeficiente
de correlación como 0.994 para el MSA viral

00:11:32.850 --> 00:11:35.440
en comparación con 0.997 para el cálculo
de distancia por pares.

00:11:35.440 --> 00:11:36.440
En realidad, cuando calculamos las filogenias,
las filogenias inferidas utilizando los elementos

00:11:36.440 --> 00:11:41.180
de secuencia múltiple ViralMSA son en realidad
ligeramente más alta precisión topológica

00:11:41.180 --> 00:11:43.800
que los estimados a partir de MAFFT.

00:11:43.800 --> 00:11:48.820
Así que, insignificantemente, pero aún así
lo que estamos mostrando es que estos son

00:11:48.820 --> 00:11:52.910
esencialmente equivalentes en términos de
precisión para todos los efectos.

00:11:52.910 --> 00:11:56.269
La conclusión - ViralMSA es una herramienta
que permite la rápida alineación de secuencias

00:11:56.269 --> 00:11:59.430
múltiples de ultra grandes conjuntos de datos
virales.

00:11:59.430 --> 00:12:05.960
Es de código abierto, puedes encontrarlo
en GitHub, y ya sabes, por favor considera

00:12:05.960 --> 00:12:07.970
usarlo en tus análisis virales.

00:12:07.970 --> 00:12:13.450
Y agradecimientos - Quiero agradecer a Heng
Li, él es el desarrollador de Minimap2 y

00:12:13.450 --> 00:12:15.139
es realmente su experiencia en el desarrollo
de Minimap2 que permite la velocidad y el

00:12:15.139 --> 00:12:16.139
rendimiento de ViralMSA.

00:12:16.139 --> 00:12:17.760
Quiero agradecer a la NSF por la subvención
que apoya este proyecto.

00:12:17.760 --> 00:12:19.490
Y la investigación también fue apoyada mediante
créditos de investigación de la plataforma

00:12:19.490 --> 00:12:20.490
Google Cloud.

00:12:20.490 --> 00:12:23.610
Así que voy a ahorrar tiempo para cualquier
pregunta o estoy feliz de terminar aquí.

