目的
從GTF/GFF全基因組註解(genome annotation)資料,根據給定基因列表,篩選出這些基因的所有註解條目。
準備資料
- 小鼠 全基因組註解檔案「
Mus_musculus.GRCm38.88.gtf」- 本次範例使用Ensembl release 88版本
- 下載網址:https://ftp.ensembl.org/pub/release-88/gtf/mus_musculus/
- 基因ID列表
- 本範例目的為:篩選出所有 HoxD 基因的註解條目
- 每一行只輸入一個基因ID
- 由上到下對應的分別是 HoxD1、HoxD3、HoxD4、HoxD8、HoxD9、HoxD10、HoxD11、HoxD12、HoxD13
ENSMUSG00000042448
ENSMUSG00000079277
ENSMUSG00000101174
ENSMUSG00000027102
ENSMUSG00000043342
ENSMUSG00000050368
ENSMUSG00000042499
ENSMUSG00000001823
ENSMUSG00000001819
解決方案
利用 AGAT 工具。AGAT 提供多種檢視、處理、編輯GTF/GFF檔案的工具。雖然GTF/GFF有統一格式(皆包含9列資料),但是不同基因組註解工具所得到的結果卻有可能不盡相同,在後續基因組學分析中,某些生物資訊學工具可能無法辨識某些註解資料(尤其第9列中的不同attributes),或由於註解檔案缺少某些項目(例如沒有標註為gene的條目或者缺少biotype標記)而無法進行後續分析。為解決此問題(或相關的基因組學問題),AGAT工具可以協助編輯全基因組註解檔案。
本次利用AGAT工具包中的「agat_sp_filter_feature_from_keep_list.pl」,可篩選出只與列表中基因相關的條目。工具包中亦有相反功能的「agat_sp_filter_feature_from_kill_list.pl」,可篩選出給定基因列表以外的所有條目。使用方法如下:
agat_sp_filter_feature_from_keep_list.pl \
--gff infile.gff \
--keep_list file.txt \
[--output outfile]
[步驟1]利用Docker安裝AGAT工具
- 啟動Docker(macOS版本)
- 以command line下載AGAT(目前最新版本為0.8.0):
docker pull quay.io/biocontainers/agat:0.8.0--pl5262hdfd78af_0
- 下載完成可在Docker畫面中看到工具包:

[步驟2]設定所需memory
- 編輯GTF/GFF文件對memory需求比較大,Docker預設只有2GB,一般在讀取基因組註解檔案中途便會用光,然後Docker會強制中斷運行。
- 本次實驗把memory設定為30GB時,讀取小鼠基因組註解GTF檔案到達95%時還是把memory用完了。最後調至40GB左右才完成讀取及編輯。
- 對於基因組註解比較完善的物種(小鼠、人),對memory的需求比較大。若電腦沒有足夠memory,可考慮把GTF檔案切成2-3部分,再分別對每一部分進行編輯。

[步驟3]運行Docker版本AGAT工具
- 建立涉及之資料夾
- 利用command line執行編輯GTF指令,AGAT會偵測輸入檔案是GTF (GFF version 2) 還是GFF3格式再進行讀取,輸出檔案預設是GFF3格式:
docker run --rm -it \
-v PATH_WHERE_YOUR_DATA_IS_STORED:PATH_WHERE_YOUR_DATA_IS_STORED \
quay.io/biocontainers/agat:0.8.0--pl5262hdfd78af_0 \
bash -c 'cd PATH_WHERE_YOUR_DATA_IS_STORED \
&& /usr/local/bin/agat_sp_filter_feature_from_keep_list.pl \
--gff ANNOTATION.GTF \
--keep_list GENE_LIST.txt \
--output ANNOTATION.filtered.gff3'
- 本次實驗的輸出檔案共177行(
wc -l),包括首行標示該檔案為GFF3格式,以及9個Hox基因的註解。 - 對於註解較為完善的物種(例如小鼠),運行時間可能超過半小時。由於Docker啟動時會預留已設定的memory(例如上圖30GB),等待編輯結果時請儘量避免同時運行其他bioinformatics工具。

參考資料
- Dainat, J. & Hereñú, D. AGAT: Another Gff Analysis Toolkit to handle annotations in any GTF/GFF format (version v0.8.0). Zenodo (2021). doi:10.5281/zenodo.3552717

Leave a Reply