生信基础知识

10.12 bwa使用 安装文件路径与使用 sh权限

2018-10-12  本文已影响0人  KK_f2d5

我们这里将用于流程构建的BWA就是其中最优秀的一个,它将BW(Burrows-Wheeler)压缩算法和后缀树相结合,能够让我们以较小的时间和空间代价,获得准确的序列比对结果。

别人的已安装文件打包传递后使用:

1、连接服务器

2、家目录下,Users,ls -all (或者 打开/etc里profile)

3、vim .bashrc

```

export PATH="your path:$PATH"

```

添加的路径是绿色的可执行文件所在的位置

4、source .bashrc 

5、在全局中输入bwa测试是否可以使用

自己安装的软件路径都已经配置好了,所以不需要这样操作就可以直接使用。


BWA MEM比对模块是有一定适用范围的:它是专门为长read比对设计的,目的是为了解决,第三代测序技术这种能够产生长达几十kb甚至几Mbp的read情况。一般只有当read长度≥70bp的时候,才推荐使用,如果比这个要小,建议使用BWA ALN模块。

BWA ALN模块

1: 建立 Index

根据reference genome data(e.g. reference.fa) 建立 Index File

    bwa index -a bwtsw reference.fa

(bwa index 可以查看更多使用方法)

step 2: 寻找 SA coordinates

如果是pair-end 数据(leftRead.fastq和rightRead.fastq)两个文件分别处理

    bwa aln reference.fa leftRead.fastq > leftRead.sai

    bwa aln reference.fa rightRead.fastq > rightRead.sai

    bwa aln reference.fa singleRead.fastq > singleRead.sai

如果希望多线程运行,在其中加入 -t这个参数,另外-f这个参数可以指定结果输出文件,如:

    bwa aln -c -t 3 -f leftreads.sai reference.fa leftreads.fastq

step 3:转换SA coordinates输出为sam

如果是pair-end数据

    bwa sampe -f pair-end.sam reference.fa leftRead.sai rightRead.sai leftRead.fastq rightread.fastq

如果是single reads数据

    bwa samse -f single.sam reference.fa single.sai single.fastq

bwa mem模块

https://www.jianshu.com/p/859c0345624c

bwa mem [options] <idxbase> <in1.fq> [in2.fq]

bwa mem -t 4 -R'@RG\tID:foo_lane\tPL:illumina\tLB:library\tSM:sample_name'/path/to/human.fasta read_1.fq.gz read_2.fq.gz > sample_name.sam

-t,线程数,我们在这里使用4个线程;-R 接的是Read Group的字符串信息,这是一个非常重要的信息,以@RG开头,它是用来将比对的read进行分组的。不同的组之间测序过程被认为是相互独立的,这个信息对于我们后续对比对数据进行错误率分析和Mark duplicate时非常重要。在Read Group中,有如下几个信息非常重要:

(1) ID,这是Read Group的分组ID,一般设置为测序的lane ID(不同lane之间的测序过程认为是独立的),下机数据中我们都能看到这个信息的,一般都是包含在fastq的文件名中;

(2) PL,指的是所用的测序平台,这个信息不要随便写!特别是当我们需要使用GATK进行后续分析的时候,更是如此!这是一个很多新手都容易忽视的一个地方,在GATK中,PL只允许被设置为:ILLUMINA,SLX,SOLEXA,SOLID,454,LS454,COMPLETE,PACBIO,IONTORRENT,CAPILLARY,HELICOS或UNKNOWN这几个信息。基本上就是目前市场上存在着的测序平台,当然,如果实在不知道,那么必须设置为UNKNOWN,名字方面不区分大小写。如果你在分析的时候这里没设置正确,那么在后续使用GATK过程中可能会碰到类似如下的错误。

(3) SM,样本ID,同样非常重要,有时候我们测序的数据比较多的时候,那么可能会分成多个不同的lane分布测出来,这个时候SM名字就是可以用于区分这些样本。

(4) LB,测序文库的名字,这个重要性稍微低一些,主要也是为了协助区分不同的group而存在。文库名字一般可以在下机的fq文件名中找到,如果上面的lane ID足够用于区分的话,也可以不用设置LB;

除了以上这四个之外,还可以自定义添加其他的信息,不过如无特殊的需要,对于序列比对而言,这4个就足够了。这些信息设置好之后,在RG字符串中要用制表符(\t)将它们分开

sam转换bam(sam特殊二进制)

bwa mem -t 4 -R'@RG\tID:foo_lane\tPL:illumina\tLB:library\tSM:sample_name'/path/to/human.fasta read_1.fq.gz read_2.fq.gz | samtools view -S -b - > sample_name.bam


time$bwamem -t 40 -M -Y -R"@RG\tID:$RGID\tPL:ILLUMINA\tSM:$sample"$reference\$outdir/cleanfq/${fq_file_name}.paired.1.fq.gz$outdir/cleanfq/${fq_file_name}.paired.2.fq.gz |$samtoolsview -Sb - >$outdir/bwa/${sample}.bam && \echo"** BWA MEM done **"&& \

-M 将 shorter split hits 标记为次优,以兼容 Picard’s markDuplicates 软件。

-Y Use soft clipping CIGAR operation for supplementary alignments. By default, BWA-MEM uses soft clipping for the primary alignment and hard clipping for supplementary alignments.

链接:https://www.jianshu.com/p/d6cc153be28d


设置权限 chmod 777 ./*.sh

运行

read比对结束,成功得bam文件

以上,我们就完成了read比对的步骤。接下来是排序:

排序

-@,用于设定排序时的线程数;-m,每个线程排序时最大的内存消耗;-O 指定输出为bam格式;-o 是输出文件的名字.

在排序完成之后我们就可以开始执行去除重复(准确来说是 去除PCR重复序列)的步骤了。

done

把参数REMOVE_DUPLICATES设置为ture,那么重复序列就被删除掉,不会在结果文件中留存。我比较建议使用第一种做法,只是标记出来,并留存这些序列,以便在你需要的时候还可以对其做分析。

这一步完成之后,我们需要为sample_name.sorted.markdup.bam创建索引文件,它的作用能够让我们可以随机访问这个文件中的任意位置,而且后面的“局部重比对”步骤也要求这个BAM文件一定要有索引,命令如下:

$ samtools index sample_name.sorted.markdup.bam

merge

接下来是局部区域重比对,通常也叫Indel局部区域重比对。有时在进行这一步骤之前还有一个merge的操作,将同个样本的所有比对结果合并成唯一一个大的BAM文件【注】,merge的例子如下:

$ samtools merge <out.bam> <in1.bam> [<in2.bam> ... <inN.bam>]

【注意】之所以会有这种情况,是因为有些样本测得非常深,其测序结果需要经过多次测序(或者分布在多个不同的测序lane中)才全部获得,这个时候我们一般会先分别进行比对并去除重复序列后再使用samtools进行合并。

上一篇下一篇

猜你喜欢

热点阅读