BigData 2018

From EvoBioLabatHunter
Jump to navigation Jump to search
City Tech/Cornell BioMedical Big Data Week 2018: Introduction to Evolutionary Genomics
Thursday, June 21, 2018, 9-12
Instructor: Dr Weigang Qiu, Associate Professor, Department of Biological Sciences
Office: B402 Belfer Research Building
Lab Website:

Figure 1. Gains & losses of host-defense genes among Lyme pathogen genomes (Qiu & Martin 2014)
Figure 2. Development of drug resistance mutation in Pseudomonas in a single cancer patient: top (April) vs. bottom (July) (Un-published data)

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

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)
  • Custom genome browser (JavaScript; D3 library for interactive graphics)

Essential bioinformatics skills

  • Linux command-line interface (e.g., BASH shell)
  • Familiarity with a programming language (e.g., Python or Perl)
  • Data visualization & statistical analysis (e.g., JavaScript; the R statistical computing environment)

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.

Learning Goals

  • 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


Figure 3. Data sets for genotype-phenotype association tests
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: