macでインフォマティクス

macでインフォマティクス

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

bamファイルの分離とマージ

複数回シーケンスしたデータを統合するため、bamファイルをmergeすることがある。

 

gatkのチームもこの話題を取り上げており、以下のURLで見ることができる。

https://software.broadinstitute.org/gatk/documentation/article.php?id=3060

 

mergeするにはsamtoolsのmergeコマンドを使う。

samtools merge merged.bam 1.bam 2.bam

merged.bamが出力される。リードグループに注意する。

 

 

bamから特定のクロモソーム情報を取り出すなら、

samtools view -b recal_reads.bam I chr19 > chr19.bam

このように行う。

fasta名がchr19になる。個人的にはスペース混じりの複雑な名前でも抽出してくれるのがありがたい。

 

計算リソースが潤沢な環境なら、分割してパラレルにランして解析速度を速めるような用途にも使えると思われる。

 

追記

elprep

sam/bam関係のツールまとめ - macでインフォマティクス

split   インプット (sam/bam/cram)をクロモソームごとに分割する。unmapリードは別出力する。

elprep split input.sam output/ --output-prefix "split-sam" --output-type sam --nr-of-threads 8 --single-end 

 ソートやindexファイルがなくても動作する。シングルエンドのinputは--single-endをつける。デフォルトでは入力をペアエンドとして扱う。 

merge  splitで分割した複数のインプット (sam/bam/cram)をマージする。

elprep merge input/ output.sam --nr-of-threads 8 

シングルエンドのinputは--single-endをつける。デフォルトでは入力をペアエンドとして扱う。bamとcram出力にも対応している。