2020 8/22 論文追記
大規模な第二世代および第三世代のシーケンシングデータセットの品質管理(QC)を調和させることは、下流の計算や生物学的解析を可能にするための鍵となる。ここで著者らはAlfredを紹介する。Alfredは効率的で汎用性の高いコマンドラインアプリケーションであり、さまざまなシーケンシングアッセイや技術に対応して、リードグループを意識した方法でマルチサンプルの品質管理指標を計算する。GCバイアス、塩基組成、インサートサイズ、シーケンシングカバレッジ分布などの標準的なQCメトリクスに加えて、ハプロタイプを意識したアレル特異的なフィーチャーカウントとフィーチャーアノテーションをサポートしている。Alfredの汎用性は、DNAシーケンス施設や大規模な研究イニシアティブを含むハイスループット環境でのパイプライン統合を容易にし、サンプル間のシーケンスデータの品質と特性を継続的にモニタリングすることを可能にする。AlfredはBAM/CRAMファイルのハプロタギングをサポートしており、様々な次世代シーケンシングベースのアッセイと組み合わせてhaplotype-resolved analysisを行うことができる。Alfredのコンパニオンウェブアプリケーションは、結果のインタラクティブな探索と公開データセットとの比較を可能にする。Alfredはオープンソースで、https://tobiasrausch.com/alfred/ で自由に利用できる。
インストール
cent os6でテストした。
依存
- R
- ggplot2
本体 Github
#bioconda
conda install alfred -c bioconda -y
#リリースからバイナリv0.1.7を取ってくる
wget https://github.com/tobiasrausch/alfred/releases/download/v0.1.7/alfred_v0.1.7_linux_x86_64bit
#ここではリネームする
mv alfred_v0.1.7_linux_x86_64bit alfred
> ./alfred
$ ./alfred
**********************************************************************
Program: Alfred
This is free software, and you are welcome to redistribute it under
certain conditions (GPL); for license details use '-l'.
This program comes with ABSOLUTELY NO WARRANTY; for details use '-w'.
Alfred (Version: 0.1.7)
Contact: Tobias Rausch (rausch@embl.de)
**********************************************************************
Usage: alfred <command> <arguments>
Commands:
qc alignment quality control
count_rna counting RNA reads in features
count_dna counting DNA reads in windows
tracks create browser tracks
annotate annotate peaks
split split BAM into haplotypes
ase allele-specific expression
ラン
実行には、リファレンスのFASTAと.bamを必要とする。
alfred qc -r ref.fa -o qc.tsv.gz input.bam
結果を可視化する。
#本体をcloneして取ってくる
git clone https://github.com/tobiasrausch/alfred.git
#可視化
Rscript alfred/R/stats.R qc.tsv.gz
ggplot2を呼び出すことでグラフを描画している。データはPDF出力される。
webでも可視化することができる。下記リンク先でqc.tsv.gzを指定する。
PDFの最後のページにまとめられるstatisticsは、datamashコマンド(参考)を使って出力することもできる(datamashがなければyumやapt-getで導入する)。
zgrep ^ME qc.tsv.gz | cut -f 2- | datamash transpose | column -t
Sample sample_1
Library sample_1
#QCFail 0
QCFailFraction 0
#DuplicateMarked 541
DuplicateFraction 0.00106341
#Unmapped 509
UnmappedFraction 0.00100051
#Mapped 507692
MappedFraction 0.997936
#MappedRead1 253891
#MappedRead2 253801
RatioMapped2vsMapped1 0.999646
#MappedForward 253864
MappedForwardFraction 0.500035
#MappedReverse 253828
MappedReverseFraction 0.499965
#SecondaryAlignments 1114
SecondaryAlignmentFraction 0.00219424
#SupplementaryAlignments 0
SupplementaryAlignmentFraction 0
#SplicedAlignments 0
SplicedAlignmentFraction 0
#Pairs 254928
#MappedPairs 254599
MappedPairsFraction 0.998709
#MappedSameChr 254233
MappedSameChrFraction 0.997274
#MappedProperPair 252253
MappedProperFraction 0.989507
#ReferenceBp 3954589
#ReferenceNs 0
#AlignedBases 128580431
#MatchedBases 128514912
MatchRate 0.99949
#MismatchedBases 65519
MismatchRate 0.000509557
#DeletionsCigarD 2330
DeletionRate 1.8121e-05
HomopolymerContextDel 0.40515
#InsertionsCigarI 204
InsertionRate 1.58656e-06
HomopolymerContextIns 0.632353
#SoftClippedBases 2647
SoftClipRate 2.05863e-05
#HardClippedBases 0
HardClipRate 0
ErrorRate 0.00054985
MedianReadLength 261
DefaultLibraryLayout 2
MedianInsertSize 406
MedianCoverage 32
SDCoverage 18.0902
CoveredBp 3948704
FractionCovered 0.998512
BpCov1ToCovNRatio 2.2539e-05
BpCov1ToCov2Ratio 0.483696
MedianMAPQ 60
[8]+ Exit 127 zw
——
Exomeなどの ターゲットシーケンスなら、キャプチャ領域のbedファイルを指定する。
alfred qc -r ref.fa -b targets.bed -o qc.tsv.gz input.bam
#可視化
Rscript alfred/R/stats.R qc.tsv.gz
ggplot2を呼び出すことでグラフを描画している。データはPDF出力される。
その他、RNA seqのbamのリードカウント等の機能も持つ。詳細はGithubで確認してください。出力PDF例も用意されています。
引用
https://github.com/tobiasrausch/alfred
Alfred: interactive multi-sample BAM alignment statistics, feature counting and feature annotation for long- and short-read sequencing
Tobias Rausch, Markus Hsi-Yang Fritz, Jan O Korbel, Vladimir Benes
Bioinformatics, Volume 35, Issue 14, July 2019, Pages 2489–2491