Snp-calling流程(BWA+SAMTOOLS+BCFTOOLS)

比对可以选择BWA或者bowtie,测序数据可以是单端也可以是双端,我这里简单讲一个,但是脚本都列出来了。而且我选择的是bowtie比对,然后单端数据。

首先进入hg19的目录,对它进行两个索引

  1. samtools faidx hg19.fa
  2. Bowtie2-build hg19.fa hg19

我这里随便从26G的测序数据里面选取了前1000行做了一个tmp.fa文件,进入tmp.fa这个文件的目录进行操作

Bowtie的使用方法详解见https://www.plob.org/article/932.html

  1. bowtie2 -x ../../../ref-database/hg19 -U tmp1.fa -S tmp1.sam
  2. samtools view -bS tmp1.sam > tmp1.bam
  3. samtools sort tmp1.bam tmp1.sorted
  4. samtools index tmp1.sorted.bam
  5. samtools mpileup -d 1000 -gSDf ../../../ref-database/hg19.fa tmp1.sorted.bam |bcftools view -cvNg >tmp1.vcf

然后就能看到我们产生的vcf变异格式文件啦!

当然,我们可能还需要对VCF文件进行再注释!

要看懂以上流程及命令,需要掌握BWA,bowtie,samtools,bcftools,

数据格式fasta,fastq,sam,vcf,pileup

如果是bwa把参考基因组索引化,然后aln得到后缀树,然后sampe对双端数据进行比对

首先bwa index 然后选择算法,进行索引。

然后aln脚本批量处理

==> bwa_aln.sh <==

  1. while read id
  2. do
  3. echo $id
  4. bwa aln hg19.fa $id >$id.sai
  5. done <$1

然后sampe脚本批量处理

==> bwa_sampe.sh <==

  1. while read id
  2. do
  3. echo $id
  4. bwa sampe hg19.fa $id*sai $id*single >$id.sam
  5. done <$1

然后是samtools的脚本

==> samtools.sh <==

  1. while read id
  2. do
  3. echo $id
  4. samtools view -bS $id.sam > $id.bam
  5. samtools sort $id.bam $id.sorted
  6. samtools index $id.sorted.bam
  7. done <$1

然后是bcftools的脚本

==> bcftools.sh <==

  1. while read id
  2. do
  3. echo $id
  4. samtools mpileup -d 1000 -gSDf ref.fa $id*sorted.bam |bcftools view -cvNg >$id.vcf
  5. done <$1

==> mpileup.sh <==

  1. while read id
  2. do
  3. echo $id
  4. samtools mpileup -d 100000 -f hg19.fa $id*sorted.bam >$id.mpileup
  5. done <$1

原文来自:http://www.bio-info-trainee.com/439.html

发表评论

匿名网友

拖动滑块以完成验证
加载失败