2017年10月31日 星期二

Charles Zaiontz介紹用Excel做統計分析

Charles Zaiontz的網站Real Statistics Using Excel標榜著提供所有用Excel做統計的東西(Everything you need to do real statistical analysis using Excel),網站主題有:
_EOF_

2017年10月25日 星期三

2017年10月24日 星期二

用needle與water做序列比對

要比較兩條序列(pairwise sequence alignment),最常用的兩種方法:
  1. Needleman-Wunsch algorithm:做全域比對(global alignment)
  2. Smith-Waterman algorithm:做區域比對(local alignment)
要做也很簡單,只要安裝EMBOSS(The European Molecular Biology Open Software Suite),就會內建needlewater兩個程式。只要準備好兩條用fasta格式寫的序列a.fasta與b.fasta,使用下面的指令即可,結果會輸出到global.needlelocal.water這兩個檔案:
  1. needle -asequence a.fasta -bsequence b.fasta -auto -outfile global.needle
  2. water -asequence a.fasta -bsequence b.fasta -auto -outfile local.water
這邊-auto代表gap penalty相關的參數都用預設值。
若要直接輸出到標準輸出,那就將-outfile改成-stdout
  1. needle -asequence a.fasta -bsequence b.fasta -auto -stdout
  2. water -asequence a.fasta -bsequence b.fasta -auto -stdout
_EOF_

2017年10月23日 星期一

Christopher Olah介紹類神經網路

類神經網路(Neural Networks,簡稱NN)是機器學習的其中一種方法,此colah's blog的作者Christopher Olah提供許多類神經網路原理與應用的介紹,包含了:

2017年10月22日 星期日

find加xargs來處理檔案

用find找到檔案後,再用xargs來處理檔案:
  1. find . -type f | xargs -n1 md5
  2. find . -type f | xargs -n1 -t md5
  3. find . -type f | xargs -n1 -p md5
上面三個指令都一樣,計算所在資料夾下面檔案的MD5雜湊值。差別就是-t可以看到執行前的指令,-p是執行每個指令前都會問要不要做。

2017年10月21日 星期六

用xargs自動計算最近下載檔案的雜湊值

前一篇提到用find抓最近幾分鐘下載的檔案,但如果已經知道最近下載的檔案個數,那麼只要用xargs即可,以下以PyMOL 2.0.4為例子:
  • ls -rt | tail -n 3 | xargs md5 
    MD5 (PyMOL-2.0.4_0-MacOS.dmg) = 9789f30a092787d66440f7c4dbb7b29a
    MD5 (PyMOL-2.0.4_1-Linux-x86_64.tar.bz2) = 16bb8d78e46615fcbd47f96eb9763298
    MD5 (PyMOL-2.0.4_0-Windows-x86_64.exe) = 2dedb7efb6f03a4820791b5bbfd71453
  • ls -rt | tail -n 3 | xargs shasum -a 256
    8b9733b75058f4a892effd0ae1c61f09ae6959633565276d7c60b9577dda0b4c  PyMOL-2.0.4_0-MacOS.dmg
    a0180fac31042803db464474916c4a4fa4714e4569a3bf28c9d0160995a93c12  PyMOL-2.0.4_1-Linux-x86_64.tar.bz2

    bb3237c47938979c7204c3389f1fe4d970daeae10089cd720048cf658c43942c  PyMOL-2.0.4_0-Windows-x86_64.exe
上述的指令就是計算當前目錄下最近的3個檔案的雜湊值。更多xargs的使用搜尋“xargs 使用”就可以找到各種有趣的使用方式~

_EOF_

2017年10月20日 星期五

用find幫最近下載的檔案計算雜湊值

在Mac的系統下,在網路上同時下載了多個檔案到~/Download底下,用下面的指令就可以計算15分鐘內下載的每個檔案的MD雜湊值:
  • find ~/Downloads -mmin -15 -exec md5 {} \;

2017年10月19日 星期四

用Karabiner改變Mac的鍵盤佈局

要改變鍵盤佈局(keyboard remapping),在Mac上面可以用Karabiner。這個App在10.x版本前叫做Karabiner,在11.x之後叫做Karabiner Elements(會有這個大改版是因為macOS Sierra的核心架構有所改變)。舊版的設定可以參照重新配置Mac的鍵盤佈局這篇文章;新版的Karabiner Elements設定看此說明文件
  • 設定key to another key有圖形介面
  • 設定Complex Modification也有圖形介面,可以設定像是
    • Modifier flags + key to keys
    • Key to modifier flags + keys
    • Post other key events when a key pressed alone
    • Change keys in specific apps
    • Execute shell command
  • 選擇輸入裝置:例如說外接鍵盤後,將筆電的鍵盤給關掉
  • 直接選擇鍵盤樣式(keyboard type),有ANSI、ISO、JIS三種
  • 舊的iMac鍵盤(1999年)裝上去功能鍵都可以直接使用
_EOF_

2017年10月18日 星期三

Linux的網路開機流程

