2013年2月14日 星期四

知識管理、書目管理、文件管理、論文撰寫工具

一般人知道的多半是endnote,免費的加上mendeley,網頁的加上zotero。這篇文章 作者非常詳細地比較了自己的需求及市場上的解決方案,文中再提到 reftex + emacs 的話,就有四種軟體了。

全文查找

http://tul.blog.ntu.edu.tw/archives/1677
http://tul.blog.ntu.edu.tw/archives/4549

目前有全文查找功能者只有 endnote ,但是也不是全都找得到

書目匯入

http://tul.blog.ntu.edu.tw/archives/5344#more-5344

what's missing?

以下這些功能目前還不存在,但我覺得用emacs + perl來手工打造是比較有機會實作出來的

參考資料書目匯入、全文查找/下載

由於各家資料庫、線上期刊廠商目前的格式不一,因此程式本身宣稱的全文查找實際上都有無法整合的問題。其實說穿了就是利用腳本自動進行登入(非必要,但要能處理多個資料來源的合併)、查詢、分析、下載這樣的動作。

這就是 WWW-Mechanize-Firefox可以使得上力的地方了。我剛在安裝時被它的測試嚇了一跳,一堆錯誤,還好最後還是安裝完成了。滿高興終於有perl guru發現這個需求,而且火熱地開發中…

而另一方面 mozrepl + emacs 則可以用來做為除錯及資料檢視之用。mozrepl這個架構有個好處,就是把firefox當成是一個server,所以同時可以有多個client與它進行通訊。我們可以一邊撰寫程式,一邊除錯。當然firefox 內建的firebug應該也是滿不錯用的就是了。

知識地圖繪製

雖說IF factor是邪惡的,但不能否認很多人還是在看它…如果能把這些文獻間的關係用圖的形式表現出來,那麼就有辦法看到IF以外的層面。


2013年2月13日 星期三

emacs中控制firefox

2009年以後,似乎是因為安全性或跨平台的原因,把gtk上的dbus這條路廢人化了

現在留下來比較為人所知的是Mozrepl這個套件 https://github.com/bard/mozrepl/wiki

安裝完後記得重啟firefox

https://github.com/bard/mozrepl/wiki/Emacs-integration

加上moz.el的話可以在打開javascript buffer後開始與firefox對話,記得要在表單中啟動

工具 > MozRepl > Start


官方的教學


https://github.com/bard/mozrepl/wiki/Starting-the-REPL 用emacs的話可以跳過
https://github.com/bard/mozrepl/wiki/Tutorial


講perl嘛A通


http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.71/lib/Firefox/Application.pm
http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.71/
http://search.cpan.org/~corion/MozRepl-RemoteObject-0.34/
http://search.cpan.org/~corion/MozRepl-RemoteObject-0.34/lib/MozRepl/RemoteObject.pm 其中提到的iceweasel可以直接用firefox代換。

感想︰


這種作法滿符合unix/linux的作風,就是把ipc的問題當成是client/server的問題來解決。由目前mozrepl的啟動方法可以知道,這是一個視窗佔用一個port來作為server的架構,因此在操作上最好有心理準備,它所能提供的自動化僅及 於同一個視窗;當有彈出視窗出現時,就無法控制,必需要在該視窗中再指定一個不同的port並啟動,並另外建立新的client去跟它連線,才能進行控制。(待確認)


很遺憾的是,moz.el沒有什麼文件,Mozrepl也沒有什麼文件。其實這只是提供一個存取firefox的物件結構的窗口,所有的語法都是javascript,所以要了解javascript對dom的存取觀念。的確在firefox裏也可以直接進行這些操作,但是所產生的資訊要如何整合到現有的資訊/知識管理系統呢? 如果採用org mode的話,那麼與其在firefox中進行操作,還不如在emacs中進行操作;這也就是必需使用mozrepl 的原因。

雖然mozrepl沒什麼文件,但是cpan上的MozRepl-RemoteObject有

ubuntu上與biomed informatics有關的套件

