diff --git a/Dissertation.org b/Dissertation.org index 6aeaf55..2cd9bea 100644 --- a/Dissertation.org +++ b/Dissertation.org @@ -282,9 +282,62 @@ El uso de /Deep Learning/ para la corrección de errores de secuenciación es un 4. Introducción al uso de Tensorflow y Keras para Deep Learning 5. Estudio de aplicación de Tensorflow/Keras a la corrección de errores de secuenciación en base a los datos sintetizados previamente. -* Métodos -** Tecnologías -** Pipeline +* Diseño y descripción del sistema + +La finalidad de este proyecto es el desarrollo de un /pipeline/, con el objetivo de crear un algoritmo de /Deep Learning/ capaz de corregir errores de secuenciación en secuencias del ADN, en particular, en la región CDR3 del TCR. + +El sistema se compone de 2 partes, dado que el algoritmo de /Deep Learning/ no es dependiente del /dataset/ generado /in silico/, y se podría entrenar con cualquier otro conjunto de datos. + +#+CAPTION: Descripción del proyecto +#+NAME: tab:pipeline +| Elemento | Finalidad | Lenguaje de programación | +|-------------+----------------------------------------+--------------------------| +| [[https://git.coolneng.duckdns.org/coolneng/locigenesis][locigenesis]] | Generación de secuencias de CDR3 | R | +| [[https://git.coolneng.duckdns.org/coolneng/locimend][locimend]] | Corrección de errores de secuenciación | Python | + +El diseño del sistema queda plasmado a continuación: + +#+CAPTION: Diseño del sistema. (*A*) Entrenamiento del algoritmo de /Deep Learning/. Como /input/ proporcionamos el número de secuencias, junto con el número de lecturas que deseamos que se simulen. Locigenesis generará 2 archivos en formato FASTQ, que contienen CDR3 con y sin errores de secuenciación, que son el /input/ de locimend para entrenar el modelo de /Deep Learning/, cuya salida es el conjunto de métricas del algoritmo. (*B*) Inferencia del modelo de /Deep Learning/ previamente entrenado y desplegado. Se provee como entrada una secuencia de ADN con errores de secuenciación, el algoritmo procesa ésta y devuelve una secuencia de ADN sin errores +#+ATTR_HTML: :height 50% :width 75% +#+NAME: fig:pipeline +[[./assets/figures/pipeline.png]] + +Procedemos a la exposición de cada parte del /pipeline/, por separado, resaltando las tecnologías usadas y las funcionalidades. + +** locigenesis + +locigenesis es una herramienta que genera un receptor de células T (TCR) humano, lo pasa por una herramienta de simulación de lectura de secuencias y extrae las regiones CDR3. + +El objetivo de este proyecto es generar tanto secuencias de CDR3 con y sin errores de secuenciación, con el fin de crear /datasets/ para entrenar un algoritmo de /Deep Learning/. + +*** Tecnologías + +- immuneSIM: generación /in silico/ de repertorios de BCR y TCR, humanos y de ratón cite:Weber_2020 +- CuReSim: simulador de secuenciación que emula la técnica /Ion Torrent/ cite:Caboche_2014 +- Biostrings: manipulación de secuencias ómicas cite:Biostrings + +*** Funcionalidades + +El programa realiza, parametrizado por 2 parámetros de entrada (número de secuencias diferentes y número de lecturas por el simulador de secuenciación), los siguientes pasos: + +1. Generación de las secuencias de la cadena \beta de diversos repertorios inmunológicos del TCR +2. Exportación de las secuencias a un archivo en formato FASTQ (tanto CDR3 como la secuencia completa) +3. Simulación de una secuenciación mediante CuReSim, y almacenamiento de las secuencias con errores +4. Alineamiento de las secuencias completas con errores, y extracción de CDR3 a partir de una heurística +5. Exportación de las secuencias de CDR3 con errores y sin errores en archivos con formato FASTQ + +** locimend + +locimend es un algoritmo de /Deep Learning/ que corrige errores de secuenciación de secuencias de ADN. + +El objetivo de este proyecto es crear un modelo que pueda inferir la secuencia correcta de ADN, a partir de una secuencia de ADN con errores. Se trata de una reducción de ruido, aplicada a un problema de genómica. + +*** Tecnologías + +- Tensorflow: creación y ejecución de algoritmos de /machine learning/ cite:tensorflow2015-whitepaper +- Biopython: manipulación de secuencias ómicas cite:Cock_2009 + +*** Funcionalidades ** Reproducibilidad * Resultados * Conclusiones diff --git a/Dissertation.pdf b/Dissertation.pdf index bb58bed..d2c41cf 100644 Binary files a/Dissertation.pdf and b/Dissertation.pdf differ diff --git a/assets/bibliography.bib b/assets/bibliography.bib index f079456..492376c 100644 --- a/assets/bibliography.bib +++ b/assets/bibliography.bib @@ -1265,3 +1265,94 @@ url = {http://dx.doi.org/10.1093/bioinformatics/btx089}, publisher = {Oxford University Press (OUP)} } + +@inproceedings{inproceedings, + author = {Dolstra, Eelco and Jonge, Merijn and Visser, Eelco}, + year = 2004, + month = 01, + pages = {79-92}, + title = {Nix: A Safe and Policy-Free System for Software + Deployment.} +} + +@Article{Caboche_2014, + author = {Caboche, Ségolène and Audebert, Christophe and Lemoine, + Yves and Hot, David}, + title = {Comparison of mapping algorithms used in high-throughput + sequencing: application to Ion Torrent data}, + journal = {BMC Genomics}, + year = 2014, + volume = 15, + number = 1, + pages = 264, + issn = {1471-2164}, + doi = {10.1186/1471-2164-15-264}, + url = {http://dx.doi.org/10.1186/1471-2164-15-264}, + publisher = {Springer Science and Business Media LLC} +} + +@Article{Weber_2020, + author = {Weber, Cédric R and Akbar, Rahmad and Yermanos, Alexander + and Pavlović, Milena and Snapkov, Igor and Sandve, Geir K and + Reddy, Sai T and Greiff, Victor}, + title = {immuneSIM: tunable multi-feature simulation of B- and + T-cell receptor repertoires for immunoinformatics + benchmarking}, + journal = {Bioinformatics}, + year = 2020, + editor = {Schwartz, RussellEditor}, + volume = 36, + number = 11, + month = {Apr}, + pages = {3594–3596}, + issn = {1460-2059}, + doi = {10.1093/bioinformatics/btaa158}, + url = {http://dx.doi.org/10.1093/bioinformatics/btaa158}, + publisher = {Oxford University Press (OUP)} +} + +@Article{Cock_2009, + author = {Cock, P. J. A. and Antao, T. and Chang, J. T. and Chapman, + B. A. and Cox, C. J. and Dalke, A. and Friedberg, I. and + Hamelryck, T. and Kauff, F. and Wilczynski, B. and et al.}, + title = {Biopython: freely available Python tools for computational + molecular biology and bioinformatics}, + journal = {Bioinformatics}, + year = 2009, + volume = 25, + number = 11, + month = {Mar}, + pages = {1422–1423}, + issn = {1460-2059}, + doi = {10.1093/bioinformatics/btp163}, + url = {http://dx.doi.org/10.1093/bioinformatics/btp163}, + publisher = {Oxford University Press (OUP)} +} + +@misc{tensorflow2015-whitepaper, + title = { {TensorFlow}: Large-Scale Machine Learning on + Heterogeneous Systems}, + url = {https://www.tensorflow.org/}, + note = {Software available from tensorflow.org}, + author = { Mart\'{\i}n~Abadi and Ashish~Agarwal and Paul~Barham and + Eugene~Brevdo and Zhifeng~Chen and Craig~Citro and + Greg~S.~Corrado and Andy~Davis and Jeffrey~Dean and + Matthieu~Devin and Sanjay~Ghemawat and Ian~Goodfellow and + Andrew~Harp and Geoffrey~Irving and Michael~Isard and Yangqing + Jia and Rafal~Jozefowicz and Lukasz~Kaiser and + Manjunath~Kudlur and Josh~Levenberg and Dandelion~Man\'{e} and + Rajat~Monga and Sherry~Moore and Derek~Murray and Chris~Olah + and Mike~Schuster and Jonathon~Shlens and Benoit~Steiner and + Ilya~Sutskever and Kunal~Talwar and Paul~Tucker and + Vincent~Vanhoucke and Vijay~Vasudevan and Fernanda~Vi\'{e}gas + and Oriol~Vinyals and Pete~Warden and Martin~Wattenberg and + Martin~Wicke and Yuan~Yu and Xiaoqiang~Zheng}, + year = 2015, +} + +@misc{Biostrings, + title = {Biostrings: Efficient manipulation of biological strings}, + author = {H. Pagès and P. Aboyoun and R. Gentleman and S. DebRoy}, + year = 2019, + note = {R package version 2.50.2}, +} diff --git a/assets/figures/pipeline.png b/assets/figures/pipeline.png new file mode 100644 index 0000000..4b88af3 Binary files /dev/null and b/assets/figures/pipeline.png differ