---
# System prepended metadata

title: Genómica Comparativa 2025
tags: [UD_Bioinfo, Documentation, Genomica_Comparativa]

---

---
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`