blast2 - Basic Local Alignment Search Tool
libbio-asn1-entrezgene-perl - parser for NCBI Entrez Gene and NCBI Sequence records
libncbi6 - NCBI libraries for biology applications
libncbi6-dbg - NCBI libraries for biology applications (debugging symbols)
libncbi6-dev - NCBI libraries for biology applications (development files)
librg-blast-parser-perl - very fast NCBI BLAST parser - binding for Perl
librostlab-blast-doc - very fast C++ library for parsing the output of NCBI BLAST programs
librostlab-blast0 - very fast C++ library for parsing the output of NCBI BLAST programs
librostlab-blast0-dev - very fast C++ library for parsing the output of NCBI BLAST programs
libvibrant6-dev - NCBI libraries for graphic biology applications (development files)
libvibrant6a - NCBI libraries for graphic biology applications
libvibrant6a-dbg - NCBI libraries for graphic biology applications (unstripped)
libzerg-perl - fast perl module for parsing the output of NCBI BLAST programs
libzerg0 - C library for parsing the output of NCBI BLAST programs
libzerg0-dbg - debugging symbols for libzerg
libzerg0-dev - C library for parsing the output of NCBI BLAST programs
ncbi-blast+ - next generation suite of BLAST sequence search tools
ncbi-blast+-legacy - NCBI Blast legacy call script
ncbi-data - Platform-independent data for the NCBI toolkit
ncbi-epcr - Tool to test a DNA sequence for the presence of sequence tagged sites
ncbi-rrna-data - large rRNA BLAST databases distributed with the NCBI toolkit
ncbi-tools-bin - NCBI libraries for biology applications (text-based utilities)
ncbi-tools-x11 - NCBI libraries for biology applications (X-based utilities)
wise - comparison of biopolymers, commonly DNA and protein sequences

一系列ncbi相關的套件

sra-toolkit - utilities for the NCBI Sequence Read Archive
sra-toolkit-libs-dev - Development files for the NCBI SRA Toolkit's libraries
sra-toolkit-libs0 - Libraries for the SRA Toolkit

http://www.ncbi.nlm.nih.gov/books/NBK56560/ 在各定序平台間做格式轉換,並可上傳至 http://www.ncbi.nlm.nih.gov/Traces/sra/ 資料庫

grinder - Versatile omics shotgun and amplicon sequencing read simulator

http://sourceforge.net/projects/biogrinder/ 經常更新, perl based
Grinder is particularly useful for simulating clinical or environmental microbial communities and complements the use of in vitro mock communities.
maq - maps short fixed-length polymorphic DNA sequence reads to reference sequences

http://maq.sourceforge.net/ 很久沒更新了

picard-tools - Command line tools to manipulate SAM and BAM files

http://picard.sourceforge.net/ 經常更新, java based

qiime - Quantitative Insights Into Microbial Ecology
qiime-doc - Quantitative Insights Into Microbial Ecology (tutorial)

http://qiime.org/ 經常更新, python based,唯一在github上託管的專案

QIIME is an open source software package for comparison and analysis of microbial communities, primarily based on high-throughput amplicon sequencing data (such as SSU rRNA) generated on a variety of platforms, but also supporting analysis of other types of data (such as shotgun metagenomic data).
 以上這些套件很多都強調是分析微生物群落之用,查了一下才發現近幾年新興一個Metagenomics學門︰

 http://en.wikipedia.org/wiki/Metagenomics

http://yourgene.pixnet.net/blog/post/66235325-metagenomics

http://b2322858.blogspot.tw/2011/03/metagenomemetagenomics.html

http://bbs.antpedia.com/thread-162274-1-1.html

看來在2012年下半年,發了不少paper在這方面的樣子

除了醫學上的用途之外,最近有想用細菌直接製造石油的想法出現︰

http://www.worldjournal.com/view/full_news/21688272/article-%E5%BB%96%E4%BF%8A%E6%99%BA%E7%8D%B2%E9%81%B8%E5%9C%8B%E5%AE%B6%E5%B7%A5%E7%A8%8B%E5%AD%B8%E9%99%A2%E9%99%A2%E5%A3%AB?instance=hof

