Hi everyone,
I'm trying to plot a co-occurrence network containing edges only to/from bacteria/algae in my phyloseq object. I don't want any bacteria-bacteria or algae-algae edges because I want to identify the relationships exclusively between those groups. I apologize if this question has been posted in another place - I have searched many sites and can't find any approach for doing this using phyloseq. I am also very new to phyloseq and network analyses.
So far, I have made three phyloseq objects from an OTU table, sample data, and a taxonomy table. The first is for my 23S data (algae only) and the second is for my 16S data (bacteria and algae). The third object is a merge of the 23S and 16S objects.
Below are the outputs for the three phyloseq objects after they are filtered, pruned, and subsetted:
23S phyloseq object: phyloseq-class experiment-level object otu_table() OTU Table: [ 100 taxa and 28 samples ] sample_data() Sample Data: [ 28 samples by 6 sample variables ] tax_table() Taxonomy Table: [ 100 taxa by 6 taxonomic ranks ]
16S phyloseq object phyloseq-class experiment-level object otu_table() OTU Table: [ 100 taxa and 12 samples ] sample_data() Sample Data: [ 12 samples by 8 sample variables ] tax_table() Taxonomy Table: [ 100 taxa by 6 taxonomic ranks ]
phyloseq-class experiment-level object otu_table() OTU Table: [ 200 taxa and 40 samples ] sample_data() Sample Data: [ 40 samples by 9 sample variables ] tax_table() Taxonomy Table: [ 200 taxa by 7 taxonomic ranks ]
Since the data sets are fairly large, I can't manually assign pair-wise edges as could be done with the following code:
# Create an edges dataframe from the significant pairwise co-occurrences.
edges <- data.frame(from = co$sp1, to = co$sp2,
color = ifelse(co$p_lt <= 0.05, “#B0B2C1”, “#3C3F51”),
dashes = ifelse(co$p_lt <= 0.05, TRUE, FALSE))
Any help with this is greatly appreciated.