【基因組預測】braker2基因結構注釋要點記錄



記錄下braker2的使用要點,以備忘記。

流程使用

braker2有很多流程,根據你的數據:組裝的基因組、轉錄組、蛋白(同源,包括近緣或遠緣)選擇不同流程,官網有說明:
https://github.com/Gaius-Augustus/BRAKER

現在的動植物組裝,大多數都含有以上三類數據吧,因此可選擇如下流程,用公共數據庫OrthoDB中的直系同源蛋白,根據自己的物種選擇,有動物植物微生物等,如我選擇植物就有300多萬條序列。
image.png
作者指出,braker2並非證據越多越好,該流程還是不夠穩定(尤其是對中小基因組)。

整個流程你可以分步,即分別預測轉錄組和蛋白數據,得到hints,再使用braker進行最終整合和預測。或者只對轉錄組或者蛋白數據進行預測。比如我先用ProtHint單獨對OrthoDB進行預測,這樣處理是很快的,三百多萬條序列3-4小時即可跑完。最后得到的是prothint_augustus.gff可用於后續輸入文件。

cat Rawdata/* >proteins.fasta
/ProtHint-2.6.0/bin/prothint.py genome.fa proteins.fasta --workdir test --threads 40

可參考:
https://github.com/gatech-genemark/ProtHint/tree/master/example
braker流程為:

braker.pl --cores 48 --species=test_orthodb-2 \
         --genome=genome.softmasked.fa \
         --softmasking
         --bam=A.bam,B.bam \
         --hints=prothint_augustus.gff \
         --etpmode \
         --gff3

作者建議用--softmasking 基因組

也可以將所有數據放到腳本中,一步到位。速度也還可以,調用了spaln和diamond等(運行時如果沒找到相關軟件路徑,需要你export PATH臨時指定一下),如:

export GENEMARK_PATH=/path/gmes_linux_64
export PATH=/path/gmes_linux_64/ProtHint/bin:/path/GUSHR:$PATH

braker.pl --cores 48 --species=test_orthodb-2 \
         --genome=genome.softmasked.fa \
         --softmasking
         --bam=A.bam,B.bam \
         --prot_seq=proteins.fa \
         --gff3

建議還是看官網吧,我描述的比較片面

另一個可能更實用的流程是:
image.png
可用genomeThreader預測近緣物種同源蛋白。速度會比較慢,不建議用exonerate,巨慢無比。

braker.pl --cores 48 --species=homodb \
         --genome=genome.softmasked.fa \
         --softmasking
         --bam=A.bam,B.bam \
         --prot_seq=proteins.fa \
         --prg=gth \
         --gff3

另外如果你想要預測UTR,braker得到的gtf/gff文件默認是沒有這類信息的。則需要調用GUSHR,參數中添加--addUTR=on。最終得到的gushr.gtf即是包含了UTR的結果文件。

問題

braker還不是很成熟,運行過程中可能遇到各種問題。
這是官網的一些建議:

  • 使用高質量基因組。組裝很碎的基因組不僅耗時,還影響准確性
  • 染色體或scaffold名稱不宜過長且不含%&!*(){})等特殊字符。
  • 使用軟屏蔽基因組好於硬屏蔽基因組。
  • 檢查物種是否具有進化分支特征。
  • 檢查基因預測結果,如UCSC瀏覽器。

我個人的一些記錄:

  • 預測結果文件braker.gtf中,轉錄本和基因ID,前面可能會自動加上file_1_file_1_,如g4417.t1變為file_1_file_1_g4417.t1,導致生成的gff(或者你用其他軟件,如augustus轉換腳本gtf2gff.pl,實際上你在參數中指定--gff3,流程調用的也是agustus/gtf2gff.pl)轉化得到的gff3文件中沒有基因特征。所以,如果你用的結果是braker.gtf,含有這個問題,必須人為去掉。augustus.hints.*則是正常,目前沒發現這個問題。

https://www.biostars.org/p/9464353/

  • 第二個比較關心的問題是,braker流程出來一堆結果,我到底該用哪個?雖然官網有一些解釋,但總有些不能理解。
    幾個比較關鍵的結果: augustus.hints.* 是AUGUSTUS最終蛋白hints結果。
    而braker.gtf/gff3是 AUGUSTUS和GeneMark-EP+預測(braker流程中的蛋白預測)的並集,因此該結果是高敏感性低特異性(更多基因被預測以及更多假陽性)。
    總體來說,二者結果是相近的,如果側重於敏感性,則用braker.gtf結果。否則用augustus。(個人建議還是用augustus的結果,相當於二次預測)

https://github.com/Gaius-Augustus/BRAKER/issues/194

https://github.com/Gaius-Augustus/Augustus/issues/31

總之,braker2流程雖然使用簡單(相對於evm,maker等),但它的結果還是差異很大的,預測的基因數目普遍較多。文章引用率還不是太高,使用需要謹慎。

僅嘗試使用體驗,后續待補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM