進化的比較ゲノム解析および集団ゲノム解析は、2つ以上のゲノム間の相同なヌクレオチド位置を記録するゲノム配列のアラインメントに基づいている。遺伝子アラインメントは3種類の文字のedit(ミスマッチ、挿入および欠失)のみを用いて記載されているが、ゲノムアラインメントは逆位、相補および転座などのリアレンジメントを可能にし、少なくとも1つのinput配列の破壊をもたらす。そのような中断がない領域はシンテニーブロックと呼ばれ、ゲノムアラインメントは相同位置のそのようなブロックのセットとして定義することができる(論文図1)。
複数のアライメントファイルはゲノム比較データの保存と共有に使用される。それらは典型的にはMultiple Alignment Format(MAF、論文図1D参照)で書かれ、特にUCSCゲノムブラウザによって普及しているフォーマットである[ref.1]。 MAFファイルを生成するプログラムはThreaded Blockset Aligner(TBA)パッケージ[ref.2]またはLast [ref.3]のBlastZとMultiZを含む。マルチプルアラインメントはさらなる分析への入り口として役立ち、データをフィルタリングするためにはいくつかの処理ステップ、特に低クオリティ領域の除去が必要である。さらに、多くの下流解析ツールは単一のシンテニックブロックのみを入力として取り込むため、グローバルアラインメントをFastaやPhylipなどの外部フォーマットで複数のアラインメントファイルにエクスポートする必要がある。この変換は、しばしば、さらなる解析パイプラインで必要とされるかもしれないオリジナルのゲノム座標のような情報を失うという犠牲を払って行われる。この問題を解決するには、すべての分析結果を統合するデータベースを作成する必要がある[ref.4]。しかしながらこれは面倒なプロセスである。
ここでは、複数のアライメントファイルの処理と解析を容易にする新しいプログラムを紹介する。プログラムは、ユーザーが自分の分析パイプラインを定義し、入力MAFファイルを効率的に処理することを可能にする。各シンテニーブロックは別々に処理され、ユーザによって以前に定義された一連のフィルタを通過する(論文図2)。各フィルタは、アライメントのクリーニングや関連する統計の計算など、事前定義されたタスクを実行し、最終的に変更されたシンテニーブロックを次のフィルタに渡す。プログラムの出力は、通常1つまたは複数のMAFファイル、あるいはFastaやPhylipのような外部フォーマットの複数の配置ファイルである。さらに、このプログラムは、系統発生分析が含まれる場合は、スプレッドシートファイル、さらにはツリーファイルに統計結果を出力することができる。 MafFilterは、ゲノム座標やクオリティスコアなどの配列メタデータを内部的に扱い、それによって最終結果の分析と外部情報源との統合を容易にする。
MafFilter
https://jydu.github.io/maffilter/
manual
http://biopp.univ-montp2.fr/manual/pdf/maffilter/v1.0.0/maffilter.pdf
MafFilterは、UCSCなどで使われてるMAF(Multiple Alignment Format)フォーマットのアラインメントの分析ツール。 MAFファイルやfastaファイルを入力とし、さまざまなフィルタリングとフォーマット変換を行うことができる。MAFファイルに一連の「フィルタ」を適用することで、ゲノム座標や品質スコアなどの関連するメタデータをクリーニングし、データとコンピュータ統計を抽出する。また、アライメントを処理して、低品質だったり、あいまいだったり、マスクされた領域を削除できる。結果はFastaやClustalなどのフォーマットで、単一または複数のアラインメントファイルにエクスポートできる。
mafTools
インストール
download
http://hgdownload.cse.ucsc.edu/admin/exe/
#bioconda (link)
conda install ucsc-maffilter -c bioconda -y
> mafFilter -h
$ mafFilter
mafFilter - Filter out maf files. Output goes to standard out
usage:
mafFilter file(s).maf
options:
-tolerate - Just ignore bad input rather than aborting.
-minCol=N - Filter out blocks with fewer than N columns (default 1)
-minRow=N - Filter out blocks with fewer than N rows (default 2)
-maxRow=N - Filter out blocks with >= N rows (default 100)
-factor - Filter out scores below -minFactor * (ncol**2) * nrow
-minFactor=N - Factor to use with -minFactor (default 5)
-minScore=N - Minimum allowed score (alternative to -minFactor)
-reject=filename - Save rejected blocks in filename
-needComp=species - all alignments must have species as one of the component
-overlap - Reject overlapping blocks in reference (assumes ordered blocks)
-componentFilter=filename - Filter out blocks without a component listed in filename
-speciesFilter=filename - Filter out blocks without a species listed in filename
準備
ここではminimap2 = > paftoolsでmafを得た。
minimap2 --cs=long -cx asm5 ref.fa contigs.fa > alignment.paf
paftools.js view -f maf alignment.paf > alignment.maf
#LASTの場合
lastdb -cR01 db ref.fa
#(*1)
echo "##maf version=1" > alignment.maf
lastal db contigs.fa >> alignment.maf
MAFファイル
実行方法
入力のmafを指定する。例えば1000bp以上のアラインメントのみ出力する。
mafFilter -minCol=1000 alignment.maf > output.maf
参考
maf-convert(LAST紹介)でsam(v1.3)やhtml形式に変換できる。
#samに変換
maf-convert sam output.maf >output.sam
#HTMLに変換
maf-convert html output.maf >output.hmtl
引用
MafFilter: a highly flexible and extensible multiple genome alignment files processor
Julien Y Dutheil, Sylvain Gaillard, Eva H Stukenbrock
BMC Genomics 2014 15:53
関連
PAF => MAF変換
*1
##mafがないと怒られるので、つけてからランした。