10 Inferencia metabólica
Dra. Mirna Vazquez Rosas Landa
03 de agosto de 2022
Vamos a utilizar prodigal para predecir las proteínas:
for i in /home/mirna/07.Bins/Genoma/01.Bins_named/*.fa ; do prodigal -i $i -o $i.txt -a $i.faa ; doneVeamos un poco la salida
grep ">" *.faa10.1 KEEG
Okay, ahora vamos a utilizar kofam_scan para anotar las proteínas.
Vamos a dividirnos en equipos para hacer la anotación de los bins!
Esto es como lo haríamos para uno:
/home/programs/DB/kofam/kofam_scan-1.3.0/exec_annotation -o /home/mirna/08.Kofamscan/htn_bins_63.fa.faa.txt /home/mirna/07.Bins/Proteoma/htn_bins_63.fa.faa  --report-unannotated  --cpu 4En un loop lo podríamos hacer así:
for i in *.faa ; do  /home/programs/DB/kofam/kofam_scan-1.3.0/exec_annotation -o /home/mirna/08.Kofamscan/$i.txt $i  --report-unannotated  --cpu 4; doneOkay antes de correrlo, vamos a crear dos carpetas nuevas y unas ligas simbólicas.
mkdir -p 08.Kofamscan/{01.Proteomas,02.KO_results}
cd 08.Kofamscan/
ln -s /home/mirna/07.Bins/Proteoma/*.faa 01.Proteomas Ajusta el loop para correr KofamScan con los genomas que te tocan :)
10.2 Explorando el metabolismo con rbims.
Vamos a hacer una exploración rápida del metabolismo con rbims.
Okay iniciamos con la librería de Rbims
library(rbims)
library(tidyverse)Ahora, vamos a leer los resultados de KEEG y mapearlos con el resto de la base de datos de KEEG
htn_mapp<-read_ko("08.Kofamscan/02.KO_results/") %>%
    mapping_ko()Okay, vamos a enfocarnos en los metabolismos encargados de la obtención de energía.
Overview<-c("Central Metabolism", "Carbon Fixation", 
            "Nitrogen Metabolism", "Sulfur Metabolism", "Fermentation", 
            "Methane Metabolism")
Energy_metabolisms_htn<-htn_mapp %>%
  drop_na(Cycle) %>%
  get_subset_pathway(rbims_pathway, Overview) Vamos a visualizar los datos.
plot_bubble(tibble_ko = Energy_metabolisms_htn,
            x_axis = Bin_name, 
            y_axis = Pathway_cycle,
            analysis="KEGG",
            calc="Percentage",
            range_size = c(1,10),
            y_labs=FALSE,
            x_labs=FALSE)  Okay, incorporemos metadatos, por ejemplo la taxonomía.
Metadatos<-read_delim("11.GTDBTK/Metadatos.txt", delim="\t")Hagamos un plot
plot_bubble(tibble_ko = Energy_metabolisms_htn,
            x_axis = Bin_name, 
            y_axis = Pathway_cycle,
            analysis="KEGG",
            data_experiment = Metadatos,
            calc="Percentage",
            color_character = Class,
            range_size = c(1,10),
            y_labs=FALSE,
            x_labs=FALSE) Ahora, vamos a explorar una sola vía
Secretion_system_htn<-htn_mapp %>%
  drop_na(Cycle) %>%
  get_subset_pathway(Cycle, "Secretion system")Y hagamos un heatmap
plot_heatmap(tibble_ko=Secretion_system_htn, 
             y_axis=Genes,
             analysis = "KEGG",
             calc="Binary")Ahora agreguemos metadatos
plot_heatmap(tibble_ko=Secretion_system_htn, 
             y_axis=Genes,
             data_experiment = Metadatos,
             order_x = Phylum,
             analysis = "KEGG",
             calc="Binary")plot_heatmap(tibble_ko=Secretion_system_htn, 
             y_axis=Genes,
             data_experiment = Metadatos,
             order_y = Pathway_cycle,
             order_x = Phylum,
             analysis = "KEGG",
             calc="Binary")10.3 Anotación con InterproScan
for i in $(ls *.faa); do sed -i "s/\*//g" $i; done
for i in $(ls *.faa); do interproscan.sh -cpu 4 -goterms -pa -i $i > Log_Interpro_Scan_$i.txt; done Okay… vamos a juntar todo en un solo.
cat *.tsv > htn_interpro.tsvVamos a R
library(rbims)
library(tidyverse)interpro_Interpro_profile<-read_interpro(
  data_interpro = "09.Interpro/01.Proteomas/htn_interpro.tsv", 
  database="INTERPRO", profile = T) %>%
  filter(!str_detect(INTERPRO, "-"))important_INTERPRO<-get_subset_pca(tibble_rbims=interpro_Interpro_profile, 
                                cos2_val=0.95,
                                analysis="INTERPRO")plot_heatmap(important_INTERPRO, y_axis=INTERPRO, analysis = "INTERPRO", distance = T)plot_heatmap(important_INTERPRO, y_axis=INTERPRO, analysis = "INTERPRO", distance = F)