Cómo seleccionar un subconjunto de un objeto phyloseq para mostrar las ASVs superpuestas de dos tipos de muestra.
Tengo un objeto phyloseq llamado “shared”.
Clase de experimento phyloseq
otu_table() Tabla de OTU: [3823 taxa y 64 muestras]
sample_data() Datos de muestra: [64 muestras por 17 variables de muestra]
tax_table() Tabla de taxonomía: [3823 taxa por 12 rangos taxonómicos]
y estoy tratando de crear un nuevo objeto phyloseq a partir de la intersección de los ASVs compartidos entre los dos tipos de muestra.
Básicamente, quiero un objeto phyloseq de la parte verde de este diagrama de Venn.
Venn Diagram
Hice este gráfico utilizando el paquete “MicEco” y no he encontrado una forma de acceder a esa intersección desde él.
library("MicEco")
venn <- ps_venn(shared, "sample_type", quantities = list(type=c("percent","counts"), font = 2), labels = list(cex = 2), col = "black", fill = c("red","yellow","green"))
venn
davy.ai
Para crear un nuevo objeto phyloseq a partir de la intersección de los ASVs compartidos entre los dos tipos de muestra, puedes utilizar el siguiente código:
“`{r}
Subconjunto la tabla OTU para incluir solo los ASVs compartidos entre los dos tipos de muestra
shared_subset <- shared@otu_table[rowSums(shared@otu_table[, shared@sample_data$sample_type == "Sample_Type_1"]) > 0 & rowSums(shared@otu_table[, shared@sample_data$sample_type == “Sample_Type_2”]) > 0, ]
Crea un nuevo objeto phyloseq con la tabla OTU subconjunto, los datos de muestra originales y la tabla de taxonomía original
shared_intersect <- phyloseq(shared_subset, sample_data(shared), tax_table(shared))
Visualiza el objeto phyloseq resultante
shared_intersect
“`
Este código subconjunta la tabla OTU del objeto phyloseq original
shared
para incluir solo las filas (ASVs) que están presentes tanto en “Sample_Type_1” como en “Sample_Type_2”. Esto crea una nueva matriz que representa la intersección de los dos tipos de muestra.Luego, se crea un nuevo objeto phyloseq utilizando la tabla OTU subconjunto, los datos de muestra originales y la tabla de taxonomía original del objeto
shared
. El objeto resultanteshared_intersect
debería contener solo los ASVs presentes en ambos “Sample_Type_1” y “Sample_Type_2”.