MAKER配置文件詳解
本文翻譯自http://weatherby.genetics.utah.edu/MAKER/wiki/index.php/The_MAKER_control_files_explained
MAKER會(huì)生成三個(gè)配置文件,如下
- maker_opts.ctl: 控制MAKER分析行為的主要配置文件
- maker_bopts.ctl: BLAST和Exnerate的過(guò)濾閾值
- maker_exe.ctl: MAKER運(yùn)行過(guò)程中所依賴軟件的路徑
這里主要介紹maker_opts.ctl, 其余配置文件直接看配置文件里面的注釋信息即可。
基因組
用于設(shè)置被注釋的基因組序列的位置和物種類型,包括genome和organisam_type兩項(xiàng)
- genome: FASTA序列路徑
- organism_type: eukaryotic,prokaryotic二選一
需要注意的是,基因組序列的N50需要超過(guò)預(yù)期基因長(zhǎng)度的中位數(shù),否則注釋效果不好。另外最好保證基因組序列只包括A,T,C,G,N, 對(duì)于其他類型兼并堿基可以都改成N.
使用MAKER得到GFF3進(jìn)行重注釋
這一項(xiàng)基本上我們用不上,它是在當(dāng)你把MAKER的中間輸出文件都刪除了,僅保留了輸出的GFF3文件時(shí),你可以用之前相同的輸入設(shè)置重新運(yùn)行流程得到相同的輸出。
#-----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/轉(zhuǎn)錄本證據(jù)
出于歷史原因, MAKER還是用EST代表了之前的EST數(shù)據(jù)和目前的轉(zhuǎn)錄組數(shù)據(jù)。 此處不只是使用EST數(shù)據(jù),而是可以使用組裝的mRNA-seq, 組裝的全長(zhǎng)cDNA。 我們預(yù)期他們能夠正確的組裝,并聯(lián)配到正確的剪切位點(diǎn)(對(duì)于FASTA格式,MAKER使用exonerate找到剪切位點(diǎn))。用途如下:
- 直接推斷基因模型(est2genome)
- 作為預(yù)測(cè)結(jié)果的支持證據(jù)
- 修改結(jié)果和增加UTR
- 鑒定可變轉(zhuǎn)錄本
- 在某些情況下,這些數(shù)據(jù)和其他證據(jù)能幫助MAKER推斷基因邊界
- 在預(yù)測(cè)步驟中輔助基因預(yù)測(cè)工具推斷剪切位點(diǎn)
設(shè)置項(xiàng)如下:
-
est: EST, 全長(zhǎng)cDNA, 組裝的mRNA序列,可以通過(guò)逗號(hào)分隔多個(gè)文件。 -
altest: 如果真的沒(méi)有當(dāng)前物種的轉(zhuǎn)錄組數(shù)據(jù),也可以使用同源物種的序列。這些序列會(huì)通過(guò)tblstx進(jìn)行比對(duì),會(huì)消耗大量的運(yùn)算時(shí)間。 -
est_gff: 預(yù)比對(duì)的轉(zhuǎn)錄本,以GFF3格式存放,通常來(lái)自于CuffLinks/StringTie的組裝結(jié)果,或者是上一步的MAKER注釋 -
altest_gff: 和altest一樣,只不過(guò)是比對(duì)后以GFF3存放,基本上也用不到
同源蛋白證據(jù)
和之前的轉(zhuǎn)錄組數(shù)據(jù)類似,用途如下
- 直接推斷基因模型(protein2genome), 僅在它們能夠正確的聯(lián)配到剪切位點(diǎn)附件。
- 作為預(yù)測(cè)結(jié)果的支持證據(jù)(MAKER會(huì)檢查CDS,保證基因預(yù)測(cè)結(jié)果和蛋白聯(lián)配是相同的閱讀框)
- 某些情況下,用于推斷基因邊界
- 在預(yù)測(cè)步驟中,使用從蛋白推斷的ORF輔助從頭預(yù)測(cè)軟件
建議使用 uniprot/swiss-prot 或 RefSeq上的NP數(shù)據(jù),因?yàn)榻?jīng)過(guò)人工審查,可信度較高。不建議是用UniProt/tremble或者Genbank上的數(shù)據(jù),這些數(shù)據(jù)的可信度較低。你可以挑選幾個(gè)同源物種的高可信度蛋白?;蛘呤褂肕AKER注釋的其他物種AED小于0.5的轉(zhuǎn)錄本產(chǎn)物。
由于許多注釋里包含一些死亡轉(zhuǎn)座子(dead transposons)或偽基因(pseudogenes),因此不建議使用臨近物種的所有注釋蛋白。我們想象一個(gè)比較糟糕的情況,如果你有鄰近物種的死亡轉(zhuǎn)座子,當(dāng)你構(gòu)建你的重復(fù)序列屏蔽文庫(kù)時(shí),你發(fā)現(xiàn)其中一個(gè)條目和該序列匹配。 于是你假設(shè)這是一個(gè)真實(shí)的基因,于是你從屏蔽文庫(kù)中刪除了該條目。吸納子啊,當(dāng)你注釋基因組的時(shí)候,該基因變成了注釋集中的一整個(gè)基因組家族,但這其實(shí)是糟糕的證據(jù)和重復(fù)序列屏蔽所導(dǎo)致的后果。
需要設(shè)置的就兩項(xiàng):
-
protein: 以FASTA存放的蛋白序列位置 -
protein_gff: 以GFF3格式記錄的蛋白序列預(yù)先比對(duì)結(jié)果,通常來(lái)自于之前MAKER輸出
重復(fù)序列重復(fù)屏蔽
我們可以通過(guò)屏蔽重復(fù)序列來(lái)避免EST和蛋白比對(duì)到重復(fù)區(qū)域,防止基因預(yù)測(cè)算法在這些區(qū)域預(yù)測(cè)外顯子。由于許多重復(fù)序列會(huì)編碼真實(shí)的蛋白(例如反轉(zhuǎn)座子等),基因預(yù)測(cè)工具和比對(duì)工具會(huì)被他們所迷惑(會(huì)在一個(gè)基因中錯(cuò)誤的加上外顯子)
-
model_org: 默認(rèn)是all, 可以設(shè)置成RepeatMasker中RepBase數(shù)據(jù)庫(kù)的其中一個(gè) -
rmlib: 自己構(gòu)建的重復(fù)序列文庫(kù) -
repeat_protein: 轉(zhuǎn)座因子的蛋白序列 -
rm_gff: 以GFF3格式記錄的重復(fù)序列位置信息 -
prok_rm: 不需要修改,因?yàn)樵松锊恍枰紤]重復(fù)序列 -
softmask: 不需要修改
從頭基因預(yù)測(cè)
如果你需要從MAKER以外獲取基因模型,則需要在這一節(jié)添加相應(yīng)的配置。根據(jù)可信度高低,MAKER會(huì)對(duì)這些基因模型采取不同的行為。
通過(guò)軟件預(yù)測(cè)的基因結(jié)構(gòu)可信度低,它們不會(huì)影響證據(jù)簇(evidence cluster). MAKER會(huì)保留預(yù)測(cè)結(jié)果,或者根據(jù)EST證據(jù)調(diào)整外顯子,如果有證據(jù)支持,那么他們會(huì)保留在最終的注釋集中。如果有多個(gè)注釋結(jié)果,MAKER會(huì)對(duì)其進(jìn)行比較,從中挑選出最優(yōu)結(jié)果。
model_gff提供的基因模型的可信度最高,會(huì)影響證據(jù)簇。在一些基因邊界判定中,MAKER在證據(jù)簇的影響下,更傾向于保留之前的基因模型而非替換。它們也會(huì)保留名字。MAKER不會(huì)修改模型,要么刪除要么保留。最后,即便沒(méi)有證據(jù)支持,MAKER還是會(huì)保留他們,而不會(huì)刪除他們,只不過(guò)最終的AED會(huì)設(shè)置為1.snaphmm: SNAP的HMM文件路徑,允許多個(gè)輸入,以逗號(hào)分隔
gmhmm: GeneMark的HMM文件文件路徑,允許多個(gè)輸入,以逗號(hào)分隔
augustus_species: Augustus的基因模型命名, 不容易訓(xùn)練,但是效果很好
fgenesh_par_file: FGENESH的HMM參數(shù)文件,收費(fèi)工具,基本上用不到
pred_gff: 其他預(yù)測(cè)工具的輸出結(jié)果,以GFF3格式保存
model_gff: 最高可信度的GFF輸入
run_evm=0: 是否讓MAKER運(yùn)行EVM,速度會(huì)變慢
est2genome: 讓MAKER根據(jù)EST推測(cè)基因模型
protein2genome: 讓MAKER根據(jù)蛋白序列推測(cè)基因模型
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: 是否在屏蔽序列中進(jìn)行基因預(yù)測(cè),默認(rèn)是0
allow_overlap: 允許的基因重疊比例,從0到1,空白表示使用默認(rèn)值
其他類型的注釋
這一項(xiàng)功能很簡(jiǎn)單,就是提供一個(gè)GFF文件,在MAKER運(yùn)行結(jié)束后增加里面的信息
-
other_gff: 其他類型注釋的GFF文件路徑
外部程序選項(xiàng)
這里的兩個(gè)參數(shù)用于影響外部程序,即BLAST的行為
-
alt_peptide: 對(duì)于非標(biāo)準(zhǔn)氨基酸的替換方法,默認(rèn)是C(cysteine) -
cpus: BLAST的線程數(shù),如果使用MPI,該值可以設(shè)置的小一些,默認(rèn)是1.
MAKER行為選項(xiàng)
這里的選項(xiàng)用于調(diào)整MAKER的行為,使其符合你的基因組特性
-
mad_dna_len至少要3倍于預(yù)期的最大內(nèi)含子長(zhǎng)度。在內(nèi)存足夠的情況下,對(duì)于脊椎動(dòng)物可以考慮設(shè)置為300000,植物一般沒(méi)有那么大的內(nèi)含子 -
min_contig: 低于該值的contig會(huì)被過(guò)濾掉,建議設(shè)置為10k. -
pred_flank: 在基因預(yù)測(cè)時(shí),將證據(jù)簇在兩端進(jìn)行擴(kuò)展,默認(rèn)是200 bp. 對(duì)于比較緊湊的基因組,降低該值能夠避免基因錯(cuò)誤合并。對(duì)于比較稀疏的基因組,提高該值可以避免外顯子缺失。 -
pred_stats: 默認(rèn)是0,只計(jì)算MAKER預(yù)測(cè)基因的AED和QI值,設(shè)置為1則計(jì)算所有從頭預(yù)測(cè)的基因結(jié)構(gòu)。 -
AED_threashold: 根據(jù)AED(0-1)值來(lái)過(guò)濾輸出的基因,默認(rèn)是1,表示保留所有預(yù)測(cè)結(jié)果。 -
min_protein: 一些時(shí)候,基因預(yù)測(cè)工具會(huì)生成許多短預(yù)測(cè)結(jié)果,而由于一些證據(jù)類型(例如mRNA-seq)存在噪音,導(dǎo)致這些預(yù)測(cè)結(jié)果看起來(lái)有證據(jù)支持,于是保留在最終的輸出結(jié)果中(AED>1). 通過(guò)限制預(yù)測(cè)蛋白的氨基酸數(shù)(amino acides, AA),可以減少預(yù)測(cè)結(jié)果。 -
alt_splice: 是否計(jì)算可變轉(zhuǎn)錄本 -
always_complete: 這個(gè)是MAKER開(kāi)發(fā)者在合作者的要求下加上的參數(shù),用來(lái)確?;蚰P褪冀K有起始密碼子和終止密碼子,默認(rèn)是0 -
map_forward: 用于保留老版本的GFF文件的信息,映射到新的版本GFF中。 -
keep_preds: 設(shè)置為1時(shí)表示保留所有的預(yù)測(cè)結(jié)果,默認(rèn)是0. -
split_hit: 新版本的MAKER(>2.28)不需要考慮該項(xiàng)。因?yàn)橹鞍姹静鸱趾蟮腸ontig是互不重疊,于是就有可能有外顯子被剛好被拆成兩端,設(shè)置該項(xiàng)可以保留該信息。 -
single_exon: 如果一個(gè)EST只有只有單個(gè)外顯子,默認(rèn)情況下MAKER并不會(huì)把它當(dāng)做支持基因模型的證據(jù), 除非還有同源蛋白作為支持。單外顯子EST和組裝的mRNA-seq轉(zhuǎn)錄本通常是RNA制備過(guò)程中的基因組序列污染。關(guān)閉時(shí)會(huì)降低MAKER的敏感度(sensitivity), 但是當(dāng)你打開(kāi)它的時(shí)候,命中的特異性會(huì)比整體的準(zhǔn)確度(accuracy)差得多。 -
single_length: 在啟用single_exon時(shí),設(shè)置該項(xiàng)用于保留一些比較小的序列,但即便注釋了也可能不是有功能的蛋白。 -
correct_est_fusion用來(lái)避免因?yàn)閁TR的重疊導(dǎo)致將基因模型的錯(cuò)誤合并,在真菌基因組中比較常見(jiàn)。它會(huì)檢查基因模型的5' UTR長(zhǎng)度是否超過(guò)基因長(zhǎng)度的一半,如果是的話,那么MAKER會(huì)在起始密碼位置打斷基因,然后在5'UTR區(qū)重新預(yù)測(cè)基因。 -
tries: 嘗試次數(shù),默認(rèn)是2 -
clean_try: 重新嘗試時(shí),是否刪除之前的文件,默認(rèn)是0,也就是不刪除。建議設(shè)置為1 -
clean_up: 刪除分析過(guò)程中的文件,默認(rèn)不刪除 -
TMP: 臨時(shí)文件的目錄,默認(rèn)存放在/tmp下,建議設(shè)置一個(gè)容量比較大的目錄