What is evolutionary genomics?
Genomes differ among individuals and species. Evolutionary genomics studies genome variability and genome changes using evolutionary principles. Typical applications include identification of human genome variations associated with diseases and identification of pathogen virulence genes.
Genome changes are studied at two distinct levels: (1) within-species/within-population variations (e.g., human genetic variation), and (2) between-species divergence (e.g., human-mouse comparisons).
The key for analyzing genome variations within species is "population-thinking", the idea that there is no one individual genome that is standard, normal, or disease-free.
The key for comparing genomes across species is "tree-thinking", the idea that evolution happens by diversification (like a branching tree), not by climbing a ladder. There is no such thing as "advanced" or "primitive" species. All living species have the exact same evolutionary distances/time of divergence since the origin of life.
Case studies from Qiu Lab
- Between-sepcies genome comparisons: Comparative genomics of worldwide Lyme disease pathogens. BorreliaBase (Figure 1)
- Within-population genome comparison: Genomic epidemiology of Group B Streptococcus: Gene gains & losses associated with Group B Streptococcus virulence
- Within-host genome evolution: Evolution of multi-drug antibiotic-resistance Pseudomonas in cancer patients (Figure 2)
Bioinformatics workflow for comparative analysis of bacterial pathogen genomes
- Pathogen isolation -> DNA extraction -> Library preparation -> High-through sequencing
- De novo genome assembly (canu; velvet; etc)
- Identify reference genome from NCBI database (kraken)
- Variant call (bwa; cortex_var; samtools mpileup)
- Infer genome phylogeny (muscle; reXML)
- Annotation (PATRIC)
Essential bioinformatics skills
- Linux command-line interface (e.g., BASH shell)
- Familiarity with a programming language (e.g., Python or Perl)
Textbooks for genome evolution
- Graur, 2016, Molecular and Genome Evolution, First Edition, Sinauer Associates, Inc. ISBN: 978-1-60535-469-9. Publisher's Website
- Baum & Smith, 2013. Tree Thinking: an Introduction to Phylogenetic Biology, Roberts & Company Publishers, Inc.
- Be able to compare evolutionary relationships using phylogenetic trees
- Be able to use command-line tools for batch-processing of genome files
- Be able to perform genome-wide association analysis on the R platform
- 9:00 - 9:25: Introduction; Install R & R Studio; Download fasta file & save as "ospC-pep.fasta" : File:OspC-pep.txt
- 9:30 - 10:00: Unix Tutorial (Part I. Unix Basics)
- 10:05 - 10:30: Unix Tutorial (Part II Advanced Unix)
- 10:35 - 11:00: Tree-thinking Quizzes: Slides File:Big-data-2018-phylogeny--slides.pptx & Handouts
- 11:05 - 11:35: Test of genotype-phenotype association (Figure 3).
geno.a <- matrix(c(53,20,39, 17, 9, 52), nrow = 2, byrow = T) geno.b <- matrix(c(13,10,11,49,9,1,12,5,1,38,10,1), nrow = 2, byrow = T) colnames(geno.a) <- c("A1A1", "A1/A2", "A2/A2") rownames(geno.a) <- c("Taster", "Non.Taster") rownames(geno.b) <- c("Taster", "Non.taster") colnames(geno.b) <- c("B1B1", "B1/B2", "B1/B3", "B2/B2", "B2/B3", "B3/B3") # plots mosaicplot(t(geno.a), cex.axis = 1, col = c("pink","cyan"), main = "Locus A") mosaicplot(t(geno.b), cex.axis = 1, col = c("pink","cyan"), main = "Locus B") # genotype-phenotype association test.geno.a <- chisq.test(geno.a) test.geno.b <- chisq.test(geno.b, simulate.p.value = T)
- 11:40 - 12:00: Summary & Conclusion
Exercises & Challenges
- Finish Tree Thinking Quizzes
- Unix exercises:
- count the number of sequences using "grep -v" or "wc"
- display the first 5 lines of a file
- display the last 5 lines of a file
- change upper-cases to lower-cases
- change "|" to "_"
- replace strings
- R exercises:
- Challenge: Test allele-phenotype association at two loci
- Exploration of human gene lengths using R