rangetrees

rangetrees - Project Part 2a: DS for Genome Browser...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
Project Part 2a: DS for Genome Browser Biologists want to be able to browse and search all the features of the genome We’re considering only genes, but there are lots more: implementation is similar Examples: - ENCODE region browser - Bacterial Browser - USCD Genome Browser
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Project Part 2b: DS for comparing genomes Overtime, genes can move in genome MUMMER is a tool developed here to compare two genomes: - Places a dot every place a sequence in 1 genome is found in the other genome - Uses sufFx trees (which we’ll talk about soon) Project assumes you’re given the mapping between places (genes) on the genome & you have to answer region queries
Background image of page 2
MUMMER: another example Genomes more divergent (more shufFing) Xanthomonas - Bacteria - Common plant pathogen
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Range Trees
Background image of page 4
1-Dimensional Range Trees Suppose you have “points” in 1-dimension (aka numbers) Want to answer range queries: “Return all keys between x 1 and x 2 .” How could you solve this? Balanced Binary Search Tree
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Range Queries on Binary Search Trees x 1 x 2 x split Assume all data are in the leaves Search for x 1 and x 2 Let x split be the node were the search paths diverge Output leaves in the right subtrees of nodes on the path from x split to x 1 Output leaves in the left subtrees of nodes on the path from x split to x 2
Background image of page 6
OneDRange(T, x1, x2): // walk until we find x split while not isLeaf(T) and ( x 2 T.data or x 1 > T.data ): if x 2 T.data: T = T.left else : T = T.right
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 23

rangetrees - Project Part 2a: DS for Genome Browser...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online