# Análisis de Similitudes de Proteínas de 🧬 *Pediococcus pentosaceus* con BLASTp: # Desde la Anotación hasta los Resultados Finales ## 🧬 Ejercicio: Anotación del genoma con Prokka El siguiente comando ejecuta Prokka para anotar el genoma ensamblado de *Pediococcus pentosaceus* cepa **Pp16CC**: ```bash prokka \ --outdir A5End_prokka_Pp16CC \ --prefix Pp16CC_annotation \ --genus Pediococcus \ --species pentosaceus \ --strain Pp16CC \ --kingdom Bacteria \ --cpus 8 \ EnsambleA5.final.scaffolds.fasta ``` ## 🧬 Anotación con Prokka tras ensamblaje de A5 (sin `--end=5`) Si ejecutaste A5 sin la opción `--end=5`, tu archivo ensamblado se llama típicamente: ```bash prokka \ --outdir A5_prokka_Pp16CC_contigs \ --prefix Pp16CC_annotation \ --genus Pediococcus \ --species pentosaceus \ --strain Pp16CC \ --kingdom Bacteria \ --cpus 4 \ Pp16CC.contigs.fasta ``` ## 🔬 Ejercicio: Descargar proteínas de *Pediococcus pentosaceus* con Entrez Este ejercicio te guía en la preparación de un análisis usando BLASTp a partir de proteínas descargadas desde NCBI con Entrez. --- ### 📁 Paso 1: Salir de la carpeta actual y crear una nueva carpeta ```bash cd .. mkdir blastP_pediococcus cd blastP_pediococcus ``` ### 🧪 Paso 2: Activar el ambiente Conda ```bash conda activate EntrezEnv ``` ### 🧬 Paso 3: Descargar proteínas de interés con Entrez Usaremos esearch, efetch y xargs para descargar 5 proteínas conocidas de *Pediococcus pentosaceus* asociadas con funciones importantes. #### Algunos ejemplos de proteínas de interés: Bacteriocin (actividad antimicrobiana) Lactate dehydrogenase (fermentación) DNA gyrase (replicación) Elongation factor Tu (traducción) Heat shock protein (respuesta al estrés) ```bash esearch -db protein -query "Pediococcus pentosaceus AND (bacteriocin OR lactate dehydrogenase OR DNA gyrase OR elongation factor Tu OR heat shock protein)" | efetch -format fasta > pediococcus_proteins.faa ``` #### 🔎 Contar la cantidad de proteínas descargadas en el archivo pediococcus_proteinas.faa ```bash grep -c "^>" pediococcus_proteins.faa ``` ## 🔧 Ejercicio: Crear una base de datos BLASTp con las proteínas descargadas Una vez que ya tienes el archivo `pediococcus_proteins.faa` (obtenido con Entrez), puedes convertirlo en una base de datos para búsquedas BLAST locales (local BLAST). --- ### 🧪 Paso 1: Crear la base de datos Ejecuta el siguiente comando: ```bash makeblastdb -in pediococcus_proteins.faa -dbtype prot -out pediococcus_db ``` ## 🧬 Ejercicio: Alinear proteínas anotadas con Prokka usando BLASTp Ahora vamos a usar las proteínas anotadas por Prokka para hacer una búsqueda con `blastp` contra la base de datos que generamos previamente. --- ### 📁 Paso 1: Copiar el archivo de proteínas anotadas Ubica el archivo `.faa` generado por Prokka (contiene las proteínas predichas), y cópialo a la carpeta donde está la base de datos `pediococcus_db`. 🔎 Reemplaza /PATH/ con la ruta correcta donde Prokka guardó sus archivos (por ejemplo: prokka_Pp16CC/). ```bash cp /PATH/Pp16CC_annotation.faa . ``` ### Paso 2: Crear una carpeta para resultados ```bash mkdir blastp_out ``` ### 🧪 Paso 3: Ejecutar BLASTp Usamos blastp para alinear las proteínas anotadas contra la base de datos creada con Entrez: ```bash blastp \ -query Pp16CC_annotation.faa \ -db pediococcus_db \ -out blastp_out/Pp16CC_vs_pediococcus.tsv \ -evalue 1e-5 \ -num_threads 4 \ -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" ``` ✅ Usamos **outfmt 6**, que genera resultados en formato tabular .tsv fácilmente legible y procesable. 🔎 Otra manera de correr el comando anterior: ```bash blastp -query Pp16CC_annotation.faa -db pediococcus_db -out blastp_out/Pp16CC_vs_pediococcus.tsv -evalue 1e-5 -num_threads 4 -outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore" ``` #### Columnas incluidas en el resultado (outfmt 6) Las 12 columnas más comunes en alineamientos informativos: ![Tabla de columnas con descripción de campos del formato outfmt 6 de BLASTp](https://hackmd.io/_uploads/SJU7wTWVll.png) ## 🔍 Últimos pasos en el análisis: Filtrado de mejores hits ### 📂 Paso 1: Ir al directorio de resultados de BLASTp Primero, navega al directorio donde se encuentran los resultados de BLASTp: ```bash cd blastp_out/ ``` ### 📊 Paso 2: Contar cuántas proteínas anotadas tienen al menos un hit Usamos el siguiente comando para contar cuántas proteínas de tu anotación (qseqid) tienen al menos una coincidencia significativa en la base de datos: ```bash cut -f 1 Pp16CC_vs_pediococcus.tsv | sort | uniq | wc -l ``` 🔍 Este comando: Extrae las primeras columnas (qseqid). Ordena las secuencias únicas. Cuenta cuántas proteínas tienen al menos un hit. ### 📑 Paso 3: Extraer el mejor hit (mayor bitscore) para cada proteína Este script en awk seleccionará el mejor hit para cada proteína de la anotación (la proteína con el mayor bitscore) y lo guardará en un nuevo archivo best_hits.tsv: ```bash awk ' { if (!($1 in best) || $12 > best[$1]) { best[$1] = $12; # guarda el mejor bitscore line[$1] = $0; # guarda la línea completa del mejor hit } } END { for (id in line) print line[id]; } ' Pp16CC_vs_pediococcus.tsv > best_hits.tsv ``` 🔍 Este script: Compara el bitscore ($12) de cada hit para la proteína (qseqid, $1). Guarda solo el mejor hit para cada proteína. Imprime el resultado final en el archivo best_hits.tsv. ### 🔧 Paso 4: Filtrar los mejores hits por identidad (>70%) Ahora, para quedarnos solo con las proteínas que tengan una **alta identidad** (mayor al 70%), usamos `awk` de la siguiente manera: ```bash awk '$3 > 70' best_hits.tsv ``` #### Finalmente guardamos los mejores hits con más del 70% de identidad ```bash awk '$3 > 70' best_hits.tsv > filtered_best_hits.tsv ```