--- title: 'Genómica Comparativa 2025' disqus: hackmd --- # Unidad Didáctica de Bioinformática y Proteómica Genómica Comparativa === ![downloads](https://img.shields.io/github/downloads/atom/atom/total.svg) ![build](https://img.shields.io/appveyor/ci/:user/:repo.svg) ![chat](https://img.shields.io/discord/:serverId.svg) ## Tabla de Contenido [TOC] ## Pasos antes de comenzar Si es tu primera vez, vamos a comenzar desde aquí. 1. Tener un emulador de terminal *Usuarios Windows:* - Windows power shell [Instalación aquí](https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4) - MobaXterm [Instalación aquí](https://mobaxterm.mobatek.net/) *Usuarios IOS/Mac* - Terminal, viene instalada nativa - iterm2 [Instalación aquí](https://iterm2.com/) 2. Tener un editor de texto plano (No es necesario pero recomendable) Opciones: - SublimeText [Instalación aquí](https://www.sublimetext.com/) - Notepad++ - Bloc de notas 3. Tener una cuenta en el servidor. No te preocupes, la primera clase te asignaremos la cuenta 4. Necesitaremos un software para compartir archivos de mi computadora al servidor - FileZilla [Instalación aquí](https://filezilla-project.org/) 6. **Estamos listos ¡Comencemos!** 7. Conexión al servidor Bioinformatica2 ```gherkin= Feature: Usar comando "ssh" #Sintaxis: ssh [OPC] usuario@IP.SERVIDOR # Así nos conectamos al servidor Bioinformatica, solo intercambia tu usuario ## Opción 1 ssh -X -p 265 -o ServerAliveInterval=60 user@201.131.57.37 ## Opción 2 ssh -X -p 265 -o ServerAliveInterval=60 user@bioinformatica.insp.mx ``` ## Práctica: PYANI ### 1. Preparación de espacio de trabajo ```gherkin= Feature: Crear directorios de trabajo cd # Crear directorio de genomica_comparativa y entrar al directorio mkdir genomica_comparativa cd genomica_comparativa # Crear directorio de pyani mkdir pyani cd pyani # Activar ambiente conda conda activate pyani-plus ``` ### 2. Obtencion de referencias ```gherkin= Feature: Copiar referencias # Debido a las restricciones que tiene el servidor, se encuentra bloquedo el ftp del NCBI, por lo tanto vamos a copiar el directorio que les bajaria sin las restricciones cp -r /home/egodoy/data/pyani_input . Feature: Generar liga simbolica dentro de la carpeta de pyani_input del genoma a comparar cd pyani_input ln -s /home/egodoy/data/genomas/Pelosinus_MAG.fa Pelosinus_MAG.fna # Verificar que la liga simbolica esta activa ls -l Feature: Modificar nombres de los genomas mv GCA_002434245.1_ASM243424v1_genomic.fna P_fermentans_isolate_UBA6563.fna mv GCA_021372375.1_ASM2137237v1_genomic.fna P_sp_isolate_bin460.fna mv GCA_029239675.1_ASM2923967v1_genomic.fna P_sp_isolate_L_E1_T20_C_bin69.fna mv GCA_032078585.1_ASM3207858v1_genomic.fna P_sp_isolate_CTOTU48513.fna mv GCA_032079965.1_ASM3207996v1_genomic.fna P_fermentans_isolate_CTOTU48474.fna mv GCA_900542835.1_UMGS495_genomic.fna u_Pelosinus_sp_isolate_UMGS495.fna mv GCA_900550105.1_UMGS1260_genomic.fna u_Pelosinus_sp_isolate_UMGS1260.fna mv GCA_946415545.1_SRR12377472_bin.15_metawrap_v1.3_MAG_genomic.fna u_Pelosinus_sp_isolate_SRR12377472_bin15.fna mv GCA_963526485.1_ERR9968789_bin.10_MetaWRAP_v1.3_MAG_genomic.fna u_Pelosinus_sp_isolate_ERR9968789_bin10.fna mv GCA_963526645.1_ERR9968768_bin.30_MetaWRAP_v1.3_MAG_genomic.fna u_Pelosinus_sp_isolate_ERR9968768_bin30.fna mv GCF_000271485.2_Pelosinus_fermentans_DSM_17108_v1.1_genomic.fna P_fermentans_R7.fna mv GCF_000271505.1_Pelosinus.strB4_v1.0_genomic.fna P_fermentans_B4.fna mv GCF_000271545.1_Pelosinus.strA11_v1.0_genomic.fna P_fermentans_A11.fna mv GCF_000271665.2_ASM27166v2_genomic.fna P_fermentans_JBW45.fna mv GCF_000317005.1_Hcf1DRAFT_genomic.fna P_sp_HCF1.fna mv GCF_000725345.1_ASM72534v1_genomic.fna P_sp_UFO1.fna mv GCF_020819555.1_ASM2081955v1_genomic.fna P_baikalensis_Bkl1.fna mv GCF_030269905.1_ASM3026990v1_genomic.fna P_sp_IPA-1.fna Feature: Revisar los archivos con ls ls grep -c '^>' *.fna mv labels.txt classes.txt ../. Feature: Bajar referencias de NCBI - No correr # Si queremos usar el script genbank_get_genomes_by_taxon.py # Se tiene que activar el ambiente de pyani anterior conda activate pyani # Ayuda de genbank_get_genomes_by_taxon.py genbank_get_genomes_by_taxon.py --help # Ejemplo de como lo correriamos genbank_get_genomes_by_taxon.py -o directorio -t TAXID -l archivo.log --email correo@insp.mx # Ejemplo de como lo correriamos con Pelosinus genbank_get_genomes_by_taxon.py -o pyani_input -t 365348 -l Pelosinus.log --email correo@insp.mx ``` ### 3. Correr pyani-plus método: ANIm (MUMmer/nucmer) ```gherkin= Feature: Ayuda de pyani-plus pyani-plus --help pyani-plus anim --help Feature: Correr y crear base de datos (~5 min) pyani-plus anim pyani_input/ --database pelosinus.db --create-db --name "Pelosinus ANIm" Feature: Conectarnos a Servidor *Steinman* # Haremos un puente a través de Bioinformatica2 ssh -J UsuarioBioinformatica@201.131.57.37:265 UsuarioSteinman@192.168.26.127 # Paso 1. Colocar contraseña del servidor Bioinformatica2 # Paso 2. Colocar contraseña del servidor Steinman # Les preguntara si confian en las credenciales y tenemos que decir: yes ``` ![Captura de pantalla 2025-11-11 a la(s) 4.09.58 p.m.](https://hackmd.io/_uploads/rkudEE-g-x.png) ```gherkin=15 Feature: Activar ambientes conda conda activate pyANI-plus Feature: Ir a mis resultados cd genomica_comparativa/pyani ls Feature: Ver runs en la base pyani-plus list-runs --database pelosinus.db Feature: Graficar un run (heatmap, distribuciones) al directorio de salida mkdir pyani_plus_output # Por defecto las etiquetas son el "stem" (nombre del archivo sin extensión) pyani-plus plot-run --database pelosinus.db --outdir pyani_plus_output --run-id 1 --label stem # Borrar imagenes jpg, svgz y pdf cd pyani_plus_output rm *.jpg *.pdf *.svgz Feature: Exportar resultados tabulares del run 1 # Genera TSVs con matrices de ANI, coberturas, etc. cd .. pyani-plus export-run --database pelosinus.db --outdir pyani_plus_output --run-id 1 ``` ### 4. Examinar los archivos de salida ```gherkin= Feature: Examinar directorio "pyani_plus_output" cd pyani_plus_output ls -l ``` ### 5. Copiar archivos de salida a su computadora ```gherkin= Feature: Hacerlo por medio de FileZilla # Paso 1. Abrir una terminal NUEVA y colocar el siguiente comando: ssh -L 2222:192.168.26.127:22 UsuarioBioinformatica2@201.131.57.37 -p 265 # Paso 2. Colocar contraseña del servidor Bioinformatica2 # Paso 3. Abrir FileZilla en mi computadora # Paso 4. Abrir el gestor de sitios ``` ![Captura de pantalla 2025-11-11 a la(s) 5.07.27 p.m.](https://hackmd.io/_uploads/SklCZrWl-x.png) ```gherkin=8 # Paso 5. Dar clic en nuevo sitio y poner "Steinman" ``` ![Captura de pantalla 2025-11-11 a la(s) 5.08.48 p.m.](https://hackmd.io/_uploads/BJK7MHWl-l.png) ```gherkin=9 # Paso 6. Cambiar protocolo a SFTP- SSH File Transfer Protocol ``` ![Captura de pantalla 2025-11-11 a la(s) 5.10.57 p.m.](https://hackmd.io/_uploads/S1fizSZxZe.png) ```gherkin=10 # Paso 7. Agregar información: # Servidor: localhost # Puerto: 2222 # Usuario: Su usuario de steinman # Contraseña: Contraseña de steinman ``` ![Captura de pantalla 2025-11-11 a la(s) 4.48.10 p.m.](https://hackmd.io/_uploads/HkHWQBbgbg.png) ```gherkin=15 Feature: Click en Conectar # Si todo va bien, veran los directorios de su computadora y los de Steinman ``` ![Captura de pantalla 2025-11-11 a la(s) 5.19.08 p.m.](https://hackmd.io/_uploads/ryitVSbl-e.png) ## Práctica: MAUVE. Reordenamiento de contigs ### 1. Preparar espacio de trabajo ```gherkin= Feature: Crear una carpeta que se llame mauve en sus computadoras personales # Tip: Ponganlo en un directorio facil de accesar mkdir mauve cd mauve ``` ### 2. Obtener archivos a mi computadora personal ```gherkin= Feature: Copiar los archivos que usaremos Pelosinus_MAG.fa y la referencia (Pelosinus_fermentans_JBW45.fa) # Usemos FileZilla: Esta es la ubicación: /home/tina/data/genomas/Pelosinus_MAG.fa . /home/tina/data/genomas/Pelosinus_fermentans_JBW45.fa . ``` ### 3. Correr Mauve ```gherkin= Feature: Pasos a seguir en mi aplicación 3.1 Abrir mauve 3.2 Ir a Tools -> move contigs 3.3 Elegir la referencia (Pelosinus_fermentans_JBW45.fa) 3.4 Elegir el genoma que queremos reordenar (Pelosinus_MAG.fa) ``` ### 4. Explorar salida de mauve ```gherkin= Feature: Cambiar nombre del ultimo alineamiento a Pelosinus_MAG_reordenado.fa cd mauve ls # Las XX se cambian por el último alineamiento que tuvieron cd alignmentXX mv Pelosinus_MAG.fa.fas Pelosinus_MAG_reordenado.fa ``` ## Práctica: MAUVE. Alineamiento de genomas ### 1. Copiar archivos localmente ```gherkin= Feature: Copiar la carpeta completa de genomas a mi computadora. Cambiando el nombre de la carpeta a genomas # Ubicación /home/alumnoXX/genomica_comparativa/pyani/pyani_input ``` ### 2. Preparar espacio de trabajo local (computadoras personales) ```gherkin= Feature: Generar directorio alineamiento mkdir alineamiento ``` ### 3. Generar el alineamiento ```gherkin= Feature: Dentro de la aplicación de mauve 8.1 Abrir mauve 8.2 Ir a File > Align with progressiveMauve 8.3 Añadir las secuencias en: Add Sequence... 8.4 Modificar el Output en ... 8.5 Align ``` ### 4. Explorar la salidas ## Práctica: DNA Plotter / Artemis ### 1. Conectarnos al servidor: Steinman ```gherkin= ssh -J UsuarioBioinformatica@201.131.57.37:265 UsuarioSteinman@192.168.26.127 ``` ### 2. Preparar espacio de trabajo ```gherkin=2 Feature: Dentro del servidor, movernos al directorio genomica_comparativa cd /home/alumnoXX/genomica_comparativa # Crear directorio artemis mkdir artemis cd artemis ``` ### 3.Copiar gff al directorio artemis ```gherkin=8 Feature: Copiarlo del directorio de /home/tina/data/genomas cp /home/tina/data/genomas/qG_Pelosinus_MAG_reordenado_u214.gff3 . ``` ### 4.Copiar Genoma reordenado ```gherkin=10 Feature: Hacer una liga simbolica de Pelosinus_MAG_reordenado.fa ln -s /home/tina/data/genomas/Pelosinus_MAG_reordenado.fa . ``` ### 5. Modificar gff ```gherkin=12 Feature: Escoger opción 1 o 2 # Opcion 1. Correr script mod_gff_multifasta.R 4.1 Activar ambiente conda conda activate tools_bioinfo Rscript /home/tina/scripts/mod_gff_multifasta.R qG_Pelosinus_MAG_reordenado_u214.gff3 Pelosinus_MAG_reordenado.fa Pelosinus_MAG_reordenado.gff # Opcion 2. Copiarlo del que yo genere cp /home/egodoy/data/genomas/Pelosinus_MAG_reordenado.gff . ``` ### 6. Extraer información de artemis a su computadora local ```gherkin=20 Feature: Usar FileZilla # Ubicación /home/alumnoXX/genomica_comparativa/artemis/ ``` ### 6. Abrir aplicación: artemis ```gherkin=23 Feature: Dentro de la aplicación *artemis* 6.1 Colocar directorio de trabajo -> OK 6.2 File -> Open... 6.3 Seleccionar del directorio de artemis el genoma : Pelosinus_MAG_reordenado.fa -> Abrir 6.4 File -> Read Entry Into >Pelosinus_MAG_reordenado.fa 6.5 Seleccionar "Pelosinus_MAG_reordenado.gff" 6.6 File -> Open in DNAPlotter # Dibujar gráficos de contenido de GC y GC Skew 6.7 Graph -> GC plot -> Draw 6.8 Graph -> GC Skew -> Draw # Modificar CDS foward and reverse 6.9 Options -> Track Manager... # Seleccionar color y Apply Colour to All ``` ## Práctica: proteinOrtho ### 1. Conectarnos al servidor: Steinman ```gherkin=1 ssh -J UsuarioBioinformatica@201.131.57.37:265 UsuarioSteinman@192.168.26.127 ``` ### 2. Crear directorio de trabajo dentro del directorio de "genomica_comparativa" ```gherkin=2 Feature: Crear directorio "proteinOrtho" cd genomica_comparativa mkdir proteinOrtho cd proteinOrtho Feature: Activar ambiente conda: proteinortho # Para los usuarios que no tienen el conda activado # source /usr/local/share/anaconda3/bin/activate conda activate proteinortho proteinortho --help ``` ### 3.Obtencion de referencias ```gherkin=10 Feature: Obtención de proteomas de las referencias # Generar ligas simbolicas ln -s /home/tina/data/genomas/*.faa . ls ``` ### 4. Correr ProteinOrtho ```gherkin=14 Feature: Correr proteinortho nohup proteinortho -project=Pelosinus -cpus=4 -verbose -step=0 -dups=2 -singles Pelosinus_MAG_reordenado.faa Pelosinus_fermentans_JBW45.faa Pelosinus_sp_Bkl1.faa & ``` ### 5. Explorar salida de ProteinOrtho ```gherkin=16 Feature: Usar comando "head" y "cat" head Pelosinus.proteinortho.tsv head Pelosinus.proteinortho-graph cat Pelosinus.proteinortho-graph.summary ``` ### 6. Generar cuentas de pangenoma ```gherkin=20 Feature: Crear directorio pangenome mkdir pangenome cd pangenome Feature: Contar y guardar genes de Core, Shell y Cloud wc -l ../Pelosinus.proteinortho.tsv # Core grep '^3' ../Pelosinus.proteinortho.tsv > core.tab wc -l core.tab # Shell grep '^2' ../Pelosinus.proteinortho.tsv > shell.tab wc -l shell.tab # Cloud grep '^1' ../Pelosinus.proteinortho.tsv > cloud.tab wc -l cloud.tab ### Explorar archivos head core.tab head shell.tab head cloud.tab Feature: Extraer genes que solo tienen nuestro genoma cut -f6 cloud.tab| grep -v '*' > cloud_Pelosinus_fermentas_GOM.tab # Contar numero de genes wc -l cloud_Pelosinus_fermentas_GOM.tab # Explorar archivo less cloud_Pelosinus_fermentas_GOM.tab ``` ### 7. Copiar archivos de manera local ```gherkin=52 Feature: Pasar archivos a mi computadora con FileZilla # Paso 1. Abrir terminal nueva # Paso 2. Hacer el puente ssh -L 2222:192.168.26.127:22 UsuarioBioinformatica2@201.131.57.37 -p 265 ``` ## Práctica: BRIG ### 1. Conectarnos al servidor: Steinman ```gherkin=1 ssh -J UsuarioBioinformatica@201.131.57.37:265 UsuarioSteinman@192.168.26.127 ``` ### 2. Preparar espacio de trabajo ```gherkin=2 Feature: Crear una carpeta que se llame BRIG en ‘genomica_comparativa’ en el servidor cd genomica_comparativa mkdir BRIG cd BRIG ``` ### 2.Crear liga simbolica de genoma reordenado ```gherkin=6 ln -s /home/tina/data/genomas/Pelosinus_MAG_reordenado.fna . ``` ### 3. Buscar que genomas son multifasta en la carpeta de 'pyani_input' ```gherkin=7 cd ../pyani/pyani_input grep -c '^>' *.fna | awk -F ':' '$2 > 1' | cut -d ':' -f1 > list_multifastas.txt ``` ### 4. Concatenar multifastas con concatenate_multifasta.sh ```gherkin=9 Feature: usando el script: concatenate_multifasta.sh while read line; do (/home/tina/scripts/concatenate_multifasta.sh $line $line.concat.fna); done < list_multifastas.txt ## Checar que haya concatenado todas las secuencias grep -c '^>' *concat.fna ## Crear carpeta 'concatenados' en la carpeta de BRIG cd ../../BRIG mkdir concatenados cd concatenados ## Mover todos los fastas concatenados de ‘pyani_input’ a 'concatenados' mv ../../pyani/pyani_input/*concat.fna . ls ``` ### 5. Generar ligas simbolicas de genomas completos ```gherkin=25 ln -s ../../pyani/pyani_input/P_sp_UFO1.fna . ln -s ../../pyani/pyani_input/P_fermentans_JBW45.fna . ## Quitar el genoma no ordenado de MAG rm Pelosinus_MAG.fna.concat.fna ``` ### 6. Generar tabla de contigs ```gherkin=30 Feature: Usa el script "get_table_fasta.R" cd .. Rscript /home/tina/scripts/get_table_fasta.R Pelosinus_MAG_reordenado.fna Pelosinus_MAG_contigs.tab less Pelosinus_MAG_contigs.tab ``` ### 7. Copiar archivos de manera local ```gherkin=31 Feature: Pasar archivos a mi computadora con FileZilla # Paso 1. Abrir terminal nueva # Paso 2. Hacer el puente ssh -L 2222:192.168.26.127:22 UsuarioBioinformatica2@201.131.57.37 -p 265 ``` ### 8. Aplicación BRIG ```gherkin=32 Feature: Seguir la explicación paso a paso ``` ## Información extra :::info [**pyani**] https://github.com/widdowquinn/pyani https://widdowquinn.github.io/pyani/ https://pyani.readthedocs.io/en/latest/ [**mauve**] https://darlinglab.org/mauve/user-guide/viewer.html [**artemis/DNA plotter**] https://sanger-pathogens.github.io/Artemis/Artemis/ [**proteinOrtho**] https://gitlab.com/paulklemm_PHD/proteinortho [**BRIG**] https://github.com/happykhan/BRIG http://sourceforge.net/projects/brig/ ::: ###### tags: `UD_Bioinfo` `Documentation` `Genomica_Comparativa`