1.bowtie

短序列比对工具,blast也是短序列比对工具,速度快,结果易理解。

输入可以是fastq或者fasta文件。

生成比对结果文件sam格式的吧。

2.bwa

转自:https://www.jianshu.com/p/1552cc6ac3be

将DNA序列比对到参考基因组上的软件,包含三种算法:

BWA-backtrack:适合比对长度不超过100bp的序列;

BWA-SW:合于长度为70-1M bp的序列;

BWA-MEM:合于长度为70-1M bp的序列,高质量的测序数据,其比对的速度更快,精确度更高。

使用whereis bwa找到其安装路径:

xhs@dandan26:/data1/zzl$ whereis bwa
bwa: /usr/bin/bwa /usr/share/bwa /usr/share/man/man1/bwa..gz

输入bwa得到以下帮助:

Usage:   bwa <command> [options]

Command: index         index sequences in the FASTA format
mem BWA-MEM algorithm
fastmap identify super-maximal exact matches
pemerge merge overlapping paired ends (EXPERIMENTAL)
aln gapped/ungapped alignment
samse generate alignment (single ended)
sampe generate alignment (paired ended)
bwasw BWA-SW for long queries shm manage indices in shared memory
fa2pac convert FASTA to PAC format
pac2bwt generate BWT from PAC
pac2bwtgen alternative algorithm for generating BWT
bwtupdate update .bwt to the new format
bwt2sa generate SA from BWT and Occ Note: To use BWA, you need to first index the genome with `bwa index'.
There are three alignment algorithms in BWA: `mem', `bwasw', and
`aln/samse/sampe'. If you are not sure which to use, try `bwa mem'
first. Please `man ./bwa.' for the manual.

步骤:

1.对参照基因组建索引:

bwa index –a bwtsw hg19.fasta

此处构建索引使用的是bwtsw算法,最终输出的结果文件:

会生成:bwt,pac,ann,amb,sa五种类型的文件:

xhs@dandan-PowerEdge-T620:/data1/GRCm38$ ls
GRCm38_68.fa GRCm38_68.fa.amb GRCm38_68.fa.ann GRCm38_68.fa.bwt GRCm38_68.fa.fai GRCm38_68.fa.pac GRCm38_68.fa.sa

2.使用bwa-mem算法进行比对:

bwa mem –t  hg19.fasta read1.fq read2.fq > aln-pe.sam

我使用了这条命令:

bwa mem -t  ../hg19/hg19.fasta ERR580012_1.fastq.gz ERR580012_2.fastq.gz > aln-pe.sam

使用了mem算法,-t是选择几个线程,增加线程,减少运行时间;然后是参照基因组的fasta文件。以及其他参数:

-p 忽略第二个输入序列,默认情况下,输入一个序列文件认为是单端测序,输入两个序列文件则是双端测序,加上这个参数后,会忽略第二个输入序列文件,把第一个文件当做单端测序的数据进行比对;

将最终结果存入到了sam文件中。

那么什么是单端测序和双端测序:

转自:https://www.cnblogs.com/Formulate0303/p/7843082.html

1、单端测序(Single-ead)首先将DNA样本进行片段化处理形成200-500p的片段,引物序列连接到DNA片段的一端,然后末端加上接头,将片段固定在flowcell上生成DNA簇,上机测序单端读取序列。

2、Paied-end方法是指在构建待测DNA文库时在两端的接头上都加上测序引物结合位点,在第一轮测序完成后,去除第一轮测序的模板链,用对读测序模块(Paied-End Module)引导互补链在原位置再生和扩增,以达到第二轮测序所用的模板量,进行第二轮互补链的合成测序。

//其实这个第二点还不太明白.[1]

3.将sam文件压缩为bam格式

samtools view –bS aln-pe_reorder.sam –o aln-pe.bam

查找samtools帮助:

Usage:   samtools <command> [options]

Command: view        SAM<->BAM conversion
sort sort alignment file
mpileup multi-way pileup
depth compute the depth
faidx index/extract FASTA
tview text alignment viewer
index index alignment
idxstats BAM index stats (r595 or later)
fixmate fix mate information
flagstat simple stats
calmd recalculate MD/NM tags and '=' bases
merge merge sorted alignments
rmdup remove PCR duplicates
reheader replace BAM header
cat concatenate BAMs
bedcov read depth per BED region
targetcut cut fosmid regions (for fosmid pool only)
phase phase heterozygotes
bamshuf shuffle and group alignments by name

-b 表示输出为bam文件格式 –S默认下输入是 BAM 文件,若是输入是 SAM 文件,则最好加该参数,否则有时候会报错。-o 输出文件名

最终生成了bam文件,其中b指binary,运算快。

使用下面命令来查看文件头:

samtools view -H ESCell#.sam

3.下载并安装gatk

对下载的进行解压。

unzip filename.zip

将本地文件传给服务器直接使用xftp-5软件即可。

解压缩zp2类型压缩文件:

tar -xjf GenomeAnalysisTK-3.3-.tar.bz2

首次运行命令,提示:

##### ERROR MESSAGE: Fasta index file /data/data0/rawdata/../hg19/hg19.fasta.fai for reference /data/data0/rawdata/../hg19/hg19.fasta does not exist. Please see http://gatkforums.broadinstitute.org/discussion/1601/how-can-i-prepare-a-fasta-file-to-use-as-reference for help creating it.

有个关于参照组的.fai文件找不到,放进去了,然后又说没有dict文件

##### ERROR MESSAGE: Fasta dict file /data/data0/rawdata/../hg19/hg19.dict for reference /data/data0/rawdata/../hg19/hg19.fasta does not exist. Please see http://gatkforums.broadinstitute.org/discussion/1601/how-can-i-prepare-a-fasta-file-to-use-as-reference for help creating it.

5. .fasta.fai文件

查看其中的内容,每行都有5列

name  序列长度(单位:bp)   offset(第一个碱基的偏移量,从0计数,换行符也进行统计)  LINEBASES (除了最后一行,其他代表序列的行的碱基数) LINEWIDTH(除了最后一行外, 其他代表序列的行的长度, 包括换行符, 在windows系统中换行符为\r\n, 要在序列长度的基础上加2)

***根据这个.fai 文件和原始的fastsa文件, 能够快速的提取任意区域的序列 。

NGS中的一些软件功能介绍的更多相关文章

  1. Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?

    Joomla 软件功能介绍:    Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...

  2. Android Studio 2.1及其以上版本中的instant run功能 介绍

    Android Studio 2.0及其以后版本中的instant run功能 介绍 转 https://blog.csdn.net/zy987654zy/article/details/514961 ...

  3. sf中标准的分页功能介绍

    世上本无事,庸人自扰之.我喜欢一个相对比较安静的环境去学习和工作,希望在一个掉一根针的声音都能够听到的环境中,但是有时候往往相反,一片嘈杂,我改变不了周围的环境,只能改变自己,其实这些都没有什么,也许 ...

  4. Python中str字符串的功能介绍

    Str字符串的功能介绍 1. 字符串的操作 字符串的连接操作 符号: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + st ...

  5. 插件SimSynth合成器功能介绍

    本章节采用图文结合的方式给大家介绍下电音编曲软件"水果"FL Studio中SimSynth合成器的功能介绍,感兴趣的朋友可以一起进来沟通交流哦. SimSynth插件是FL St ...

  6. MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览

    之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...

  7. Autodesk Maya 2019 for Mac(三维动画软件)最新功能介绍

    Autodesk Maya是美国Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等.Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是 ...

  8. python中列表、元组、字典内部功能介绍

    一.列表(list) 常用功能的介绍:

  9. Python中模块之re的功能介绍

    re模块的功能介绍 1. 方法 match 从开头开始查找 方法:re.match(pattern,string,flags=0) 返回值:<class '_sre.SRE_Match'> ...

随机推荐

  1. 扩展-Easyui Datagrid相同连续列合并扩展(一)

    一.autoMergeCellAndCells实现效果 调用方法: function onLoadSuccess(data){     $(this).datagrid("autoMerge ...

  2. 关于Unity屏幕分辨率的比例

    1.Free Aspect任意窗口大小 2.16:9是1920*1080的手机 3.4:3是1024*768ipad 4.3:2是960*640,iPhone4手机屏幕 5.480*800,竖屏手机游 ...

  3. php -- 判断文件是否存在

    file_exists is_file is_dir 基本上,PHP的 file_exists = is_dir + is_file 写程序验证一下: 分别执行1000次,记录所需时间. ------ ...

  4. python3----datetime模块分析

    datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime ...

  5. Laravel5.1 表单验证

    当我们提交表单时 通常会对提交过来的数据进行一些验证.Laravel在Controller类中使用了一个traint:ValidatesRequest.方便我们在控制器中使用验证器. 下面我们就来看一 ...

  6. galera安装之编译安装xtrabackup 2.2.11

    ----1.编译安装percona-xtrabackup yum -y install cmake gcc gcc-c++ libaio libaio-devel automake autoconf ...

  7. RMI几种公布和引用服务的方式

    RMI是Java原生的分布式服务机制.支持Java对Java的分布式訪问.採用Java的序列化协议进行CodeC操作. 这里简单说下RMI公布服务和client引用服务的方式. RMI公布服务时支持两 ...

  8. 剑指 offer set 28 实现 Singleton 模式

    singleton 模式又称单例模式, 它能够保证只有一个实例. 在多线程环境中, 需要小心设计, 防止两个线程同时创建两个实例. 解法 1. 能在多线程中工作但效率不高 public sealed ...

  9. 第七篇:使用 CUDA 进行计算优化的两种思路

    前言 本文讨论如何使用 CUDA 对代码进行并行优化,并给出不同并行思路对均值滤波的实现. 并行优化的两种思路 思路1: global 函数 在 global 函数中创建出多个块多个线程对矩阵每个元素 ...

  10. jenkins配置邮件报警

    author:headsen chen date: 2018-05-15  13:49:21 在jerkins的主配置页面上: 注意:不用 安装什么报警邮件的插件.直接配置就可以了. 系统管理 --- ...