ES2966889T3 - Sistemas de procesamiento paralelo y métodos para el análisis altamente escalable de datos de secuencia biológica - Google Patents
Sistemas de procesamiento paralelo y métodos para el análisis altamente escalable de datos de secuencia biológica Download PDFInfo
- Publication number
- ES2966889T3 ES2966889T3 ES15860295T ES15860295T ES2966889T3 ES 2966889 T3 ES2966889 T3 ES 2966889T3 ES 15860295 T ES15860295 T ES 15860295T ES 15860295 T ES15860295 T ES 15860295T ES 2966889 T3 ES2966889 T3 ES 2966889T3
- Authority
- ES
- Spain
- Prior art keywords
- segment
- sequence
- segments
- size
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 135
- 238000012545 processing Methods 0.000 title description 130
- 238000004458 analytical method Methods 0.000 title description 79
- 238000013507 mapping Methods 0.000 claims abstract description 20
- 238000003205 genotyping method Methods 0.000 claims description 44
- 108020004414 DNA Proteins 0.000 claims description 14
- 102000053602 DNA Human genes 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 229920002477 rna polymer Polymers 0.000 claims description 7
- 108091028043 Nucleic acid sequence Proteins 0.000 claims description 6
- 230000008569 process Effects 0.000 description 65
- 238000013459 approach Methods 0.000 description 41
- 230000003426 interchromosomal effect Effects 0.000 description 30
- 210000000349 chromosome Anatomy 0.000 description 24
- 238000012163 sequencing technique Methods 0.000 description 21
- 239000000523 sample Substances 0.000 description 17
- 101000708766 Homo sapiens Structural maintenance of chromosomes protein 3 Proteins 0.000 description 14
- 241000042032 Petrocephalus catostoma Species 0.000 description 14
- 238000007481 next generation sequencing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 11
- 230000006872 improvement Effects 0.000 description 11
- 238000010200 validation analysis Methods 0.000 description 10
- 108700028369 Alleles Proteins 0.000 description 9
- 230000002759 chromosomal effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 5
- 238000011331 genomic analysis Methods 0.000 description 5
- 210000004507 artificial chromosome Anatomy 0.000 description 4
- 238000003339 best practice Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 102000054766 genetic haplotypes Human genes 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 201000011510 cancer Diseases 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 230000002068 genetic effect Effects 0.000 description 3
- 230000007614 genetic variation Effects 0.000 description 3
- 238000012268 genome sequencing Methods 0.000 description 3
- 239000002773 nucleotide Substances 0.000 description 3
- 125000003729 nucleotide group Chemical group 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012070 whole genome sequencing analysis Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241000894006 Bacteria Species 0.000 description 2
- 206010028980 Neoplasm Diseases 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 210000003917 human chromosome Anatomy 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 102000054765 polymorphisms of proteins Human genes 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000002864 sequence alignment Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 206010069754 Acquired gene mutation Diseases 0.000 description 1
- 208000035240 Disease Resistance Diseases 0.000 description 1
- 241000206602 Eukaryota Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 208000026350 Inborn Genetic disease Diseases 0.000 description 1
- 208000024556 Mendelian disease Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000003759 clinical diagnosis Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004374 forensic analysis Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 102000054767 gene variant Human genes 0.000 description 1
- 208000016361 genetic disease Diseases 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 208000032839 leukemia Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000813 microbial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 210000004940 nucleus Anatomy 0.000 description 1
- 230000008506 pathogenesis Effects 0.000 description 1
- 230000001717 pathogenic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 230000037439 somatic mutation Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000005945 translocation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/20—Sequence assembly
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Chemical & Material Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Apparatus Associated With Microorganisms And Enzymes (AREA)
- Image Processing (AREA)
Abstract
Un aparato incluye una memoria configurada para almacenar una secuencia que incluye una estimación de una secuencia biológica. La secuencia incluye un conjunto de elementos. El aparato también incluye un módulo de asignación implementado en un procesador de hardware. El módulo de asignación está configurado para recibir la secuencia desde la memoria, y asignar cada elemento a al menos un segmento de un conjunto de segmentos, incluyendo, cuando un elemento se asigna a al menos un primer segmento y un segundo segmento, asignar el elemento a ambos. el primer segmento y el segundo segmento. Para cada segmento de un conjunto de segmentos específicos de ese procesador de hardware, y sustancialmente simultáneo con los procesadores de hardware restantes, elimine al menos una parte de los elementos duplicados en ese segmento para generar un segmento deduplicado. Reordene los elementos en el segmento deduplicado para generar un segmento realineado que tenga una probabilidad reducida de errores de alineación. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Sistemas de procesamiento paralelo y métodos para el análisis altamente escalable de datos de secuencia biológica Antecedentes
Las realizaciones descritas en el presente documento se relacionan en general con una velocidad y eficiencia mejoradas de sistemas de procesamiento múltiple que llevan a cabo análisis de datos de secuencias biológicas. Los beneficios de las realizaciones descritas en el presente documento proporcionan datos de secuencia del genoma rápidos, precisos y deterministas.
Los avances en la tecnología de secuenciación hacen posible la secuenciación del genoma completo a escala poblacional. Con la velocidad cada vez mayor a la que se generan datos de secuenciación de próxima generación (NGS, del inglés"next generation sequencing"),se ha vuelto importante aumentar y/u optimizar el flujo de trabajo de procesamiento y análisis de datos para cerrar la brecha entre big data y descubrimiento científico. Algunos sistemas conocidos sugieren que una muestra se secuencia con una profundidad de al menos 30X de cobertura, aproximadamente mil millones de lecturas cortas, lo que da un total de 100 gigabases de salida FASTQ sin procesar. Algunos sistemas conocidos analizan estos datos utilizando una serie computacional intensiva de pasos que los seres con alineación de estas secuencias leen en un genoma de referencia y terminan con la detección de diferencias entre la muestra y la referencia. Este proceso de detección de variantes y genotipado permite el uso preciso de los datos de la secuencia para identificar polimorfismos de un solo nucleótido (s Np del inglés"single nucleotide polymorphisms"),pequeñas inserciones y eliminaciones (indeles) y variantes estructurales.
El proceso de secuenciación de un genoma mediante tecnología NGS y el posterior análisis de datos para identificar variantes genéticas se ha convertido en una poderosa herramienta para el descubrimiento en múltiples especies, desde procariotas (por ejemplo, bacterias y virus) hasta eucariotas (por ejemplo, plantas y humanos). En la humanidad, la NGS ha permitido aumentar el descubrimiento de nuevas variantes funcionales en enfermedades sindrómicas y comunes). La NGS ahora está experimentando una rápida adopción clínica, impulsada por el reconocimiento de la utilidad de diagnóstico de NGS y las mejoras en la calidad y velocidad de adquisición de datos. La NGS está transformando la investigación en otras disciplinas, incluidas la ciencia forense, la patogénesis microbiana, la ciencia veterinaria y las aplicaciones agrícolas, por nombrar sólo algunas. Por ejemplo, NGS está permitiendo el genotipado rápido de SNP para la detección rutinaria en cultivos agrícolas, acelerando el retorno de la inversión en prácticas de mejoramiento y el descubrimiento de loci de resistencia a enfermedades.
Independientemente de la especie para la que se secuencia un genoma, el proceso de análisis de datos secuenciales puede tardar días en completarse sin la capacidad de distribuir la carga de trabajo entre múltiples nodos informáticos. Con el lanzamiento de una nueva tecnología de secuenciación que permite la secuenciación mensual del genoma a escala poblacional de miles de secuencias del genoma completo sin procesar, los enfoques de análisis actuales no podrán seguir el ritmo.
El documento US2013/311106A1 divulga datos de secuenciación genética que se dividen en varios subconjuntos. Se crea un intersubconjunto para pares de lectura con relaciones de posición asignadas a diferentes de varios subconjuntos. Los datos de secuencia genética obtenidos se analizan dividiendo ciertos pasos de procesamiento entre varias rutas de procesamiento paralelas correspondientes a varios subconjuntos.
En consecuencia, existe una necesidad de métodos de análisis que puedan aumentar y/u optimizar el uso de recursos computacionales de estas herramientas bioinformáticas y reducir el tiempo necesario para pasar de lecturas sin procesar a llamadas variantes.
Sumario
La invención está definida por las reivindicaciones adjuntas.
Un aparato incluye una memoria configurada para almacenar una secuencia. La secuencia incluye una estimación de una secuencia biológica. La secuencia incluye un conjunto de elementos. El aparato también incluye un conjunto de procesadores de hardware acoplados operativamente a la memoria. Cada procesador de hardware del conjunto de procesadores de hardware está configurado para implementar un módulo de procesamiento de segmentos. El aparato también incluye un módulo de asignación implementado en un procesador de hardware del conjunto de procesadores de hardware. El módulo de asignación está configurado para recibir la secuencia desde la memoria, y asignar cada elemento del conjunto de elementos a al menos un segmento de múltiples segmentos, incluyendo, cuando un elemento del conjunto de elementos se asigna a al menos un primer segmento y un segundo segmento de los múltiples segmentos, asignando el elemento del conjunto de elementos tanto al primer segmento como al segundo segmento. El módulo de procesamiento de segmentos para cada procesador de hardware del conjunto de procesadores de hardware está acoplado operativamente al módulo de asignación. El módulo de procesamiento de segmentos está configurado para que, en cada segmento de un conjunto de segmentos específicos de ese procesador de hardware y de los múltiples segmentos, y sustancialmente simultáneamente con los procesadores de hardware restantes del conjunto de procesadores de hardware, elimine al menos una parte de elementos duplicados, en ese segmento de ese conjunto de segmentos para generar un segmento deduplicado. El módulo de procesamiento de segmentos está configurado además para reordenar los elementos en el segmento deduplicado para generar un segmento realineado. El segmento realineado tiene una menor probabilidad de errores de alineación que el segmento deduplicado.
Breve descripción de los dibujos
La figura 1 - Es una ilustración de pasos de procesamiento de datos en serie para el análisis de datos de resecuenciación del genoma, según una realización. Realizar llamadas SNP e indel puede incluir, por ejemplo: (1) alineación de lectura inicial; (2) eliminación de lecturas duplicadas; (3) realineamiento local en torno a los indeles; (4) recalibración de los puntajes de calidad básicos; y (5) descubrimiento de variantes y genotipado. Estos pasos son los mismos para genomas completos profundos y de paso bajo, exomas completos y resecuenciación dirigida.
Las figuras 2A-2B - Son un ejemplo de ilustración de la división de un genoma en subregiones cromosómicas, equilibrando así el equilibrio de carga y permitiendo altos niveles de paralelización. La paralelización por cromosoma sufre un desequilibrio de carga inherente, debido a los diferentes tamaños de los cromosomas humanos (figura 2A). Sin embargo, la utilización de subregiones cromosómicas permite equilibrar la carga de análisis entre los procesadores disponibles (figura 2B).
La figura 3A - Es una ilustración de un método de deduplicación en paralelo de ejemplo, según una realización. Después de la alineación, las lecturas se dividen en varios archivos BAM (del inglés"Binary Alignment Map"o en español "Mapa de alineación binaria") de subregión. Si ambas lecturas en el par se asignan a la misma región, se pueden colocar en el archivo BAM de subregión correspondiente. De lo contrario, las lecturas se colocan en el archivo BAM intercromosómico (ChrT). Una vez que se hayan procesado las lecturas alineadas sin procesar, las lecturas en los BAM subregionales y las lecturas intercromosómicas se pueden deduplicar correctamente en paralelo. Las lecturas intercromosómicas deduplicadas se fusionan individualmente nuevamente en su subregión deduplicada BAM apropiada. Estos BAM de subregión fusionados luego se someten a una realineación local, definiendo BAM de subregión procesados listos para los pasos de recalibración y genotipado.
La figura 3B - Es una ilustración de otro método de deduplicación en paralelo de ejemplo, según una realización. Después de la alineación, las lecturas se dividen en varios archivos BAM de subregión. Si ambas lecturas en el par se asignan a la misma región, se colocan en el archivo BAM de subregión correspondiente. De lo contrario, las lecturas se colocan en el archivo BAM intercromosómico (ChrI). Una vez que se hayan procesado las lecturas alineadas sin procesar, las lecturas intercromosómicas se pueden deduplicar correctamente. Las lecturas intercromosómicas deduplicadas se fusionan individualmente nuevamente en su subregión BAM apropiada. Estos BAM de subregión fusionados luego se someten a deduplicación y realineamiento local, definiendo BAM de subregión procesados listos para los pasos de recalibración y genotipado.
La figura 3C - Es una ilustración de otro método de deduplicación en paralelo de ejemplo, según una realización. Después de la alineación, las lecturas se dividen en varios archivos BAM de subregión. Si ambas lecturas en el par se asignan a la misma región, se colocan en el archivo BAM de subregión correspondiente. De lo contrario, las lecturas se colocan en ambos archivos BAM subregionales resultantes. Esto da como resultado temporalmente que las lecturas se dupliquen tanto en la subregión de la primera lectura del par como en la subregión de la segunda lectura del par. Luego, los BAM subregionales pueden someterse a deduplicación, y las lecturas se deduplicarán adecuadamente a medida que los pares de lectura en diferentes subregiones se mantengan juntos. Para los pasos de procesamiento posteriores, la región de superposición de la subregión se recorta en 1000 pb antes de la realineación local. Esto da como resultado la eliminación de las lecturas fuera del nuevo límite subregional, eliminando así las lecturas duplicadas temporalmente creadas durante el paso de división inicial y garantizando así la integridad de los datos en los pasos posteriores de realineación, recalibración, llamada de variantes y genotipado. Una ventaja de este método es la capacidad de transmitir directamente los datos de un paso a otro en la memoria, lo que reduce la E/S y acelera el proceso.
La figura 4 - Es una ilustración de ejemplo de procesamiento de subregiones por el sistema de procesamiento genómico, según una realización. Los cromosomas se dividen en subregiones para los procesos de eliminación de duplicados, realineación, recalibración del puntaje de calidad base y llamada de variantes. Para garantizar el procesamiento adecuado de los límites regionales, en ambos extremos de cada región, se puede incluir una superposición de la región adyacente. Esta superposición actúa como una "zona de amortiguamiento" para garantizar un comportamiento determinista y una detección adecuada de variantes cercanas o que abarcan los límites de la región, como es posible en el caso de inserciones y eliminaciones (indeles). El tamaño de esta zona de amortiguamiento se puede variar, dependiendo del tamaño de inserción de la biblioteca de secuenciación inicial. Por ejemplo, con un tamaño de fragmento estándar de 500 pb, se puede utilizar una zona de amortiguamiento (primer tamaño) de 3000 pb, como se muestra en la figura anterior. Para garantizar la integridad de los datos en los bordes de los límites, con cada paso posterior en el proceso de análisis esta zona de límites disminuye. Por ejemplo, la deduplicación se puede realizar en subregiones con una zona de amortiguamiento de 3000 pb; A continuación, para la realineación local y la recalibración del puntaje de calidad base, se puede utilizar una zona de amortiguamiento de (segundo tamaño) 2000 pb. Finalmente, en este ejemplo, se puede utilizar una zona de amortiguamiento de (tercer tamaño) 1000 pb para la llamada de variantes y el genotipado. Si se realizan llamadas de variantes duplicadas en las regiones superpuestas (véase diagrama insertado), el sistema de procesamiento genómico puede asignar la variante a la subregión correcta. Por ejemplo, la variante "A" llamada en los últimos 1.000 pb de la Subregión X se llama dos veces, una en el procesamiento de la Subregión X y otra en el procesamiento de la Subregión Y. En última instancia, se asigna a la región apropiada según las coordenadas de la límites subregionales originales, sin la zona de amortiguamiento.
Las figuras 5A-5M - Son una representación de flujo de un flujo de trabajo paralelo, según algunas realizaciones. Si bien en algunas de las figuras 5A-5M se ilustra el flujo de trabajo para un Genotipo Unificado GATK, se entiende que el flujo de trabajo es compatible con otros métodos de genotipado adecuados. En el presente documento se ilustran los pasos/procesos de alineación (SA); (5B) una parte del flujo de trabajo paralelo que ilustra la alineación paralela de pares de lectura; (SC) generación de subregiones; (5D) realineamiento; (5E) deduplicación; (5F) recalibración; (5G) genotipado; (5H) procesamiento de subregiones paralelas; (5I) deduplicación paralela de subregiones; (5J) realineamiento/reordenamiento local paralelo de subregiones; (5K) recalibración paralela de subregiones; (5L) genotipado paralelo y filtrado de calidad variante (VCF) de subregiones; (5M) de producción después de la fusión de subregiones procesadas por VCF.
Las figuras 6A-6C - Son una ilustración de optimización y/o mejora del equilibrio de carga que da como resultado una mejor utilización de recursos y tiempos de ejecución más rápidos. Se compararon tres estrategias diferentes para la paralelización del análisis de datos secundarios de secuenciación del genoma completo: equilibrada (utilizada por el sistema de procesamiento genómico, también conocido como "Churchill"), cromosómica (utilizada por HugeSeq) y recopilación de dispersión (utilizada por GATK-Queue). La utilización de recursos, el momento oportuno y la escalabilidad de los tres canales se evaluaron utilizando datos de secuencia para un único conjunto de datos de secuencia del genoma humano (cobertura de 30 veces) (figura 6A). La utilización de la CPU se supervisó durante todo el proceso de análisis y demostró que el sistema de procesamiento genómico mejoró la utilización de recursos (85%) en comparación con HugeSeq (46%) y GATK-Queue (30%) (figura 6B). Las métricas de tiempo de análisis generadas con 8 a 48 núcleos demostraron que el sistema de procesamiento genómico es 2 veces más rápido que HugeSeq, 4 veces más rápido que GATK-Queue y 10 veces más rápido que una implementación en serie ingenua con subprocesos múltiples incorporado habilitado (figura 6C). La diferencia de velocidad entre el sistema de procesamiento genómico y las alternativas aumenta a medida que se utilizan núcleos adicionales en un nodo informático determinado.
Las figuras 7A-7B - Son una ilustración de un escalado eficiente que permite un análisis secundario logrado en menos de dos horas. Se evaluó la ampliación del análisis más allá de un único nodo informático (figura 7A). La aceleración en función del número de núcleos utilizados se evaluó en un grupo de cuatro servidores Dell R815 con el sistema de procesamiento genómico ("Churchill"), GATK-Queue, HugeSeq y análisis en serie. A modo de comparación, también se incluyen la aceleración lineal y la predicha por la ley de Amdahl suponiendo un tiempo secuencial de una hora. La escalabilidad del sistema de procesamiento genómico coincide estrechamente con la predicha por la ley de Amdahl, logrando una aceleración de más de 13 veces entre 8 y 192 núcleos. Por el contrario, tanto HugeSeq como GATK-Queue mostraron mejoras modestas en la velocidad entre 8 y 24 núcleos (el doble), con una aceleración máxima de 3 veces con 48 núcleos y ningún aumento adicional en la velocidad más allá de los 48 núcleos (figura 7B). Los resultados del tiempo para diferentes pasos del sistema de procesamiento genómico se evaluaron con un número cada vez mayor de núcleos. El sistema de procesamiento genómico logró un análisis completo del genoma humano en tres horas utilizando un grupo interno con 192 núcleos y en 100 minutos en el Ohio Supercomputer Center (Glenn Cluster que utiliza 700 núcleos). Los resultados se confirmaron utilizando tanto elPittsburgh Supercomputing CentercomoAmazon Web Services EC2.
La figura 8 - Es una ilustración de la salida final del VCF del sistema de procesamiento genómico ("Churchill"). GATK-Queue y HugeSeq se compararon y evaluaron con el SNP de referencia del Instituto Nacional de Estándares y Tecnología (NIST) y las llamadas de genotipo indel generadas por elGenome in a Bottle Consortium(GIAB). El diagrama de Venn muestra un alto grado de concordancia entre los tres oleoductos. Churchill identificó el mayor número de variantes validadas de los ~2,9 millones de llamadas en el conjunto de datos del GIAB, tanto para SNP (99,9%) como para indeles (93,5%), y tuvo la mayor sensibilidad general (99,7%) y precisión (99,9988%). El índice de Youden (o estadística J), una función de sensibilidad (tasa de verdaderos positivos) y especificidad (tasa de verdaderos negativos), es una medida comúnmente utilizada de la eficacia diagnóstica general.
Las figuras 9A-9B - Son una ilustración que permite un análisis secundario rápido y llamadas de variantes con GATK HaplotypeCaller utilizando recursos de computación en la nube. El análisis de los datos de secuencia sin procesar para un único conjunto de datos de secuencia del genoma humano (cobertura 30X) se comparó utilizando el sistema de procesamiento genómico ("Churchill") y bcbio-nextgen, y ambos canales utilizaron BWA-MEM para la alineación y GATK HaplotypeCaller para la detección de variantes y el genotipado (figura 9A). La utilización de la CPU en una única instancia r3.8xlarge AWS EC2 (32 núcleos) se supervisó durante todo el proceso de análisis y demostró que Churchill mejoró la utilización de los recursos (94 %) en comparación con bcbio-nextgen (57 %), lo que permitió completar todo el análisis. en menos de 12 horas con una sola instancia (figura 9B). A diferencia de bcbio-nextgen, Churchill permite que el proceso de análisis se escale de manera eficiente en múltiples nodos informáticos, lo que reduce significativamente los tiempos de ejecución. Con 16 instancias de AWS EC2, todo el análisis podría completarse en aproximadamente 104 minutos, y la llamada de variantes y el genotipado con la etapa GATK HaplotypeCaller tardarían aproximadamente 24 minutos del tiempo total de ejecución.
Las figuras 10A-10C - Permiten el análisis de la secuencia del genoma humano completo a escala poblacional. El sistema de procesamiento genómico ("Churchill") se utilizó para analizar 1088 de las muestras de genoma completo de baja cobertura que se incluyeron en la "fase 1" del Proyecto 1000 Genomas (1KG). Se utilizaron datos de secuencia sin procesar para toda la población para generar un único VCF de múltiples muestras en 7 días utilizando 400 instancias EC2 de Amazon Web Services (instancias puntuales cc2.8xlarge). El VCF filtrado de Churchill resultante se comparó luego con el VCF del Consorcio 1KG, donde Churchill llamó a 41,2 millones de variantes y el archivo VCF de 1KG contenía 39,7 millones. Los dos conjuntos de archivos VCF tenían un total de 34,4 millones de sitios variantes en común (figura 10A). Se convocaron 33,2 millones de SNP en común, con tasas de validación frente a SNP conocidos muy similares: 52,8 % (Churchill) y 52,4 % (1 KG) (figura 10B). Churchill llamó tres veces más indeles, de los cuales el 19,5% eran conocidos en comparación con el 12,5% en el conjunto de indeles de 1 kg. Los indeles exclusivos de Churchill tienen una tasa de validación 7 veces mayor con variantes conocidas que los exclusivos de 1KG (figura 10C). Se compararon las frecuencias de los alelos menores para las variantes 34,3M con el mismo alelo menor y se produjo un diagrama de dispersión de densidad agrupada (escalado de frecuencias de densidad baja a alta). Los resultados de Churchill y el análisis original de 1KG demostraron frecuencias de alelos menores altamente concordantes (R2 = 0,9978, valor de p <2,2e-16).
La figura 11 - una ilustración de un sistema para procesamiento genómico, según realizaciones.
La figura 12 - una ilustración de un método para procesamiento genómico, según realizaciones.
La figura 13 - una ilustración de un método del módulo de alineación de la figura 11, según realizaciones. La figura 14 - un método del módulo de procesamiento de segmentos de la figura 11, según realizaciones. La figura 15 - Ilustra un método del módulo de alineación de la figura 11, según realizaciones.
Descripción detallada
Como se usa en el presente documento, el término "módulo" se refiere a cualquier conjunto y/o conjunto de componentes eléctricos acoplados operativamente que pueden incluir, por ejemplo, una memoria, un procesador, trazas eléctricas, conectores ópticos, software (que se ejecuta en hardware) y/o o similar. Por ejemplo, un módulo ejecutado en el procesador puede ser cualquier combinación de módulo basado en hardware (por ejemplo, una matriz de puertas programables en campo (FPGA, del inglés"field-programmable gate array"),un circuito integrado de aplicación específica (ASIC, del inglés"application specific integrated circuit"),un procesador de señal digital (DSP, del inglés"digital signal processor"))y/ o módulo basado en software (por ejemplo, un módulo de código informático almacenado en la memoria y/o ejecutado en el procesador) capaz de realizar una o más funciones específicas asociadas con ese módulo.
La figura 11 ilustra un sistema 100 para procesamiento genómico, según una realización. El sistema 100 es operable para uso por entidades tales como usuarios, dispositivos de usuario, otros dispositivos de procesamiento genómico y/o similares. El sistema 100 puede ser una computadora personal, un servidor, una estación de trabajo, una tableta, un dispositivo móvil, un entorno de computación en la nube (por ejemplo, que incluye uno o más servidores, procesadores, etc.), una aplicación o un módulo que se ejecuta en cualquier de estas plataformas, y/o similares.
El sistema 100 puede estar en comunicación con otros dispositivos (no mostrados) a través de, por ejemplo, una o más redes, cada una de las cuales puede ser cualquier tipo de red tal como, por ejemplo, una red de área local (LAN), una red de área amplia red (WAN), una red virtual, una red de telecomunicaciones, una red de datos y/o Internet, implementada como una red cableada y/o una red inalámbrica. En algunas realizaciones, cualquiera o todas las comunicaciones pueden protegerse utilizando cualquier tipo y/o método adecuado de comunicación segura (por ejemplo, capa de conexión segura (SSL)) y/o cifrado. En otras realizaciones, cualquiera o todas las comunicaciones pueden ser no seguras.
En algunas realizaciones, el sistema 100 puede estar en comunicación directa y/o sin red con dispositivos de procesamiento genómico (no mostrados) tales como, por ejemplo, secuenciadores de ADN, cualquier generador de datos de secuencia genómica adecuado y/o similares.
Como se ilustra en la figura 11, el sistema 100 incluye al menos un procesador 110a y una memoria 160. En algunas realizaciones, y como también se ilustra en la figura 1, el sistema 100 puede incluir además procesadores adicionales 110b-110n. En algunas realizaciones, al menos algunos de los procesadores 110a-110n están configurados para ejecutarse en paralelo. En algunas realizaciones, al menos algunos de los procesadores 110a-110n están configurados para ejecutarse en serie.
La figura 11 también ilustra una base de datos 170, aunque se entenderá que, en algunas realizaciones, la base de datos 170 y la memoria 160 pueden ser un almacén de datos común. En algunas realizaciones, la base de datos 170 constituye una o más bases de datos. Además, en otras realizaciones (no mostradas), al menos una base de datos puede ser externa al sistema 100. La figura 11 también ilustra un componente de entrada/salida (E/S) 180, que puede representar una o más interfaces de entrada/salida, implementadas en software y/o hardware, tal como para interactuar con dispositivos de usuario, dispositivos de procesamiento genómico y/o para otras entidades que interactúan directa o indirectamente con el sistema 100.
La memoria 160 y/o la base de datos 170 pueden ser independientemente, por ejemplo, una memoria de acceso aleatorio (RAM), una memoria intermedia, un disco duro, una base de datos, una memoria de sólo lectura programable y borrable (EPROM), una memoria de lectura borrable eléctricamente, memoria de sólo lectura (EEPROM), memoria de sólo lectura (ROM), memoria Flash, etc. La memoria 160 y/o la base de datos 170 pueden almacenar instrucciones para hacer que el procesador 110 ejecute módulos, procesos y/o funciones asociadas con el sistema 100.
Cada uno de los procesadores 110a-110n puede ser independientemente, por ejemplo, un procesador de propósito general, una matriz de puertas programables en campo (FPGA, del inglés"Field Programmable Gate Array"),un circuito integrado de aplicación específica (ASIC, del inglés"Application Specific Integrated Circuit"),un procesador de señal digital (DSP, del inglés"Digital Signal Processor")y/o similares. Los procesadores 110a-110n se puede configurar para ejecutar y/o ejecutar procesos de aplicación y/u otros módulos, procesos y/o funciones asociados con el sistema 100 y/o la red. Uno o más de los procesadores 110a-110n, mientras que se ilustra en la figura 1 como parte del mismo sistema 100 y asociado con una memoria común 160, puede (en algunas realizaciones) acoplarse a los otros procesadores a través de una red y asociarse con otros sistemas/componentes del sistema (no mostrados). El procesador 110a incluye un módulo de asignación 122, un módulo de procesamiento de segmentos 124, un módulo de paralelización 128, un módulo de genotipado 132, un módulo de base de datos 136 y un módulo de comunicación 140. En algunas realizaciones, el procesador 110a puede incluir módulos adicionales (no mostrados). Cada módulo puede ser independientemente un módulo de hardware y/o un módulo de software (implementado en hardware, tal como el procesador 110a). En algunas realizaciones, cada uno de los módulos se puede acoplar operativamente entre sí.
En algunas realizaciones, uno o más de los módulos se pueden implementar en dos o más de los procesadores 110a-110n y/o duplicarse en dos o más de los procesadores 110a-110n. En algunas realizaciones, como se ilustra en la figura 11, cada uno de los procesadores 110b...110n incluye y/o implementa un correspondiente módulo de procesamiento de segmentos 124b...124n. En algunas realizaciones, al menos uno de los procesadores 110b...110n puede estar en un dispositivo diferente, acoplado al sistema 100 directamente o a través de una red.
En otras realizaciones, la funcionalidad de uno o más de los módulos se puede combinar y/o superponer. Por ejemplo, en algunas realizaciones, el módulo de procesamiento de segmentos 124a y el módulo de paralelización 128 pueden ser un único módulo. En algunas realizaciones, la funcionalidad de uno o más módulos y/o la interacción entre los módulos puede basarse en requisitos regulatorios para el procesamiento, almacenamiento, integridad, seguridad y/o similares de datos.
El módulo de comunicación 140 está configurado para facilitar la conectividad de red para el sistema 100. Por ejemplo, el módulo de comunicación 140 puede incluir y/o habilitar un controlador de interfaz de red (NIC), una conexión inalámbrica, un puerto cableado y/o similares. Como tal, el módulo de comunicación 140 puede establecer y/o mantener una sesión de comunicación con cualquier dispositivo de procesamiento genómico, dispositivo de usuario y/o similar asociado/conectado. Dicho de manera similar, el módulo de comunicación 140 puede permitir que el sistema 100 envíe y/o reciba datos.
El módulo de base de datos 136 está configurado para interactuar con la memoria 160 y/o la base de datos 170 para la manipulación de datos (incluido el almacenamiento, modificación y/o eliminación). Por ejemplo, el módulo de base de datos 136 puede almacenar una representación de una secuencia genómica (por ejemplo, como un archivo BAM) en la memoria 160 y/o la base de datos 170.
En algunas realizaciones, la memoria 160 y/o la base de datos 170 están configuradas para almacenar una secuencia que incluye una estimación/aproximación de una secuencia biológica tal como, por ejemplo, el resultado de la secuenciación típicamente generado a partir de un secuenciador de ADN. En algunas realizaciones, la secuencia incluye múltiples elementos. En algunas realizaciones, la secuencia incluye información de puntuación de calidad, que puede ser cualquier información de puntuación que sea una medida de la calidad de identificación de bases individuales en la secuencia biológica (por ejemplo, una puntuación de calidad Phred o una puntuación FASTQ). En algunas realizaciones, cada elemento de la secuencia incluye un par de lectura. Un par de lecturas puede considerarse generalmente un par de lecturas resultantes de la secuenciación de la secuencia biológica desde extremos opuestos (por ejemplo, el extremo 5' y el extremo 3' de una secuencia de ADN), cada una leída en un par de lecturas en la misma posición dentro de la secuencia biológica.
El módulo de asignación 122 está configurado para recibir la secuencia, ya sea desde una fuente externa, desde la memoria 160 y/o desde la base de datos 170. En algunas realizaciones, la secuencia está en un formato de mapa/alineación binaria (BAM). En algunas realizaciones, la secuencia está en formato FASTQ o formato FASTA. En algunas realizaciones, la secuencia biológica es una secuencia de ácido desoxirribonucleico (ADN). En algunas realizaciones, la secuencia biológica es una secuencia ribonucleica (ARN).
El módulo de asignación 122 está configurado además para asignar cada elemento a al menos un segmento o múltiples segmentos. En algunas realizaciones, el módulo de asignación 122 está configurado para, cuando un elemento se asigna a al menos un primer segmento y un segundo segmento, asignar el elemento tanto al primer segmento como al segundo segmento. En otras realizaciones, el módulo de asignación 122 está configurado para, cuando un elemento se asigna a al menos un primer segmento y un segundo segmento, asignar el elemento a uno del primer segmento o al segundo segmento sobre cualquier base adecuada. Cada segmento puede ser cualquier subparte adecuada de la secuencia. En algunas realizaciones, cada segmento corresponde sustancialmente a un cromosoma individual de la secuencia biológica.
En algunas realizaciones, el módulo de asignación 122 está configurado para recibir la secuencia recibiendo, desde una fuente externa, desde la memoria 160 y/o desde la base de datos 170, una primera secuencia que incluye una estimación directa de la secuencia biológica. En algunas realizaciones, el módulo de asignación 122 está configurado además para recibir desde una fuente externa, desde la memoria 160 y/o desde la base de datos 170, una segunda secuencia que incluye una estimación inversa de la secuencia biológica. En algunas realizaciones, el módulo de asignación 122 está configurado además para generar una secuencia emparejada basada en la primera secuencia y la segunda secuencia. En algunas realizaciones, el módulo de asignación 122 está configurado además para alinear la secuencia emparejada con una secuencia de referencia para generar la secuencia objetivo.
Cada uno de los módulos de procesamiento de segmentos 124a-124n está configurado para, que en cada segmento de un conjunto de segmentos (por ejemplo, un conjunto de segmentos correspondientes a un conjunto de cromosomas en la secuencia biológica), elimine al menos una parte de elementos duplicados en ese segmento de ese conjunto de segmentos para generar un segmento deduplicado. De esta manera, se pueden tener en cuenta los errores de duplicación al generar la secuencia para evitar lecturas erróneas. Cada uno de los módulos de procesamiento de segmentos 124a-124n está configurado además para, en cada segmento de un conjunto de segmentos, reordene/realinee los elementos en el segmento deduplicado para generar un segmento realineado, de modo que los errores de alineación entre los pares de lectura se puedan minimizar y/o eliminar sustancialmente. En algunas realizaciones, reordenar/realinear incluye aplicar un algoritmo de Smith-Waterman al segmento deduplicado. En algunas realizaciones, reordenar/realinear incluye aplicar un algoritmo de Needleman-Wunsch al segmento deduplicado. En algunas realizaciones, el segmento realineado tiene una probabilidad reducida de errores de alineación que el segmento deduplicado. En algunas realizaciones, cada uno de los módulos de procesamiento de segmentos 124a-124n está configurado para funcionar como se describió anteriormente sustancialmente en paralelo con cada uno de los demás módulos de procesamiento de segmentos. En algunas realizaciones, al menos dos de los módulos de procesamiento de segmentos 124a-124n están configurados para funcionar como se describió anteriormente sustancialmente en paralelo entre sí.
En algunas realizaciones, cada segmento incluye una parte que tiene un primer tamaño que se superpone a una parte de al menos otro segmento. En algunas realizaciones, el segmento deduplicado asociado con cada segmento incluye una parte que tiene un segundo tamaño que se superpone a una parte del segmento deduplicado asociado con otro segmento. En algunas realizaciones, el segmento realineado asociado con cada segmento incluye una parte que tiene un tercer tamaño que se superpone a una parte del segmento realineado asociado con un segmento restante del conjunto de segmentos. En algunas realizaciones, el segundo tamaño es más pequeño que el primer tamaño. En algunas realizaciones, el tercer tamaño es más pequeño que el segundo tamaño. De esta manera, el solapamiento, que actúa como una "zona de amortiguamiento", garantiza la detección adecuada de variantes cerca o que abarcan los límites de los segmentos (por ejemplo, cromosómicos), como es posible en el caso de inserciones y eliminaciones ("indeles").
En algunas realizaciones, los módulos de procesamiento de segmentos 124a-124n están configurados para transmitir los segmentos realineados al módulo de almacenamiento/base de datos 136 para su almacenamiento en la memoria 160 y/o la base de datos 170. En algunas realizaciones, los módulos de procesamiento de segmentos 124a-124n están configurados para transmitir los segmentos realineados al módulo de genotipado 132 para su posterior procesamiento. El módulo de genotipado 132 está configurado para recibir la salida de cualquiera de los otros módulos (por ejemplo, los múltiples segmentos del módulo de asignación 122), y está configurado además para llevar a cabo cualquier procesamiento adicional que incluye, entre otros, reconstruir la secuencia en una forma definitiva. En algunas realizaciones, el módulo de genotipado 132 está configurado para identificar regiones en la secuencia final que difieren de una referencia conocida con fines de descubrimiento de variantes y genotipado, y proporciona una lista de variantes genéticas y genotipos, respectivamente.
En algunas realizaciones, el módulo de paralelización 128 está configurado para recibir la secuencia y, antes de la asignación por el módulo de asignación 122, dividir la secuencia en múltiples subsecuencias. Cada subsecuencia puede tener una longitud predeterminada tal como, por ejemplo, 1000 elementos (por ejemplo, 1000 pares de bases), 10000 elementos y/o similares. En algunas realizaciones, el tamaño de las subsecuencias es menor que el tamaño de los segmentos.
En tales realizaciones, el módulo de asignación 122 está configurado además para asignar asignando cada subsecuencia a al menos un segmento de los múltiples segmentos. En algunas realizaciones, el módulo de asignación está configurado además para ejecutar la asignación para al menos dos segmentos de una manera sustancialmente simultánea. De esta manera, aspectos del sistema 100 están configurados para una mayor simultaneidad de asignación, lo que conduce a una economía en los tiempos de procesamiento.
En algunas realizaciones, el módulo de paralelización 128 está configurado además para, en cada segmento, después de la asignación por el módulo de asignación 122 y antes de la eliminación por el módulo de procesamiento de segmentos 124a o los módulos de procesamiento de segmentos 124a-124n, combine subsecuencias dentro de ese segmento. De esta manera, aspectos del sistema 100 están configurados para procesar simultáneamente cada segmento como una entidad discreta de relevancia biológica.
La figura 12 ilustra un método 200, según una realización. En algunas realizaciones, el método 200 puede implementarse mediante el sistema 100 y/o una variante estructural/funcional del mismo. El método 200 incluye, en 210, recibir una secuencia. La secuencia incluye una estimación de una secuencia biológica. La secuencia incluye múltiples elementos. En algunas realizaciones, recibir la secuencia incluye recibir una primera secuencia que es una estimación directa de la secuencia biológica. En algunas realizaciones, recibir la secuencia también incluye recibir una segunda secuencia que es una estimación inversa de la secuencia biológica. En algunas realizaciones, recibir la secuencia también incluye generar una secuencia emparejada basada en la primera secuencia y la segunda secuencia. En algunas realizaciones, recibir la secuencia también incluye alinear la secuencia emparejada con una secuencia de referencia para generar la secuencia objetivo.
En algunas realizaciones, la secuencia está en un formato de mapa/alineación binaria (BAM) o en un formato FASTQ. En algunas realizaciones, la secuencia incluye información de puntuación de calidad. En algunas realizaciones, cada elemento incluye un par de lectura. En algunas realizaciones, la secuencia biológica es una de una secuencia de ácido desoxirribonucleico (ADN) o una secuencia ribonucleica (ARN).
El método 200 también incluye, en 220, asignar cada elemento a al menos un segmento entre múltiples segmentos. El paso 220 también incluye, cuando un elemento se asigna tanto a un primer segmento como a un segundo segmento, asignar el elemento tanto al primer segmento como al segundo segmento.
En algunas realizaciones, cuando un elemento se asigna a un primer segmento y a un segundo segmento, la asignación en 220 incluye además asignar el primer segmento y el segundo segmento a una secuencia intersegmentaria.
El método 200 también incluye en 230, para cada segmento, eliminar al menos una parte de elementos duplicados en el segmento para generar un segmento deduplicado (véase subpaso 230a). El método también incluye, en el subpaso 230b, reordenar los elementos en el segmento deduplicado (por ejemplo, aplicando un algoritmo de Smith-Waterman) para generar un segmento realineado. En algunas realizaciones, el segmento realineado tiene una probabilidad reducida de errores de alineación que el segmento deduplicado. El método también incluye, en el subpaso 230c, transmitir el segmento realineado a un módulo de almacenamiento (por ejemplo, el módulo de base de datos 136), un módulo de genotipado (por ejemplo, el módulo de genotipado 132), y/o ambos.
En algunas realizaciones, el método 200 también incluye, antes de asignar en 220, dividir la secuencia en múltiples subsecuencias. En tales realizaciones, la asignación en 220 incluye asignar cada subsecuencia a al menos un segmento. En tales realizaciones, el método también incluye, para cada segmento, después de la asignación en 220 y antes de la eliminación en 230a, combinar subsecuencias dentro del segmento.
En algunas realizaciones, cada segmento incluye una parte que se superpone a una parte de al menos otro segmento restante. En algunas realizaciones, cada segmento incluye una parte que tiene un primer tamaño que se superpone a una parte de al menos otro segmento/restante. En algunas realizaciones, el segmento deduplicado asociado con cada segmento incluye una parte que tiene un segundo tamaño que se superpone a una parte del segmento deduplicado asociado con otro segmento. En algunas realizaciones, el segmento realineado asociado con cada segmento incluye una parte que tiene un tercer tamaño que se superpone a una parte del segmento realineado asociado con otro segmento. En algunas realizaciones, el segundo tamaño es más pequeño que el primer tamaño. En algunas realizaciones, el tercer tamaño es más pequeño que el segundo tamaño.
La figura 13 ilustra un método 300 de funcionamiento del módulo de asignación 122, según realizaciones. El método 300 incluye, en 310, recibir una secuencia. En algunas realizaciones, la secuencia incluye una estimación de una secuencia biológica. En algunas realizaciones, la secuencia incluye un conjunto de elementos. En algunas realizaciones, el paso 310 incluye, en el subpaso 310a, recibir una primera secuencia. La primera secuencia incluye una estimación directa de la secuencia biológica. En algunas realizaciones, el paso 310 incluye además, en el subpaso 310b, recibir una segunda secuencia. La segunda secuencia incluye una estimación inversa de la secuencia biológica. En algunas realizaciones, el paso 310 incluye además, en el subpaso 310c, generar una secuencia emparejada basada en la primera secuencia y la segunda secuencia. En algunas realizaciones, el paso 310 incluye además, en el subpaso 310d, alinear la secuencia emparejada con una secuencia de referencia para generar la secuencia objetivo.
El método 300 incluye además, en el paso 320, asignar cada elemento del conjunto de elementos a al menos un segmento de múltiples segmentos. En algunas realizaciones, el paso 320 incluye además, cuando un elemento se asigna tanto a un primer segmento como a un segundo segmento, asignar el elemento tanto al primer segmento como al segundo segmento.
La figura 14 ilustra un método 400 de operación del módulo de procesamiento de segmentos 124a, según realizaciones, aunque se entiende que el método 400 puede ser representativo de cualquiera de los otros módulos de procesamiento de segmentos 124b-124n. El método 400, en algunas realizaciones, se ejecuta para cada segmento generado por el módulo de asignación 122. El método 400 incluye, en 410, eliminar al menos una parte de elementos duplicados en el segmento para generar un segmento deduplicado (o "deduplicación"). El método 400 incluye además, en 420, reordenar/realinear los elementos en el segmento deduplicado para generar un segmento realineado. El método 400 incluye además, en 430, transmitir el segmento realineado a al menos uno de un módulo de almacenamiento (por ejemplo, el módulo de base de datos 136) o un módulo de genotipado (por ejemplo, el módulo de genotipado 132).
La figura 15 ilustra un método 500 de funcionamiento del módulo de paralelización 128, según realizaciones. El método 500 incluye, en 510, antes de la asignación mediante el módulo de asignación 122, dividir la secuencia en múltiples subsecuencias. El método 500 incluye además, en 520, transmitir las múltiples subsecuencias al módulo de asignación 122 para su procesamiento. El método 500 incluye además, en 530, recibir, después de la asignación por el módulo de asignación 122 (por ejemplo, véase la figura 13), las subsecuencias del módulo de asignación. El método 500 incluye además, en 540, después de la asignación por el módulo de asignación 122 y antes de la eliminación por el módulo o módulos de procesamiento de segmentos 124a(-124n), combinar subsecuencias dentro de ese segmento. El método 500 incluye además, en 550, transmitir el segmento con las subsecuencias combinadas al módulo o módulos de procesamiento de segmentos 124a(-124n).
En algunas realizaciones, se usa un sistema de procesamiento genómico (por ejemplo, el sistema 100 de la figura 11) para procesar datos genómicos. Se entiende que el sistema de procesamiento genómico puede realizar parte o toda la funcionalidad descrita en el presente documento, y puede abarcar algunos o todos los aspectos estructurales (por ejemplo, diversos dispositivos, sistemas, subsistemas, medios informáticos, aparatos, secuenciadores, analizadores, etc.) divulgados en este documento. Los componentes del sistema de procesamiento genómico pueden interconectarse de cualquier manera adecuada para lograr la funcionalidad aquí descrita, como, por ejemplo, una red cableada o inalámbrica que conecta la salida de un secuenciador a un aparato informático. En algunas realizaciones, el sistema de procesamiento genómico y/o al menos un componente del mismo incluye un procesador (por ejemplo, que ejecuta uno o más módulos) y una memoria para realizar la funcionalidad descrita en el presente documento. En algunas realizaciones, por ejemplo, aspectos del sistema de procesamiento genómico pueden ser estructural y/o funcionalmente similares a los divulgados en la solicitud de patente de los Estados Unidos de América con el número 13/838,677 (en adelante "solicitud '677") presentada el 15 de marzo de 2013, con el título "COMPREHENSIVE ANALYSIS PIPELINE FOR DISCOVERY OF HUMAN GENETIC VARIATION" ["LÍNEA DE ANÁLISIS INTEGRAL PARA EL DESCUBRIMIENTO DE LA VARIACIÓN GENÉTICA HUMANA"].
Las realizaciones divulgadas en el presente documento están dirigidas a un sistema de procesamiento genómico (y métodos del mismo) para el análisis escalable de datos de secuencia del genoma y, más particularmente, para un enfoque determinista de paralelización equilibrada que puede permitir la división de un proceso analítico de tomar datos de secuencia sin procesar a través del complejo y proceso computacionalmente intensivo de alineación, procesamiento posterior a la alineación y genotipado, que en última instancia produce una lista de variantes lista para interpretación clínica y análisis terciario, en muchas regiones genómicas con límites fijos (subregiones). El sistema de procesamiento genómico puede dividir el genoma de interés en subregiones genómicas de igual tamaño (también denominadas "segmentos") (figura 2) y utiliza tanto un cromosoma artificial (donde se procesan pares de lectura intercromosómicos o que abarcan límites) como límites subregionales superpuestos, que juntos mantienen la integridad de los datos y permiten mejoras significativas en el rendimiento (figuras 3-4).
Cada uno de los pasos de procesamiento involucrados en el análisis genómico (véase la figura 1) fueron examinados y se identificaron enfoques para el procesamiento paralelizado. La alineación de lecturas individuales con un genoma de referencia se considera un proceso vergonzosamente paralelo, ya que los mil millones de lecturas sin procesar que se generan al secuenciar un genoma humano pueden, en teoría, asignarse al genoma de referencia de forma independiente unas de otras; Una restricción para las lecturas de extremos emparejados es que ambas lecturas en un par deben estar orientadas correctamente dentro de la distancia adecuada. Los pasos restantes en el flujo de trabajo del análisis no son vergonzosamente paralelos por naturaleza y, como tal, se desarrollaron enfoques de paralelización del sistema de procesamiento genómico. Un enfoque para permitir un nivel de paralelización de los pasos posteriores es dividir el análisis por cromosomas individuales (22 autosomas (cromosomas 1 a 22) y dos cromosomas sexuales (cromosomas X e Y)). Sin embargo, al hacerlo, se produce un desequilibrio de carga significativo ya que el tamaño de estos cromosomas varía significativamente, siendo el cromosoma 1 ~5 veces más grande que el cromosoma 21 (figura 2A). Además, limitar la paralelización a nivel cromosómico restringe el uso de procesadores a un total de 24, de modo que el uso de más de 24 núcleos de CPU no mejora el rendimiento.
Para superar esta limitación de la paralelización por cromosoma, el genoma humano se puede subdividir uniformemente (o subdividir sustancialmente uniformemente) en múltiples regiones con límites fijos (subregiones), lo que permite una ejecución independiente y equilibrada de carga de los pasos locales de realineación, deduplicación, recalibración y genotipado (figura 2B). Algunos problemas que pueden surgir con esta estrategia incluyen:
1. Dependencias:Hay varios puntos en los que los resultados de los procesos que se ejecutan en segmentos individuales del genoma no son independientes. En primer lugar, la eliminación de lecturas duplicadas utiliza el conjunto de lecturas en orden para que cualquier número de pares de lecturas que tengan asignaciones idénticas se puedan reducir a un solo par. Si se separaran los datos, los pares de lectura se mantienen juntos. Un segundo punto en el que los diferentes segmentos dependen unos de otros es durante la recalibración del nivel de calidad base. Las mejores prácticas sugieren que una verdadera línea de base de las cualidades básicas utiliza el examen de covariables en toda la muestra.
2. Paralelización:Suponiendo que se hayan abordado estas dependencias, la cuestión entonces es cómo paralelizar estos procesos independientes. Un inconveniente de las técnicas computacionales en la resecuenciación del genoma y la llamada de variantes son los grandes requisitos de memoria. Por lo tanto, es posible que no haya suficiente memoria disponible para procesar tantos segmentos como núcleos estén disponibles en el servidor. Además, el equilibrio de carga es una preocupación.
3. Determinismo:Idealmente, la introducción de una estrategia de paralelización no debería producir resultados diferentes dependiendo de cómo se implementó la paralelización. Si no se mantiene el determinismo, pueden producirse resultados diferentes según los recursos disponibles en el momento del análisis, creando una situación inaceptable para aplicaciones clínicas o forenses en las que la reproducibilidad y el determinismo son deseables.
4. Lecturas iretercromosómicas:La mayoría de las distancias de pares de lectura se distribuirán normalmente alrededor de un tamaño de inserción determinado, que puede variar entre ejecuciones de secuenciación. Intrínsecamente habrá valores atípicos. Estos valores atípicos pueden ser artefactos de secuenciación o mapeos inadecuados. Sin embargo, en muchos casos, los pares de lectura con tamaños de inserción grandes y aquellos con cada lectura del par en cromosomas diferentes podrían indicar una variante estructural y, como tal, es importante que no se ignoren. Los atajos tomados en las dependencias descritas anteriormente podrían provocar la pérdida de información sobre las lecturas intercromosómicas.
En teoría, el tamaño extremadamente grande del genoma humano (~3 mil millones de pares de bases) permite lograr una ejecución casi vergonzosamente paralela de estos pasos. Por ejemplo, dividir el genoma en subregiones cromosómicas de 3.000.000 de pares de bases permitiría la ejecución de estos pasos en 1.000 procesos paralelos. En algunas realizaciones, el usuario puede especificar el número de subregiones definidas, aunque aumentar esta variable al doble del número de núcleos disponibles para procesamiento conduce a un mejor equilibrio de carga. Para garantizar el procesamiento adecuado de los límites regionales, en ambos extremos de cada región se incluye una superposición de la región adyacente. Esta superposición actúa como una "zona de amortiguamiento" para garantizar la detección adecuada de variantes cerca de los límites de la región o que la abarcan, como es posible en el caso de inserciones y eliminaciones (indeles). En algunas realizaciones, la región resultante y la información de límites de superposición se pueden guardar en un formato de archivo de intervalos. El tamaño de esta zona intermedia se puede variar, dependiendo del tamaño de inserción de la biblioteca de secuenciación inicial. Por ejemplo, con un tamaño de fragmento estándar de 500 pb, se puede utilizar una zona de amortiguación de 3000 pb. Para garantizar la integridad de los datos en los bordes de los límites, con cada paso posterior en el proceso de análisis se puede reducir esta zona de límites. Por ejemplo, después de la deduplicación, se puede usar una zona de amortiguamiento de 3000 pb para la realineación local, una zona de amortiguamiento de 2000 pb se puede usar para la recalibración del puntaje de calidad base y una zona de amortiguamiento de 1000 pb se puede usar para la llamada de variantes y el genotipado (figura 4).
En algunas realizaciones, los pasos posteriores a la alineación del proceso de análisis (realineación local, eliminación de lecturas duplicadas, recalibración del puntaje de calidad base, genotipado y recalibración del puntaje de calidad variante) se realizan en estas subregiones después de un refinamiento significativo de uno o más pasos para lograr niveles altos de paralelización sin sacrificar la integridad y calidad de los datos. En tales realizaciones, los seis pasos del flujo de trabajo y la optimización que se realizó se detallan a continuación. Aunque se describen en el presente documento en un orden ejemplar, se entiende que estos pasos se pueden realizar en cualquier orden adecuado, en paralelo, en serie y/o similares.
Paso 1. Alineación paralela a una secuencia de referencia (por ejemplo, mediante el módulo de asignación 122).Para el paso de alineación inicial, se puede utilizar un Burrows-Wheeler Aligner (BWA) para realizar la alineación del genoma de referencia con las lecturas contenidas en archivos FASTQ emparejados (o cualquier otro método apropiado para alinear una secuencia leída con un genoma de referencia). La velocidad del proceso se puede aumentar mediante el uso de capacidades de subprocesos múltiples incorporadas del método de alineación ejecutando el alineador en modo de subprocesos múltiples (por ejemplo, usando la opción bwa aln-t para especificar el número de subprocesos). Sin embargo, la implementación de la alineación dentro de este proceso actual utiliza un enfoque mediante el cual los datos totales de secuenciación de entrada sin procesar (normalmente entre 400 y 800 millones de lecturas emparejadas) se pueden dividir en varios archivos FASTq más pequeños y alinearse utilizando múltiples instancias paralelas de un solo subproceso del método de alineación. El número de archivos FASTQ de extremos emparejados generados durante la ejecución de secuenciación se puede controlar, por ejemplo, mediante el --fastq-cluster-count parámetro del proceso de conversión BCL de Illumina, que especifica el número máximo de lecturas por archivo FASTQ de salida. En algunas realizaciones, el valor predeterminado de 4.000.000 funciona bien; sin embargo, disminuir el número de lecturas por FASTQ a 1.000.000 puede dar como resultado una mayor velocidad de alineación debido a un mejor equilibrio de carga.
Paso 2. Generación en paralelo (por ejemplo, mediante el módulo de paralelización 128) y deduplicación de BAM subregionales (por ejemplo, mediante los módulos de procesamiento de segmentos 124a-124n).Este paso incluye convertir los archivos BAM sin procesar producidos durante la alineación en subregiones, lo que permite la implementación paralela de los pasos de análisis posteriores (la figura 3A). En algunas realizaciones, este enfoque puede incluir 5 pasos:
1. Dividir el BAM sin procesar por región.El genoma se divide en subregiones cromosómicas M, donde el valor de M se define por el nivel deseado de paralelización. El uso del enfoque de alineación paralelizada genera N archivos BAM sin procesar (también conocidos como "subsecuencias") (derivados de la alineación de norte pares de archivos FASTQ de entrada para todo el genoma). Estos archivos BAM se dividen según las coordenadas de las subregiones, lo que produce M * N archivos BAM divididos. Los pares de lectura en los que las relaciones de posición se asignan a diferentes subregiones se transfieren temporalmente a archivos separados BAM divididos, uno para cada una de los N archivos BAM de entrada, identificados como chrI.bam ("I" es la abreviatura de mapeo intercromosómico o intersubregional). Por ejemplo, se puede establecer un tamaño de inserción esperado (por ejemplo, 500 pb) y si un par de lectura es mayor que el tamaño de inserción esperado o se asigna a un cromosoma diferente, se puede mover a chrI. De esta manera, las lecturas intercromosómicas e intersubregionales pueden identificarse sustancialmente de manera simultánea. ;;2. Fusionar BAM divididos por subregión.Para cada una de las subregiones genómicas, la norte Los archivos BAM divididos asociados con una subregión determinada se pueden fusionar en M archivos BAM subregionales, cada uno de los cuales contiene los pares de lectura asignados dentro de los límites de esa subregión. ;;3. Fusionar BAM chrI divididos.Los N archivos chrI BAM se pueden fusionar en un único archivo BAM intercromosómico de todo el genoma. ;;4. Deduplicación paralela.Las lecturas duplicadas se pueden identificar y eliminar de archivos BAM intercromosómicos y de regiones. Las lecturas que contienen errores de amplificación pueden representarse en números artificialmente altos y, como tal, no eliminar estas lecturas del conjunto de datos puede tener un efecto negativo significativo en el resultado final al introducir variantes que reflejan estos errores en lugar de verdaderos polimorfismos biológicos. El proceso de deduplicación identifica pares de lectura con coordenadas externas idénticas y posteriormente reduce el conjunto de datos para incluir una copia de la secuencia duplicada con la mayor calidad de mapeo. En algunas realizaciones, se puede utilizar Picard Tools MarkDuplicates para identificar lecturas duplicadas tanto dentro como entre cromosomas. En algunas realizaciones, el proceso de deduplicación se puede realizar utilizando un único archivo BAM, que contiene las lecturas de la ejecución de secuenciación. Este enfoque lo utiliza la canalización de análisis GATK-Queue. Sin embargo, además de esta deduplicación en serie prolongada, el proceso de fusionar los archivos BAM en un solo archivo no se puede paralelizar. Estos procesos dan como resultado largos cálculos de un solo subproceso que aumentan sustancialmente el tiempo de ejecución del análisis. Los métodos de paralelización del sistema de procesamiento genómico superan esta importante limitación al mantener juntas las lecturas intercromosómicas inicialmente y deduplicarlas (usando herramientas como Picard Tools MarkDuplicates) o para reducir la E/S, pasando directamente a una herramienta de deduplicación de streaming como sambamba o samblaster). Este paso se puede realizar antes de que las lecturas individuales del par se fusionen por coordenadas en los BAM subregionales apropiados. Este enfoque puede garantizar una deduplicación adecuada de estas lecturas intercromosómicas y puede permitir una paralelización segura del resto del proceso de deduplicación entre cromosomas y subregiones cromosómicas. De esta manera es posible lograr altos niveles de paralelización del proceso de marcado y eliminación de duplicados sin comprometer la integridad de los datos. El BAM deduplicado es indistinguible de los resultados obtenidos del largo proceso de procesamiento posterior a la alineación de un único archivo BAM fusionado de todo el genoma. ;5. Fusionar lecturas chrl con BAM subregionales.Las lecturas de pares intercromosómicos deduplicadas se dividen según la subregión y las lecturas individuales se fusionan nuevamente en la subregión BAM apropiada según las coordenadas de lectura. Los archivos de alineación resultantes contienen lecturas intercromosómicas y regulares debidamente deduplicadas. ;;El resultado final de este paso son varios archivos BAM, uno para cada subregión genómica, que incluyen lecturas adecuadamente mapeadas y deduplicadas, lo que permite la paralelización de los pasos posteriores. ;;Paso 3. Realineación local paralela alrededor de indeles.En este paso de procesamiento, se realiza una realineación de lectura local para corregir posibles errores de alineación alrededor de los indeles. El mapeo de lecturas alrededor de los bordes de los indeles puede resultar en bases desalineadas que crean llamadas SNP falsas positivas. La realineación local utiliza estas bases no coincidentes para determinar si un sitio debe realinearse y puede, por ejemplo, aplicar un método de Smith-Waterman computacionalmente intensivo para determinar la ubicación más consistente de las lecturas con respecto al indel y eliminar artefactos de desalineación). Una ventaja de paralelizar la realineación local es que las lecturas de una muestra determinada se pueden utilizar para realizar la realineación local, lo que garantiza una mayor precisión y mejora la detección de indeles. Además, la aplicación de una realineación local a nivel de muestra en todas las subregiones da como resultado mejoras significativas en la velocidad de procesamiento, lo que resulta en costos de análisis reducidos y análisis de datos más rápidos. ;;Paso 4. Paralelización de la recalibración del puntaje de calidad base.Cada base de cada lectura tiene un puntaje de calidad asociado, correspondiente a la probabilidad de un error de secuenciación. Se sabe que los puntajes de calidad informados son inexactos y, como tales, deben recalibrarse antes de realizar el genotipado, donde se utilizan en un modelo de probabilidad de genotipo bayesiano empleado, por ejemplo, por UnifiedGenotyper de GATK. Después de la recalibración, los puntajes de calidad recalibrados en el BAM de salida se corresponden más estrechamente con la probabilidad de un error de secuenciación. Además, la herramienta de recalibración puede corregir la variación de la calidad con respecto al ciclo de la máquina y el contexto de la secuencia, produciendo así puntuaciones de calidad más precisas y ampliamente dispersas. El sistema de procesamiento genómico puede ser compatible con el método de recalibración del puntaje de calidad de la base (BQSR) de GATK, que analiza la covariación entre varias características de una base, incluido el puntaje de calidad informado, la posición dentro de la lectura y el nucleótido anterior y actual (efecto de química de secuenciación). Luego, estas covariables se aplican mediante una corrección tabular por partes para recalibrar los puntajes de calidad de las lecturas en un archivo BAM determinado. Sin embargo, el método GATK BQSR es una fuente de no determinismo en el proceso de análisis y, si bien es compatible con el sistema, puede generar resultados de análisis que no son reproducibles. Por consiguiente, en algunas realizaciones, el sistema de procesamiento genómico puede incluir un método BQSR que produce resultados de recalibración deterministas y mejora algunos métodos conocidos para la recalibración al recopilar datos de recalibración de bases que tienen un conjunto de covariables que coinciden exactamente con la base que se está recalibrando en lugar de ajustar la calidad base para cada covariable individualmente. En tales aspectos, para garantizar la integridad del proceso de recalibración, BQSR cuenta las posibles combinaciones de covariables para calcular la matriz de recalibración y fusiona los resultados de las covariables para cada subregión de modo que cada instancia de recalibración paralela tenga datos de entrada de todo el genoma en lugar de solo su región. En algunos casos, GATK BQSR utiliza un conjunto de covariables de todo el genoma para realizar un cálculo adecuado. El beneficio del enfoque BQSR del sistema de procesamiento genómico es que permite que el sistema de procesamiento genómico utilice todo el conjunto de datos con fines de recalibración, mejorando la precisión y evitando la reducción de resolución, que puede conducir al no determinismo. ;;Paso 5. Paralelización de llamadas de variantes.En este paso, se pueden generar llamadas de variantes a partir de las lecturas listas para el análisis generadas durante la recalibración con múltiples métodos de llamada de variantes, incluidos, entre otros, GATK UnifiedGenotyper, GATK HaplotypeCaller y/o Freebayes. Estos métodos se pueden implementar tanto en datos de una sola muestra como en datos de varias muestras, donde se utiliza información variante de las muestras en un experimento determinado para mejorar la precisión del genotipado. Debido a las zonas de amortiguamiento superpuestas en los extremos de cada región, es posible que una variante que ocurre en una de estas zonas pueda ser llamada dos veces: una en la región a la que pertenece y otra en la zona de superposición de la región adyacente (véase la figura 4). Esto se puede corregir asignando la variante a la subregión adecuada y eliminando su duplicado de la zona de influencia del archivo final de variantes sin procesar fusionadas. Esta determinación se puede hacer basándose en la ubicación de la llamada variante y su posición relativa a los límites de la subregión fija. Las llamadas de genotipo sin procesar de cada subregión se concatenan en archivos VCF de todo el genoma para SNP e indeles, listos para su análisis e interpretación posteriores. ;;El método para generar y deduplicar BAMS subregional descrito en el paso 2 anterior puede ser importante para la paralelización del flujo de trabajo de análisis y, en combinación con el uso de regiones límite superpuestas, puede superar el requisito de fusionar los datos durante los pasos posteriores. Puede haber múltiples enfoques para lograr esto, algunos ejemplos no limitantes se proporcionan a continuación: ;Ejemplo de estrategia uno (por ejemplo, consulte la figura 3B):;1. Dividir el BAM sin procesar por región. Tal y como se describió anteriormente. ;2. Fusionar BAM divididos por subregión. Tal y como se describió anteriormente. ;3. Fusionar BAM chrI divididos y deduplicar. El norte Los archivos chrI BAM se pueden fusionar en un único archivo BAM intercromosómico de todo el genoma, que luego se somete a deduplicación (utilizando herramientas como Picard Tools MarkDuplicates). ;4. Fusionar lecturas chrI con BAM subregionales. Las lecturas de pares intercromosómicos deduplicadas se dividen según la subregión y las lecturas individuales se fusionan nuevamente en la subregión BAM apropiada según las coordenadas de lectura. ;5. Deduplicación paralela. Las lecturas duplicadas se identifican y eliminan de los archivos BAM de subregión, que contienen las lecturas adicionales de los archivos BAM intercromosómicos deduplicados. Los archivos de alineación resultantes contienen lecturas intercromosómicas y regulares debidamente deduplicadas. ;Ejemplo de estrategia dos (por ejemplo, consúltese la figura 3C):;1. Dividir el BAM sin procesar por región.El genoma se divide en subregiones cromosómicas M, donde el valor de M se define por el nivel deseado de paralelización. El uso del enfoque de alineación paralelizada genera N archivos BAM sin procesar (derivados de la alineación de N pares de archivos FASTQ de entrada para todo el genoma). Estos archivos BAM se dividen según las coordenadas de las subregiones, lo que produce M * N archivos BAM divididos. A diferencia de las estrategias descritas anteriormente, los pares de lectura en los que las parejas se asignan a diferentes subregiones no se transfieren a chrI BAM. Si las lecturas de un par se asignan a diferentes subregiones, ambas lecturas del par se transfieren a los dos archivos BAM subregionales resultantes (por ejemplo, pares de lecturas chrI). Esto da como resultado temporalmente que las lecturas se dupliquen tanto en la subregión de la primera lectura del par como en la subregión de la segunda lectura del par. Estas lecturas también se pueden escribir sustancialmente de manera simultánea en un BAM que contiene lecturas intercromosómicas para la detección de variantes estructurales y enfoques de análisis alternativos.2. Fusionar BAM divididos por subregión y deduplicar en paralelo.Para cada una de las subregiones genómicas, los N archivos BAM divididos correspondientes a una subregión determinada se fusionan en M archivos BAM subregionales, cada uno de los cuales contiene los pares de lectura asignados dentro de los límites de esa subregión. Los archivos BAM subregionales resultantes luego se clasifican e indexan, cuya salida se puede escribir en el disco para su posterior deduplicación (usando herramientas como Picard Tools MarkDuplicates) o para reducir la E/S, pasando directamente a una herramienta de deduplicación de transmisión como, por ejemplo, sambamba o samblaster. A medida que los pares de lectura en diferentes subregiones se mantienen juntos, los archivos de alineación resultantes contienen lecturas intercromosómicas y regulares debidamente deduplicadas.
3. Podar BAM subregionales.Para los pasos de procesamiento posteriores, la región de superposición de la subregión se recorta en 1000 pb antes o durante la realineación local. Esto da como resultado la eliminación de las lecturas fuera del nuevo límite subregional, eliminando así las lecturas duplicadas temporalmente definidas durante el paso de división inicial y garantizando así la integridad de los datos en los pasos posteriores de realineación, recalibración, llamada de variantes y genotipado.
El resultado del sistema de procesamiento genómico de cualquiera de estas estrategias de paralelización son múltiples archivos BAM, uno para cada subregión genómica, que incluyen lecturas mapeadas y deduplicadas apropiadamente, lo que permite la paralelización de los pasos posteriores. Estas estrategias ejemplares tienen la ventaja de definir un archivo BAM con lecturas intercromosómicas, que puede usarse para la detección posterior de reordenamientos estructurales genómicos. La estrategia ejemplar dos tiene la ventaja de simplificar aún más el proceso de deduplicación y, en combinación con herramientas que pueden leer la salida BAM en streaming dentro de la memoria, daría como resultado tiempos de ejecución aún más reducidos y un mayor rendimiento, como, por ejemplo, una reducción del tiempo de CPU y/o o mayor utilización de la CPU.
Una ejemplo de una representación de un proceso (por ejemplo, el método 200) del sistema de procesamiento genómico (por ejemplo, del sistema 100) como se divulga en el presente documento se ilustra en las figuras 5A-5M. En comparación con los canales de análisis alternativos, el proceso de las figuras 5A-5M es más simple, más rápido y más ampliamente aplicable a varios clústeres de informática computación de alto rendimiento distribuida/memoria compartida. El proceso de las figuras 5A-5M puede implementarse mediante el sistema de procesamiento genómico, por ejemplo, como una mezcla de scripts Bash y Python, vinculando y preparando para la paralelización las entradas y salidas de, por ejemplo, BWA, Picard, SAMTools y/o GATK. El proceso de las figuras 5A-5M comienza creando los scripts necesarios para ejecutar la canalización y luego procede a ejecutar (o enviar al programador de trabajos) los scripts en el método de paralelización deseado (memoria compartida, marca GNU, Sun Grid Engine (SGE) o sistema por lotes portátil (PBS)) especificado por el usuario. El proceso de las figuras 5A-5M puede ser ejecutado por el sistema de procesamiento genómico en múltiples entornos para computación distribuida, incluidos, entre otros, una máquina o servidor de memoria compartida con creación explícita de tareas, una máquina o servidor de memoria compartida con creación de tareas por parte de GNU Make y clústeres y HPC. Implementaciones en la nube que admiten Make distribuido, como, por ejemplo, PBS y SGE (tabla 1). Como tal, el proceso de las figuras 5A-5M es compatible con una amplia gama de sistemas Linux, incluidas estaciones de trabajo de alto rendimiento, pequeños servidores individuales, clústeres internos moderados con servidores de memoria compartida o no compartida, grandes sistemas HPC alojados en centros de supercomputación y en la nube.
Datos de prueba y validación.
Para probar el proceso de las figuras 5A-5M, Se utilizaron conjuntos de datos de secuenciación del genoma completo de extremos emparejados de Illumina HiSeq 2000 de 100 pb con una cobertura promedio de 30 veces, que pueden abarcarse por el sistema de procesamiento genómico. Se realizó una validación adicional utilizando archivos FASTQ del estudio de archivo de lectura de secuencias ERP001229 para la secuenciación del genoma humano completo de 1000 genomas CEU femenino NA12878 (lecturas de 100 pb de extremo emparejado de Illumina HiSeq 2000, divididas en 431 pares de archivos FASTQ, cada uno de los cuales contiene 2.000.000 de lecturas). Los archivos VCF producidos a partir de estos datos, GATK-Queue y HugeSeq, se compararon con las llamadas de genotipo SNP e indel de referencia del NIST generadas por el Consorcio Genoma en una Botella (GIAB[Nota del traductor: GIAB por sus siglas en inglés de "Genome in a Bottle", se trata de un consorcio académico público-privado organizado por el NIST para desarrollar materiales y estándares de referencia para la secuenciación clínica]).En primer lugar, los VCF se filtraron para eliminar llamadas de variantes de baja calidad, como lo indica un indicador "LowQual" generado por la canalización determinada. En segundo lugar, el v Cf se filtró a las regiones invocables de GIAB utilizando la herramienta vcflib vcfintersect con el archivo BED proporcionado por GIAB. En tercer lugar, las variantes complejas se descompusieron en un SNP canónico y una representación indel utilizando la herramienta vcflib vcfallelicprimitives. Finalmente, los archivos VCF se convirtieron en tablas y se compararon con el conjunto de datos de validación GIAB (versión 2.18) utilizando scripts personalizados en R.
Elaboración de perfiles y evaluación comparativa
Además de medir el tiempo de ejecución, el perfil de utilización de la CPU se registró utilizando la utilidad Collectl, una herramienta integral para medir el rendimiento de un sistema Linux. El uso de CPU, memoria, disco y red se midió en intervalos de 10 segundos. Luego, el resultado se analizó y trazó utilizando scripts personalizados para este propósito.
Análisis con el pipeline bcbio-nextgen
La ejecución de bcbio-nextgen se realizó utilizando la versión 0.7.9 del software que se instaló mediante el script de instalación proporcionado (bcbio_nextgen_install.py). Después de la instalación, el software GATK se actualizó utilizando el script de actualización proporcionado (actualización bcbio_nextgen.py) a la versión 3.2-2 para que se pudiera utilizar HaplotypeCaller de G<a>T<k>. La ejecución se realizó en una única instancia AWS EC2 r3.8xlarge. La ejecución solicitó el uso de 32 núcleos (-n 32), ya que había 32 núcleos disponibles en la instancia r3.8xlarge. Esto resultó en que a BWA-MEM se le asignaran 16 núcleos (-t 16) y a sambamba se le asignaran 16 núcleos (-t 16).Procesamiento de datos de 1000 genomas
Para procesar cada muestra, los archivos FASTQ de entrada para la muestra primero se copiaron del depósito S3 de 1000genomes al almacenamiento local en una instancia EC2. Luego, estos archivos de entrada fueron procesados por el sistema de procesamiento genómico para producir un conjunto de archivos BAM realineados y recalibrados, uno para cada región. Finalmente, se ejecutó UnifiedGenotyper de GATK sobre los archivos BAM realineados y recalibrados de cada muestra para producir un único VCF de múltiples muestras. Se empleó una estrategia de filtrado estricta similar a la utilizada por el análisis original de estos datos del grupo 1000 Genomas). El VCF de muestra múltiple única se filtró para eliminar indeles con DP < 2566, DP > 16320, InbreedingCoeff < -0,8, QD < 1,5 o FS > 200. Los SNP se eliminaron con DP < 2566, DP > 16320, QD < 1,5, MQ < 30, FS > 80 o HaplotypeScore > 13.
Resultados
El sistema de procesamiento genómico que ejecuta el proceso de las figuras 5A-5M automatiza el proceso analítico utilizado para tomar datos de secuencia sin procesar a través del proceso complejo y computacionalmente intensivo de alineación, procesamiento posterior a la alineación y genotipado, produciendo en última instancia (en algunas realizaciones) una lista de variantes lista para interpretación clínica y análisis terciario (figuras 3-5). Cada uno de estos pasos se mejoró para reducir significativamente el tiempo de análisis, sin reducir la resolución y sin sacrificar la integridad o la calidad de los datos. La estrategia de paralelización del sistema de procesamiento genómico incluye un método de paralelización determinista que permite la división del flujo de trabajo entre muchas regiones genómicas con límites fijos (subregiones) (la figura 2). Esta división del trabajo, si se implementara ingenuamente, tendría importantes inconvenientes: los pares de lectura que abarcan fronteras subregionales se separarían, lo que conduciría a una deduplicación incompleta y se perderían variantes en los bordes de los límites. Para superar este desafío, el sistema de procesamiento genómico utiliza tanto un cromosoma artificial, donde se procesan pares de lectura intercromosómicos o que abarcan límites, como límites subregionales superpuestos, que juntos mantienen la integridad de los datos y permiten mejoras significativas en el rendimiento (la figura 3-4).
Comparaciones de rendimiento de estrategias de paralelización.
El enfoque de paralelización del sistema de procesamiento genómico supera la limitación de la paralelización por cromosoma, permitiendo una ejecución independiente y equilibrada de carga de los pasos de realineación local, deduplicación, recalibración y genotipado (figuras 6A-6C). El tiempo de cada uno de estos pasos disminuye de manera casi lineal a medida que la carga de trabajo se distribuye eficientemente entre recursos informáticos cada vez mayores. Utilizando un conjunto de datos típico del genoma humano, secuenciado a una profundidad de 30X, se comparó el rendimiento del enfoque de paralelización equilibrada del sistema de procesamiento genómico con dos canales alternativos basados en BWA/GATK: GATK-Queue que utiliza paralelización de dispersión-recolección y HugeSeq que utiliza paralelización de cromosoma. El enfoque de paralelización del sistema de procesamiento genómico permitió una utilización altamente eficiente de los recursos del sistema (92%), mientras que HugeSeq y GATK-Queue utilizan el 46% y el 30% respectivamente (la figura 6A). Como resultado, al utilizar un único servidor de 48 núcleos (Dell R815), el enfoque de paralelización es aproximadamente 2 veces más rápido que HugeSeq, aproximadamente 4 veces más rápido que GATK-Queue y aproximadamente 10 veces más rápido que una implementación en serie ingenua (la figura 6B). Además, el enfoque de paralelización del sistema de procesamiento genómico escala de manera muy eficiente entre núcleos dentro de un solo servidor (la figura 6C).
Se evaluó la capacidad del enfoque de paralelización del sistema de procesamiento genómico para escalar más allá de un único nodo informático (la figura 7). La figura 7A muestra la escalabilidad de cada canalización en un clúster de servidores con la velocidad de plegado representada en función de la cantidad de núcleos utilizados. La escalabilidad del sistema de procesamiento genómico coincide estrechamente con la predicha por la ley de Amdahl, logrando una aceleración de más de 13 veces entre 8 y 192 núcleos. Por el contrario, tanto HugeSeq como GATK-Queue mostraron mejoras modestas entre 8 y 24 núcleos (el doble), alcanzando una meseta máxima de 3 veces con 48 núcleos. El enfoque de paralelización del sistema de procesamiento genómico permitió completar el análisis de resecuenciación en tres horas utilizando un clúster interno con 192 núcleos (la figura 7B). Simplemente realizando la alineación y el genotipado (sin deduplicación, realineación o recalibración), se utilizó el doble de núcleos para lograr un tiempo de análisis similar usando CrossBow. La utilización del enfoque de paralelización tanto en Glenn Cluster del Ohio Supercomputer Center (768 núcleos en 96 nodos) como en Elastic Compute Cloud (EC2) de Amazon Web Services (AWS) (768 núcleos en 24 instancias CR1) permitió completar el análisis en menos de 1 hora. 50 minutos.
El resultado del enfoque de paralelización del sistema de procesamiento genómico se validó utilizando el SNP de referencia del Instituto Nacional de Estándares y Tecnología (NIST) y las llamadas de genotipo indel generadas por el Consorcio Genoma en una Botella (GIAB). Los archivos F<a>S<t>Q de 1000 Genomas CEU hembra NA12878 se analizaron utilizando el enfoque de paralelización del sistema de procesamiento genómico, GATK-Queue y HugeSeq, cada uno usando el método GATK UnifiedGenotyper para la llamada de variantes y el genotipado, y se compararon los archivos VCF resultantes (figura 8). Si bien existe un alto grado de concordancia entre los tres procesos, el enfoque de paralelización del sistema de procesamiento genómico produjo el mayor porcentaje de llamadas de variantes validadas, tanto para SNP (99,9 %) como para indeles (93,3 %), y tuvo la mayor sensibilidad general. (99,7%) y precisión (99,9988%). GATK-Queue tuvo una especificidad ligeramente mayor que el enfoque de paralelización y la tasa de descubrimiento falso más baja (0,39%), pero no logró identificar ~20 000 variantes validadas encontradas mediante el enfoque de paralelización. De los tres canales, el enfoque de paralelización del sistema de procesamiento genómico tuvo la mayor efectividad diagnóstica (99,66%), seguido de GATK-Queue (98,96%) y HugeSeq (98,65%), según lo evaluado por el índice de Youden.
Utilización de recursos y rendimiento en la nube.
La capacidad de realizar el descubrimiento de variantes del genoma completo y el genotipado mediante el reensamblaje local de haplotipos se evaluó utilizando recursos informáticos en la nube de AWS y el método GATK HaplotypeCaller para el descubrimiento de variantes y el genotipado. Para fines de comparación, el rendimiento en AWS se comparó con bcbio-nextgen, un conjunto de herramientas de Python que proporciona una canalización distribuida de múltiples arquitecturas que automatiza las llamadas de variantes (http://bcbionextgen.readthedocs.org). Ambos canales se configuraron para utilizar BWA-MEM para la alineación y GATK HaplotypeCaller para la detección de variantes y el genotipado para analizar datos de secuencia sin procesar para un conjunto de datos de secuencia del genoma humano completo (cobertura 30X). La utilización de la CPU en una única instancia r3.8xlarge AWS EC2 (32 núcleos) se supervisó durante toda la ejecución del análisis. Los resultados demostraron que el enfoque de paralelización del sistema de procesamiento genómico tuvo una utilización de recursos significativamente mayor (94%) que bcbio-nextgen (57%), lo que permitió completar el análisis completo en menos de 12 horas con una sola instancia (la figura 9A). La fase inicial de ejecución de bcbio-nextgen utiliza una canalización de shell de BWA-MEM, samblaster, samtools y sambamba para realizar la alineación, marcar duplicados, convertir SAM a BAM y ordenar los datos BAM resultantes. Sin embargo, durante esta fase de procesamiento, se observó menos del 50% de utilización de la CPU (la figura 9A).
El sistema de secuenciación del genoma permitió escalar de manera eficiente los pasos del proceso de análisis en múltiples instancias de AWS, lo que resultó en tiempos de ejecución significativamente reducidos (la figura 9B). Con 16 instancias de AWS EC2, todo el análisis podría completarse en unos 104 minutos, y la llamada de variantes y el genotipado con la etapa GATK HaplotypeCaller tardarían unos 24 minutos. Por el contrario, al utilizar las opciones predeterminadas del flujo de trabajo bcbio-nextgen, la alineación y la deduplicación se paralelizan mediante el uso de capacidades multiproceso integradas de BWA y sambamba y, como tal, su escalabilidad está limitada al número de núcleos disponibles en una sola máquina. A continuación, el software bcbio-nextgen utiliza sambamba para indexar el BAM único resultante de la fase anterior. Nuevamente, este procesamiento se limita a un único proceso que no puede escalar más allá de una sola máquina.
Análisis del Proyecto 1000 Genomas en la nube
Para demostrar la utilidad del sistema de procesamiento genómico para el análisis genómico a escala poblacional, se analizaron 1088 muestras de genoma completo de baja cobertura de la "fase 1" del Proyecto 1000 Genomas (1KG), incluida la llamada de variantes con el UnifiedGenotyper de GATK en muestras de manera sustancialmente simultánea para generar un VCF final de múltiples muestras. Todo el análisis se completó en menos de 7 días utilizando 400 instancias AWS EC2 (instancias puntuales cc2.8xlarge) y el costo total del análisis fue de -$12 000, incluido el almacenamiento y procesamiento de datos. Se identificaron 41,2 millones de variantes, frente a los 39,7 millones de 1KG (figura 10). Los dos conjuntos de llamadas tenían 34,4 millones de sitios variantes en común, de los cuales 34,3 millones tenían el mismo alelo menor con frecuencias muy similares (coeficiente de correlación de Pearson de 0,9978, valor de p <2,2e-16) (la figura 10C). Los resultados se validaron con variantes identificadas previamente (dbSNP Build138, excluidas las del envío de 1KG). Las tasas de validación de SNP fueron similares, 52,8% (enfoque de paralelización del sistema de procesamiento genómico) y 52,4% (1KG). Sin embargo, debido a las mejoras en las llamadas de indeles desde el análisis original de 1KG, los enfoques del sistema de procesamiento genómico llamaron tres veces más indeles con una mayor tasa de validación (19,5% frente a 12,5%). De los indeles exclusivos de los enfoques de paralelización del sistema de procesamiento genómico, se observó una tasa de validación siete veces mayor en comparación con los exclusivos de 1 KG. Del conjunto de datos indel validados por el consorcio GIAB, se observaron el 81,5%, en contraste con el 43,9% del análisis de 1KG. Los enfoques de paralelización del sistema de procesamiento genómico denominaron -71% de los 99.895 nuevos indeles validados en el conjunto de datos GIAB NA12878 (los que no se encontraron en el análisis de 1KG) con frecuencias de alelos alternativos de hasta el 100% (media 40,2%).
Los métodos de paralelización de los sistemas de procesamiento genómico descritos en el presente documento proporcionan un canal único para el descubrimiento de la variación genética, la automatización completa de la alineación, la deduplicación, la realineación local, la recalibración de la puntuación de calidad base, la llamada de variantes y el genotipado. Al explorar cuidadosamente las interdependencias entre diferentes subtareas, se logran altos niveles de paralelismo y el análisis de datos reproducibles se completa en una fracción del tiempo, sin sacrificar la calidad o integridad de los datos.
Demostración del comportamiento de análisis determinista.
Un programa paralelo es determinista si, para una entrada determinada, cada ejecución del programa produce una salida idéntica visible externamente. Por lo tanto, para un proceso paralelo que realiza un análisis de resecuenciación del genoma completo, estos criterios de determinismo se cumplirían si, dado un conjunto de datos de secuencia sin procesar como entrada, cada ejecución del programa produce llamadas variantes y genotipos idénticos como salida. Los resultados no sólo son reproducibles cuando se ejecutan con el mismo número de subregiones, sino que el análisis es determinista; Independientemente de la escala de paralelización, el resultado final es idéntico, lo que proporciona una solución mejorada para múltiples aplicaciones que incluyen, entre otras, diagnóstico clínico y análisis forense. Otras estrategias de paralelización no logran alcanzar este nivel de reproducibilidad o sacrifican la calidad de los datos en aras de la velocidad. Sorprendentemente, se puede introducir no determinismo en prácticamente todos los pasos del análisis si los parámetros de configuración no se seleccionan cuidadosamente. Por ejemplo, los desarrolladores de GATK reconocen que los resultados no son deterministas cuando se utilizan opciones integradas de subprocesos múltiples y recomiendan desactivarlos si se desea un determinismo absoluto a expensas de un tiempo de ejecución significativamente mayor. Además, el uso predeterminado de reducción de resolución de GATK también puede dar lugar a resultados diferentes. El paralelismo como se describe en este documento no necesita utilizar subprocesos múltiples GATK, ni realiza una reducción de resolución de forma predeterminada. Se proporciona la repetibilidad de los resultados deseables en aplicaciones de secuenciación clínica, y el comportamiento determinista elimina la posibilidad de inconsistencias en análisis repetidos o en estudios más grandes donde el análisis se realiza en múltiples ubicaciones.
mnac n e n er epen encas en re os pasos e an ss man enen o a msmo empo una implementación de mejores prácticas.
Para distribuir eficientemente el flujo de trabajo del análisis, el sistema de procesamiento genómico puede dividir igualmente el genoma en múltiples subregiones y procesar cada uno de esos segmentos de forma independiente, definiendo un cálculo "vergonzosamente paralelo" (figuras 3 y 5). Se han eliminado muchas dependencias entre procesos en el flujo de trabajo, incluida la eliminación de dos puntos de fusión en el flujo de trabajo: antes de la deduplicación y antes del ensamblaje de la tabla de covariables para la recalibración del puntaje de calidad base.
La deduplicación utiliza el conjunto completo de lecturas en orden, de modo que cualquier número de pares de lectura que tengan asignaciones idénticas se pueda reducir a un solo par). Paralelizar este proceso de deduplicación por subregiones, la información de mapeo de estos pares de lectura se mantiene junta. La mayoría de las distancias de pares de lectura se distribuirán normalmente alrededor de un tamaño de inserción determinado que se encuentre dentro de los límites de una subregión determinada. De manera inherente, habrá valores atípicos que podrían representar artefactos de secuenciación o mapeos inadecuados, pero en muchos casos los pares de lectura con tamaños de inserción grandes y aquellos con parejas mapeadas en diferentes cromosomas brindan información importante sobre posibles reordenamientos intercromosómicos (translocaciones). Por ejemplo, el Catálogo de mutaciones somáticas en el cáncer (COSMIC v70, agosto de 2014) contiene más de 10.000 fusiones de genes que se sabe que están asociados con tumores benignos y malignos, muchos de los cuales han demostrado desempeñar funciones clave en el inicio del cáncer. La relevancia clínica de las lecturas intercromosómicas se destaca aún más por el hecho de que las fusiones de genes pueden vincularse con resultados clínicos; por ejemplo, la presencia de la fusión BCR-ABL1 es un poderoso indicador de pronóstico tanto en leucemias pediátricas como en adultos). Como tal, las lecturas intercromosómicas se manejan adecuadamente durante el procesamiento paralelo por parte del sistema de procesamiento genómico, y se define un único archivo BAM adicional que contiene las lecturas intercromosómicas para ayudar a realizar análisis adicionales de variantes estructurales. La adición de un cromosoma artificial estrictamente para lecturas que abarcan subregiones (incluidas las lecturas intercromosómicas) permite la deduplicación paralelizada sin la necesidad de un costoso paso de fusión. Por el contrario, la paralelización cromosómica de HugeSeq rompe la correspondencia entre pares de lectura que no están asignados al mismo cromosoma, lo que impide la deduplicación adecuada y reduce la calidad de los datos.
El segundo punto en el que diferentes segmentos son codependientes ocurre durante la recalibración del puntaje de calidad base. Las mejores prácticas sugieren que una medida verdadera de las cualidades de la base examina las covariables en toda la muestra para proporcionar puntuaciones de calidad de la base empíricamente precisas para cada base en cada lectura y corregir múltiples covariables de error. El sistema de procesamiento genómico logra esto generando tablas de covariables para cada subregión y fusionándolas en una única tabla de recalibración para la muestra. Luego, la recalibración se aplica en paralelo a cada subregión, produciendo resultados idénticos a la recalibración aplicada a un único BAM fusionado de todo el genoma. Además, al evitar la reducción de muestreo en esta etapa y al tener en cuenta las cualidades de las bases para una muestra determinada, se pueden producir resultados idénticos cada vez que se realiza la recalibración. Por el contrario, HugeSeq aplica la función de covariables de recuento de GATK por cromosoma, lo que genera información incompleta sobre la distribución del puntaje de calidad, lo que reduce la efectividad del proceso de recalibración.
Permiter una paralelización altamente escalable y mejora la eficiencia computacional.
Además de un rendimiento más rápido, los sistemas y métodos de procesamiento genómico descritos en este documento definen y/o inician procesos relativamente más independientes y eliminan costosos pasos de fusión de un solo subproceso, lo que conduce a una mejor utilización de los recursos y un equilibrio de carga eficiente (la figura 6A). Además, dada la naturaleza intensiva de memoria del análisis NGS, la carga de memoria se puede distribuir de manera eficiente entre varias máquinas. La capacidad de analizar múltiples subregiones cromosómicas en paralelo permite que el sistema de secuenciación genómica escale de manera eficiente con muchos cientos de procesos paralelos, con una escalabilidad limitada por la necesidad de unos pocos puntos de sincronización y los pasos inherentemente seriales (por ejemplo, la deduplicación no puede comenzar hasta que los pares de archivos FASTQ se han alineado), mientras que los proyectos alternativos no lograron escalar eficientemente más allá de 24 procesos paralelos (la figura 7A). Como tal, los enfoques de paralelización del sistema de procesamiento genómico pueden permitir que se utilicen tecnologías de análisis de big data distribuido, como Hadoop, ya que el método permite dividir datos altamente estructurados en componentes más pequeños sin (o con una mínima) pérdida de integridad de los datos. Como resultado de estas mejoras en escalabilidad y eficiencia, los aspectos divulgados en este documento permiten la finalización eficiente de un análisis completo del genoma, desde lecturas de secuencia sin procesar hasta un archivo VCF recalibrado, ya sea con UnifiedGenotyper (la figura 7B) o HaplotypeCaller (la figura 9B).
Mediante el uso de estrategias alternativas para la paralelización, GATK-Queue y HugeSeq logran un grado moderado de paralelismo y aceleración). GATK-Queue procesa lecturas sin procesar de múltiples archivos BAM no alineados en paralelo; la realineación, la recalibración del puntaje de calidad base y el genotipado se realizan en múltiples "intervalos" subcromosómicos para lograr un alto grado de paralelismo. Sin embargo, la deduplicación se lleva a cabo en un único archivo BAM fusionado y su flujo de trabajo fusiona los archivos BAM después de la realineación y la recalibración. Estos tres largos procesos de un solo subproceso contrarrestan los ahorros logrados a través del paralelismo del intervalo subcromosómico, y la utilización promedio de la CPU es inferior al 30 % durante toda la ejecución (consulte la figura 6A). La canalización HugeSeq funciona más rápido que GATK-Queue al realizar paralelización a nivel cromosómico, evitando así los procesos de fusión de BAM. Sin embargo, este enfoque produce resultados subóptimos debido a una deduplicación inadecuada de lecturas intercromosómicas y a la imposibilidad de considerar todas las cualidades base simultáneamente durante la recalibración. Además, la paralelización por cromosoma limita la escalabilidad y adolece de un equilibrio de carga deficiente debido al hecho de que los cromosomas humanos varían mucho en tamaño (la figura 2).
Se observó una mejora en el rendimiento con la canalización bcbio-nextgen, pero los elementos de la estrategia de paralelización implementada por este software tienen limitaciones similares a las de GATKQ. Los pasos de alineación, deduplicación e indexación de BAM se paralelizan mediante el uso de capacidades multiproceso integradas de BWA y sambamba que producen un único archivo BAM fusionado y, como tal, limita la paralelización de estos pasos a una sola máquina. Este requisito de fusión del proceso bcbio-nextgen se evita mediante el procesamiento independiente de lecturas que abarcan subregiones en un cromosoma artificial. El enfoque de deduplicación de streaming utilizado por sambamba evita el requisito de deduplicación de las herramientas Picard para leer los resultados de alineación del disco y puede resultar en una modesta mejora en el rendimiento al reducir la E/S. Sin embargo, la estrategia de deduplicación paralelizada altamente eficiente del sistema de procesamiento genómico permite completar de manera eficiente esa etapa del proceso de análisis. bcbio-nextgen paraleliza la llamada de variantes al dividir el genoma en regiones que pueden procesarse sustancialmente de manera simultánea, como, por ejemplo, utilizando un enfoque similar a la solicitud '677. Estas regiones están delimitadas por tramos del genoma que no contienen lecturas invocables en las muestras que se están procesando. Aunque este enfoque es superior a la paralelización por cromosoma y permite la paralelización en múltiples máquinas, todavía está sujeto a procesar regiones de diferentes tamaños, lo que funciona y escala menos bien que el sistema de procesamiento genómico, que utiliza regiones de igual tamaño, logrando así niveles óptimos y/o de escala. o equilibrio de carga mejorado y utilización de recursos altamente eficiente (la figura 9A).
La paralelización equilibrada acelera drásticamente el descubrimiento de variantes del genoma completo y la genotipificación mediante el reensamblaje local de haplotipos
Los métodos de detección de variantes basados en haplotipos, como FreeBayes y HaplotypeCaller, en los que el descubrimiento de variantes y el genotipado se realizan mediante el reensamblaje local de haplotipos, pueden reducir las llamadas falsas positivas debido a errores en la alineación de lectura corta, pero son considerablemente más costosos computacionalmente que los métodos que funcionan en una sola posición a la vez. En colaboración con Intel®, el Broad Institute desarrolló recientemente un conjunto de optimizaciones basadas en hardware para el método PairHMM en HaplotypeCaller que les permite reducir el tiempo para analizar un solo genoma de tres días a un día (una aceleración triple). Utilización de los enfoques de paralelización equilibrada del sistema de procesamiento genómico, en combinación con instancias AWS EC2 equipadas con Intel Xeon® Procesadores que pueden utilizar las rutinas HaplotypeCaller optimizadas para Intel.® Extensiones de vectores avanzadas, permitieron llamar a variantes del genoma completo y genotipificar aproximadamente 60 veces más rápido (la figura 9B). Esto resultó en un rendimiento de tiempo de ejecución similar al de UnifiedGenotyper (la figura 7) y permitió un análisis completo del genoma en 1 hora y 44 minutos utilizando recursos de la nube bajo demanda, sin sacrificar la calidad de los datos (la figura 9). Si bien HaplotypeCaller es un método más sofisticado que UnifiedGenotyper, se ha informado que los indeles de HaplotypeCaller tienen una mayor tasa de descubrimiento falso y tasas de validación significativamente más bajas para llamadas SNP e indel que UnifiedGenotyper. Como tal, los enfoques de paralelización del sistema de procesamiento genómico brindan a los usuarios opciones para el descubrimiento de variantes y el genotipado con UnifiedGenotype, HaplotypeCaller o FreeBayes, y son fácilmente adaptables para ser utilizados por otras herramientas de llamada de variantes.
Permitir un análisis genómico clínico rápido
La adopción clínica rutinaria de NGS se ha visto obstaculizada por la complejidad de la bioinformática y la falta de una solución de análisis de datos que sea simple, rápida y precisa. El sistema de procesamiento genómico elimina el cuello de botella del análisis genómico para un laboratorio clínico, transformando un flujo de trabajo complejo en un solo comando mientras observa las mejores prácticas actualmente aceptadas para el descubrimiento de la variación genética. El flujo de trabajo de análisis secundario (de FASTQ a VCF) para una sola muestra se puede completar, por ejemplo, en menos de una hora para un exoma o un panel específico y en menos de 2 horas para un genoma completo. La velocidad a la que se completa el análisis NGS tendrá un impacto importante en la clínica, donde la rapidez de respuesta puede ser esencial para el diagnóstico de enfermedades genéticas. Por ejemplo, el diagnóstico rápido es fundamental para los recién nacidos con sospecha de enfermedades monogénicas, donde el diagnóstico se ve confundido por síntomas ambiguos y la progresión es rápida, lo que con frecuencia conduce a morbilidad y mortalidad. La validación utilizando la muestra de referencia del Consorcio GIAB demostró que el sistema de procesamiento genómico tenía la mayor sensibilidad general (99,7%) y precisión (99,9988%) de los procesos evaluados (Figura 8). Además de la velocidad y la precisión del genotipado, el rendimiento determinista del sistema de procesamiento genómico establece un estándar de análisis NGS de 100% de reproducibilidad sin sacrificar la calidad de los datos.
Habilita el análisis genómico a escala poblacional en la nube
El sistema de procesamiento genómico no solo optimiza y/o mejora el flujo de trabajo para el análisis clínico de un único genoma completo o muestras de captura específicas, sino también para conjuntos de datos de investigación mucho más grandes. Para demostrar esto, se analizó el conjunto de datos sin procesar de 1000 Genomas de 1088 individuos utilizando la nube (AWS EC2). El proceso de análisis se paralelizó eficientemente, desde los datos de entrada sin procesar de FASTQ hasta la llamada de variantes de múltiples muestras, generando frecuencias de alelos poblacionales en menos de una semana (figura 10). Recientemente se realizó un análisis simultáneo a menor escala de 61 genomas humanos en 2 días con una supercomputadora Cray XE6, con un promedio de ~50 minutos por genoma. Mediante la utilización de recursos en la nube bajo demanda disponibles universalmente, el análisis se completó ~5 veces más rápido, con un promedio de ~9 minutos por genoma, utilizando un tercio de los recursos informáticos de la supercomputadora Cray. Además, esta empresa demuestra la viabilidad de generar frecuencias de alelos de población específicas para un enfoque de análisis unificado determinado, lo que da como resultado el descubrimiento de aproximadamente 3.000.000 de nuevos indeles. La identificación de variaciones patógenas raras se verá favorecida complementando las frecuencias alélicas del consorcio de 1 KG con frecuencias alélicas específicas generadas en este análisis actual.
Si bien en el presente documento se han descrito diversas realizaciones, debe entenderse que se han presentado a modo de ejemplo y no de limitación. Cuando los métodos descritos anteriormente indican ciertos eventos que ocurren en cierto orden, el orden de ciertos eventos puede modificarse. Además, algunos de los eventos pueden realizarse simultáneamente en un proceso paralelo cuando sea posible, así como también realizarse secuencialmente como se describe en el presente documento.
Algunas realizaciones descritas en el presente documento se relacionan con un producto de almacenamiento informático con un medio no transitorio legible por computadora (también puede denominarse medio no transitorio legible por procesador) que tiene instrucciones o código de computadora en el mismo para realizar diversas operaciones implementadas por computadora. El medio legible por computadora (o medio legible por procesador) no es transitorio en el sentido de que no incluye señales de propagación transitorias per se (por ejemplo, una onda electromagnética en propagación que transporta información en un medio de transmisión tal como el espacio o un cable). Los medios y el código informático (también pueden denominarse código) pueden ser aquellos diseñados y construidos para el propósito o propósitos específicos. Ejemplos de medios no transitorios legibles por computadora incluyen, entre otros: medios de almacenamiento magnéticos como discos duros, disquetes y cintas magnéticas; medios de almacenamiento óptico tales como discos compactos/discos de vídeo digital (CD/DVD), memorias de disco compacto de sólo lectura (CD-ROM) y dispositivos holográficos; medios de almacenamiento magnetoópticos tales como discos ópticos; módulos de procesamiento de señales de ondas portadoras; y dispositivos de hardware que están especialmente configurados para almacenar y ejecutar código de programa, como circuitos integrados de aplicaciones específicas (ASIC), dispositivos lógicos programables (PLD, del inglés"Programmable Logic Devices"),memoria de sólo lectura (ROM) y dispositivos de memoria de acceso aleatorio (RAM). Otras realizaciones descritas en el presente documento se refieren a un producto de programa informático, que puede incluir, por ejemplo, las instrucciones y/o el código informático analizados en el presente documento.
Los ejemplos de código informático incluyen, entre otros, microcódigo o microinstrucciones, instrucciones de máquina, como las producidas por un compilador, código utilizado para producir un servicio web y archivos que contienen instrucciones de nivel superior ejecutadas por un computadora usando un intérprete. Por ejemplo, las realizaciones pueden implementarse usando lenguajes de programación imperativos (por ejemplo, C, Fortran, etc.), lenguajes de programación funcionales (Haskell, Erlang, etc.), lenguajes de programación lógicos (por ejemplo, Prolog), lenguajes de programación orientados a objetos (por ejemplo, Java, C++, etc.) u otros lenguajes de programación y/o herramientas de desarrollo adecuados. Ejemplos adicionales de código informático incluyen, entre otros, señales de control, código cifrado y código comprimido.
Abreviaturas
1KG: Proyecto 1000 Genomas; AWS: Servicios web Amazon; BAM: formato mapa alineación de secuencia binaria; CPU: unidad central de procesamiento; EC2: Nube de Computación Elástica; GATK: Conjunto de herramientas de análisis del genoma; GIAB: Consorcio del Genoma en Botella; indeles: pequeñas eliminaciones e inserciones; NGS: secuenciación de próxima generación; PBS: Sistema por lotes portátil; SAM: formato del mapa de alineación de secuencias; SGE: motor Sun Grid; SNP: polimorfismo de un solo nucleótido; VCF: formato de llamada variante.
Tabla 1
T l 1. m r i n n rn r l liz i n v r m r l liz i n.
Claims (13)
1. Un aparato que comprende:
una memoria configurada para almacenar una secuencia, incluyendo la secuencia una estimación de una secuencia de ácido desoxirribonucleico (ADN) o ácido ribonucleico (ARN), incluyendo la secuencia una pluralidad de elementos; y
una pluralidad de procesadores de hardware acoplados operativamente a la memoria, un procesador de hardware de la pluralidad de procesadores de hardware configurado para:
recibir la secuencia de la memoria, y
asignar cada elemento de la pluralidad de elementos a al menos un segmento de una pluralidad de segmentos de la secuencia, incluyendo asignar un elemento de la pluralidad de elementos que se asigna a al menos un primer segmento y un segundo segmento de la pluralidad de segmentos, tanto para el primer segmento como para el segundo segmento, cada segmento de la pluralidad de segmentos incluye una parte que tiene un primer tamaño que se superpone a una parte de al menos un segmento adyacente de la pluralidad de segmentos,
cada procesador de hardware de la pluralidad de procesadores de hardware está configurado para, en cada segmento de un conjunto diferente de segmentos de la pluralidad de segmentos, y simultáneamente con los procesadores de hardware restantes de la pluralidad de procesadores de hardware:
elimine al menos una parte de elementos duplicados asignados a ese segmento de ese conjunto de segmentos para generar un segmento deduplicado, el segmento deduplicado asociado con cada segmento de la pluralidad de segmentos incluyendo una parte que tiene un segundo tamaño que se superpone a una parte de un segmento deduplicado asociado con un segmento adyacente de la pluralidad de segmentos, siendo el segundo tamaño más pequeño que el primer tamaño; reordene los elementos en el segmento deduplicado para generar un segmento realineado y transmita el segmento realineado a uno o más de un módulo de almacenamiento y un módulo de genotipado.
2. El aparato de la reivindicación 1, en el que la secuencia es una secuencia objetivo, estando el procesador de hardware de la pluralidad de procesadores de hardware configurado además para recibir la secuencia objetivo al: recibir una primera secuencia, incluyendo la primera secuencia una estimación directa de la secuencia de ADN o ARN;
recibir una segunda secuencia, incluyendo la segunda secuencia una estimación inversa de la secuencia de ADN o ARN;
generar una secuencia emparejada basada en la primera secuencia y la segunda secuencia; y alinear la secuencia emparejada con una secuencia de referencia para generar la secuencia objetivo.
3. El aparato de la reivindicación 1, en el que la secuencia está en un formato de mapa/alineación binaria (BAM) o en un formato FASTQ.
4. El aparato de la reivindicación 1, en el que el procesador de hardware de la pluralidad de procesadores de hardware está configurado para, antes de la asignación, dividir la secuencia en una pluralidad de subsecuencias, el procesador de hardware de la pluralidad de procesadores de hardware está configurado para asignar mediante asignación cada subsecuencia a al menos un segmento de la pluralidad de segmentos, el procesador de hardware de la pluralidad de procesadores de hardware está configurado además para ejecutar la asignación para al menos dos segmentos de la pluralidad de segmentos de forma simultánea, el procesador de hardware de la pluralidad de procesadores de hardware está configurado además para, en cada segmento de la pluralidad de segmentos, después de la asignación y antes de la eliminación, combine subsecuencias dentro de ese segmento.
5. El aparato de la reivindicación 1, en el que
el segmento realineado asociado con cada segmento de la pluralidad de segmentos incluye una parte que tiene un tercer tamaño que se superpone a una parte del segmento realineado asociado con un segmento adyacente de la pluralidad de segmentos, siendo el tercer tamaño más pequeño que el segundo tamaño.
6. Un método que comprende:
recibir una secuencia, incluyendo la secuencia una estimación de una secuencia de ácido desoxirribonucleico (ADN) o ácido ribonucleico (ARN), incluyendo la secuencia una pluralidad de elementos;
asignar cada elemento de la pluralidad de elementos a al menos un segmento de una pluralidad de segmentos, incluyendo, asignar un elemento de la pluralidad de elementos que se asigna tanto a un primer segmento como a un segundo segmento de la pluralidad de segmentos a ambos el primer segmento y el segundo segmento, incluyendo cada segmento de la pluralidad de segmentos una parte que tiene un primer tamaño que se superpone a una parte de al menos un segmento adyacente de la pluralidad de segmentos; y
para cada segmento de la pluralidad de segmentos:
eliminar al menos una parte de elementos duplicados asignados al segmento para generar un segmento deduplicado, el segmento deduplicado asociado con cada segmento de la pluralidad de segmentos incluyendo una parte que tiene un segundo tamaño que se superpone a una parte de un segmento deduplicado asociado con un segmento adyacente de la pluralidad de segmentos, siendo el segundo tamaño más pequeño que el primer tamaño;
reordenar los elementos en el segmento deduplicado para generar un segmento realineado; y transmitir el segmento realineado a uno o más de un módulo de almacenamiento y un módulo de genotipado.
7. El método de la reivindicación 6, en el que la secuencia es una secuencia objetivo, incluyendo la recepción de la secuencia objetivo:
recibir una primera secuencia, incluyendo la primera secuencia una estimación directa de la secuencia de ADN o ARN;
recibir una segunda secuencia, incluyendo la segunda secuencia una estimación inversa de la secuencia de ADN o ARN;
generar una secuencia emparejada basada en la primera secuencia y la segunda secuencia; y alinear la secuencia emparejada con una secuencia de referencia para generar la secuencia objetivo.
8. El método de la reivindicación 6, que comprende además:
dividir, antes de la asignación, la secuencia en una pluralidad de subsecuencias, incluyendo la asignación el asignar cada subsecuencia de la pluralidad de subsecuencias a al menos un segmento de la pluralidad de segmentos; y
combinar subsecuencias dentro del segmento para cada segmento de la pluralidad de segmentos, posterior a la asignación y antes de la eliminación.
9. El método de la reivindicación 6, que comprende además, cuando un elemento de la pluralidad de elementos se asigna al primer segmento y al segundo segmento de la pluralidad de segmentos, asignar el primer segmento y el segundo segmento a una secuencia intersegmentaria.
10. El método de la reivindicación 6, en el que la secuencia está en un formato de mapa/alineación binaria (BAM) o en un formato FASTQ.
11. El método de la reivindicación 6, en el que la secuencia incluye información de puntuación de calidad.
12. El método de la reivindicación 6, en el que cada elemento de la pluralidad de elementos incluye un par de lectura.
13. El método de la reivindicación 6, en el que
el segmento realineado asociado con cada segmento de la pluralidad de segmentos incluye una parte que tiene un tercer tamaño que se superpone a una parte del segmento realineado asociado con un segmento adyacente de la pluralidad de segmentos, siendo el tercer tamaño más pequeño que el segundo tamaño.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462083000P | 2014-11-21 | 2014-11-21 | |
PCT/US2015/061924 WO2016081866A1 (en) | 2014-11-21 | 2015-11-20 | Parallel-processing systems and methods for highly scalable analysis of biological sequence data |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2966889T3 true ES2966889T3 (es) | 2024-04-24 |
Family
ID=56014611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15860295T Active ES2966889T3 (es) | 2014-11-21 | 2015-11-20 | Sistemas de procesamiento paralelo y métodos para el análisis altamente escalable de datos de secuencia biológica |
Country Status (7)
Country | Link |
---|---|
US (2) | US20170316154A1 (es) |
EP (1) | EP3221695B1 (es) |
JP (1) | JP6805140B2 (es) |
AU (1) | AU2015349725B2 (es) |
CA (1) | CA2965988A1 (es) |
ES (1) | ES2966889T3 (es) |
WO (1) | WO2016081866A1 (es) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216899B2 (en) * | 2016-10-20 | 2019-02-26 | Hewlett Packard Enterprise Development Lp | Sentence construction for DNA classification |
KR20200121225A (ko) * | 2018-02-16 | 2020-10-23 | 일루미나, 인코포레이티드 | 변이체 검출을 위한 상관 오류 이벤트 완화를 위한 시스템 및 방법 |
US20210158902A1 (en) * | 2018-05-31 | 2021-05-27 | Koninklijke Philips N.V. | System and method for allele interpretation using a graph-based reference genome |
SG11202102591TA (en) * | 2018-10-23 | 2021-04-29 | Mgi Tech Co Ltd | Fpga-based resequencing analysis method and device |
US11275568B2 (en) | 2019-01-14 | 2022-03-15 | Microsoft Technology Licensing, Llc | Generating a synchronous digital circuit from a source code construct defining a function call |
US11113176B2 (en) * | 2019-01-14 | 2021-09-07 | Microsoft Technology Licensing, Llc | Generating a debugging network for a synchronous digital circuit during compilation of program source code |
US11106437B2 (en) | 2019-01-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Lookup table optimization for programming languages that target synchronous digital circuits |
US11093682B2 (en) | 2019-01-14 | 2021-08-17 | Microsoft Technology Licensing, Llc | Language and compiler that generate synchronous digital circuits that maintain thread execution order |
US11144286B2 (en) | 2019-01-14 | 2021-10-12 | Microsoft Technology Licensing, Llc | Generating synchronous digital circuits from source code constructs that map to circuit implementations |
CN112270959A (zh) * | 2020-10-22 | 2021-01-26 | 深圳华大基因科技服务有限公司 | 基于共享内存的基因分析方法、装置和计算机设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912652B2 (en) * | 2002-04-10 | 2011-03-22 | Applied Biosystems, Llc | System and method for mutation detection and identification using mixed-base frequencies |
US20060228721A1 (en) * | 2005-04-12 | 2006-10-12 | Leamon John H | Methods for determining sequence variants using ultra-deep sequencing |
DK2620510T4 (da) * | 2005-06-15 | 2020-03-30 | Complete Genomics Inc | Enkeltmolekyle-arrays til genetisk og kemisk analyse |
WO2011091063A1 (en) * | 2010-01-19 | 2011-07-28 | Verinata Health, Inc. | Partition defined detection methods |
US9552458B2 (en) * | 2012-03-16 | 2017-01-24 | The Research Institute At Nationwide Children's Hospital | Comprehensive analysis pipeline for discovery of human genetic variation |
-
2015
- 2015-11-20 US US15/528,243 patent/US20170316154A1/en not_active Abandoned
- 2015-11-20 ES ES15860295T patent/ES2966889T3/es active Active
- 2015-11-20 CA CA2965988A patent/CA2965988A1/en active Pending
- 2015-11-20 EP EP15860295.3A patent/EP3221695B1/en active Active
- 2015-11-20 JP JP2017526926A patent/JP6805140B2/ja active Active
- 2015-11-20 WO PCT/US2015/061924 patent/WO2016081866A1/en active Application Filing
- 2015-11-20 AU AU2015349725A patent/AU2015349725B2/en active Active
-
2019
- 2019-07-11 US US16/509,048 patent/US20200176084A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2015349725A1 (en) | 2017-05-18 |
US20200176084A1 (en) | 2020-06-04 |
EP3221695A4 (en) | 2018-07-25 |
CA2965988A1 (en) | 2016-05-26 |
US20170316154A1 (en) | 2017-11-02 |
EP3221695B1 (en) | 2023-09-27 |
JP6805140B2 (ja) | 2020-12-23 |
JP2018503164A (ja) | 2018-02-01 |
WO2016081866A1 (en) | 2016-05-26 |
AU2015349725B2 (en) | 2022-02-03 |
EP3221695A1 (en) | 2017-09-27 |
EP3221695C0 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2966889T3 (es) | Sistemas de procesamiento paralelo y métodos para el análisis altamente escalable de datos de secuencia biológica | |
Kelly et al. | Churchill: an ultra-fast, deterministic, highly scalable and balanced parallelization strategy for the discovery of human genetic variation in clinical and population-scale genomics | |
Freed et al. | The Sentieon Genomics Tools–A fast and accurate solution to variant calling from next-generation sequence data | |
Schmidt et al. | Next-generation sequencing: big data meets high performance computing | |
Sarovich et al. | SPANDx: a genomics pipeline for comparative analysis of large haploid whole genome re-sequencing datasets | |
Dilthey et al. | Improved genome inference in the MHC using a population reference graph | |
Daugelaite et al. | An overview of multiple sequence alignments and cloud computing in bioinformatics | |
Tripathi et al. | Next-generation sequencing revolution through big data analytics | |
Souilmi et al. | Scalable and cost-effective NGS genotyping in the cloud | |
Yung et al. | Large-scale uniform analysis of cancer whole genomes in multiple computing environments | |
Dorff et al. | GobyWeb: simplified management and analysis of gene expression and DNA methylation sequencing data | |
Kathiresan et al. | Accelerating next generation sequencing data analysis with system level optimizations | |
Zhang et al. | The ultrafast and accurate mapping algorithm FANSe3: mapping a human whole-genome sequencing dataset within 30 minutes | |
Expósito et al. | HSRA: Hadoop-based spliced read aligner for RNA sequencing data | |
Expósito et al. | SMusket: Spark-based DNA error correction on distributed-memory systems | |
Mohamadi et al. | DIDA: Distributed indexing dispatched alignment | |
Deng et al. | HiGene: A high-performance platform for genomic data analysis | |
Banerjee et al. | Efficient and scalable workflows for genomic analyses | |
González-Domínguez et al. | parSRA: A framework for the parallel execution of short read aligners on compute clusters | |
Sović et al. | Approaches to DNA de novo assembly | |
Ren et al. | GPU-accelerated GATK haplotypecaller with load-balanced multi-process optimization | |
Byun et al. | Accelerating Genome Sequence Alignment on Hadoop on Lustre Environment | |
Whelan et al. | Cloudbreak: accurate and scalable genomic structural variation detection in the cloud with MapReduce | |
Ahn | ccTSA: A coverage-centric threaded sequence assembler | |
Kasaragod et al. | CusVarDB: A tool for building customized sample-specific variant protein database from next-generation sequencing datasets |