MAKER配置文件詳解
本文翻譯自http://weatherby.genetics.utah.edu/MAKER/wiki/index.php/The_MAKER_control_files_explained
MAKER會生成三個配置文件,如下
- maker_opts.ctl: 控制MAKER分析行爲的主要配置文件
- maker_bopts.ctl: BLAST和Exnerate的過濾閾值
- maker_exe.ctl: MAKER運行過程中所依賴軟件的路徑
這裏主要介紹maker_opts.ctl
, 其餘配置文件直接看配置文件裏面的註釋信息即可。
基因組
用於設置被註釋的基因組序列的位置和物種類型,包括genome
和organisam_type
兩項
- genome: FASTA序列路徑
- organism_type: eukaryotic,prokaryotic二選一
需要注意的是,基因組序列的N50需要超過預期基因長度的中位數,否則註釋效果不好。另外最好保證基因組序列只包括A,T,C,G,N, 對於其他類型兼併鹼基可以都改成N.
使用MAKER得到GFF3進行重註釋
這一項基本上我們用不上,它是在當你把MAKER的中間輸出文件都刪除了,僅保留了輸出的GFF3文件時,你可以用之前相同的輸入設置重新運行流程得到相同的輸出。
#-----Re-annotation Using MAKER Derived GFF3
maker_gff= #MAKER derived GFF3 file
est_pass=0 #use ESTs in maker_gff: 1 = yes, 0 = no
altest_pass=0 #use alternate organism ESTs in maker_gff: 1 = yes, 0 = no
protein_pass=0 #use protein alignments in maker_gff: 1 = yes, 0 = no
rm_pass=0 #use repeats in maker_gff: 1 = yes, 0 = no
model_pass=0 #use gene models in maker_gff: 1 = yes, 0 = no
pred_pass=0 #use ab-initio predictions in maker_gff: 1 = yes, 0 = no
other_pass=0 #passthrough anyything else in maker_gff: 1 = yes, 0 = no
EST/轉錄本證據
出於歷史原因, MAKER還是用EST代表了之前的EST數據和目前的轉錄組數據。 此處不只是使用EST數據,而是可以使用組裝的mRNA-seq, 組裝的全長cDNA。 我們預期他們能夠正確的組裝,並聯配到正確的剪切位點(對於FASTA格式,MAKER使用exonerate
找到剪切位點)。用途如下:
- 直接推斷基因模型(est2genome)
- 作爲預測結果的支持證據
- 修改結果和增加UTR
- 鑑定可變轉錄本
- 在某些情況下,這些數據和其他證據能幫助MAKER推斷基因邊界
- 在預測步驟中輔助基因預測工具推斷剪切位點
設置項如下:
-
est
: EST, 全長cDNA, 組裝的mRNA序列,可以通過逗號分隔多個文件。 -
altest
: 如果真的沒有當前物種的轉錄組數據,也可以使用同源物種的序列。這些序列會通過tblstx進行比對,會消耗大量的運算時間。 -
est_gff
: 預比對的轉錄本,以GFF3格式存放,通常來自於CuffLinks/StringTie的組裝結果,或者是上一步的MAKER註釋 -
altest_gff
: 和altest一樣,只不過是比對後以GFF3存放,基本上也用不到
同源蛋白證據
和之前的轉錄組數據類似,用途如下
- 直接推斷基因模型(protein2genome), 僅在它們能夠正確的聯配到剪切位點附件。
- 作爲預測結果的支持證據(MAKER會檢查CDS,保證基因預測結果和蛋白聯配是相同的閱讀框)
- 某些情況下,用於推斷基因邊界
- 在預測步驟中,使用從蛋白推斷的ORF輔助從頭預測軟件
建議使用 uniprot/swiss-prot 或 RefSeq上的NP數據,因爲經過人工審查,可信度較高。不建議是用UniProt/tremble或者Genbank上的數據,這些數據的可信度較低。你可以挑選幾個同源物種的高可信度蛋白。或者使用MAKER註釋的其他物種AED小於0.5的轉錄本產物。
由於許多註釋裏包含一些死亡轉座子(dead transposons)或僞基因(pseudogenes),因此不建議使用臨近物種的所有註釋蛋白。我們想象一個比較糟糕的情況,如果你有鄰近物種的死亡轉座子,當你構建你的重複序列屏蔽文庫時,你發現其中一個條目和該序列匹配。 於是你假設這是一個真實的基因,於是你從屏蔽文庫中刪除了該條目。吸納子啊,當你註釋基因組的時候,該基因變成了註釋集中的一整個基因組家族,但這其實是糟糕的證據和重複序列屏蔽所導致的後果。
需要設置的就兩項:
-
protein
: 以FASTA存放的蛋白序列位置 -
protein_gff
: 以GFF3格式記錄的蛋白序列預先比對結果,通常來自於之前MAKER輸出
重複序列重複屏蔽
我們可以通過屏蔽重複序列來避免EST和蛋白比對到重複區域,防止基因預測算法在這些區域預測外顯子。由於許多重複序列會編碼真實的蛋白(例如反轉座子等),基因預測工具和比對工具會被他們所迷惑(會在一個基因中錯誤的加上外顯子)
-
model_org
: 默認是all, 可以設置成RepeatMasker中RepBase數據庫的其中一個 -
rmlib
: 自己構建的重複序列文庫 -
repeat_protein
: 轉座因子的蛋白序列 -
rm_gff
: 以GFF3格式記錄的重複序列位置信息 -
prok_rm
: 不需要修改,因爲原核生物不需要考慮重複序列 -
softmask
: 不需要修改
從頭基因預測
如果你需要從MAKER以外獲取基因模型,則需要在這一節添加相應的配置。根據可信度高低,MAKER會對這些基因模型採取不同的行爲。
通過軟件預測的基因結構可信度低,它們不會影響證據簇(evidence cluster). MAKER會保留預測結果,或者根據EST證據調整外顯子,如果有證據支持,那麼他們會保留在最終的註釋集中。如果有多個註釋結果,MAKER會對其進行比較,從中挑選出最優結果。
model_gff
提供的基因模型的可信度最高,會影響證據簇。在一些基因邊界判定中,MAKER在證據簇的影響下,更傾向於保留之前的基因模型而非替換。它們也會保留名字。MAKER不會修改模型,要麼刪除要麼保留。最後,即便沒有證據支持,MAKER還是會保留他們,而不會刪除他們,只不過最終的AED會設置爲1.snaphmm: SNAP的HMM文件路徑,允許多個輸入,以逗號分隔
gmhmm: GeneMark的HMM文件文件路徑,允許多個輸入,以逗號分隔
augustus_species: Augustus的基因模型命名, 不容易訓練,但是效果很好
fgenesh_par_file: FGENESH的HMM參數文件,收費工具,基本上用不到
pred_gff: 其他預測工具的輸出結果,以GFF3格式保存
model_gff: 最高可信度的GFF輸入
run_evm=0: 是否讓MAKER運行EVM,速度會變慢
est2genome: 讓MAKER根據EST推測基因模型
protein2genome: 讓MAKER根據蛋白序列推測基因模型
trna: 使用tRNAscan分析tRNA #find tRNAs with tRNAscan, 1 = yes, 0 = no
snoscan_rrna: Snoscan分析snoRNA所需的rRNA文件= #rRNA file to have Snoscan find snoRNAs
snoscan_meth:Snoscan分析snoRNA所需的O-methylation site 文件
unmask: 是否在屏蔽序列中進行基因預測,默認是0
allow_overlap: 允許的基因重疊比例,從0到1,空白表示使用默認值
其他類型的註釋
這一項功能很簡單,就是提供一個GFF文件,在MAKER運行結束後增加里面的信息
-
other_gff
: 其他類型註釋的GFF文件路徑
外部程序選項
這裏的兩個參數用於影響外部程序,即BLAST的行爲
-
alt_peptide
: 對於非標準氨基酸的替換方法,默認是C(cysteine) -
cpus
: BLAST的線程數,如果使用MPI,該值可以設置的小一些,默認是1.
MAKER行爲選項
這裏的選項用於調整MAKER的行爲,使其符合你的基因組特性
-
mad_dna_len
至少要3倍於預期的最大內含子長度。在內存足夠的情況下,對於脊椎動物可以考慮設置爲300000
,植物一般沒有那麼大的內含子 -
min_contig
: 低於該值的contig會被過濾掉,建議設置爲10k. -
pred_flank
: 在基因預測時,將證據簇在兩端進行擴展,默認是200 bp. 對於比較緊湊的基因組,降低該值能夠避免基因錯誤合併。對於比較稀疏的基因組,提高該值可以避免外顯子缺失。 -
pred_stats
: 默認是0,只計算MAKER預測基因的AED和QI值,設置爲1則計算所有從頭預測的基因結構。 -
AED_threashold
: 根據AED(0-1)值來過濾輸出的基因,默認是1,表示保留所有預測結果。 -
min_protein
: 一些時候,基因預測工具會生成許多短預測結果,而由於一些證據類型(例如mRNA-seq)存在噪音,導致這些預測結果看起來有證據支持,於是保留在最終的輸出結果中(AED>1). 通過限制預測蛋白的氨基酸數(amino acides, AA),可以減少預測結果。 -
alt_splice
: 是否計算可變轉錄本 -
always_complete
: 這個是MAKER開發者在合作者的要求下加上的參數,用來確保基因模型始終有起始密碼子和終止密碼子,默認是0 -
map_forward
: 用於保留老版本的GFF文件的信息,映射到新的版本GFF中。 -
keep_preds
: 設置爲1時表示保留所有的預測結果,默認是0. -
split_hit
: 新版本的MAKER(>2.28)不需要考慮該項。因爲之前版本拆分後的contig是互不重疊,於是就有可能有外顯子被剛好被拆成兩端,設置該項可以保留該信息。 -
single_exon
: 如果一個EST只有只有單個外顯子,默認情況下MAKER並不會把它當做支持基因模型的證據, 除非還有同源蛋白作爲支持。單外顯子EST和組裝的mRNA-seq轉錄本通常是RNA製備過程中的基因組序列污染。關閉時會降低MAKER的敏感度(sensitivity), 但是當你打開它的時候,命中的特異性會比整體的準確度(accuracy)差得多。 -
single_length
: 在啓用single_exon
時,設置該項用於保留一些比較小的序列,但即便註釋了也可能不是有功能的蛋白。 -
correct_est_fusion
用來避免因爲UTR的重疊導致將基因模型的錯誤合併,在真菌基因組中比較常見。它會檢查基因模型的5' UTR長度是否超過基因長度的一半,如果是的話,那麼MAKER會在起始密碼位置打斷基因,然後在5'UTR區重新預測基因。 -
tries
: 嘗試次數,默認是2 -
clean_try
: 重新嘗試時,是否刪除之前的文件,默認是0,也就是不刪除。建議設置爲1 -
clean_up
: 刪除分析過程中的文件,默認不刪除 -
TMP
: 臨時文件的目錄,默認存放在/tmp
下,建議設置一個容量比較大的目錄