High-Throughput Sequencing

Report
High-Throughput Sequencing
Richard Mott
with contributions from Gil Mcvean,
Gerton Lunter, Zam Iqbal, Xiangchao
Gan, Eric Belfield
Sequencing Technologies
•
•
•
•
•
Capillary (eg ABI 3700)
Roche/454 FLX
Illumina GAII
ABI Solid
Others….
Capillary Sequencing
– based on electrophoresis
– used to sequence human and mouse genomes
– read lengths currently around 600bp (but used to
be 200-400 bp)
– relatively slow – 384 sequences per run in x hours
– expensive ???
Capillary Sequencing Trace
http://wheat.pw.usda.gov/genome/sequence/
ACGT represented by continuous traces.
Base-calling requires the identification of well-defined peaks
PHRED Quality Scores
• PHRED is an accurate base-caller used for capillary
traces (Ewing et al Genome Research 1998)
• Each called base is given a quality score Q
• Quality based on simple metrics (such as peak spacing)
callibrated against a database of hand-edited data
• Q = 10 * log10(estimated probability call is wrong)
10 prob = 0.1
20 prob = 0.01
30 prob = 0.001
[Q30 often used as a threshold for useful sequence data]
Capillary sequence assembly and
editing
CONSED screen shots
http://www.jgi.doe.gov/education/how/how_12.html
Illumina Sequencing machines
GA-II
HiSeq
The Illumina Flow-cell
•
•
•
•
•
•
•
Each flow-cell has 8 lanes (16 on HiSeq)
A different sample can be run in each lane
It it possible to multiplex up to 12 samples in
a lane
Each lane comprises 2*60=120
square tiles
Each tile is imaged and analysed separately
Sometimes a control phiX lane is run (in a
control, the genome sequenced is identical
to the reference and its GC content is not too
far from 50%)
Illumina GA-II “traces”
Discontinuous – a set of 4 intensities at each base position
Cross talk:
base-calling errors
Whiteford et al Bioinformatics 2009
Base-calling errors
Typical base-calling error rate ~ 1%,
Error rate increases towards end of read
Usually read2 has more errors than read1
Assessing Sequence Quality
Example summary for a lane of 51bp paired-end data
# reads
% good quality reads
(passed chastity filter)
% mapped to
reference
using ELAND
(the read-mapper
supplied by Illumina)
% optical
duplicates
% of differences from
reference (upper bound
on error rate) in mapped reads
Illumina Throughput (April 2013)
Machine
HiSeq2000
HiSeq2000
Read Length
2 x 50bp
2 x 100 bp
Run Time
1 week
12 days
HiSeq2500
MiSeq
2 x 150bp
2 x 150 bp
>30hrs
24-27hrs
Output/lane
15-18Gb
150-200 Gb
Output/flow cell
120-144Gb Gb
150-200 Gb
cost/lane
>4.5Gb
40-60Gb
£0.85k
£2.5-3k
Note: 1 human genome = 3Gb.
20-30x coverage of one human genome = 2=3 lanes of HiSeq
£1.5-2k
Illumina HiSeq Throughput (Feb 2011)
Read Length
Run Time
Output
1 x 35bp
1.5 days
26-35 Gb
2 x 50bp
4 days
75-100 Gb
1 x 100 bp
8 days
150-200 Gb
Note: 1 human genome = 3Gb.
Illumina GA-II throughput per flow-cell
Note: these are correct as of February 2010.
Output is constantly improving due to changes in chemistry and software.
Consumables costs are indicative only
- they don’t include labour, depreciation, overheads or bioinformatics
- true costs are roughly double
Pooling and Multiplexing
Read
Primer
Primer
Barcode 6bp
Up to 96 distinct barcodes can be added to one end of a read
useful for low-coverage sequencing of many samples in a simple lane
Up to a further 96 barcodes can be added to other end of a read = 96*96 = 9216 samples
Useful for bacterial sequencing
Pooling Costs
• Library Preps
– £80-150 per sample, depending on type of
sequencing
– £<50 per sample for 96-plex genomic DNA
• Pooling costs are dominated by library prep,
not HiSeq lane costs
• eg 96-plex of gDNA on on HiSeq lane = £4k
Data Formats
• Sequencing produces vast amounts of data
• Rate of data growth exceeds Moore’s law
The FastQ format
(standard text representation of short reads)
• A FASTQ text file normally uses four lines per sequence.
– Line 1 begins with a '@' character and is followed by a sequence
identifier and an optional description (like a FASTA title line).
– Line 2 is the raw sequence letters.
– Line 3 begins with a '+' character and is optionally followed by the
same sequence identifier (and any description) again.
– Line 4 encodes the quality values for the sequence in Line 2, and must
contain the same number of symbols as letters in the sequence. The
letters encode Phred Quality Scores from 0 to 93 using ASCII 33 to 126
– Example
•
•
•
•
@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
+
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
Binary FastQ
• Computer-readable compressed form of
FASTQ
• About 1/3 size of FASTQ
• Enables much faster reading and writing
• Standard utility programs will interconvert (eg.
maq)
• Becoming obsolete……
SAM and SAMTOOLS
http://samtools.sourceforge.net/
• SAM (Sequence Alignment/Map) format is a generic format for
storing large nucleotide sequence alignments.
• SAM aims to be a format that:
– Is flexible enough to store all the alignment information generated by
various alignment programs;
– Is simple enough to be easily generated by alignment programs or
converted from existing alignment formats;
– Is compact in file size;
– Allows most of operations on the alignment to work on a stream
without loading the whole alignment into memory;
– Allows the file to be indexed by genomic position to efficiently retrieve
all reads aligning to a locus.
– SAM Tools provide various utilities for manipulating alignments in the
SAM format, including sorting, merging, indexing and generating
alignments in a per-position format.
BAM files
• SAM, BAM are equivalent formats for describing alignments
of reads to a reference genome
• SAM: text
• BAM: compressed binary, indexed, so it is possible to access
reads mapping to a segment without decompressing the
entire file
• BAM is used by lookseq, IGV and other software
• Current Standard Binary Format
• Contains:
– Meta Information (read groups, algorithm details)
– Sequence and Quality Scores
– Alignment information
• one alignment per read
Inside a BAM file
@HD
VN:1.0
GO:none
SO:coordinate
@SQ
SN:chr10 LN:135534747
@SQ
SN:chr11 LN:135006516
...
@SQ
SN:chrX
LN:155270560
@SQ
SN:chrY
LN:59373566
@RG
ID:WTCHG_7618
PL:ILLUMINA
PU:101001_GAII06_00018_FC_5
LB:070/10_MPX
SM:1772/10 CN:WTCHG
@PG
ID:stampy VN:1.0.5_(r710)
CL:--processpart=1/4 --readgroup=ID:WTCHG_7618,SM:1772/10,PL:ILLUMINA,PU:101001_GAII06_00018_FC_5,LB:070/10_MPX,CN:WTCHG [email protected]_5_comments.txt --keepreforder --solexa
@PG
ID:stampy.1 VN:1.0.5_(r710)
CL:--processpart=2/4 --readgroup=ID:WTCHG_7618,SM:1772/10,PL:ILLUMINA,PU:101001_GAII06_00018_FC_5,LB:070/10_MPX,CN:WTCHG [email protected]_5_comments.txt --keepreforder --solexa
@PG
ID:stampy.2 VN:1.0.5_(r710)
CL:--processpart=3/4 --readgroup=ID:WTCHG_7618,SM:1772/10,PL:ILLUMINA,PU:101001_GAII06_00018_FC_5,LB:070/10_MPX,CN:WTCHG [email protected]_5_comments.txt --keepreforder --solexa
@PG
ID:stampy.3 VN:1.0.5_(r710)
CL:--processpart=4/4 --readgroup=ID:WTCHG_7618,SM:1772/10,PL:ILLUMINA,PU:101001_GAII06_00018_FC_5,LB:070/10_MPX,CN:WTCHG [email protected]_5_comments.txt --keepreforder --solexa
@CO
TM:Tue, 26 Oct 2010 09:21:06 BST WD:/data1/GA-DATA/101001_GAII06_00018_FC/Data/Intensities/BaseCalls/Demultiplexed-101009/004/GERALD_09-10-2010_johnb.2
HN:comp04.well.ox.ac.uk
UN:johnb
@CO
IX:GCCAAT SN:085 B-cell
ID:070/10_MPX
GE:Human37
SR:gDNA Indexed
CT:false
PR:P100116 SM:1771/10
@CO
TM:Tue, 26 Oct 2010 09:21:06 BST WD:/data1/GA-DATA/101001_GAII06_00018_FC/Data/Intensities/BaseCalls/Demultiplexed-101009/004/GERALD_09-10-2010_johnb.2
HN:comp04.well.ox.ac.uk
UN:johnb
@CO
IX:GCCAAT SN:085 B-cell
ID:070/10_MPX
GE:Human37
SR:gDNA Indexed
CT:false
PR:P100116 SM:1771/10
@CO
TM:Tue, 26 Oct 2010 09:21:06 BST WD:/data1/GA-DATA/101001_GAII06_00018_FC/Data/Intensities/BaseCalls/Demultiplexed-101009/004/GERALD_09-10-2010_johnb.2
HN:comp04.well.ox.ac.uk
UN:johnb
@CO
IX:GCCAAT SN:085 B-cell
ID:070/10_MPX
GE:Human37
SR:gDNA Indexed
CT:false
PR:P100116 SM:1771/10
@CO
TM:Tue, 26 Oct 2010 09:21:06 BST WD:/data1/GA-DATA/101001_GAII06_00018_FC/Data/Intensities/BaseCalls/Demultiplexed-101009/004/GERALD_09-10-2010_johnb.2
HN:comp04.well.ox.ac.uk
UN:johnb
@CO
IX:GCCAAT SN:085 B-cell
ID:070/10_MPX
GE:Human37
SR:gDNA Indexed
CT:false
PR:P100116 SM:1771/10
WTCHG_7618:5:40:5848:3669#GCCAAT
145
chr10
69795
3
11I40M
chr16
24580964 0
TCAGAAAAAAGAAAATGTGGTATATATACACAATGGAGTACTATTCAGCCC
GFIIIIIIIIHIIIIHIIIIIIIIFIIHII
WTCHG_7618:5:77:5375:15942#GCCAAT
99
chr10
82805
0
51M
=
83055
301
GCAGGGAGAATGGAACCAAGTTGGAAAACACTCTGCAGGATATTATCCAGG
GBBHHEBG<GGGGGGE
WTCHG_7618:5:77:5375:15942#GCCAAT
147
chr10
83055
0
51M
=
82805
-301
AGCTGATCTCTCAGCAGAAACCGTACAAGCCAGAAGAGAGTGGGGGCCAAC
#################DB
WTCHG_7618:5:49:18524:13016#GCCAAT
163
chr10
83516
0
51M
=
83734
269
CCCATCTCACGTGCAGAGACACACATAGACTCAAAATAAAAGGATGGAGGA
EHHIIIHIIIIHIIIIIFIDIIIEGE
WTCHG_7618:5:2:1789:11020#GCCAAT
161
chr10
83598
0
2M2D49M chrM
2220
0
GTGGGTTGCAATCCTAGTCTCTGATAAAACAGACTTTAAACCAATAAAGAT
GGGGG>DDBGGGGGGI
WTCHG_7618:5:5:8834:6028#GCCAAT
163
chr10
83702
0
51M
=
83876
225
AGAAGAGCTAACTATCCTAAATATATATGCACCCAATACAGGAGCACCCAG
EIIIIHHHGGIDIIIHEGIGIH
WTCHG_7618:5:49:18524:13016#GCCAAT
83
chr10
83734
0
51M
=
83516
-269
CCAATACAGGAGCACCCAGATTCATAAAGCAAGTCCTGAGTGACCTACAAT
BHHHHGHHHHHHHHFH
WTCHG_7618:5:5:8834:6028#GCCAAT
83
chr10
83876
0
51M
=
83702
-225
TACCCAGGAATTGAACTCAGCTCTGCACCAAGCAGACCTAATAGACATCTA
DEHIIIHIIIIDIGIHFHHGIH
samtools view -h WTCHG_7618.bam
SAMtools
•
A package for manipulating sequence data
–
–
–
–
–
–
–
–
import: SAM-to-BAM conversion
view: BAM-to-SAM conversion and subalignment retrieval
sort: sorting alignment
merge: merging multiple sorted alignments
index: indexing sorted alignment
faidx: FASTA indexing and subsequence retrieval
tview: text alignment viewer
pileup: generating position-based output and consensus/indel calling
• Li H.*, Handsaker B.*, Wysoker A., Fennell T., Ruan J., Homer N.,
Marth G., Abecasis G., Durbin R. and 1000 Genome Project Data
Processing Subgroup (2009) The Sequence alignment/map (SAM)
format and SAMtools. Bioinformatics, 25, 2078-9
Pileup Alignments
seq1
seq1
seq1
seq1
seq1
seq1
seq1
seq1
272
273
274
275
276
277
278
279
T
T
T
A
G
T
G
C
24
23
23
23
22
22
23
23
,.$.....,,.,.,...,,,.,..^+. <<<+;<<<<<<<<<<<=<;<;7<&
,.....,,.,.,...,,,.,..A <<<;<<<<<<<<<3<=<<<;<<+
,.$....,,.,.,...,,,.,...
7<7;<;<<<<<<<<<=<;<;<<6
,$....,,.,.,...,,,.,...^l. <+;9*<<<<<<<<<=<<:;<<<<
...T,,.,.,...,,,.,.... 33;+<<7=7<<7<&<<1;<<6<
....,,.,.,.C.,,,.,..G. +7<;<<<<<<<&<=<<:;<<&<
....,,.,.,...,,,.,....^k.
%38*<<;<7<<7<=<<<;<<<<<
A..T,,.,.,...,,,.,..... ;75&<<<<<<<<<=<<<9<<:<<
Applications
Genome Resequencing
• Align reads to reference genome
– assumed to be very similar, most reads will align
• Identify sequence differences
– SNPs, indels, rearrangements
– Focus may be on
• producing a catalogue of variants (1000 genomes)
• producing a small number of very accurate genomes
(mouse, Arabidopsis)
• Generate new genome sequences
Mapping Accuracy in simulated human data
Effects of Indels
Read Mapping:
read length matters
E.Coli
S. cerevisiae
A thaliana
H sapiens
2008 18: 810-820 Genome Res.
5.4 Mb
12.5 Mb
120 Mb
2.8 Gb
Read Mapping(1): Hashing
• Each nucleotide can be represented as a 2-bit binary number A=00, C=01,
G=10, T=11
• A string of K nucleotides can be represented as a string of 2K bits eg
AAGTC = 0000101101
• Each binary string can be interpreted as a unique integer
• All DNA strings of length K can be mapped to the integers 0,1,…..4K-1
–
–
–
–
–
–
k=10
65,535
k=11
262,143
k=12 1,048,575
k=13 4,194,303
k=14 16,777,215
k=15 67,108,864 (effective limit for 32-bit 4-byte words)
• Can use this relationship to index DNA for fast mapping
• Need not use contiguous nucleotides – spaced seeds, templates
• Trade-off between unique indexing/high memory use
MAQ
Package for read mapping, SNP calling and management of
read data and alignments
Genome Research 2008
Easy to use - unix command-line based
Although no longer state of the art and comparatively slow ,
generally produces good results
MAQ Read Mapping
– Indexes all reads in memory and then scans through genome
– Uses the first 28bp of each read for seed mapping
– Guarantees to find seed hits with no more than two mismatches, and
it also finds 57% of hits with three mismatches
– Uses a combination of 6 hash tables that index different parts of each
read to do this
– Defines a PHRED-like read mapping quality
• Qs = −10log10 Pr{read is wrongly mapped}.
• Based on summing the base-call PHRED scores at mismatched positions
– Reads that map equally well to multiple loci are randomly assigned
one location (and have Q=0)
– Uses mate pair information to look for pairs of reads correctly oriented
within a set distance
• Defines mapping quality for a pair of consistent reads as the sum of their
individual mapping qualities
Read-Mapping (2)
Bowtie, BWA, Stampy
all use the Burrows-Wheeler transform
Burrows Wheeler transform
• Represents a sequence in a form such that
– The original sequence can be recovered
– Is more compressible (human genome fits into
RAM)
– similar substrings tend to occur together (fast to
find words)
Bowtie
http://bowtie-bio.sourceforge.net/index.shtml
http://genomebiology.com/2009/10/3/R25
• Uses the BWA algorithm
• Indexes the genome, not the reads
• Not quite guaranteed to find all matching positions with <= 2
mismatches in first 28 bases (Maq’s criterion)
• Very fast (15-40 times faster than Maq)
• Low memory usage (1.3 Gb for human genome)
• Paper focuses on speed and # of mapped reads, not accuracy.
“[…] Bowtie’s sensitivity […] is equal to SOAP’s and somewhat
less than Maq’s”
Stampy (Gerton Lunter, WTCHG)
•
“Statistical Mapper in Python” (+ core in C)
•
Uses BWA and hashing
•
<= 3 mismatches in first 34 bp  match guaranteed
More mismatches: gradual loss of sensitivity
•
Algorithm scans full read, rather than just beginning
(and no length limit)
•
Handles indels well:
Reads are aligned to reference at all candidate positions
•
Faster than Maq, slower than Bowtie
•
2.7 Gb memory (shared between instances)
Performance – sensitivity
Mapping sensitivity
100
90
80
Stampy SE
70
60
Maq SE
50
BWA SE
40
Stampy PE
30
Maq PE
20
BWA PE
10
-30
-29
-28
-27
-26
-25
-24
-23
-22
-21
-20
-19
-18
-17
-16
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
0
Indel size
100
90
Top panel:
Sensitivity for reads with indels
80
70
60
stampy 72 SE
50
Right-hand panel:
Sensitivity as function of divergence
bwa 72 SE
40
eland 72 SE
30
maq 72 SE
20
10
div0
div0.01
div0.02
div0.03
div0.04
div0.05
div0.06
div0.07
div0.08
div0.09
div0.10
div0.11
div0.12
div0.13
div0.14
div0.15
(Genome: human)
0
Viewing Read Alignments: lookseq
http://www.sanger.ac.uk/resources/software/lookseq/
Viewing Read Alignments: IGV
http://www.broadinstitute.org/igv/
Variant calling
• A hard problem, several SNP callers exist eg MAQ/SAMTOOLS, Platypus
(WTCHG) GATK (Broad)
• Issue is to distinguish between sequencing errors and sequence variants
• If variant has been seen before in other samples then problem is easier
– genotyping vs variant discovery
• VCF Variant call format is now standard file format
• MAQ
–
–
–
–
Assumes genome is diploid by default
Error model initially assumes that sequence positions are independent,
attempts to compute probability of sequence variant
Has to use number of heuristics to deal with misalignments
SNP caller now part of SAMTOOLS varFilter.pl
acts as a filter on a large number of statistics tabulated about each sequence
position
Problems with Variant Calling
• Variant Calling is difficult because
– a diploid genome will have two haplotypes present, which can differ
significantly, eg due to polymorphic indels
• should be easier with haploid or inbred genomes
• but even harder when looking at low-coverage pools of individuals (eg 1000 genomes)
– Coverage can vary depending on GC content
• problem is sporadic
– Optical duplicates may give the impression there is more support for a variant
• often all reads with the same start and end points are thinned to a single representative,
but this can cause problems if the coverage is very high
– read misalignments can produce false positives
• repetitive reads can be mapped to the wrong place
• indels near the ends of reads can cause local read misalignments, where mismatches
(SNPs) are favoured over indels
– very divergent sequence is hard to align
• may fail to give any mapping signal and will look like a deletion
• problem addressed by local indel realignment (GATK)
GC content can affect read coverage
(Arabidopsis data from Plant Sciences, thanks to Eric Belfield and Nick Harberd)
coverage
GC content
global
•
Possible causes:
• Sanger identified that melting the gel slice by heating to 50 °C in chaotropic buffer decreased the
representation of A+T-rich sequences. Nature methods | VOL.5 NO.12 | DECEMBER 2008
• PCR bias during library amplification. Nature methods | VOL.6 NO.4 | APRIL 2009 | 291
Deletions can cause SNP artefacts, by inducing misalignments at
ends of reads
Arabidopsis Data from Eric Belfield and Nick Harberd, Plant Sciences, Oxford
de-Novo genome assembly
• No close reference genome available
• Harder than resequencing
– Only about 80-90% of genome is assembleable due to
repeats
– contiguation
– scaffolding
• Different Algorithms
• More data required:
– greater depth of coverage
– range of paired-end insert sizes
Assembling Genomes from Scratch
de-novo assembly
• Software include:
– VELVET
– ABySS
– ALL_PAIRS
– SOAPdenovo
– CORTEX
Computational limitations
• Traditional approach to take reads as
fundamental objects, and build algorithms/data
structures to encode their overlaps
– essentially quadratic in the number of reads
• Next-generation sequencing machines generate
too many reads!
– simply holding the base-calls requires tens of
terabytes for large projects
– analysis produces lots of large intermediate files
• Whatever we do, it has to scale slower than
coverage
The de Bruijn Graph
a representation of all possible paths joining reads together
Pevsner, PNAS 2001
Choose a word length k (5 in this example, but larger in applications)
AACTACTTACGCG
AACTA
The de Bruijn Graph
AACTAACTACGCG
AACTA ACTAA
The de Bruijn Graph
AACTAACTACGCG
AACTA ACTAA
CTAAC
The de Bruijn Graph
AACTAACTACGCG
AACTA ACTAA
CTAAC
TAACT
The de Bruijn Graph
AACTAACTACGCG
AACTA ACTAA
CTACT
TAACT
Same sequence, different k=3
ACTACTACTGCAGACTACT
TAC
CTA
TGC
CTG
GCA
ACT
CAG
GAC
AGA
Same sequence, different k=17
ACTACTACTGCAGACTACT
ACTACTACTGCAGACTA
CTACTACTGCAGACTAC
TACTACTGCAGACTACT
Recovering unambiguous contigs
bulge– two different paths;
in a diploid genome both
might be correct
Outline of de-Novo Assembly with the deBruijn Graph
2010 20: 265-272 Genome Res.
2010 20: 265-272 Genome Res.
Comparison of RAM requirements for whole human
genome
3500
3000
RAM required (Gb)
3000
2500
2000
1500
1000
500
160
336
0
Cortex
ABYSS
Velvet
Examples
Resequencing Inbred Lines
• Mouse
– 15 inbred strains, at Sanger (PI David Adams)
– 2.8Mbp
– sequenced to 20x
• Arabidopsis thaliana (plant model)
– 19 inbred accessions, here
– 120Mb
– sequenced to 20-30x
Iterative Reassembly (IMQ/DENOM)
Xiangchao Gan
• Basic idea
– Should only be one haplotype present (but not always
true)
– Align reads to reference (Stampy)
– Identify high-confidence SNPs and indels (SAMTOOLS)
– Modify reference accordingly
– Realign reads to modified reference
– Iterate until convergence
– 5 iterations usually sufficient
– Combine with denovo assembled contigs to improve
assembly
Iterative reassembly of inbred strains
Iterative Alignment + deNovo
Assembly
Low Coverage sequencing
• “Cheap” alternative to SNP genotyping chips
• Sequence populations at <1x coverage
• Impute compute genotypes from population
data + haplotype data (1000 genomes…)
CONVERGE study of Major Depression
• 12000 Chinese Women
– 6000 cases with Major Depression
– 6000 matched controls
– Sequenced at ~1x coverage
Imputation from 1x coverage
Comparison with 16 samples genotyped on Illumina Omnichip
orange is after imputation with 570 asian Thousand Genomes Project
haplotypes
green is before imputation (just using genotype likelihoods)
Outbred Mice
• 2000 commercial outbred mice
• descended from standard laboratory inbred
strains
• phenotyped for ~300 traits
• sequenced at ~ 0.1x coverage
Haplotype reconstruction as probabalistic
mosaics
QTLs
Other Applications
• RNA-Seq
– gene expression
• Chip-Seq
–
–
–
–
DNA-protein binding sites
Histone marks
Nucleosome positioning
DNAse hypersensitive sites
• Methylation
– bisulphite sequencing
• Mutation detection
– from mutagenesis experiments
– from human trios
• Multiplex Pooling
– random genotyping from low coverage read data

similar documents