class: center, middle, inverse, title-slide # Python II y GitHub ### Licenciatura en Ciencias Genómicas,UNAM ### First version: 2021-08-15; Last update: 2021-08-31 --- <style type="text/css"> /* From https://github.com/yihui/xaringan/issues/147 */ .scroll-output { height: 80%; overflow-y: scroll; } /* https://stackoverflow.com/questions/50919104/horizontally-scrollable-output-on-xaringan-slides */ pre { max-width: 100%; overflow-x: scroll; } </style> # Introducción a librerías ## Contenido de la unidad 1. [Bioprojects](PythonII_L1_v1.0.html#5) 2. [Biopython](PythonII_L1_v1.0.html#6) 3. [NumPy](PythonII_L1_v1.0.html#8) 4. [Pandas](PythonII_L1_v1.0.html#9) 5. [Matplotlib](PythonII_L1_v1.0.html#10) 6. [Seaborn](PythonII_L1_v1.0.html#11) 7. [SciPy](PythonII_L1_v1.0.html#12) --- ## Objetivo Conocer las librerías más importantes para proyectos de bioinformática de python -y en las que profundizaremos a lo largo del curso. --- ## Introducción Con el inicio de la bioinformática surgió la necesidad de crear programas computacionales para el manejo y análisis de datos. La comunidad internacional de cientificos de datos que trabajan con python han logrado consolidar distintas librerías para trabajar con diversidad de problemas y con distintos enfoques. --- ## Bioprojects <img src="imgs/intro/bioprojects.jpg" width="650px" style="display: block; margin: auto;" /> --- .pull-left[ ## Biopython ] .pull-rigth[ <img src="imgs/intro/biopython.png" width="150px" style="display: block; margin: auto 0 auto auto;" /> ]<br> - Es un conjunto de herramientas de libre acceso para aplicaciones bioinformáticas desarrolladas por una comunidad internacional. - Mayor accesibilidad para biólogxs. - Inicio del Proyecto 1999. - Última versión Junio 2021 (Biopython 1.79) - Requiere de NumPy --- ### Módulos de Biopython <img src="imgs/intro/biopython-modules.jpg" width="750px" style="display: block; margin: auto;" /> --- .pull-left[ ## NumPy #### (Numerical Python) ] .pull-rigth[ <img src="imgs/intro/numpy.png" width="250px" style="display: block; margin: auto 0 auto auto;" /> ] <br> - Computo orientado a `arrays` - Arrays multidimensionales - Vectorización y *Broadcasting* - Usual para manejo de números imaginarios .full-width[.content-box-yellow[ numpy_array = np.array(list) ]] --- .pull-left[ ## Pandas #### (Panel Data) ] .pull-rigth[ <img src="imgs/intro/pandas.png" width="250px" style="display: block; margin: auto 0 auto auto;" /> ] <br> Objetos Dataframes rápidos y eficientes para manipular datos con indexing integrado Herramientas, métodos y funcionalidades para estructura de datos <img src="imgs/intro/pandas2.jpg" width="350px" style="display: block; margin: auto;" /> --- .pull-left[ ## Matplotlib <br><br> - Emplea `Pyplot`, lo que da interfaz similar a MATLAB - Conectado a `NumPy` y `Pandas` - Exploración de análisis de datos y plots para publicaciones - Problemas con datasets grandes, visualización interactiva para web y *graphical user interfaces* - [¡Explora la galería de ejemplos!](https://matplotlib.org/stable/gallery/index.html) ] .pull-rigth[ <img src="imgs/intro/matplotlib.png" width="250px" style="display: block; margin: auto 0 auto auto;" /> <img src="imgs/intro/matplotlib2.jpg" width="350px" style="display: block; margin: auto 0 auto auto;" /> ] <br> --- .pull-left[ ## Seaborn ] .pull-rigth[ <img src="imgs/intro/seaborn.jpg" width="250px" style="display: block; margin: auto 0 auto auto;" /> ] <br> - Librería para hacer gráficas estadísticas en Python - Construída en `matplotlib` (Seaborn: versión extendida, más funcional y organizada), integra estructuras de datos de `pandas` y `NumPy` - .small[Requiere: NumPy, SciPy, Pandas, Matplotlib] <img src="imgs/intro/seaborn2.jpg" width="350px" style="display: block; margin: auto;" /> [¡Explora la galería de ejemplos!](https://seaborn.pydata.org/examples/index.html) --- .pull-left[ ## SciPy ] .pull-rigth[ <img src="imgs/intro/scipy.jpg" width="200px" style="display: block; margin: auto 0 auto auto;" /> ] Colección de algoritmos matemáticos y funciones creadas en extensión de NumPy. <img src="imgs/intro/scipy_modulos.png" width="465px" style="display: block; margin: auto;" /> --- ## Bibliografía 1. http://biopython.org/DIST/docs/tutorial/Tutorial.html 2. https://numpy.org/doc/stable/user/whatisnumpy.html 3. https://pandas.pydata.org/about/index.html 4. https://matplotlib.org/stable/users/index.html 5. https://seaborn.pydata.org/introduction.html 6. https://docs.scipy.org/doc/scipy/reference/tutorial/general.html