寫(xiě)在前面
目前,有大量物種的基因組序列和注釋信息公布。幾乎所有科研人員都可以下載并使用這些數(shù)據(jù),分析和驗(yàn)證自己的科研假設(shè)。常常,我們會(huì)遇到一些小問(wèn)題,比如基因組序列文件中包含了大量無(wú)法錨定到染色體的片段。這些片段,當(dāng)然是有存在意義。但在下游數(shù)據(jù)應(yīng)用上,基于不同分析目的,其實(shí)并不一定要用上。更或者保留這些序列,反而不便于下游數(shù)據(jù)分析。舉兩個(gè)例子。

圖中菠蘿基因組序列文件中有大量scaffold,使得25個(gè)染色體(盡管是最大連鎖群)無(wú)法被很好的可視化,拿到這個(gè)圖片,自然無(wú)從分析。當(dāng)然,擬南芥基因組序列也是類(lèi)似,葉綠體和線粒體基因組在這個(gè)分析中并無(wú)必要存在。
再看,葡萄比對(duì)到自身的基因點(diǎn)陣圖

去掉 random 染色體碎片之后,如下

可以看出來(lái),其實(shí)圖片干凈了許多,也才是我們關(guān)注的分析內(nèi)容。
總而言之,過(guò)濾掉這些基因組序列中的碎片,常常有助于下游分析。而過(guò)濾策略其實(shí)往往簡(jiǎn)單。碎片,自然是長(zhǎng)度比非碎片的小得多。所以,我們只需要基于長(zhǎng)度做過(guò)濾即可。如果使用 之前版本的TBtools ,大體可以通過(guò)以下步驟實(shí)現(xiàn):
- 使用
Fasta Stat獲得所有序列長(zhǎng)度 - 使用 Excel 或者 TBtools 表格工具,對(duì)長(zhǎng)度做排序,找到合適的長(zhǎng)度閾值
- 過(guò)濾并保留所有長(zhǎng)度不低于該閾值的序列 ID
- 使用 TBtools 提取這些序列
大體有至少換TBtools三個(gè)功能和四步操作。當(dāng)然,一般保險(xiǎn)起見(jiàn),我們過(guò)濾完基因組序列,最好還要過(guò)濾一下基因結(jié)構(gòu)注釋文件.gff3/.gtf。這一步,使用 TBtools 的表格工具,其實(shí)也可以解決。
說(shuō)了這么多,其實(shí)只有一句話:太麻煩了!
新功能一次搞定
事實(shí)上,我自己也被這個(gè)折磨了一段時(shí)間。想著有時(shí)間就寫(xiě)一點(diǎn),期間不斷被各類(lèi)事情打斷,一個(gè)原本可以用大半個(gè)小時(shí)寫(xiě)完的功能,卻整整跨越了一個(gè)星期??戳讼?,感覺(jué)確實(shí)是一天寫(xiě)三四行代碼。當(dāng)然,這并不影響功能的實(shí)現(xiàn),以及這個(gè)功能用起來(lái)到底有多爽。
打開(kāi) TBtools 并找到這個(gè)功能,Genome Length Filter。

首先是獲取長(zhǎng)度信息并排序,

設(shè)置并運(yùn)行如下,

點(diǎn)擊
Get Seq Length 之后,TBtools會(huì)獲取,排序并顯示所有序列長(zhǎng)度,基于序列 ID 和長(zhǎng)度。我們可以確定,菠蘿這個(gè)基因組序列,要過(guò)濾掉碎片,那么就設(shè)置長(zhǎng)度為 3739203。
復(fù)制黏貼該長(zhǎng)度,設(shè)置輸出文件路徑,隨后
Start Filter即可完成過(guò)濾。一氣呵成。
當(dāng)然,或許我們要同時(shí)過(guò)濾基因結(jié)構(gòu)注釋信息,那么就點(diǎn)擊 (Optional) Gene Structure Annotation Filter,通過(guò)文件選擇框,設(shè)置基因結(jié)構(gòu)注釋信息文件即可。

點(diǎn)擊開(kāi)始過(guò)濾,即可一次獲得過(guò)濾過(guò)的 基因組序列信息 和 基因結(jié)構(gòu)注釋信息。
pineapple.Chr.fa # 基因組序列文件
pineapple.Chr.fa.gxf # 如果輸入的是gtf文件,那么輸出就是gtf格式,如果輸入是gff3格式,那么輸出也是gff3格式...
寫(xiě)在最后
非常明顯,這個(gè)功能其實(shí)是整合了 TBtools 已有的三個(gè)功能。盡管只是整合,我個(gè)人覺(jué)得還是非常實(shí)用。
有時(shí)候,我們并不是不知道問(wèn)題的答案,而是不知道我們其實(shí)還沒(méi)搞清楚問(wèn)題是什么。