在本地端機器沒有安裝系統的情況下,透過網路的伺服器提供的服務來開機,此過程叫做網路開機(netbooting)。流程請參考Netbooting on POWER - An Introduction
  1. 本機詢問動態IP(Dynamic IP discovery)
    DHCP伺服器給予動態IP(Dynamic IP response)
  2. 本機請求開機啟動程式(Request for grub2, grub2是一種boot loader)
    TFTP伺服器給予開機啟動程式(Deliver grub2 binary)
  3. 本機請求開機啟動設定檔(Request for grub2.cfg)
    TFTP伺服器給予開機啟動設定檔(Deliver grub.cfg file)
  4. 本機請求kernelinitrd(Request kernel/initrd)
    檔案伺服器給予kernel與initrd
  5. 本機請求與接收其他安裝內容(Request and deliver installer content)

2017年10月17日 星期二

Mac的網路開機

Macintosh可以從網路開機,這時候在同個區域網路裡面必須要有一台Macintosh安裝OS Server並開啟Netinstall功能,這樣才能夠提供網路開機。OS Server有下列三種映像檔:
  • NetInstall Image:用此映像檔,網路開機後,會直接進入安裝程式,然後再開始安裝系統到本地端的硬碟上
  • NetBoot Image:用此映像檔,網路開機後,本地端的硬碟將不會用到,而是根據NetBoot映像檔裡面的資料來開機。請注意這樣開機後所有的系統都是透過網路過來的,要是網路不夠快的話本地端機器運作上會很卡
  • NetRestore Image:用此映像檔,網路開機後,本地端的硬碟將會被NetRestore映像檔給蓋過去。這是一種快速安裝系統到本地端的方法

2017年10月16日 星期一

2017年10月15日 星期日

免費資源網路社群

在網路上面找免費軟體、免費空間、免費圖示、免費字形等等,除了用搜尋引擎根據一些關鍵字慢慢地找以外,也可以到這個網站來找:

2017年10月11日 星期三

Windows上檢查MD5等雜湊值(hash)

在Windows上面要計算下載檔案的雜湊值 (hash value),可以使用由Nir Sofer開發的HashMyFiles這個圖形化程式,使用上只要把要計算的檔案拖到 HashMyFiles,程式就會自動計算此檔案雜湊值,如下圖所示:
 

2017年10月10日 星期二

Gordon Cheng介紹台灣電力與能源

要了解台灣電力,Gordoncheng提供許多專業的文章,目前有三個部落格:
  1. Gordoncheng's Blog:最初的blog,文章從2010七月開始、到2017年十月
    介紹台灣電業的歷史與電力系統介紹,另外還會比較世界各國電業
  2. Gordoncheng's 2nd Blog:第二個blog,文章從2013三月開始
    專門提供電業新聞報導的原文連結
  3. GordonChengs's Blog-cont.:第三個blog,文章從2017一月開始
    這是因為最初的那個網站容量已滿,用來放新的文章
這位先生以前服務過台電的電力調度處,是位已退休的台電人~

2017年10月9日 星期一

R的管線%>%與管線套件magrittr

在shell script裡面,可以用 | 來把前面的指令輸出的結果給後面指令使用;在R裡面可以使用 %>% 達成。例如說:
  1. y <- c(0, 4, 2, 8, 2, 5, 7, 5, 4, 3, 5, 5, 0, 2, 9, 6, 2, 7, 8, 5)
    [1] 0 4 2 8 2 5 7 5 4 3 5 5 0 2 9 6 2 7 8 5
  2. sort(unique(unlist(y)))
    [1] 0 2 3 4 5 6 7 8 9
  3. y %>% unlist %>% unique %>% sort
    [1] 0 2 3 4 5 6 7 8 9
  4. y %>%
    unlist %>%
    unique %>%
    sort

    [1] 0 2 3 4 5 6 7 8 9
指令1指定y是一個數列,指令2, 3, 4的意思其實都是一樣的,把數列裡面單獨出現的數字拿出來依照大小排好,但指令4就比2要容易閱讀,也不容易算錯小括號。

2017年10月8日 星期日

R一行文:if-else變形

如同《Python一行文:if-else變形》,簡單的if-else判斷在R語言也可以寫成一行文,請見下列範例:
  1. x <- 5
  2. ifelse(x > 0, 'Positive', 'Negative or Zero')
    [1] "Positive"
  3. x <- -1
  4. ifelse(x > 0, 'Positive', 'Negative or Zero')
    [1] "Negative or Zero"
使用的語法:ifelse(test, yes, no)
  • test:可以判斷是非的物件
  • yes:當test測出來是TRUE,回傳的值
  • no:當test測出來是FALSE,回傳的值
_EOF_

2017年10月7日 星期六

R套件:corrplot

R的corrplot套件可將相關矩陣(correlation matrix)、信賴區間(confidence interval)圖形化,也能做矩陣重排(matrix reordering)。下圖為一個correlation matrix:
上圖只要輸入程式碼:
  1. library(corrplot)
  2. M <- cor(mtcars)
  3. corrplot.mixed(M, lower="pie", upper="circle")

2017年10月6日 星期五

2017年10月5日 星期四

《Space Oddity》

這位加拿大太空人叫Chris Hadfield,歌曲5m30s
改編自David Bowie's Space Oddity

2017年10月4日 星期三

介紹alchemistry的網站

Alchemistry.org介紹如何用電腦計算得到自由能的網站,認為這是現在鍊金術(modern alchemy)網站包含了下面幾個主題: