常用資訊速查

2015年1月29日 星期四

找到perl模組的路徑

原文 http://www.symkat.com/find-a-perl-modules-path

例如,要找出目前 MozRepl 模組的路徑,在命令列下達:

perl -MMozRepl -e 'map {print "$_ => $INC{$_} \n" if $_=~/MozRepl/} keys %INC'

windows 上要這樣下指令:

perl -MMozRepl -e "map {print \"$_ =^> $INC{$_} \x0a\x0d\" if $_=~/MozRepl/} keys %INC"


2015年1月23日 星期五

docker--新一代VM(虛擬機器),以及在上面執行ubuntu的一些可能問題

簡介 http://blog.maxkit.com.tw/2014/09/docker.html

問題 http://phusion.github.io/baseimage-docker/

解決方案 https://github.com/phusion/baseimage-docker

2015年1月20日 星期二

org mode中agenda view的選取、排序、顯示方式

sparse tree 是 org mode 當中處理文字搜尋的結果呈現時,一種很有用的方式,但是更極致的方案叫做 match view(也就是agenda)。sparse tree 和 match view 的主要不同在於,前者呈現的是樹狀結構,後者是串列,而且是跨檔案的搜尋結果。樹狀結構雖然保留了架構,卻無法排序,這也是為什麼 agenda 比較常被使用的原因,以人類處理資訊的流程,或是像 SQL 這樣的結構化查詢語言,都是以"選取=>排序=>顯示(格式)"這樣的方式進行。

選取


agenda views區分為七種型態,前六種為內建:

  1. agenda--列出特定日期,如當天、週、月、年的工作
  2. TODO list--依狀態排序,列出所有TODO屬性不是DONE的工作
  3. match view--最具彈性者,可依 tag,property,todo ,level(以及 headline 的 regex) 組合來選取
  4. timeline view--依時間排序
  5. text search view--依關鍵字查詢。詳細語法滿有特色的…
  6. stuck projects view--條件由 org-stuck-projects 指定,以過濾出"卡卡的"工作。其實就是match view
  7. custom--自訂。要能正確的自訂,必需先了解 agenda 的整個流程,因此留待最後再說明

match 語法是 org mode 中特製的查詢語法,其內容詳見 http://orgmode.org/manual/Matching-tags-and-properties.html

sparse tree 查詢的指令是 org-match-sparse-tree ,  match view 的指令則是 org-tags-view

排序、顯示


參考 http://orgmode.org/manual/Presentation-and-sorting.html#Presentation-and-sorting

自訂


  1. emacs 是一個文字介面為主的程式,因此首先必需定義如何觸發自訂 agenda ,這必需在變數 org-agenda-custom-commands 當中做設定。說明可以由 M-x customize-variable org-agenda-custom-commands 看到並進行設定
  2. 各參數中,顯然最有彈性的 type 就是 tags 。 
  3. 參數 settings 可以參考 http://orgmode.org/manual/Setting-Options.html#Setting-Options 
  4. 例如 settings 中設定排序方式的 org-agenda-sorting-strategy 
  5. 顯示的過濾和筆數限制,則可以在執行 agenda view 後以互動的方式進行

2015年1月17日 星期六

emacs的新版本24.4與舊版本24.3的共存與平行測試

這次新版隔了超過一年半,剛安裝後發現不少不相容的情況。由於emacs不少"預設"的作法,讓抓錯變得有點複雜。其中比較特別的,是"HOME"這個目錄。參考以下連結

http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html

home想當然耳是跟登入的帳號綁在一起的,因此同一個登入帳號要用到兩個環境,必需要動點手腳,以暫時改變環境變數。兩種方法如下,分別是改變捷徑字串,或以 bat / cmd 檔啟動程式;個人偏好前者,因為可以少打一些字,但屢試不成…。參考以下連結:

http://www.labs64.com/blog/2012/06/set-environment-variables-in-windows-shortcut/

http://stackoverflow.com/questions/3036325/can-i-set-an-environment-variable-for-an-application-using-a-shortcut-in-windows

我自己寫的 emacs.cmd 的內容如下
@echo off
SETLOCAL
set HOME=C:\Users\emacs244\
start "" "C:\Program Files\emacs-24.4\bin\runemacs.exe"

2015年1月11日 星期日

emacs的elpa更新套件的方法

http://stackoverflow.com/questions/14836958/updating-packages-in-emacs

簡單來說,就是 M-x package-list-packages 後 U x

