These blog posts share my methods with the broader research community in a more detailed and verbose way than a traditional publication can allow. In general, these methods are for generating and interpreting genomic data from metagenomes, or at least many genomes. Some caveats are that (1) I am not a methods developer and (2) methods generally need to be tailored to different goals and data. All of these posts involve Unix and/or Python, which I highly recommend you learn (see: Other Resources for Microbial Comparative Genomics). Follow me on Twitter (@tylerbarnumphd) for updates.
A in-depth look at assembly graphs for improving assembly and visualizing binning. Accompanies Barnum et. al 2018.
A primer on the use of protein Hidden Markov Models as a replacement for BLAST, so scientists new to genomics and metagenomics, like I once was, can get up to speed quickly. Originally written to search a large dataset that was not available on NCBI.
The datasets for genomes and proteins that I use, and why you might use one or the other.
Plots for Comparing Genomes from Metagenomes [Github]
Python notebook for plotting similar graphs as in Barnum et. al 2018 available on Github at: https://github.com/tylerbarnum/perchlorate-metagenome-2018.
How to Use Networks to Predict Functionally Related Genes from Large Sets of Genomes and Metagenomes [Blog post pending]
In bacteria and archaea, genes with similar function or regulation are more likely to be found together in the genome and exchanged together between genomes. Comparative genomics has made extensive use of these relationships from isolated bacteria. I use an extended dataset including sequences from publicly available metagenomic databases to obtain additional diversity.
Modeling a Two-Member Microbial Metabolic Interaction [Github]
I needed to model the growth of two strains in a culture during batch growth to understand how they transferred a metabolite. With help from Yiwei Cheng at Lawrence Berkeley National Lab to develop equation and code, I produced the following notebook that may serve as an example for others who are new to modeling. The odeint function from scipy.integrate is the key recipe, and I suggest splitting equations into generalizable functions (e.g. a Monod equation that accepts different inputs). Python notebook on Github: https://github.com/tylerbarnum/perchlorate-and-chlorate-reduction-2019/blob/master/modeling-perchlorate-reduction/modeling_perchlorate_reduction.ipynb
A lit of external resources that will be helpful.