生命系学生のゲノム解析覚え書き

大抵インフォ、時々バイオ、稀にアグリな日記

samtoolsの使い方色々

samtoolsの使い方をまとめます

 

#インストール

基本的にはcondaを使ってインストールするのが良いです。

condaはOSを考えなくていいし、何よりウェブサイトに飛ばなくてもいいうえにコンパイルしなくて良い。

コンパイル時に必要なツールがイモ蔓式に出てきて大変。。。ということもない。

condaをインストールしていない人は是非この機会にanacondaを使ってみてください。

Anaconda | The World's Most Popular Data Science Platform

こっからインストールページに飛べます。

conda install -c bioconda samtools

でインストール完了。

linuxとかWSLとかだとたまにsamtoolsが使えませんと出てくるので、その時は

conda create -n samtools_env -c bioconda

で仮想環境を作ってから

conda activate samtools_env

で仮想環境に入りましょう。

#使い方

samtoolsは基本的にsam, bam, fastaファイルに対応しています。

例えばゲノムのfastaファイルから一部分を切り取りたいときは

samtools faidx "chr?:?-?" genome.fasta > gene.fasta

というようにすれば切り取れます。

 

SAMからBAMへの変換は

samtools view -bS xx.sam > xx.bam

とすれば完了です。

 

BAMのソートは

samtools sort xx.bam > xx_sorted.bam

とすればバッチリです。

 

IGVでマッピング結果を見たいときには

samtools index xx_sorted.bam

としてindexファイルを作ってからIGVを起動するとよいです。

 

samtoolsはマッピングの状態(ちゃんとマップされてるか、逆位になってないかなど)に従って一部のマッピングのみを切り取ってくれます。

Explain SAM Flags (broadinstitute.github.io)

に従って、samtools -fの後にflagを立てましょう。

例えばread paired かつread reverse strandの場合は1 + 16で17のflagを立てればその条件で抽出してくれます。

samtools view -f 17 xxx.sam -o output.sam

上のリンクに飛んで目的の条件にチェックを入れてflagを表示するのが一番確実でしょう。