2015年1月10日 星期六

CRISPR/Cas9 系統介紹

http://www.wethinkbio.com/#!c-crispr/c6c6

這應該是目前最update的中文介紹了

http://blog.sina.com.cn/s/blog_12d8810790101ho5s.html

這篇比較用說故事的方式寫的,來龍去脈交待得比較有趣,當然有些資訊是稍舊了點

http://www.njfish.cn/seo/sqkcas9jishutedian/

著重應用面的介紹

http://bioforum.tw/modules/tadnews/index.php?nsn=982

這篇點出了生物資訊學 (bioinformatics) 在cas9研究中的角色

http://news.bioon.com/article/6663364.html

最新的消息是,發明者們似乎拆夥了

2015年1月8日 星期四

癌症治療的前景

目前癌症治療的主要手段包括外科手術、放療及化療,不過顯然還有許多需要改進的空間,因為癌症仍然高居死亡原因的前幾名。嚴格來說這些手段都還稱不上是"治療",只能說是依據目前對生理學和病理學的了解,使用物理或化學方法,外加使細胞死亡的動因,並沒有使細胞受到治療。這整套系統由基礎醫學研究轉譯到臨床治療,不管是不是針對癌症或其它病理現象,所花費的資源,是人類歷史上少見的巨大規模,所花費的時間,動輒一、二十年。然而,隨著細胞生理學及其它對應科技的進展,這樣的情況有可能很快有一番全新的風貌。

DNA承載了人類等所有生物的生命藍圖,在細胞生理的層次,它控制了所有的新陳代謝,結合神經、內分泌所帶來的訊號,調控細胞內外的生化反應。由於DNA是遺傳而來,在出生後無法變動,而且內含的資訊總量是有限的,無法包山包海,因此由細胞本身執行的修復,是有預設的幾套劇本,以應付常見的、局部的傷害。但是以癌症來說,什麼情況下細胞應該進行修復?無法修復時,如何啟動凋亡機制?將細胞或甚至人體當成一個圖靈機,恐怕也寫不出能塞得進一套DNA的邏輯來處理這兩個問題。crispr / cas9 的最新研究有希望在DNA的等級進行修復--如果你知道發生了什麼變異的話;所以知道發生"什麼情況"或許才是最困難的,接下來才能依此作出修復或啟動凋亡的決策。

要檢測DNA的變異,最萬全的情況當然是對所有細胞的整個基因組"定序",不過很遺憾的是目前的所有定序都必需在體外進行,並且會破壞細胞。目前流行的方式是對細胞變異或受傷害後所會產生的物質作檢測,也就是所謂的癌症標記(marker)。但不管如何,情況都遠超過細胞本身預設的"劇本"所能處理,因此顯然目前各種健康檢查都想從各個方向來突破這個困境。

修復的困難在於,目前還未有方法能在活體上精確的"manipulate"細胞的DNA,而crispr / cas9 看起來像是一個可能的答案;更好的消息是,這個技術似乎也可以用來進行對細胞內RNA進行調控。病理情況的極端是肢體或器官的缺損,目前最好的策略可能是將人體的體細胞取出,還原為幹細胞之後,複製並分化出所需的部位,然後以外科手術方式植入或替換。

無論如何,把單一細胞或組織看成一個"圖靈機"的話,那麼它們預設的"劇本",是不可能涵蓋所有可能情況的,因此外界的介入幾乎是必要的,但何時、如何介入呢?從自動控制的觀點來看,我們要有感測器,要有致動器,要有辦法把資訊導出到控制器,並將決策導入給致動器。感測器和致動器可能必需要以奈米的尺度製作,才有辦法適當的執行工作,相信這也是近年來所謂"自組裝"技術開始熱門的原因之一。感測和致動極可能必需要在生化層次上與細胞環境互動,而資訊的導出和導入,很可能必需要以無線電波方式傳遞,有機分子是否有機會能以自組裝的方式發展出微電子電路對應的通訊功能呢?其實現的尺度是否能在細胞尺度附近呢?控制器必需交由體外來實現,這應該是沒什麼疑問了,計算是高度秏能的活動,放在體內其實是沒有什麼意義的。儘管目前已經有少數的所謂"生物電腦"、"DNA運算"、"肽運算"等有機圖靈機的實現,但是如果沒有辦法與外界交換資訊的話,這些實現所做的決策頂多是局部最佳解,不會是整體的最佳解。