macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

シンプルなパイルアップベースのバリアントコーラー minipileup

 

レポジトリより

Minipileupはシンプルなパイルアップベースのバリアントコーラーである。リファレンスFASTA1つまたは複数のアライメントBAMを入力とし、アレルカウントとともにマルチサンプルVCFを出力する。Minipileupは、2012年に実装されたhtsbox pileup*1コマンドを応用したもので、(開発者自身が)アライメントデータを調査するために頻繁に使っている。

 

 

インストール

Github

https://github.com/lh3/minipileup

git clone https://github.com/lh3/minipileup.git
cd minipileup/
make

> minipileup 

Usage: minipileup [options] in1.bam [in2.bam [...]]

Options:

  General:

    -f FILE      reference genome [null]

    -v           show variants only

    -c           output in the VCF format (force -v)

    -C           show count of each allele on both strands

    -e           use '*' to mark deleted bases

    -y           variant calling mode (-vcC -a2 -s5 -q30 -Q20)

    -V           print version number

  Filtering:

    -r STR       region in format of 'ctg:start-end' [null]

    -b FILE      BED or position list file to include [null]

    -q INT       minimum mapping quality [0]

    -Q INT       minimum base quality [0]

    -l INT       minimum alignment length [0]

    -S INT       minimum supplementary alignment length [0]

    -T INT       skip bases within INT-bp from either end of a read [0]

    -s INT       drop alleles with depth<INT [1]

    -a INT       drop alleles with depth<INT on either strand [0]

 

 

実行方法

リファレンスと1つ以上のbamファイルを指定する。.faiファイルも必要(.baiは不要)。

samtools faidx ref.fa
minipileup -yf ref.fa aln1.bam aln2.bam > var.vcf
  • -y        variant calling mode (-vcC -a2 -s5 -q30 -Q20)
  • -f         reference genome [null]

出力例

 

レポジトリより

  • マッピングクオリティ、塩基クオリティ、アライメント長、対立遺伝子数のしきい値を調整したり、コマンドラインで領域を指定したりすることができる。
  • Minipileupは再アラインメントや局所的な再アセンブルを行わないため、一般的な入力ではGATKのようなフルパッケージのバリアントコーラーに太刀打ちできない。しかしGATKが想定していない用途で対立遺伝子をカウントするのに便利かもしれない。原理的には、samtoolsのmpileup出力を解析してVCFを生成することもできるが、minipileupの方が高速で便利である。

 

引用

https://github.com/lh3/minipileup

 

*1

HTSboxは初期のHTSlibのHeng Li氏のフォークで、HTS関連ファイルを操作する小さな実験的ツールのコレクション。ちなみにhtslibというのは、HTSデータの読み書きに使用されるCライブラリを指す。例えばsamtoolsはhtslibをコアライブラリとしている(よってhtslibがどこにも存在しないとsamtroolsはビルド出来ない)。HTSlibはチューニングが進んでいて、初期バーションと比べると相当高速化されている(pubmed link)。このあたりのベンチを時間があればブログで行いたい。