Skip to content

Latest commit

 

History

History
143 lines (109 loc) · 5.9 KB

PART III: 1.Mapping.md

File metadata and controls

143 lines (109 loc) · 5.9 KB

1.Mapping

#安装bowtie(在python<=2.7)
conda install bowtie
#bowtie建立索引(酿酒酵母Saccharomyces cerevisiae、大肠杆菌Escherichia coli)
bowtie-build ./S288C_reference_sequence_R64-3-1_20210421.fsa ./BowtieIndex/YeastGenome
bowtie-build NC_008253.fna ./BowtieIndex/e_coli
#mapping
bowtie -v 2 -m 10 --best --strata BowtieIndex/YeastGenome -f THA1.fa -S THA1.sam
bowtie -v 1 -m 10 --best --strata BowtieIndex/e_coli -q e_coli_1000_1.fq -S e_coli_1000_1.sam
#mapping(不用bowtie-build,用bowtie官网下载的ebwt)
bowtie -v 2 -m 10 --best --strata BowtieIndex/s_cerevisiae.ebwt/s_cerevisiae -f THA1.fa -S THA1.sam
bowtie -v 1 -m 10 --best --strata BowtieIndex/e_coli.ebwt/e_coli -q e_coli_1000_1.fq -S e_coli_1000_1.sam
#安装STAR
conda install star
#为索引建立文件夹
mkdir tair10.Pt.STARindex
#STAR建立索引
STAR --runMode genomeGenerate --genomeFastaFiles data/tair10.Pt.fa --sjdbGTFfile data/tair10.Pt.gtf --genomeDir tair10.Pt.STARindex --genomeSAindexNbases 7

1.请阐述bowtie中利用了 BWT 的什么性质提高了运算速度?并通过哪些策略优化了对内存的需求?

​ Burrows-Wheeler Transform (BWT) 是文本中字符的可逆排列。虽然最初是在数据压缩的背景下开发的,但基于 BWT 的索引允许在较小的内存占用范围内有效地搜索大文本。该矩阵有一个称为“last first (LF) mapping”的属性。最后一列中第 i次出现的字符 X 与第一列中第 i次出现的 X对应的文本字符相同。此属性是使用 BWT 索引导航或搜索文本的算法的基础。

Figure 1

​ (Searching for inexact alignments) Bowtie引入了一种对齐算法,该算法进行回溯搜索以快速找到满足指定对齐策略的对齐。读数中的每个字符都有一个数字质量值,值越低表示测序错误的可能性越高。bowtie的对齐策略允许有限数量的不匹配,并且更喜欢所有不匹配位置的质量值总和较低的对齐。

Figure 2

​ (Excessive backtracking) Bowtie 还通过“双索引”技术减少了过度回溯。创建基因组的两个索引:第一个包含基因组的 BWT,称为“正向”索引,第二个包含基因组的 BWT,其字符序列反转(不是反向互补),称为“镜像”索引。

参考: https://genomebiology.biomedcentral.com/articles/10.1186/gb-2009-10-3-r25 (Langmead B, Trapnell C, Pop M, Salzberg SL. Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome Biol. 2009;10(3):R25.)

https://www.bilibili.com/video/BV1ix41177d4/

https://www.youtube.com/watch?v=4n7NPk5lwbI

2.用bowtie将 THA2.fa mapping 到 BowtieIndex/YeastGenome 上,得到 THA2.sam,统计mapping到不同染色体上的reads数量(即统计每条染色体都map上了多少条reads)。

#方法一(自行建立索引)
#安装bowtie(在python<=2.7)
conda install bowtie
#bowtie建立索引(酿酒酵母Saccharomyces cerevisiae、大肠杆菌Escherichia coli)
bowtie-build ./S288C_reference_sequence_R64-3-1_20210421.fsa ./BowtieIndex/YeastGenome
#mapping
bowtie -v 2 -m 10 --best --strata BowtieIndex/YeastGenome -f THA2.fa -S THA2.sam
# reads processed: 1250
# reads with at least one reported alignment: 1158 (92.64%)
# reads that failed to align: 77 (6.16%)
# reads with alignments suppressed due to -m: 15 (1.20%)
#Reported 1158 alignments to 1 output stream(s)

#统计染色体上mapping上的reads数(这里显示的是参考基因NC_编号)
grep -v '^@' THA2.sam | cut -f 3 | sort | uniq -c
#     92 *
#     18 ref|NC_001133|
#     51 ref|NC_001134|
#     15 ref|NC_001135|
#    194 ref|NC_001136|
#     33 ref|NC_001137|
#     17 ref|NC_001138|
#    125 ref|NC_001139|
#     68 ref|NC_001140|
#     25 ref|NC_001141|
#     71 ref|NC_001142|
#     56 ref|NC_001143|
#    169 ref|NC_001144|
#     67 ref|NC_001145|
#     58 ref|NC_001146|
#    101 ref|NC_001147|
#     78 ref|NC_001148|
#     12 ref|NC_001224|
#方法二(直接用ebwt文件索引)
#安装bowtie(在python<=2.7)
conda install bowtie
#mapping
bowtie -v 2 -m 10 --best --strata BowtieIndex/s_cerevisiae.ebwt/s_cerevisiae -f THA2.fa -S THA2.sam
# reads processed: 1250
# reads with at least one reported alignment: 1158 (92.64%)
# reads that failed to align: 77 (6.16%)
# reads with alignments suppressed due to -m: 15 (1.20%)
#Reported 1158 alignments to 1 output stream(s)

#统计染色体上mapping上的reads数
grep -v '^@' THA2.sam | cut -f 3 | sort | uniq -c
#     92 *
#     18 Scchr01
#     51 Scchr02
#     15 Scchr03
#    194 Scchr04
#     33 Scchr05
#     17 Scchr06
#    125 Scchr07
#     68 Scchr08
#     25 Scchr09
#     71 Scchr10
#     56 Scchr11
#    169 Scchr12
#     67 Scchr13
#     58 Scchr14
#    101 Scchr15
#     78 Scchr16
#     12 Scmito

3.查阅资料,回答以下问题: 3.1什么是sam/bam文件中的"CIGAR string"? 它包含了什么信息?

3.2"soft clip"的含义是什么,在CIGAR string中如何表示?

3.3什么是reads的mapping quality? 它反映了什么样的信息?

3.4仅根据sam/bam文件的信息,能否推断出read mapping到的区域对应的参考基因组序列?

提示:参考https://samtools.github.io/hts-specs/SAMtags.pdf中对于MD tag的介绍

4.软件安装和资源文件的下载也是生物信息学实践中的重要步骤。请自行安装教程中未涉及的 bwa 软件,从UCSC Genome Browser下载Yeast (S. cerevisiae, sacCer3)基因组序列。使用bwa对Yeast基因组sacCer3.fa建立索引,并利用bwa将THA2.fa,mapping到Yeast参考基因组上,并进一步转化输出得到THA2-bwa.sam文件。