解決emacs中org table中英混雜時無法對齊的問題(2)

之前對這個問題只解決了一半。最近發現有人好像解決了

http://baohaojun.github.com/perfect-emacs-chinese-font.html

這個方法必需以 C-u C-x = 所得到的中文字型名稱做為參數,否則無效

(setq face-font-rescale-alist '(("文泉驛等寬微米黑" . 1.2)))

縮放後只有在某些特定大小的字型才能對齊,目前實驗結果是設置英文字為20點
這是在縮放以後還能維持比例的唯一可能的方法

http://www.gnu.org/software/emacs/manual/html_node/elisp/Font-Selection.html

用到的是face-font-rescale-alist,其說明如下︰

— Variable: face-font-rescale-alist

This variable specifies scaling for certain faces. Its value should be a list of elements of the form
          (fontname-regexp . scale-factor)
If fontname-regexp matches the font name that is about to be used, this says to choose a larger similar font according to the factor scale-factor. You would use this feature to normalize the font size if certain fonts are bigger or smaller than their nominal heights and widths would suggest.
http://zh.read2log.net/t/anago/mac/1328699139/

這說的也是類似的做法,不過是用add-to-list,且字型名稱也可以放regular expression

http://www.chinese-groups.com/thread/188/Re-oeusb.html

這篇解釋得很清楚,文末提到的bug我似乎沒遇到…


http://stackoverflow.com/questions/1606957/emacs-with-smaller-font-size-text-doesnt-align?rq=1

column view也要維持比例的話,還要做一下這個動作

2013年2月12日 星期二

臉書的Friend List Manager

http://dtinth.github.com/friendlist/

用coffeescript寫的,有原碼所以可以安心使用

用途嘛…不解釋

Facebook 隱私設定-3(不是朋友也能"訂閱"及五個例外規則)

這篇看過以後,不論是留言或發言,我都只發在社團裏…原因這篇說得很清楚,我列出重點︰

記住五個個可能的例外規則……
 
1.       1.如果你留言在某人的塗鴉牆上,那麼你無法控制它的隱私設定。留言的能見度跟原始留言的限制是一樣的。而他的設定可能會比較寬鬆,比方說,「朋友的朋友」。
 
2.      2. 如果你有設定可以看的使用者,目的是讓特定的某些朋友不能看到它,不要認為這限制已經完善了。如果之後有人留言,並且標籤某個不在原本設定可以看的Facebook使用者時,那麼那個使用者就可以看到原本的留言跟整個討論串了。所以還是要小心你所發表的內容。
 
3.       3.如果你留言或是回應公開活動邀請或公開的網頁;那麼你無法控制留言的隱私設定。你只能在留言發表後,在你的動態時報上隱藏它。
 
4.      4. 如果你留言在一個朋友的塗鴉牆上,而他的隱私設定是「朋友的朋友」,那麼任何在你「被限制的對象」名單上的朋友也都可以看到這個留言因為他們是你的[朋友]
 
5.       5.這意味著,任何你發布給「所有人」或「朋友的朋友」(無論是你自己的設定或是留言對象)的留言,都會顯示在你不一定知道、被限制或是已經移除好友的人的即時動態邊欄上 如果這個[共同的朋友]是你的[老闆],可能就會發生以下文章的案例:
什麼是Facebook Fired?不要在任何地方批評給你薪水的人 包含社交網路 (多則真實案例分享)

2013年2月11日 星期一

基本的 DBus 偵錯技巧

基本的 DBus 偵錯技巧


寫得很好…我覺得dbus就是gtk上的COM/CORBA…裏面提到的d-feet在ubuntu上可以用apt-get安裝

CallGraphviz – call graph visualzer based on csope, graphviz and xdot


同作者的軟體工程小工具,真是太有才啦~~

解压chm后由hhc生成html索引页面

Local val ashttp://blog.csdn.net/delphinew/article/details/4509576

真是太好了,本來想自己寫一個的說…

不過有些處理還是可以再調整一下,我調整過的版如下