Định dạng dữ liệu Fasta và FastqTin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org Đánh giá chất lượng giải trình tự Tiêu chí • Tổng s
Trang 1Khóa học:
Chú giải và Phân tích Hệ gen
Giảng viên: TS Nguyễn Cường
TS Dương Quốc Chính Trợ giảng: Nguyễn Văn Lâm
Phạm Quang Huy Nguyễn Quốc Đại
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Lắp ráp và dự đoán hệ gen
2
Trang 2Nội dung
• Quy trình thực hiện
• Định dạng dữ liệu (FASTA; FASTQ)
• Đánh giá và tinh sạch dữ liệu
Dữ liệu thô ( fastq )
Dữ liệu tinh sạch ( fastq )
Các tập contigs/scaffolds (fasta)
Tập contigs/scaffolds tốt nhất (fasta)
1 Đánh giá chất lượng giải trình tự (FastQC)
2 Tinh sạch dữ liệu (Trimmomatic)
3 Lắp ráp de novo (velvet)
4 Đánh giá chất lượng lắp ráp (bowtie2; samtools; qualimap)
5 Dự đoán gen (Maker)
Trang 3Định dạng dữ liệu Fasta và Fastq
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Đánh giá chất lượng giải trình tự
Tiêu chí
• Tổng số đoạn trình tự
• Chất lượng theo vị trí base (từng trình tự)
• Chất lượng trung bình theo đoạn trình tự
Trang 4Đánh giá chất lượng giải trình tự
copy 2 file raw-read_1.fastq và raw-read_2.fastq trong thư mục
/data/BIC15/raw-data về thư mục 1.Raw-data vừa tạo.
raw_reads_1.fasq; raw_reads_2.fastq: tập dữ liệu đầu vào
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Kết quả đánh giá chất lượng giải trình tự
• raw_read_1_fastqc.html; read_1_fastqc.zip
• raw_read_2_fastqc.html; read_2_fastqc.zip
• Tải hai file: *.html và mở bằng trình duyệt
1 Basic statistics (Tổng quan dữ liệu)
2 Per base sequence quality (Chất lượng theo vị trí base)
3 Per tile sequence quality (Chất lượng theo flowcell tile)
4 Per sequence quality scores (Chất lượng theo đoạn trình tự)
5 Per base sequence content (Tỷ lệ A,T,G,C trong dữ liệu)
6 Per sequence GC content (Tỷ lệ GC trong dữ liệu)
7 Per base N content (Số lượng trình tự N trong dữ liệu)
8 Sequence Length Distribution (Phân bố độ dài đoạn trình tự)
9 Sequence Duplication Levels (Mức độ lặp lại)
10 Overrepresented sequences (Các đoạn trình tự lặp lại)
11 Adapter Content (Các apdapter còn sót lại trong dữ liệu)
12 Kmer Content (Các Kmer có trong dữ liệu)
8
Trang 5Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Per base sequence quality
10
Chú ý: Điểm chất lượng (QC) của một trình tự thể hiện xác suất trình tự đó bị sai.
Ví du: QC = 10 nghĩa là có 1 base sai trong 10 base (10%)
QC = 20 nghĩa là có 1 base sai trong 100 base (1%)
QC = 30 nghĩa là có 1 base sai trong 1000 base (0.1%)
QC = 40 nghĩa là có 1 base sai trong 10.000 base (0.01%)
Mean, median, max, min…
Trang 6Per sequence quality scores
• Đánh giá điểm chất lượng
(QC) trung bình của mỗi
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Per base sequence content
• Cho biết tỷ lệ % của 4 loại
trình tự A, T, G, C có trong
dữ liệu.
• Tỷ lệ %G ~%C và %A ~ %T
12
Trang 7Per sequence GC content
• Thông kê tỷ lệ % GC ở mỗi
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Per base N content
Trang 8Sequence Length Distribution
• Biểu đồ thống kê phân bố
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Sequence Duplication Levels
• Đánh giá mức độ lặp lại của
các đoạn trình tự.
• Đường đỏ: Mức độ lặp lại
của 100.000 trình tự đầu
tiên
• Đường xanh: mức độ lặp lại
của toàn bộ các đoạn trình
tự
16
Trang 9Tóm lược kết quả đánh giá dữ liệu
Dung lượng (Gigabyte) 1,1 1,1
• Trimmomatics: Phần mềm được phát triển dành riêng cho xử lý dữ
liệu của Illumina.
18
Trang 10java jar /home/juhuvn/tools/Trimmomatic/trimmomatic0.33.jar PE
-phred33 data/raw_read_1.fastq
/1.Raw-data/raw_read_2.fastq clean_read_1.fastq unpaired_1.fastq
clean_read_2.fastq unpaired_2.fastq SLIDINGWINDOW:10:30 MINLEN:70
Trong đó:
java –jar: Gọi môi trường java
PE: lựa chọn khai báo dữ liệu pair-end
-phred 33: điểm chất lượng trình tự theo bảng mã ASCII
/1.Raw-data/: đường dẫn đến thư mục chứa dữ liệu
reads_1.fastq; reads_2.fastq: dữ liệu cần tinh sạch
clean_read*.fastq và unpaired*.fastq: tập dữ liệu sau tinh sạch
SLIDINGWINDOW:10:30: loại bỏ slide (4tt) có chất lượng TB < 30
MINLEN:70 loại bỏ tất cả đoạn trình tự < 70bp
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Kết quả tinh sạch dữ liệu
Output: 4 tập dữ liệu được tạo ra.
Trong đó
clean_read_1.fastq; clean_read_2.fastq
Là hai tập dữ liệu chất lượng tốt.
unpaired_1.fastq; unpaired_2.fastq
Là hai tập fastq loại ra vì không tìm thấy paired-end.
Để đánh giá chất lượng dữ liệu sau tinh sach (FastQC).
Thực hiện
20
Trang 11So sánh dữ liệu trước và sau tinh sạch
• Basic Statistics (raw_read_1.fastq và clean_read_1.fasq)
Dữ liệu trước tinh sạch Dữ liệu sau tinh sạch
Dữ liệu sau tinh sạch đã được loại bỏ hết trình tự có độ dài < 70 bp
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org 22
Dữ liệu trước tinh sạch Dữ liệu sau tinh sạch
Per base sequence
Trang 12Tóm lược kết quả tinh sạch dữ liệu
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Bài tập về đánh giá và tinh sạch dữ liệu
thư mục /data/BIC15/Exercise
Bài tập
• Đánh giá chất lượng giải trình tự
• Loại bỏ tất cả đoạn trình tự có kích thước < 100
• Loại bỏ tất các các trình tự chất lượng QC < 28
• Quan sát dữ liệu sau tinh sạch
24
Trang 13Lắp ráp de novo
• Lắp ráp de novo là quá trình xây dựng lại hệ gen của một sinh
vật, từ những trình tự DNA đoạn ngắn của chính sinh vật đó.
Trang 14Hai thuật toán sử dụng trong lắp ráp
• OLC (Overlap – Layout - Consensus)
• De Bruijn Graph
Quy tắc chung của hai thuật toán
1 Xây dựng graph
2 Xác định các contigs dựa trên graph
3 Sửa lỗi sử dụng chất lượng giải trình tự
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Trang 15Thuật toán OLC
OLC gồm 3 bước: (1) O verlap, (2) L ayout, and (3) C onsensus
1. Overlap
• So sánh tất cả các đoạn trình tự (từng đôi – pair wise) tìm ra các đoạn lặp
(overlap)
• Yêu cầu tất cả các đoạn trình tự có độ dài bằng nhau
• Xây dựng overlap graph: điểm=đoạn trình tự, cạnh=đoạn overlap
2. Layout
• Tinh gọn graph (đơn giản graph)
• Tìm ra những contigs theo đường Hamiltonian (đường đi qua các điểm chính xác
1 lần)
• Gióng hàng tất cả các đoạn contigs tìm được
• Dựa vào chất lượng giải trình tự để tìm ra contigs đúng nhất
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Gióng hàng lần lượt tất cả các đoạn trình tự (3)
AGTC+GTCT, AGTC+CTAT, GTCT+CTAT
Trang 16Ví dụ OLC: Xậy dựng overlap graph
• Điểm là 3 đoạn trình tự
• Cạnh là những đoạn overlap
giữa hai đoạn trình tự cùng với
hướng
• Mức độ đậm nhạt của mũi tên
hiển thị điểm overlap
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Vi dụ OLC: Layout và Consensus
• Các cạnh được chọn (dựa vào
điểm overlap) là cạnh theo
hướng mũi tên màu xanh
Trang 17Những phần mềm sử dụng OLC
• Phrap, PCAP, CAP3
Áp dụng cho những hệ gen có kích thước nhỏ
• Celera Assembler
Thích hợp cho việc sử dụng dữ liệu Sanger cũ
• Arachne, Edena, CABOG, Mira
Thích hợp cho dữ liệu Sanger hiện đại
• Newbler (gsAssembler)
Công cụ được phát triển riêng cho dữ liệu NGS của 454 với
kích thước đoạn trình tự dài
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Thuật toán De Bruijn Graph (DBG)
• Gồm 4 bước cơ bản
1 Cắt các đoạn trình tự (độ dài: L) thành các (L-K+1) k-mer
• Độ dài L=50; K=31 ta sẽ thu được (50-31+1)=20 k-mer
2 Xây dựng de Bruijn graph
• Điểm = k-mer
• Cạnh = k-mer -1, đoạn overlap chính xác giữa hai điểm (k-mer)
3 Đơn giản hóa graph
• Ghép tất cả các đoạn k-mer có duy nhất một đường
• Loại bỏ các bubbles và tips
4 Xác định các đoạn contigs hoặc scaffold
• Dựa vào đường Eulerian, đi qua tất cả các cạnh chính xác 1 lần
34
Trang 18Ví dụ về DBG
Sequence (L=7)
CAATATG
K-mers (k=3) ta sẽ thu được 7-3+1=5 k-mer
Trang 19Ví dụ về DBG: Kết quả
• Từ graph trên thu được 2 contigs:
CAATATG
CAATG
• Tuy nhiên CAATG sẽ bị loại bỏ vì không phải là contigs dài
nhất đi qua các cạnh duy nhất một lần.
• Trình tự cuối cùng thu được là: CAATATG
Nhanh; dễ sử dụng; có thể sử dụng nhiều CPU
Được thiết kế để lắp ráp paired-end reads
Trang 20OLC vs DBG
DBG
• Nhạy cảm với các đoạn lặp và lỗi giải trình tự
• Rút gọn graph phụ thuộc vào độ dài k-mer
• Một read lỗi dẫn đến nhiều node (điểm) bị lỗi
• Parameters: K-mer size, mức độ bao phủ k-mer …
OLC
• Ít nhạy cảm với các đoạn lặp và lỗi giải trình tự
• Xây dựng graph chặt chẽ hơn
• Không phù hợp với đoạn trình tự ngắn
• Parameter: Độ dài đoạn overlap giữa các đoạn trình tự …
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
phần mềm lắp ráp
Tên phần
Số citation
Thuật toán sử dụng
Velvet 10.1101/gr.074492.107 3.636 De Bruijn Graph
ABySS 10.1101/gr.089532.108 1.261 De Bruijn Graph
AllPaths-LG 10.1073/pnas.1017351108 446 De Bruijn Graph
Edena 10.1101/gr.072033.107 436 OLC
Phrap 10.1002/0471250953.bi1104s17 80 OLC
ARACHNE 10.1101/gr.208902 535 OLC
40
Trang 21Lắp ráp de novo sử dụng velvet
Yêu cầu
• Dữ liệu định dạng dữ liệu fasta hoặc fastq
• Dữ liệu đã được tinh sạch (chất lượng tốt)
Lắp ráp de novo sử dụng velvet gồm 2 bước
1 Chia nhỏ theo k-mer (hash length)
• Sử dụng “velveth” và chon K-mer (phải là số lẻ)
2 Xây dựng graph và lắp ráp thành contigs/scaffold
• Sử dụng “velvetg”
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Một số lưu ý khi sử dụng velvet
• Độ bảo phủ (coverage) trong velvet đều là k-mer coverage (số
lần xuất hiện k-mer đó trong tất các đoạn trình tự)
Ck = C * (L - k + 1) / L
Ck: k-mer coverage C: genome coverage k: k-mer
L: độ dài đoạn trình tự
• Sử dụng công cụ gợi ý độ dài K-mer dựa vào số lượng đoạn trình tự
và kích thước hệ gen mong muốn.
Trang 22• Perl script tự động tối ưu hóa 3 pramaters (k-mer,
exp_cov, cov_cutoff) dành riêng cho velvet.
• Tự động chạy velveth và vetvelg với nhiều paramaters khác nhau.
• Chọn ra các praramaters tối ưu nhất
• Source: http://bioinformatics.net.au/software.velvetoptimiser.shtml
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Bước 1 Chia nhỏ đoạn trình tự theo k-mer
Thực hiện: Chuyển về thư mục BIC15
assembly_k59: Tên thư mục chứa kết quả
59: Lựa chọn chạy velveth với k-mer = 59 (các k-mer khác tương tự)
-shortPaired: Kiểu dữ liệu (trình tự đoạn ngắn và đọc hai đầu)
-fastq: Định dạng dữ liệu input là fastq
-separate: Lựa chọn dành dữ liệu paired-end (reads_1 và reads_2)
/2.Preprocessing/: Đường dẫn đến thư mục chứa dữ liệu input
clean_read_1.fastq: Tập dữ liệu input 1
clean_read_2.fastq: Tập dữ liệu input 2
Chú ý: có thể chạy velveth với nhiều k-mer trong một lần, ví dụ
trong trường hợp nàyvelveth sẽ chạy k-mer từ 55-65 cách nhau 2.
velveth assembly 55,65,2 -shortPaired -fastq -separate
/2.Preprocessing/clean_read_1.fastq
44
Trang 23Kết quả sau khi chạy velveth
• Output
• Lần lượt các đoạn trình tự được
chia ra theo các k-mer và lưu vào
từng thư mục tương ứng với từng
k-mer.
• Trong mỗi thư mục có
• Log: chứa lịch sử và các cmd sử
dụng
• Roadmaps: Cho biết số lượng k-mer
và thông tin chi tiết
• Sequence: Chứa tất cả các đoạn
trình tự được sử dụng.
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Bước 2 Xây dựng graph và lắp ráp de novo
velvetg: Tên công cụ
assembly_31/: Thư mục vừa chạy velveth
-cov_cutoff: Lựa chọn k-mer coverage cutoff
-exp_cov: Lựa chọn k-mer coverage mong đợi
-min_contig_lgth 500: Lựa chọn loại bỏ hết contigs
có độ dài dưới 500
-scaffolding no: Lựa chọn không scaffolding
46
Trang 24Kết quả sau khi chạy velvetg
• Output
1 Pregraph: Chứa tất cả các thông tin của từng NODE
2 Graph2: Chứa các thông tin về Graph sau khi tinh gọn
3 LastGraph: Graph cuối cùng để lựa chọn các contigs
4 Contigs.fa: tập contigs lắp ráp được
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Contigs thu được sau lắp ráp
48
Trang 25Tóm lược kết quả lắp ráp de novo
K-mer # Contigs Total Length (bp) Max Contig (bp) Min Contig
(bp) K55 493 9.304.787 120.148 500
K57 502 9.319.565 120.156 500
K59 514 9.321.891 130.768 500
K61 539 9.326.984 130.901 500
K63 558 9.332.774 120.124 500
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Bài tập về lắp ráp de novo sử dụng velvet
• Chạy lắp ráp lại với các k-mer 55; 59 và 65 với lựa chọn
có scaffolding và min contigs là 1000
• Thống kê, so sánh kết quả bằng phần mềm QUAST
(Lưu ý: không cần chạy lại velveth đối với k-mer
đã chạy rồi)
50
Trang 26• Số lượng “N” đối với scaffolding
“N” là trình tự không rõ ràng được thêm vào trong quá trình scaffolding, do vậy càng ít thì càng tốt.
• Số lượng đoạn trình tự ánh xạ ngược lại
Tập contigs đã được sắp xếp theo độ dài từ lớn đến nhỏ
Trang 27Đánh giá chất lượng lắp ráp bằng QUAST
quast.py contigs_55.fa contigs_k57.fa … contigs_k63.fa
quast.py: tên công cụ
contigs_k59.fa …: tên bản lắp ráp cần đánh giá
Kết quả: Thư mục kết quả “quast_results”
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org 54
Kết quả đánh giá chất lượng lắp ráp bằng QUAST
Trang 29Ánh xạ các đoạn trình tự vào hệ gen vừa lắp ráp
Bước 1: Index tập contigs
mkdir mapping_k59
cd mapping_k59
bowtie2-build /contigs_k59.fa contigs_k59
Trong đó:
bowtie2-build: tên công cụ
/: đường dẫn đến thư mục chứa tập contigs (ở thư mục
trước)
contigs_k59.fa: tập contigs cần index
contigs_k59: tên đầu của file output
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
Bước 2: Ánh xạ các đoạn trình tự vào tập contigs
bowtie2 -x contigs_k59 -1 / /2.Preprocessing/clean_read_1.fastq
-2 / /2.Preprocessing/clean_read_2.fastq -S contigs_k59.sam
Trong đó:
bowtie2: tên công cụ
-x: lựa chọn file index (trong trường hợp này là
contigs_k59)
-1; -2: lựa chọn dành cho paired-end reads
/ /2.Preprocessing/: đường dẫn đến thư mục chứa các tập
dữ liệu đầu vào
clean_read_1.fastq; clean_read_2.fastq: hai tập dữ liệu đầu
Trang 30Thu được file ánh xạ định dạng *.sam (contigs_k59.sam)
Kết quả chi tiết số lượng đoạn trình tự ánh xạ
Kết quả ánh xạ các đoạn trình tự sử dụng Bowtie2
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
1 Chuyển file sam thành bam và sort (samtools)
Chuyển sam thành bam (sam-to-bam)
samtools view –bS contigs_k59.sam > contigs_k59.bam
Sắp xếp lại file bam (sort)
samtools sort contigs_k59.bam contigs_k59_sorted
Trang 31Qualimap đánh giá chất lượng ánh xạ theo 14 tiêu chí khác nhau
1 Summary
2 Input data & parameters
3 Coverage across reference
4 Coverage Histogram
5 Coverage Histogram (0-50X)
6 Duplication Rate Histogram
7 Genome Fraction Coverage
8 Mapped Reads Nucleotide Content
9 Mapped Reads GC-content Distribution
10 Homopolymer Indels
11 Mapping Quality Across Reference
12 Mapping Quality Histogram
13 Insert Size Across Reference
14 Insert Size Histogram
Kết quả sau khi chạy qualimap
Tin sinh học: Lắp ráp, dự đoán, chú giải và phân tích hệ gen | Phòng Tin sinh học | www.tinsinhhoc.org
• Đưa ra thông tin tổng quan nhất về kết quả mapping
62
Kết quả sau khi chạy qualimap