2016年11月5日 星期六

在Mac上安裝BLAST

在自己的Mac主機上跑BLAST,用下面的指令來安裝在/pkg資料夾下:
  1. cd /pkg
  2. wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.5.0/ncbi-blast-2.5.0+-x64-macosx.tar.gz
  3. tar zxf ~/Sources/ncbi-blast-2.5.0+-x64-macosx.tar.gz
  4. tree ncbi-blast-2.5.0+/

2016年11月4日 星期五

Bash讀檔案一次讀一行

如果一行裡面沒有空格,可以用for;要不然就用while。比較下面指令的差別:
  • for WORD in `cat /etc/passwd`; do echo $WORD; done
  • cat /etc/passwd | while read -r LINE; do echo $LINE; done
     
  • for WORD in `cat /etc/hosts`; do echo $WORD; done
  • cat /etc/hosts | while read -r LINE; do echo $LINE; done

_EOF_

2016年11月3日 星期四

R語言比較兩個vectors的差異

假設有兩個向量(vectors),分別叫做q與t,想要知道這兩個向量是不是一樣,進一步想要知道哪邊不一樣可以用下面的指令:
  1. identical(q, t)
  2. unique(q)
  3. unique(t)
  4. unique(q) %in% unique(t)
  5. unique(t) %in% unique(q)

2016年11月1日 星期二

根據某欄來篩選R的資料框架

R的資料框架(data frame)像是Excel裡面的資料表,參考《操作R的資料框架(Data frame)》。假設現在要根據某欄位來篩選出新的資料表,可以用subset來達成

  • df <- read.csv(file="YOUR_DATA.csv")
  • df_sub <- subset(df, df$columnName %in% aVector)

第一行指令是從CSV格式的檔案讀取工作表到df裡面
第二行指令是說,根據df工作表裡面的columnName這個欄位去查aVector,如果有的話就留下來,沒有的話就刪除。

_EOF_