コンセンサス配列の作成

生物の DNA 配列は多様である。同じ生物種の 2 個体の DNA を比較しても、一塩基が異なっていたり、数塩基の欠損・挿入が存在したりする。両者を比べて、個体差を調べるには、どちらか 1 個体の DNA 配列をリファレンスとして、もう一方の個体の DNA 配列を比べていけばいい。リファレンス配列と異なる塩基が見つかったとき、その位置、およびどの塩基がどの塩基に置換されたのかを記録していけばよい。現在では、このような塩基の置換情報などは、一般的に VCF とよばれるフォーマットで保存されている。

リファレンス配列と VCF ファイルがあれば、リファレンス配列中の塩基を VCF の情報と照らしながら、リファレンス配列を置換・編集していけば、比較される側の個体・系統・種の配列を得ることができる。ゲノムのアセンブリなどでこの方法がよく使われる。例えば、ある種のゲノム配列を解読するために、DNA-Seq を行う。次にこの DNA-Seq のリードを、ゲノム配列が解読されている近縁種のゲノム配列と比べて、塩基・挿入・欠損などを変異を検出する。そして、これらの変異情報に基づいて、近縁種のゲノム配列を改変していけば、ほしい種のゲノム配列が得られる。

リファレンス配列と VCF ファイルを読み込んで、比較される側のコンセンサス配列を作成するプログラムには bcftools、vcftools、GATK などがある。

bcftools

bcftools view ref.vcf -Oz -o ref.vcf.gz
bcftools index ref.vcf.gz

cat ref.fasta |  bcftools consensus ref.vcf.gz > consensus.fa

vcftools

bgzip ref.vcf
tabix -p vcf ref.vcf.gz

cat ref.fa | vcf-consensus ref.vcf.gz > out.fa

GATK FastaAlternateReferenceMaker

 java -jar GenomeAnalysisTK.jar \
   -T FastaAlternateReferenceMaker \
   -R ref.fasta \
   -o consensus.fasta \
   -V ref.vcf