使用Broad institute開發的Integrative Genomics Viewer(IGV)來看splicing graph或是bam檔算是很基本的技能,但在本機開啟IGV來讀取bam檔通常是痛苦的事情,所以使用server IGV遠端連線開啟就變得很必要,不然好幾GB的bam檔,傳來傳去或是光打開都是很吃電腦效能的。
這邊分享一個在mac上使用遠端ssh來登入執行server IGV會發生的問題:下面是error message
INFO [2016-11-28 16:10:38,623] [DirectoryManager.java:163] [main] IGV Directory: /home/weitinglin66/igvINFO [2016-11-28 16:10:38,623] [DirectoryManager.java:163] IGV Directory: /home/weitinglin66/igvINFO [2016-11-28 16:10:38,632] [Main.java:99] [main] Startup IGV Version 2.3.69 (98)03/08/2016 04:20 PMINFO [2016-11-28 16:10:38,632] [Main.java:100] [main] Java 1.7.0_111INFO [2016-11-28 16:10:38,633] [DirectoryManager.java:72] [main] Fetching user directory…INFO [2016-11-28 16:10:38,764] [Main.java:101] [main] Default User Directory: /home/weitinglin66INFO [2016-11-28 16:10:38,764] [Main.java:102] [main] OS: LinuxGConf 發生錯誤:無法連繫設定伺服器;可能是您需要啟用 ORBit 的 TCP/IP 網路連線,或由於上次系統當機導致有殘留的 NFS 鎖定檔。 請參考 http://projects.gnome.org/gconf/ 以取得更多資訊。(詳情 – 1: 不在使用的作業階段中執行)INFO [2016-11-28 16:10:42,238] [Main.java:150] [main] A later version of IGV is available (2.3.84)ERROR [2016-11-28 16:10:42,244] [DefaultExceptionHandler.java:49] [main] Unhandled exceptionjava.awt.HeadlessException:No X11 DISPLAY variable was set, but this program performed an operation which requires it.at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)at java.awt.Window.<init>(Window.java:535)at java.awt.Frame.<init>(Frame.java:420)at java.awt.Frame.<init>(Frame.java:385)at javax.swing.JFrame.<init>(JFrame.java:174)at org.broad.igv.ui.Main.main(Main.java:81)INFO [2016-11-28 16:10:42,248] [ShutdownThread.java:51] [Thread-2] Shutting down
這邊可能會有好多個“坑”!!
首先,要先講一些背景知識,IGV本身是一個java程式,我們將它在linux server中運行時,他其實是要開啟“視窗”,所以他其實需要使用linux 下的x window支援(又稱X11),然後這些顯示器的訊息其實是要串接到我們本機的MAC螢幕,所以我們osx系統也要能解讀那邊拋過來的訊息。所以可以先閱讀鳥哥這邊關於x window的介紹,另外,在osx系統有開發針對x window相容的軟件計劃XQuartz,用來將X11系統移植到OSX中。
那要如何解決這個error呢?
所以我們在ssh進入server時,要先開啟-X指令模式如下
ssh accountname@ip -X
這樣的意思是讓server那邊要是在執行依賴X11相關的程式(如IGV, FastQC),可以將訊號從ssh丟過來對接,可以看下面從ssh manual截屏下來的
