国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Cytoscape插件開(kāi)發(fā)小結(jié)

galaxy_robot / 1717人閱讀

摘要:前段時(shí)間接了一個(gè),是給生命學(xué)院的老師開(kāi)發(fā)一個(gè)的插件。如果你一定要使用的新特性,可以嘗試一下使用最新版本的插件。這可以參考這個(gè)插件的。閱讀別人開(kāi)發(fā)的插件是最快捷的學(xué)習(xí)方法,當(dāng)你多方求索而不得時(shí)可以考慮在的里面求助。

前段時(shí)間接了一個(gè) parttime job,是給生命學(xué)院的老師開(kāi)發(fā)一個(gè) Cytoscape 的插件。本文做個(gè)簡(jiǎn)單的技術(shù)總結(jié),所有的細(xì)節(jié)都基于 Cytoscape3.3.0,閱讀時(shí)請(qǐng)注意版本號(hào)。

Hello World from Maven

首先要安裝好 Cytoscape、JDK 8 和 Maven。在此我不做贅述。

如果你沒(méi)有接觸過(guò) Maven,最好稍微了解一下。因?yàn)?Hello World 就需要利用 Maven 命令自動(dòng)生產(chǎn)模范代碼。Cytoscape 的 wiki 上便有詳細(xì)的介紹,請(qǐng)參見(jiàn) Tutorial:Creating_an_OSGi_Bundle_Cytoscape_3_App。

關(guān)于 Maven,還有兩個(gè)問(wèn)題需要解決,其中一個(gè)是如果你使用了 Java 8 的函數(shù)式編程特性,很有可能導(dǎo)致編譯能通過(guò)但是沒(méi)辦法用 Maven 打包,這是 Maven 插件的問(wèn)題,我的解決方案是避免使用。如果你一定要使用 Java 8 的新特性,可以嘗試一下使用最新版本的插件。另外一個(gè)問(wèn)題是怎樣引入一個(gè)外部的 jar 包。這可以參考 stringApp 這個(gè)插件的 pom.xml。注意,其中 groupID 是org.cytoscape的這些包依賴的寫(xiě)法和末尾那些外部包依賴寫(xiě)法上的區(qū)別。因?yàn)镃ytoscape自己的那些包只是編譯時(shí)依賴,而外部包是運(yùn)行時(shí)依賴。

More about packaging

Cytoscape 的插件就是 jar包,除了需要放在jar包里面的常規(guī) class 文件,我們還需要放一些數(shù)據(jù)文件,比如 sqlite3 的數(shù)據(jù)庫(kù),csv 格式的文本文件等等。那么怎么在運(yùn)行時(shí)訪問(wèn)這些資源呢?

針對(duì)這個(gè)問(wèn)題,你可以看我在Stackoverflow上的一個(gè)回答:add sqlite DB to executable JAR file

AbstactTask

一般情況下可以繼承 AbstractTask,將任務(wù)在 run 方法中實(shí)現(xiàn)。這樣做的好處在于 Cytoscape 可以捕獲到其中的異常,在日志中顯示,以供除蟲(chóng)。而且可以利用 TaskMonitor 顯示執(zhí)行任務(wù)的進(jìn)度。但是在實(shí)踐中發(fā)現(xiàn)顯示任務(wù)進(jìn)度這個(gè)功能會(huì)和彈出窗口沖突,也就是說(shuō)我沒(méi)法在執(zhí)行任務(wù)的中途彈出一個(gè)窗口讓用戶做一些選擇。這個(gè)時(shí)候就只能放棄繼承 AbstractTask,直接把任務(wù)放在所觸發(fā)的動(dòng)作中。

Debugging

可以使用標(biāo)準(zhǔn)輸出,也可以使用 Cytoscape 的日志系統(tǒng)。(在 Windows 下使用命令行啟動(dòng) Cytoscape,但是 cmd 的標(biāo)準(zhǔn)輸出并不能顯示,所以推薦用后者)后者可以點(diǎn)擊 Cytoscape 界面左下角的圖標(biāo)顯示。

import org.apache.log4j.Logger;
final Logger logger = Logger.getLogger("org.cytoscape.application.userlog");
Resources

閱讀別人開(kāi)發(fā)的 Cytoscape 插件是最快捷的學(xué)習(xí)方法,當(dāng)你多方求索而不得時(shí)可以考慮在 Cytoscape 的 Google Groups 里面求助。如果還是不行,就只能訴諸 Cytoscape 源碼了。

就說(shuō)這么多,建議從這里開(kāi)始,https://github.com/cytoscape/cytoscape-app-samples,挑幾個(gè)樣例過(guò)一遍代碼,再開(kāi)始編碼。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/65947.html

相關(guān)文章

  • vim插件vundle/bundle安裝錯(cuò)誤小結(jié)

    摘要:事情經(jīng)過(guò)是這樣的換了臺(tái)機(jī)器,想部署自己的開(kāi)發(fā)環(huán)境。結(jié)果原來(lái)機(jī)器明明好使的插件,現(xiàn)在居然不好使了。報(bào)了各種錯(cuò)誤,以為是插件中有個(gè)各種路徑是原來(lái)的機(jī)器路勁,那就重新安裝吧。 事情經(jīng)過(guò)是這樣的:換了臺(tái)linux機(jī)器,想部署自己的開(kāi)發(fā)環(huán)境。那vimrc必須配置上。結(jié)果原來(lái)機(jī)器明明好使的vundle插件,現(xiàn)在居然不好使了。報(bào)了各種錯(cuò)誤,以為是插件中有個(gè)各種路徑是原來(lái)的機(jī)器路勁,那就重新安裝吧。明...

    honmaple 評(píng)論0 收藏0
  • 面試小結(jié)(三)

    摘要:好了,我的面試小結(jié)似乎告一段落了,希望自己以后多寫(xiě)寫(xiě)技術(shù)型的博客,這種總結(jié)型的博客,次之 1、項(xiàng)目中使用的技術(shù)棧,遇到的問(wèn)題,解決辦法;2、這個(gè)是我的項(xiàng)目中的問(wèn)題:Rax中banner圖,使用插件還是手寫(xiě);3、react怎么使用循環(huán)渲染;4、開(kāi)發(fā)的項(xiàng)目兼容哪些瀏覽器;5、自己?jiǎn)为?dú)負(fù)責(zé)項(xiàng)目過(guò)什么項(xiàng)目(體現(xiàn)自己的基礎(chǔ));6、手機(jī)兼容:彈性盒子,安卓手機(jī)不支持,這個(gè)問(wèn)題遇到過(guò)嗎; 參考:op...

    魏明 評(píng)論0 收藏0
  • 面試小結(jié)(三)

    摘要:好了,我的面試小結(jié)似乎告一段落了,希望自己以后多寫(xiě)寫(xiě)技術(shù)型的博客,這種總結(jié)型的博客,次之 1、項(xiàng)目中使用的技術(shù)棧,遇到的問(wèn)題,解決辦法;2、這個(gè)是我的項(xiàng)目中的問(wèn)題:Rax中banner圖,使用插件還是手寫(xiě);3、react怎么使用循環(huán)渲染;4、開(kāi)發(fā)的項(xiàng)目兼容哪些瀏覽器;5、自己?jiǎn)为?dú)負(fù)責(zé)項(xiàng)目過(guò)什么項(xiàng)目(體現(xiàn)自己的基礎(chǔ));6、手機(jī)兼容:彈性盒子,安卓手機(jī)不支持,這個(gè)問(wèn)題遇到過(guò)嗎; 參考:op...

    ephererid 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<