--- title: 'Comandos básicos unix' 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 ``` ### 2. Obtencion de referencias ```gherkin= Feature: Bajar referencias de NCBI # Ayuda de genbank_get_genomes_by_taxon.py genbank_get_genomes_by_taxon.py --help # 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 . #Revisar los archivos log cd pyani_input less Pelosinus_downloads.log tail Pelosinus_downloads.log # Quitar los genomas comprimidos # En su caso no hay que quitarlos porque ya lo quitamos previamente rm *.fna.gz # Explorar y mover los archivos txt a un nivel superior cat labels.txt mv labels.txt classes.txt ../. #Quitar genomas repetidos rm GCF_900114615.1_IMG-taxon_2636416028_annotated_assembly_genomic.fna GCF_000271485.1_Pelosinus.strR7_v1.0_genomic.fna GCF_900100555.1_IMG-taxon_2642422525_annotated_assembly_genomic.fna GCF_000271665.1_Pelosinus.strJWB45_v1.0_genomic.fna # Generar liga simbolica dentro de la carpeta de pyani_input del genoma a comparar ln -s /home/egodoy/data/genomas/Pelosinus_MAG.fa . # Verificar que la liga simbolica esta activa ls -l cd .. ``` ### 3. Modificación de archivos labels/clases.txt ```gherkin= Feature: Modificar el archivo de labels para quitar genomas repetidos y genomas que no se pudieron bajar # Opción 1. Usando vim o nano vim labels.txt # Agregar el genoma a evaluar Pelosinus_MAG Pelosinus MAG # Borrar las lineas de los genomas repetidos # GCF_900114615.1_IMG-taxon_2636416028_annotated_assembly_genomic # GCF_000271485.1_Pelosinus.strR7_v1.0_genomic # GCF_900100555.1_IMG-taxon_2642422525_annotated_assembly_genomic # GCF_000271665.1_Pelosinus.strJWB45_v1.0_genomic.fna # Opción 2. Copiar el archivo labels.txt modificado del siguiente path: cp /home/egodoy/genomica_comparativa/pyani/labels.txt . ``` ### 4. Correr pyani ```gherkin= Feature: Generar la instrucción para ejectutar pyani # Ayuda average_nucleotide_identity.py --help # Correr la instrucción average_nucleotide_identity.py -v -i pyani_input/ \ -o pyani_output/ -g --gformat png --labels labels.txt >> pyani.log 2>&1 ``` ### 5. Examinar los archivos de salida ```gherkin= Feature: Examinar directorio "pyani_output" cd pyani_output ls -l ``` ### 5. Copiar archivos de salida a su computadora ```gherkin= # Opcion1: Hacerlo por medio de scp # 5.1. Abrir una terminal en nuestra computadora # 5.2. Ubicarnos en el directorio en donde quiero colocar los archivos # 5.3. Usar el comando "scp" scp -P 265 user@201.131.57.37:/ubicacion/servidor/pyani_output/ . # Opcion2: Hacerlo por medio de FileZilla ``` ## Práctica: MAUVE. Reordenamiento de contigs ### 1. Preparar espacio de trabajo ```gherkin= # Crear una carpeta que se llame mauve en sus computadoras personales mkdir 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) # Ingresar al directorio mauve cd mauve # Opción 1: scp scp -r -P 265 alumnoXX@201.131.57.37:/home/egodoy/data/genomas/Pelosinus_MAG.fa . scp -r -P 265 alumnoXX@201.131.57.37:/home/egodoy/data/genomas/Pelosinus_fermentans_JBW45.fa . # Opción 2: FileZilla ``` ### 3. Correr Mauve ```gherkin= Feature: Pasos a seguir 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. Conectarse al servidor ```gherkin= Feature: con el comando "ssh" ssh -X -p 265 alumnoXX@201.131.57.37 ``` ### 2. Preparar espacio de trabajo ```gherkin= Crear carpeta de mauve Feature: cd genomica_comparativa mkdir mauve cd mauve ``` ### 3. Crear liga simbolica de los genomas de la carpeta de pyani_input ```gherkin= Feature: Con el comando "ln" ln -s /home/egodoy/genomica_comparativa/pyani/pyani_input/*.* . ``` ### 4. Crear una lista ordenada ```gherkin= Feature: Lista de los nombres de los genomas en un archivo que se llame "lista" ls *.fa *.fna | sort > lista # Copiar labels.txt a la carpeta de mauve cp /home/egodoy/genomica_comparativa/pyani/labels.txt . ``` ### 5. Modificar archivo labels.txt ```gherkin= Feature: sort labels.txt | cut -f2| sed 's/ /_/g;s/\.//g' | tr "\n" " " |sed 's/ /.fa /g'| tr " " "\n" > labels_mod paste lista labels_mod mv GCA_002434245.1_ASM243424v1_genomic.fna P_fermentans_isolate_UBA6563.fa mv GCA_021372375.1_ASM2137237v1_genomic.fna P_sp_isolate_bin460.fa mv GCA_029239675.1_ASM2923967v1_genomic.fna P_sp_isolate_L_E1_T20_C_bin69.fa mv GCA_032078585.1_ASM3207858v1_genomic.fna P_sp_isolate_CTOTU48513.fa mv GCA_032079965.1_ASM3207996v1_genomic.fna P_fermentans_isolate_CTOTU48474.fa mv GCA_900542835.1_UMGS495_genomic.fna u_Pelosinus_sp_isolate_UMGS495.fa mv GCA_900550105.1_UMGS1260_genomic.fna u_Pelosinus_sp_isolate_UMGS1260.fa mv GCA_946415545.1_SRR12377472_bin.15_metawrap_v1.3_MAG_genomic.fna u_Pelosinus_sp_isolate_SRR12377472_bin15.fa mv GCA_963526485.1_ERR9968789_bin.10_MetaWRAP_v1.3_MAG_genomic.fna u_Pelosinus_sp_isolate_ERR9968789_bin10.fa mv GCA_963526645.1_ERR9968768_bin.30_MetaWRAP_v1.3_MAG_genomic.fna u_Pelosinus_sp_isolate_ERR9968768_bin30.fa mv GCF_000271485.2_Pelosinus_fermentans_DSM_17108_v1.1_genomic.fna P_fermentans_R7.fa mv GCF_000271505.1_Pelosinus.strB4_v1.0_genomic.fna P_fermentans_B4.fa mv GCF_000271545.1_Pelosinus.strA11_v1.0_genomic.fna P_fermentans_A11.fa mv GCF_000271665.2_ASM27166v2_genomic.fna P_fermentans_JBW45.fa mv GCF_000317005.1_Hcf1DRAFT_genomic.fna P_sp_HCF1.fa mv GCF_000725345.1_ASM72534v1_genomic.fna P_sp_UFO1.fa mv GCF_020819555.1_ASM2081955v1_genomic.fna P_baikalensis_Bkl1.fa mv GCF_030269905.1_ASM3026990v1_genomic.fna P_sp_IPA-1.fa mv Pelosinus_MAG.fa Pelosinus_MAG.fa ``` ### 6. Copiar archivos localmente ```gherkin= Feature: Copiar la carpeta completa de genomas a mi computadora. Cambiando el nombre de la carpeta a genomas scp -r alumnoXX@201.131.57.37:/home/alumnoXX/genomica_comparativa/mauve/ genomas ### 7. Preparar espacio de trabajo local (computadoras personales) ```gherkin= Feature: Generar directorio alineamiento mkdir alineamiento ``` ### 8. 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 ``` ### 9. Explorar la salidas ## Práctica: DNA Plotter / Artemis ### 1. Preparar espacio de trabajo ```gherkin= Feature: Dentro del servidor, movernos al directorio genomica_comparativa cd /home/alumnoXX/genomica_comparativa # Crear directorio artemis mkdir artemis cd artemis ``` ### 2.Copiar gff al directorio artemis ```gherkin= Feature: Copiarlo del directorio de /egodoy/data/genomas cp /home/egodoy/data/genomas/qG_Pelosinus_MAG_reordenado_u214.gff3 . ``` ### 3.Copiar Genoma reordenado ```gherkin= Feature: Escoger opción 1 o 2 # Opcion 1: Pasar el fasta reordenado que salio de MAUVE al servidor scp -P 265 Pelosinus_MAG_reordenado.fa alumnoXX@201.131.57.37:/home/alumnoXX/genomica_comparativa/mauve/ # Opcion 2: Hacer una liga simbolica de Pelosinus_MAG_reordenado.fa ln -s /home/egodoy/data/genomas/Pelosinus_MAG_reordenado.fa . ``` ### 4. Modificar gff ```gherkin= 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/egodoy/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 . ``` ### 5. De manera local. ```gherkin= Feature: En mi computadora 5.1 Abrir una terminal en mi computadora e ir a la direccion en donde quiero poner la información 5.2 Copiar archivos a mi computadora # Opción : comando scp scp -r alumnoXX@201.131.57.37:/scratch/alumnoXX/artemis/ # Opción2 : usar FileZilla ``` ### 6. Abrir aplicación: artemis ```gherkin= 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. Crear directorio de trabajo dentro del directorio de "genomica_comparativa" ```gherkin= Feature: Crear directorio "proteinOrtho" cd genomica_comparativa mkdir proteinOrtho cd proteinOrtho ``` ### 2.Obtencion de referencias ```gherkin= Feature: Obtención de proteomas de las referencias # Generar ligas simbolicas ln -s /home/egodoy/data/genomas/*.faa . ls ``` ### 3. Correr ProteinOrtho ```gherkin= Feature: Preparar script nano proteinortho.sh #!/bin/bash proteinortho -project=Pelosinus -cpus=4 -verbose -step=0 -dups=2 -singles Pelosinus_MAG_reordenado.faa Pelosinus_fermentans_JBW45.faa Pelosinus_sp_Bkl1.faa ``` ### 4. Explorar salida de ProteinOrtho ```gherkin= Feature: Usar comando "head" y "cat" head Pelosinus.proteinortho.tsv head Pelosinus.proteinortho-graph cat Pelosinus.proteinortho-graph.summary ``` ### 5. Generar cuentas de pangenoma ```gherkin= Feature: Contar genes de Core, Shell y Cloud wc -l Pelosinus.proteinortho.tsv # Core grep -c '^3' Pelosinus.proteinortho.tsv # Shell grep -c '^2' Pelosinus.proteinortho.tsv # Cloud grep -c '^1' Pelosinus.proteinortho.tsv ## Extraer genes de Core, Shell y Cloud # Core grep '^3' Pelosinus.proteinortho.tsv > core.tab # Shell grep '^2' Pelosinus.proteinortho.tsv > shell.tab # Cloud grep '^1' Pelosinus.proteinortho.tsv > cloud.tab ### Explorar archivos less core.tab less shell.tab less cloud.tab ### Extraer genes que solo tienen nuestro genoma cut -f4 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 ``` ### 5. Copiar archivos de manera local ```gherkin= Feature: Pasar archivos a mi computadora # Opción 1: scp -r -P 265 egodoy@201.131.57.37:/home/egodoy/genomica_comparativa/proteinOrtho/ . # Opción 2: FileZilla ``` ## Práctica: BRIG ### 1. Preparar espacio de trabajo ```gherkin= Feature: Crear una carpeta que se llame BRIG en ‘genomica_comparativa’ en el servidor mkdir BRIG cd BRIG ``` ### 2.Crear liga simbolica de genoma reordenado en la carpeta de 'mauve' ```gherkin= ln -s /home/egodoy/data/genomas/Pelosinus_MAG_reordenado.fa . ``` ### 3. Buscar que genomas son multifasta en la carpeta de 'mauve' ```gherkin= cd ../mauve/ grep -c '^>' *.fa | awk -F ':' '$2 > 1' | cut -d ':' -f1 > list_multifastas.txt ``` ### 4. Concatenar multifastas con concatenate_multifasta.sh ```gherkin= Feature: Ojo con este script solo funciona con genomas en minusculas while read line; do (/home/egodoy/scripts/concatenate_multifasta.sh $line $line.concat.fa); done < list_multifastas.txt ## Checar que haya concatenado todas las secuencias grep -c '^>' *concat.fa ## Crear carpeta 'concatenados' en la carpeta de BRIG cd ../BRIG; mkdir concatenados; cd concatenados ## Mover todos los fastas concatenados de ‘mauve’ a 'concatenados' mv ../../mauve/*concat.fa . ls ``` ### 5. Generar ligas simbolicas de genomas completos ```gherkin= ln -s ../../mauve/P_sp_UFO1_UFO1.fa . ln -s ../../mauve/P_fermentans_JBW45.fa . ## Quitar el genoma no ordenado de MAG rm Pelosinus_MAG.fa.concat.fa ``` ### 6. Generar tabla de contigs ```gherkin= Feature: Usa el script "get_table_fasta.R" cd .. Rscript /home/egodoy/scripts/get_table_fasta.R Pelosinus_MAG_reordenado.fa Pelosinus_MAG_contigs.tab less Pelosinus_MAG_contigs.tab ``` ### 7. Copiar archivos de manera local ```gherkin= Feature: Pasar archivos a mi computadora # Opción 1: scp scp -r -P 265 alumnoXX@201.131.57.37:/home/egodoy/genomica_comparativa/BRIG . # Opción 2: FileZilla ``` ### 8. Aplicación BRIG ## 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`