erictleung / shinydiversity

Interactive application to explore various ecological diversity metrics
https://erictleung.shinyapps.io/shinydiversity
GNU General Public License v3.0
5 stars 8 forks source link

How to generate more sophisticated synthetic microbiome data #5

Open erictleung opened 6 years ago

erictleung commented 6 years ago

Maybe check out SPIEC-EASI (https://github.com/zdk123/SpiecEasi) as a way to generate synthetic microbiome data to visualize. It claims to be

...accompanied by a set of computational tools to generate OTU count data from a set of diversity underlying network topologies. -- (https://doi.org/10.1371/journal.pcbi.1004226)

At the very least, we need to look at different probability distributions to create known distributions to see how these diversity metrics change based on different distributions.

vnsriniv commented 6 years ago

SpiecEasi has a function called synth_comm_from_counts which can take the users data and generate synthetic data based on the underlying network topology of the users data. It allows one to specify which distribution to use when constructing the synthetic data. The options for distributions are Zero-Inflated Negative Binomial Distribution, Zero inflated poisson distribution, Poisson Distribution, Negative Binomial Distribution and log normal distribution. This might be a good way to allow the user to compare to synthetic data (while preserving the underlying topology of the user's data).

erictleung commented 6 years ago

@vnsriniv awesome! Were you able to play around with the synth_comm_from_counts function?

vnsriniv commented 6 years ago

Yeah I had a chance to play around with it. It seems highly geared towards network analysis. So I am not entirely sure how useful it is for our purpose!

erictleung commented 6 years ago

@vnsriniv ah yeah. It did mention generating realistic network topologies. I wasn't sure if that network could also be converted to an OTU table for us to use. Do you happen to have seen this functionality in the documentation? This was just an idea to explore. I might take some time to look at it later today.