View
218
Download
0
Embed Size (px)
Citation preview
CS262 Lecture 9, Win07, Batzoglou
HMMs and CRFs
• Features used in objective function P(x, ) for an HMM:
akl, ek(b), where b
Vl(i) = Vk(i – 1) + (a(k, l) + e(l, i)) = Vk(i – 1) + g(k, l, xi)
Let’s generalize g!!! Vk(i – 1) + g(k, l, x, i)
1
2
K
…
1
2
K
…
1
2
K
…
…
…
…
1
2
K
…
x1 x2 x3 xN
2
1
K
2
CS262 Lecture 9, Win07, Batzoglou
CRFs - Features
1. Define a set of features that may be important
Number the features 1…n: f1(k, l, x, i), …, fn(k, l, x, i)• features are indicator true/false variables
2. Train weights wj for each feature fj
Then, g(k, l, x, i) = j=1…n fj(k, l, x, i) wj
x1 x2 x3 x6x4 x5 x7 x10x8 x9
ii-1
CS262 Lecture 9, Win07, Batzoglou
“Features” that depend on many pos. in x
• Score of a parse depends on all of x at each position
• Can still do Viterbi because state i only “looks” at prev. state i-1 and the constant sequence x
1
x1
2
x2
3
x3
4
x4
5
x5
6
x6…
1
x1
2
x2
3
x3
4
x4
5
x5
6
x6…
HMM
CRF
CS262 Lecture 9, Win07, Batzoglou
Conditional Training
• Hidden Markov Model training: Given training sequence x, “true” parse Maximize P(x, )
• Disadvantage:
P(x, ) = P( | x) P(x)
Quantity we care aboutso as to get a good parse
Quantity we don’t care so muchabout because x is always given
CS262 Lecture 9, Win07, Batzoglou
Conditional Training
P(x, ) = P( | x) P(x)P( | x) = P(x, ) / P(x)
Recall
Fj(x, ) = # times feature fj occurs in (x, )
= i=1…N fj(k, l, x, i) ; count fj in x,
In HMMs, let’s denote by wj the weight of jth feature: wj = log(akl) or log(ek(b))
Then,
HMM: P(x, ) = exp[j=1…n wj Fj(x, )]
CRF: Score(x, ) = exp[j=1…n wj Fj(x, )]
CS262 Lecture 9, Win07, Batzoglou
Conditional Training
In HMMs,
P( | x) = P(x, ) / P(x)
P(x, ) = exp[wTF(x, )] P(x) = exp[wTF(x, )] =: Z
Then, in CRF we can do the same to normalize Score(x, ) into a prob.
PCRF( | x) = exp[j=1…n wjF(j, x, )] / Z
QUESTION: Why is this a probability???
CS262 Lecture 9, Win07, Batzoglou
Conditional Training
1. We need to be given a set of sequences x and “true” parses
2. Calculate Z by a sum-of-paths algorithm similar to HMM• We can then easily calculate P( | x)
3. Calculate partial derivative of P( | x) w.r.t. each parameter wj
(not covered—akin to forward/backward)
• Update each parameter with gradient descent
4. Continue until convergence to optimal set of weights
P( | x) = exp[j=1…n wjF(j, x, )] / Z is convex
CS262 Lecture 9, Win07, Batzoglou
Conditional Random Fields—Summary
1. Ability to incorporate complicated non-local feature sets• Do away with some independence assumptions of HMMs
• Parsing is still equally efficient
2. Conditional training• Train parameters that are best for parsing, not modeling
• Need labeled examples—sequences x and “true” parses (Can train on unlabeled sequences, however it is unreasonable to train too many
parameters this way)
• Training is significantly slower—many iterations of forward/backward
CS262 Lecture 9, Win07, Batzoglou
Some Terminologyinsert a fragment that was incorporated in a circular genome, and can be copied (cloned)
vector the circular genome (host) that incorporated the fragment
BAC Bacterial Artificial Chromosome, a type of insert–vector combination, typically of length 100-200 kb
read a 500-900 long word that comes out of a sequencing machine
coverage the average number of reads (or inserts) that cover a position in the target DNA piece
shotgun the process of obtaining many reads sequencing from random locations in DNA, to
detect overlaps and assemble
CS262 Lecture 9, Win07, Batzoglou
Sequencing and Fragment Assembly
AGTAGCACAGACTACGACGAGACGATCGTGCGAGCGACGGCGTAGTGTGCTGTACTGTCGTGTGTGTGTACTCTCCT
3x109 nucleotides
50% of human DNA is composed of repeats
Error!Glued together two distant regions
CS262 Lecture 9, Win07, Batzoglou
What can we do about repeats?
Two main approaches:• Cluster the reads
• Link the reads
CS262 Lecture 9, Win07, Batzoglou
What can we do about repeats?
Two main approaches:• Cluster the reads
• Link the reads
CS262 Lecture 9, Win07, Batzoglou
What can we do about repeats?
Two main approaches:• Cluster the reads
• Link the reads
CS262 Lecture 9, Win07, Batzoglou
Sequencing and Fragment Assembly
AGTAGCACAGACTACGACGAGACGATCGTGCGAGCGACGGCGTAGTGTGCTGTACTGTCGTGTGTGTGTACTCTCCT
3x109 nucleotides
C R D
ARB, CRD
or
ARD, CRB ?
A R B
CS262 Lecture 9, Win07, Batzoglou
Sequencing and Fragment Assembly
AGTAGCACAGACTACGACGAGACGATCGTGCGAGCGACGGCGTAGTGTGCTGTACTGTCGTGTGTGTGTACTCTCCT
3x109 nucleotides
CS262 Lecture 9, Win07, Batzoglou
Strategies for whole-genome sequencing
1. Hierarchical – Clone-by-clonei. Break genome into many long piecesii. Map each long piece onto the genomeiii. Sequence each piece with shotgun
Example: Yeast, Worm, Human, Rat
2. Online version of (1) – Walkingi. Break genome into many long piecesii. Start sequencing each piece with shotguniii. Construct map as you go
Example: Rice genome
3. Whole genome shotgun
One large shotgun pass on the whole genome
Example: Drosophila, Human (Celera), Neurospora, Mouse, Rat, Dog
CS262 Lecture 9, Win07, Batzoglou
Whole Genome Shotgun Sequencing
cut many times at random
genome
forward-reverse paired reads
plasmids (2 – 10 Kbp)
cosmids (40 Kbp) known dist
~500 bp~500 bp
CS262 Lecture 9, Win07, Batzoglou
Fragment Assembly
Given N reads…Given N reads…Where N ~ 30 Where N ~ 30
million…million…
We need to use a We need to use a linear-time linear-time algorithmalgorithm
CS262 Lecture 9, Win07, Batzoglou
Steps to Assemble a Genome
1. Find overlapping reads
4. Derive consensus sequence ..ACGATTACAATAGGTT..
2. Merge some “good” pairs of reads into longer contigs
3. Link contigs to form supercontigs
Some Terminology
read a 500-900 long word that comes out of sequencer
mate pair a pair of reads from two endsof the same insert fragment
contig a contiguous sequence formed by several overlapping readswith no gaps
supercontig an ordered and oriented set(scaffold) of contigs, usually by mate
pairs
consensus sequence derived from thesequene multiple alignment of reads
in a contig
CS262 Lecture 9, Win07, Batzoglou
1. Find Overlapping Reads
aaactgcagtacggatctaaactgcag aactgcagt… gtacggatct tacggatctgggcccaaactgcagtacgggcccaaa ggcccaaac… actgcagta ctgcagtacgtacggatctactacacagtacggatc tacggatct… ctactacac tactacaca
(read, pos., word, orient.)
aaactgcagaactgcagtactgcagta… gtacggatctacggatctgggcccaaaggcccaaacgcccaaact…actgcagtactgcagtacgtacggatctacggatctacggatcta…ctactacactactacaca
(word, read, orient., pos.)
aaactgcagaactgcagtacggatcta actgcagta actgcagtacccaaactgcggatctacctactacacctgcagtacctgcagtacgcccaaactggcccaaacgggcccaaagtacggatcgtacggatctacggatcttacggatcttactacaca
CS262 Lecture 9, Win07, Batzoglou
1. Find Overlapping Reads
• Find pairs of reads sharing a k-mer, k ~ 24• Extend to full alignment – throw away if not >98% similar
TAGATTACACAGATTAC
TAGATTACACAGATTAC|||||||||||||||||
T GA
TAGA| ||
TACA
TAGT||
• Caveat: repeats A k-mer that occurs N times, causes O(N2) read/read comparisons ALU k-mers could cause up to 1,000,0002 comparisons
• Solution: Discard all k-mers that occur “too often”
• Set cutoff to balance sensitivity/speed tradeoff, according to genome at hand and computing resources available
CS262 Lecture 9, Win07, Batzoglou
1. Find Overlapping Reads
Create local multiple alignments from the overlapping reads
TAGATTACACAGATTACTGATAGATTACACAGATTACTGATAG TTACACAGATTATTGATAGATTACACAGATTACTGATAGATTACACAGATTACTGATAGATTACACAGATTACTGATAG TTACACAGATTATTGATAGATTACACAGATTACTGA
CS262 Lecture 9, Win07, Batzoglou
1. Find Overlapping Reads
• Correct errors using multiple alignment
TAGATTACACAGATTACTGATAGATTACACAGATTACTGATAGATTACACAGATTATTGATAGATTACACAGATTACTGATAG-TTACACAGATTACTGA
TAGATTACACAGATTACTGATAGATTACACAGATTACTGATAG-TTACACAGATTATTGATAGATTACACAGATTACTGATAG-TTACACAGATTATTGA
insert A
replace T with Ccorrelated errors—probably caused by repeats disentangle overlaps
TAGATTACACAGATTACTGATAGATTACACAGATTACTGA
TAG-TTACACAGATTATTGA
TAGATTACACAGATTACTGA
TAG-TTACACAGATTATTGA
In practice, error correction removes up to 98% of the errors
CS262 Lecture 9, Win07, Batzoglou
2. Merge Reads into Contigs
• Overlap graph: Nodes: reads r1…..rn
Edges: overlaps (ri, rj, shift, orientation, score)
Note:of course, we don’tknow the “color” ofthese nodes
Reads that comefrom two regions ofthe genome (blueand red) that containthe same repeat
CS262 Lecture 9, Win07, Batzoglou
2. Merge Reads into Contigs
We want to merge reads up to potential repeat boundaries
repeat region
Unique Contig
Overcollapsed Contig
CS262 Lecture 9, Win07, Batzoglou
2. Merge Reads into Contigs
• Ignore non-maximal reads• Merge only maximal reads into contigs
repeat region
CS262 Lecture 9, Win07, Batzoglou
2. Merge Reads into Contigs
• Remove transitively inferable overlaps If read r overlaps to the right reads r1, r2,
and r1 overlaps r2, then (r, r2) can be inferred by (r, r1) and (r1, r2)
r r1 r2 r3
CS262 Lecture 9, Win07, Batzoglou
2. Merge Reads into Contigs
• Ignore “hanging” reads, when detecting repeat boundaries
sequencing error
repeat boundary???
ba
a
b
…
CS262 Lecture 9, Win07, Batzoglou
Repeats, errors, and contig lengths
• Repeats shorter than read length are easily resolved Read that spans across a repeat disambiguates order of flanking regions
• Repeats with more base pair diffs than sequencing error rate are OK We throw overlaps between two reads in different copies of the repeat
• To make the genome appear less repetitive, try to:
Increase read length Decrease sequencing error rate
Role of error correction:Discards up to 98% of single-letter sequencing errors
decreases error rate decreases effective repeat content increases contig length
CS262 Lecture 9, Win07, Batzoglou
• Insert non-maximal reads whenever unambiguous
2. Merge Reads into Contigs
CS262 Lecture 9, Win07, Batzoglou
3. Link Contigs into Supercontigs
Too dense Overcollapsed
Inconsistent links Overcollapsed?
Normal density
CS262 Lecture 9, Win07, Batzoglou
Find all links between unique contigs
3. Link Contigs into Supercontigs
Connect contigs incrementally, if 2 links
supercontig(aka scaffold)
CS262 Lecture 9, Win07, Batzoglou
Fill gaps in supercontigs with paths of repeat contigs
3. Link Contigs into Supercontigs
CS262 Lecture 9, Win07, Batzoglou
4. Derive Consensus Sequence
Derive multiple alignment from pairwise read alignments
TAGATTACACAGATTACTGA TTGATGGCGTAA CTATAGATTACACAGATTACTGACTTGATGGCGTAAACTATAG TTACACAGATTATTGACTTCATGGCGTAA CTATAGATTACACAGATTACTGACTTGATGGCGTAA CTATAGATTACACAGATTACTGACTTGATGGGGTAA CTA
TAGATTACACAGATTACTGACTTGATGGCGTAA CTA
Derive each consensus base by weighted voting
(Alternative: take maximum-quality letter)
CS262 Lecture 9, Win07, Batzoglou
Some Assemblers
• PHRAP• Early assembler, widely used, good model of read errors
• Overlap O(n2) layout (no mate pairs) consensus
• Celera• First assembler to handle large genomes (fly, human, mouse)
• Overlap layout consensus
• Arachne• Public assembler (mouse, several fungi)
• Overlap layout consensus
• Phusion• Overlap clustering PHRAP assemblage consensus
• Euler• Indexing Euler graph layout by picking paths consensus
CS262 Lecture 9, Win07, Batzoglou
Quality of assemblies—mouse
Terminology: N50 contig lengthN50 contig lengthIf we sort contigs from largest to smallest, and startCovering the genome in that order, N50 is the lengthOf the contig that just covers the 50th percentile.
7.7X sequence coverage
CS262 Lecture 9, Win07, Batzoglou
History of WGA
• 1982: -virus, 48,502 bp
• 1995: h-influenzae, 1 Mbp
• 2000: fly, 100 Mbp
• 2001 – present human (3Gbp), mouse (2.5Gbp), rat*, chicken, dog, chimpanzee,
several fungal genomes
Gene Myers
Let’s sequence the human
genome with the shotgun
strategy
That is impossible, and
a bad idea anyway
Phil Green
1997