
寫在前面
今天的推文,屬于廣告文
開篇圖,即今天推文的主題(之一)。
看得懂的,自然明白;不明白我想表達(dá)的說(shuō)法的,可以看下文。
用戶群體“深惡痛絕”的軟件
近來(lái),常常會(huì)聽到,TBtools的更新速度超過(guò)學(xué)習(xí)速度。我需要聲明的是,這并不是我的問(wèn)題,我只是覺得有更新就推上去,是否更新我無(wú)法強(qiáng)迫任何人,只是舊版本的問(wèn)題,我不會(huì)給予任何支持;也不是用戶的問(wèn)題,因?yàn)椴⒉皇敲總€(gè)人都需要使用最新版或者使用最新的特性(即使最新的特性必然是我覺得最好的東西)。
如果一定要怪,就怪這無(wú)情的社會(huì),讓我們不可能做一模一樣的課題和有一模一樣的進(jìn)度。
TBtools本身是我趕課題的生產(chǎn)工具。只要有需要,我隨時(shí)就會(huì)修改或完善。更多時(shí)候,我會(huì)增加新的功能(之所以如此,我是希望以后我再需要這些功能的時(shí)候,我就直接開了TBtools就用,不需要再寫腳本。當(dāng)然最好是拖拖拖就搞定了)。
每個(gè)人有自己的課題,所以不可能有一個(gè)人跟我做的東西一模一樣。大家都在往前走,你在進(jìn)步,我也在進(jìn)步(而TBtools的方向跟我的方向一樣),所以無(wú)解。
頻繁的更新不讓人反感
而事實(shí)上,用戶之所以說(shuō)TBtools更新太快,并不是不喜歡新的特性。而是如果想要用新的特性,那么就必須更新軟件。最快的方式是,下載TBtools.jar文件(目前已經(jīng)龐大到有4Mb,我木有時(shí)間去清理一些廢棄的類)。在有限的網(wǎng)速和流量下,確實(shí)痛苦;尤其是一天之內(nèi)更新好幾次。
所以,在中午趕一個(gè)課題的時(shí)候,我想起了一些朋友不斷的提醒我的事情,要有自動(dòng)更新機(jī)制。
很多人都說(shuō),用R語(yǔ)言做生物信息數(shù)據(jù),幾乎是無(wú)所不能。正如R包,可以說(shuō)無(wú)所不包。然而,只有少數(shù)人是真的是在用R語(yǔ)言做生物信息,更多人是事實(shí)上的調(diào)包俠(無(wú)貶義)。調(diào)包俠,總是最機(jī)智的,因?yàn)槟繕?biāo)明確,關(guān)注的只有生物學(xué)問(wèn)題,而不是掌握這一門語(yǔ)言。換句話說(shuō),對(duì)于這一個(gè)大群體而言,事實(shí)上只是把R當(dāng)成一個(gè)無(wú)所不包的軟件包,而這個(gè)軟件包,無(wú)時(shí)不刻地增加新的R語(yǔ)言包(極其優(yōu)秀的如大濕兄的ggtree,而存在原則性問(wèn)題的也有不少,詳細(xì)見大濕兄的biobable公眾號(hào)推文)。那么,R包用戶并沒有反感新的R包增加,也沒反感R包的更新。
究其原因,就是一個(gè)install.packages(...)幾乎是要包治百病。該安裝的給你安裝,該更新的給你更新。所以還擔(dān)心什么?用R啊,除了不能幫你生孩子之外,還有什么不能的?
撿起一年前放下的
有些知識(shí),可能需要經(jīng)驗(yàn)的積累和時(shí)間的沉淀,才能有領(lǐng)悟。
靜態(tài)語(yǔ)言要得到動(dòng)態(tài)拓展,需要的是反射。這本身是一件看起來(lái)確實(shí)是相對(duì)復(fù)雜的事情。
我最討厭的是什么,就是調(diào)用外部軟件(除非確實(shí)沒辦法...比如BLAST,除了調(diào)用他,我還能怎么辦?)
而我自己寫的東西,不應(yīng)該讓TBtools從外部調(diào)用(主要是看起來(lái)也不優(yōu)雅....)。
于是我從來(lái)沒有忘記過(guò)很久以前的想法,亦即
曾經(jīng)嘗試了一段時(shí)間的插件式開發(fā)。TBtools一直是一個(gè)jar文件,這就相當(dāng)于一個(gè)程序要在運(yùn)行時(shí)刪除自己,在某些系統(tǒng)(尤其是在windows下面,是一件比較困難的事情)。無(wú)法刪除自己就無(wú)法自動(dòng)更新(除了借助外部程序,這需要用戶另外打開別的程序, 不優(yōu)雅)。
而插件式開發(fā)理想情況下,用戶只需要點(diǎn)擊一個(gè)Button或者說(shuō)一旦打開TBtools,就自動(dòng)從指定的地址下載最新的插件并load in。那么用戶可能對(duì)更新了的程序,毫無(wú)感知。
總之呢,我試了一下。發(fā)現(xiàn)似乎可行。
那就期待吧。