搜索
查看: 2990|回复: 1

[Other] Biostar:课程13、14-常用的mapping软件bwa & sam格式简介

[复制链接]

33

主题

46

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
发表于 2017-7-20 10:42:27 | 显示全部楼层 |阅读模式
注:本文是生信媛微信公众号原创文章
作者:István Albert
原文链接:http://mp.weixin.qq.com/s/yK1OyJHrePg6bWl41JCpvA


翻译:生物女博士
注:本系列课程翻译已获得原作者授权。


#为作者的注释
#*为译者的注释


Lecture 13 - 安装和使用bwa

#从SourceForge上下载bwa
# 从SourceForge获取的URL是比较复杂的,因为SourceForge希望你去访问网址并从网址上下载,这样你可以看到网页投放的广告。
# 你可以访问网址,并手动下载。
#*最新版本是bwa-0.7.15
#*响应时间可能会比较久
cd ~/src

# 这个安装包是用bzip2压缩的,所以需要加-j 来解压。
tar jxvf bwa.0.7.15.tar.bz2

# 我们需要编译一下程序
cd bwa-0.7.15/

# 用make命令来编译。
make

# 把bwa程序链接到bin目录下。
ln -s ~/src/bwa-0.7.15/bwa ~/bin

# 运行一下程序,确保其可用。
mkdir -p ~/edu/lec13; cd ~/edu/lec13

# 运行这个工具,看看它是怎样用的。
bwa

# 手册不错呦!
man ~/src/bwa-0.7.15/bwa.1
#*点击"q"可以退出。

# 创建一个总目录来存储参考序列。
mkdir -p ~/refs/852

# 获取1999年大爆发的埃博拉病毒的参考基因组序列。
#*貌似最近用efetch工具下载NCBI上的数据有问题。大家可以手动下载,然后放到目的文件夹。
efetch -db nucleotide -id NC_002549 -format fasta > ~/refs/852/ebola-1999.fa

# 对基因组创建索引,这样bwa就可以进行基因组搜索。
bwa index ~/refs/852/ebola-1999.fa

# 来看一下运行结果。
ls ~/refs/852/

# 使之也能通过blast进行搜索。
makeblastdb -in ~/refs/852/ebola-1999.fa -dbtype nucl -parse_seqids

# 现在,来看看发生了什么。
ls ~/refs/852/

# 从一个文件中衍生了16个文件,我们最好还是把它们放在一个独立文件夹。
ls -l ~/refs/852/ | wc -l

# 获取埃博拉基因组序列的第一行。
head -2 ~/refs/852/ebola-1999.fa > query.fa

# 用bwa-mem命令将其map回它的基因组。
bwa mem ~/refs/852/ebola-1999.fa query.fa > results.sam

# 与该序列的blast过程比较一下
blastn -db ~/refs/852/ebola-1999.fa -query query.fa > results.blastn


Lecture 14 - 了解SAM格式

# 从lecture13结束的地方继续讲。
head -2 ~/refs/852/ebola-1999.fa  > query.fa

# 做序列比对。
bwa mem ~/refs/852/ebola-1999.fa query.fa > results.sam

# 注意,bwa还是会在屏幕上输出“流”(stream)。
#* stream:这里是指软件运行过程中屏幕上不断出现的一些文字。
# 有两种输出流。它们被称为:标准输出(standard out)和标准错误输出(standard error)。
# 下边的代码是告诉你,你可以如何重定向这两个输出到文件中。
bwa mem ~/refs/852/ebola-1999.fa query.fa 1> results.sam 2> errors.txt

# 有很多技巧可以将一个流重定向到文件,尽管在绝大多数情况下,这是不必要的。但有时确实需要存储错误消息。

# 根据你有的序列创建“查询序列”。
# 添加或删除一些碱基来创造“插入”和“缺失”。
# 做序列比对。
bwa mem ~/refs/852/ebola-1999.fa query.fa > results.sam

# 查看某些列。
# 了解每列的含义很重要。
#*这里作者讲的过于简略,推荐大家看参考阅读1和2或者官网。
# (这三列是)query id, 比对标识和目标id
#*query id其实就是reads序列的名字。
cat results.sam | cut -f 1,2,3

# 比对起始位置,mapping质量, 简要比对信息表达式
cat results.sam | cut -f 4,5,6

# 双端reads信息:名字,位置和模板长度
cat results.sam | cut -f 7,8,9

# Query序列, query质量, 其他属性
#*Query序列(也就是reads序列)
cat results.sam | cut -f 10,11,12,13,14

# 如果你列两个文件给bwa-mem,它会以配对模式来比对它们。
# 从课程网站上获取示例数据集。

# 解压和比对这个数据集,根据结果回答作业上的问题
bwa mem ~/refs/852/ebola-1999.fa read1.fq read2.fq > results.sam




欢迎到微信公众号订阅我们
生信媛
bio_sxy









上一篇:Biostar: 课程11、12-下载序列,建blast数据库以及本地blast
下一篇:人生第一次实战-GBS数据的进化分析
回复

使用道具 举报

0

主题

7

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2017-10-12 14:03:59 | 显示全部楼层
ubuntu 17.04编译bwa时显示 utils.c:33:18: fatal error: zlib.h: No such file or directory
#include <zlib.h>
解决办法:
apt-get install zlib1g-dev
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-11-12 10:14 , Processed in 0.044264 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.