はじめに
Pan-genomeは、2023年ごろに論文が出た比較的新しいゲノムの地図です。
これまでのリファレンス配列は hg19/GRCh37、hg38/GRCh38、hs1/chm13/T2T など、一本のアセンブリに基づくものでした。Pan-genomeでは、アフリカ人、アメリカ先住民、アジア人などを含む47人の多様な人々の全DNAを1つの巨大な遺伝子地図帳にまとめて、今よりも網羅的で汎用性の高いリファレンスを作ろうとする試みです。
- ヒトの多様性を説明、新たなゲノム地図「パンゲノム」が発表 - MIT Tech Review
- Pan-genome - Wikipedia
- A draft human pangenome reference - Nature (英語の論文)
しかし、リファレンスゲノムはファイルサイズが大きいです。例えばGRCh38はgzip圧縮した状態で約850Mbあります。しかしヒトゲノムはほとんど同じなので、複数のFASTAファイルを集めて一つのファイルに圧縮した方がようでしょう。これがAGC形式です。
FASTAをAGC形式に圧縮したり展開するツールが Assembled Genomes Compressor (AGC) です。
Assembled Genomes Compressor (AGC)
AGCのリポジトリはこちらです。
論文もあるようです。
インストール
conda install -c bioconda agc
筆者は、M1/M2 Macでこれを動かしてみようと試みましたがうまくいきませんでした。Dockerを使って、--platform linux/amd64
を指定してもうまく動作しませんでした。M1/M2 Macで動かす方法がわかる方がいたら教えてください。(2023-06-08時点)
Linuxでも、ソースからコンパイルするときにPythonのヘッダーファイルが必要になり、libpython3-dev
と python-dev
をインストールする必要がありました。
使ってみる
Pan-genomeのダウンロード
Pan-genomeのデータは HPP_Year1_Assemblies - GitHub にまとまっています。例えば、Pan-genomeのデータを一人ひとりのアセンブリとして手に入れたい場合は、S3アドレスから入手できます。(ダウンロード料金は無料だそうです)
今回はagcを使う記事なので、Zenodoからagc形式のファイルをダウンロードします。
上のリンク先の、HPRC-yr1.agc
をダウンロードします。ファイルは1.4Gbであり、47人のアセンブリを集約したものであることを考えると、かなり効率的に圧縮されているという感じがします。
ゲノム名のリストを表示する
$ agc listset HPRC-yr1.agc
CHM13Y
HG002.1
HG002.2
HG00438.1
HG00438.2
HG005.1
HG005.2
HG00621.1
HG00621.2
--- 中略 ---
NA20129.2
NA21309.1
NA21309.2
特定のアセンブリを展開する
$ agc getset HPRC-yr1.agc CHM13Y > chm13.fa
grep ">" chm13.fa
>chr1
>chr2
--- 中略 ---
>chrX
>chrY
>chrM
Contigのリストを表示する
agc listctg HPRC-yr1.agc CHM13Y
Contigを抽出する
$ agc getctg chrM > chrM.fa
または
$ agc getctg HPRC-yr1.agc chrM@CHM13Y
複数のcontigを指定することもできる。
$ agc getctg HPRC-yr1.agc chrX@CHM13Y chrY@CHM13Y
すべてのゲノムを抽出する
-o
でディレクトリを指定します。(ディレクトリを指定しない場合は、すべてが標準出力に表示されます)
$ mkdir pan-genome # pan-genome ディレクトリを作成
$ agc getcol -o pan-genome HPRC-yr1.agc
ちなみに、上記のコマンドはpan-genomeディレクトリ内に100個近い3GBのファイルを作り出します。ご注意ください。
圧縮する
圧縮はそれほど使う機会は多くないかもしれませんが、
agc create a1.fa a2.fa a3.fa > all.agc
などとすればいいようです。しかも、あらたにゲノムを追加することもできるようです。
agc append all.agc a4.fa > all.agc
ファイルの情報を表示する
$ agc info HPRC-yr1.agc
No. samples : 95
k-mer length : 31
Min. match length: 20
Batch size : 50
Command lines:
: agc create -t32 -o HPRC-yr1.agc CHM13Y.fa HG002.1.gz HG002.2.gz HG00438.1.gz HG00438.2.gz HG005.1.gz HG005.2.gz HG00621.1.gz HG00621.2.gz HG00673.1.gz HG00673.2.gz HG00733.1.gz HG00733.2.gz HG00735.1.gz HG00735.2.gz HG00741.1.gz HG00741.2.gz HG01071.1.gz HG01071.2.gz HG01106.1.gz HG01106.2.gz HG01109.1.gz HG01109.2.gz HG01123.1.gz HG01123.2.gz HG01175.1.gz HG01175.2.gz HG01243.1.gz HG01243.2.gz HG01258.1.gz HG01258.2.gz HG01358.1.gz HG01358.2.gz HG01361.1.gz HG01361.2.gz HG01891.1.gz HG01891.2.gz HG01928.1.gz HG01928.2.gz HG01952.1.gz HG01952.2.gz HG01978.1.gz HG01978.2.gz HG02055.1.gz HG02055.2.gz HG02080.1.gz HG02080.2.gz HG02109.1.gz HG02109.2.gz HG02145.1.gz HG02145.2.gz HG02148.1.gz HG02148.2.gz HG02257.1.gz HG02257.2.gz HG02486.1.gz HG02486.2.gz HG02559.1.gz HG02559.2.gz HG02572.1.gz HG02572.2.gz HG02622.1.gz HG02622.2.gz HG02630.1.gz HG02630.2.gz HG02717.1.gz HG02717.2.gz HG02723.1.gz HG02723.2.gz HG02818.1.gz HG02818.2.gz HG02886.1.gz HG02886.2.gz HG03098.1.gz HG03098.2.gz HG03453.1.gz HG03453.2.gz HG03486.1.gz HG03486.2.gz HG03492.1.gz HG03492.2.gz HG03516.1.gz HG03516.2.gz HG03540.1.gz HG03540.2.gz HG03579.1.gz HG03579.2.gz NA18906.1.gz NA18906.2.gz NA19240.1.gz NA19240.2.gz NA20129.1.gz NA20129.2.gz NA21309.1.gz NA21309.2.gz
以上、agc のコマンドを実行して、Pan-genomeのデータを個別のアセンブリに解凍する方法を見ました。
この記事は以上です。