舊的MacBookPro5,5,放棄了Ubuntu改裝Fedora(因為比較喜歡Gnome桌面環境,Ubuntu Gnome後來出了一些問題...)。之前要《舊MacBook Pro安裝Ubuntu Gnome後,更新顯示卡驅動 》的動作要重來一次。因為Ubuntu與Fedora兩者差異很大,安裝的方式也相差很多。網路上這篇《Fedora 24/23/22 nVidia Drivers Install Guide》寫的很詳盡,以下是成功的安裝紀錄,指令都用root執行
2016年10月31日 星期一
2016年10月30日 星期日
用遠端桌面連到Fedora的機器
用遠端桌面(Remote Desktop)連Fedora 24。此系統直接進去的桌面環境是Gnome,但遠端連線進去不想要太花俏吃太多資源,所以選擇遠端連線的桌面環境是XFCE。參考bcambl的說明文件《Setup Fedora23 Gnome3 with xRDP via XFCE4》依序執行:
2016年10月29日 星期六
用CE做結構比對
要對齊兩個蛋白質結構,Combinatorial Extension (CE)是其中一種方法。如果只是數個比較,那可以使用網頁版的RCSB PDB Protein Comparison Tool,或是PyMOL裡面內建的cealign指令。但若是要跑很多結構比對,那這樣就必須要下載程式回來自行使用。這個程式到CE其中一位作者Bourne的網頁下面,找到CE Software後下載編譯使用
2016年10月28日 星期五
Windows安裝Python與NumPy
由於Windows並沒有像Mac有MacPorts這樣開源的套件管理工具,所以在安裝Python上面要另外從python.org找軟體來安裝。這篇是2016年的安裝方式,下面的連結則是2017年11月的安裝方式:
建議看上面兩篇的安裝方式即可,後面的方法比較不直覺
建議看上面兩篇的安裝方式即可,後面的方法比較不直覺
Shell一行文:刪除最近產生的檔案
不小心產生一堆檔案,懶得一個一個殺掉,可以用find搭配rm來達成:
- find /tmp/ -type f -user USERNAME -atime -5m -exec rm {} \;
- /tmp/ :存放檔案放置的資料夾
- -type f:想要刪除的只有檔案
- -user USERNAME:檔案擁有者叫做USERNAME
- -atime -5m:五分鐘內產生的檔案
- -exec rm {}:五分刪除前面產生的檔案
- \;:find後面有執行指令都要加入這個
參考資料
_EOF_
Labels:
Bash與Shell命令稿,
find與grep,
SA系統管理
2016年10月27日 星期四
關閉Fedora的交換空間(swap)
不像舊版的Linux,只要把/etc/fstab裡面的swap空間給註記起來就好,新的Fedora(這邊的版本是Fedora 24)想關卻關不掉。《cant diable swap》裡面提到原因:為新的systemd會自動去辨識GPT分割的硬碟上有沒有swap區,有的話就會自動掛上去。裡面也提到解法(假設在/dev/sda4分割區是個交換空間):
- systemctl mask dev-sda4.swap
2016年10月26日 星期三
讓Fedora的筆電闔上後不休眠
在舊的蘋果筆記型電腦MacBookPro5,5安裝了Fedora24當作桌機用,希望螢幕蓋上之後不要進入休眠,設定則是參考《How to disable auto suspend when I close laptop lid?》上EightBitTony的回應:
- 修改 /etc/systemd/logind.conf,加入 HandleLidSwitch=ignore
- 執行 systemctl restart systemd-logind 重新載入設定
2016年10月25日 星期二
使用舊的磁碟管理程式
Mac OS X升級到10.11(El Capitan)之後的磁碟管理程式(Disk Utility)實在爆難用...,想做什麼都不能夠做。所以去挖出10.10(Yosemite)的磁碟管理工具回來用,整個資料夾給複製回來就可以了,然後輸入指令:
在El Capitan上面只能夠用到Yosemite版的磁碟管理程式,如果要換成Mavericks(10.9)的,用上述方式改權限依舊無法使用
_EOF_
- sudo chown -R 0:0 /Applications/Disk\ Utility\ 10.10.app
在El Capitan上面只能夠用到Yosemite版的磁碟管理程式,如果要換成Mavericks(10.9)的,用上述方式改權限依舊無法使用
_EOF_
Labels:
Macintosh,
Storage儲存裝置
2016年10月24日 星期一
把光碟的ISO燒到USB隨身碟上
平常要安裝系統的時候皆需要燒一片光碟片出來,可是通常安裝完以後這片光碟片就沒有用了。這邊介紹將安裝的光碟的ISO燒到USB隨身碟上。安裝之後隨身碟還可以做其他用途~
在這邊介紹用Mac來做這件事:
在這邊介紹用Mac來做這件事:
- diskutil list
- diskutil unmountDisk diskNs1
- diskutil unmountDisk diskNs2 ...
- sudo dd if=ubuntu-16.04.1-desktop-amd64.iso of=/dev/rdiskN bs=4m
- 注意!! 第4個指令of後面接的是rdisk,不是disk
Labels:
Backup備份與轉移,
Macintosh,
SA系統管理,
USB碟與SD卡
2016年10月22日 星期六
R語言中安裝與載入套件(Package)
想要安裝或是更新名叫做 oasis 的套件:
載入套件則會有兩種方式:
若套件已經載入,library與require就會直接跳過而不重新載入。所以想要重新載入,就必須要先卸載這個套件,然後再重新載入:
套件oasis,是用來應用在multipel sclerosis(MS, 多發性硬症)的工具,根據MRI的結果來預測MS對於身體造成損傷的機率。
_EOF_
- install.packages("oasis")
載入套件則會有兩種方式:
- library("oasis")
- require("oasis")
若套件已經載入,library與require就會直接跳過而不重新載入。所以想要重新載入,就必須要先卸載這個套件,然後再重新載入:
- detach(package:oasis)
- require("oasis")
套件oasis,是用來應用在multipel sclerosis(MS, 多發性硬症)的工具,根據MRI的結果來預測MS對於身體造成損傷的機率。
_EOF_
2016年10月21日 星期五
清除R語言的控制台、變數、繪圖區域
在用R寫程式做計算的時候,控制台(Console)上面會累積許多指令與結果
多了會很煩,可以使用下列組合鍵清除控制台:
多了會很煩,可以使用下列組合鍵清除控制台:
- RStudio:Ctrl-L
- Macintosh:Command-Option-L
- Windows:Ctrl-L
2016年10月20日 星期四
Windows備份的0x807800C5問題
在用Windows10內建的備份軟體建立系統映像時,一直出現0x807800C5錯誤訊息、另外還說沒有辦法存取磁碟機,但是已經確定硬碟已經分割並格式化成為NTFS格式
原來是因為此備份硬碟是從Mac上取出,前端會有200MB的EFI磁區。參考這篇《Windows刪除硬碟裡面的EFI磁區》重新分割並格式化後,就可以順利備份了
除了使用系統內建的圖形化備份介面,其實也可以用wbAdmin指令來做
上述指令會把C槽的所有東西都備份到硬碟D裡面,此指令是備份成映象檔而不是硬碟對拷。參考了《Use Windows 10 WBadmin to Create System Image Backup》這篇文章
_EOF_
原來是因為此備份硬碟是從Mac上取出,前端會有200MB的EFI磁區。參考這篇《Windows刪除硬碟裡面的EFI磁區》重新分割並格式化後,就可以順利備份了
除了使用系統內建的圖形化備份介面,其實也可以用wbAdmin指令來做
- Win鍵-R,輸入 cmd,選擇為管理員模式
- wbAdmin start backup -backupTarget:D: -include:C: -allCritical
上述指令會把C槽的所有東西都備份到硬碟D裡面,此指令是備份成映象檔而不是硬碟對拷。參考了《Use Windows 10 WBadmin to Create System Image Backup》這篇文章
_EOF_
Labels:
Backup備份與轉移,
Windows
2016年10月19日 星期三
Windows Subsystem for Linux (WSL)
要在微軟視窗系統(Windows)下面跑Linux程式,除了用虛擬機器、cygwin、wine以外,現在可以用Windows Subsystem for Linux (WSL) 或稱為Bash on Ubuntu on Windows。安裝步驟如下:
- 開啟開發人員模式:
- 點螢幕左下角視窗鍵 > 點"Windows設定"
- 點"更新與安全性"
- 點"開發人員專用"
- 確認開啟開發人員模式
- 安裝Windows Subsystem for Linux (WSL):
- 開啟"命令提示字元"
- 輸入 OptionalFeatures 後按Enter
- 勾選表單內"適用於Linux的Windows子系統(搶鮮版(Beta))"
- 重新啟動電腦
- 再次開啟"命令提示字元"
- 輸入 bash 後按Enter
- 確認閱讀條款輸入 Y 後按Enter
- 設定自己的帳號與密碼 (這邊的帳號密碼與Windows的可以不同)
- 執行 Windows Subsystem for Linux:
- 開啟"命令提示字元" 或是 "PowerShell"
- 輸入 bash 後按Enter
- 開始在Windows內跑Linux
- 用apt-get相關指令安裝各種軟體
- 用Xming來接Linux的圖形化視窗
- 可以直接存取 Windows 裡面的檔案
Labels:
Bash與Shell命令稿,
Linux,
Ubuntu,
Windows
2016年10月18日 星期二
讓Vim用光棒顯示游標所在的那一行
用vim編輯文件的時候,有時候會不知道游標所在的那一行。這時候可以使用光棒,反白所在的那一行。設定只要修改 ~/.vimrc 這個檔案,加入下面三行即可
set background=dark
set cursorline
highlight CursorLine cterm=none ctermbg=LightGray
_EOF_
set background=dark
set cursorline
highlight CursorLine cterm=none ctermbg=LightGray
_EOF_
2016年10月17日 星期一
設定gvim的預設字型與視窗大小
- set guifont=monospace\ 16
- set columns=80
- set lines=36
- colorscheme torte
2016年10月16日 星期日
2016年10月15日 星期六
Windows刪除硬碟裡面的EFI磁區
從Mac換下來的硬碟給Windows使用,會發現硬碟分割前端有著200MB的EFI磁區,使用磁碟管理程式無法刪除。除了另外安裝磁碟管理軟體來刪除以外,也可以用內建於命令列的DiskPart來刪除。
- Win鍵-R,輸入cmd
- 輸入 diskpart
- DISKPART> list disk
- DISKPART> select disk N
- DISKPART> list partition
- DISKPART> clean
- Win鍵-R,輸入diskmgmt.msc
Labels:
Storage儲存裝置,
Windows
2016年10月14日 星期五
R語言中的資料結構
把一堆資料存在一個變數中,根據不同的存放方式,資料結構可以分成下面幾種:
簡單的使用範例可參考《Vector, Array, List and Data Frame in R》
變數的基本資料型態參考《R語言的基本資料型態》
_EOF_
- 向量(Vector):
一堆資料排成一串每筆資料的資料型態都必須一樣
一般會用到的就是浮點數向量、字串向量......
- 矩陣(Matrix):
向量的二維版本,資料型態必須要一樣
- 陣列(Array):
向量的多維版本,資料型態必須要一樣
- 因子(Factor):
跟向量一樣是一堆資料排成一串,但每筆資料會是分類變數(categorical variable),另加入分類名稱彙整資訊
- 串列(List):
跟向量一樣是一堆資料排成一串,但可以是不同資料型態的變數混搭在一起。而且每筆資料可以是向量、矩陣、陣列、甚至是串列。簡單說就像一串列車,每節車廂要塞什麼東西都可以,是最具彈性的資料存放方式。許多統計分析函數回傳值都會是串列
- 資料框架(Data frame):
類似Excel的資料表,每個欄位存放的資料型態必須要一樣、但不同欄位就可以不一樣。一般來說資料從外部存入都會存成資料框架
- 時間序列(Time series):
可以是向量、矩陣、或是陣列,多加入時間的資訊在這個資料結構裡面
簡單的使用範例可參考《Vector, Array, List and Data Frame in R》
變數的基本資料型態參考《R語言的基本資料型態》
_EOF_
2016年10月13日 星期四
R可以計算的距離
計算距離(Distance,或稱相異度Divergence)與相似度(Similarity)有許多方法。在R裡面可以用proxy套件《Registry of proximities》看支援的計算方式。指令如下:
> summary(pr_DB)
* Similarity measures:
Braun-Blanquet, Chi-squared, correlation, cosine, Cramer, Dice, eDice, eJaccard, Fager, Faith, Gower, Hamman,
Jaccard, Kulczynski1, Kulczynski2, Michael, Mountford, Mozley, Ochiai, Pearson, Phi, Phi-squared, Russel, simple
matching, Simpson, Stiles, Tanimoto, Tschuprow, Yule, Yule2
* Distance measures:
Bhjattacharyya, Bray, Canberra, Chord, divergence, DTW, Euclidean, fJaccard, Geodesic, Hellinger, Kullback, Levenshtein, Mahalanobis, Manhattan, Minkowski, Podani, Soergel, supremum, Wave, Whittaker
一般最常用來計算距離的是歐幾里德距離(Euclidean distance),但如果把距離這個概念推廣成兩件事物的差距,就會根據不同的狀況出現各種距離的計算方式。距離與相似度其實是一體兩面的概念,距離近的比較相似、距離遠的比較不相似,因此這個套件會把距離與相似度放在一起。
_EOF_
> summary(pr_DB)
* Similarity measures:
Braun-Blanquet, Chi-squared, correlation, cosine, Cramer, Dice, eDice, eJaccard, Fager, Faith, Gower, Hamman,
Jaccard, Kulczynski1, Kulczynski2, Michael, Mountford, Mozley, Ochiai, Pearson, Phi, Phi-squared, Russel, simple
matching, Simpson, Stiles, Tanimoto, Tschuprow, Yule, Yule2
* Distance measures:
Bhjattacharyya, Bray, Canberra, Chord, divergence, DTW, Euclidean, fJaccard, Geodesic, Hellinger, Kullback, Levenshtein, Mahalanobis, Manhattan, Minkowski, Podani, Soergel, supremum, Wave, Whittaker
一般最常用來計算距離的是歐幾里德距離(Euclidean distance),但如果把距離這個概念推廣成兩件事物的差距,就會根據不同的狀況出現各種距離的計算方式。距離與相似度其實是一體兩面的概念,距離近的比較相似、距離遠的比較不相似,因此這個套件會把距離與相似度放在一起。
_EOF_
2016年10月12日 星期三
2016年10月11日 星期二
蛋白質序列包含PROTEIN本身嗎?
蛋白質是由20種氨基酸所構成的長鏈大分子,每種氨基酸都可以用一個英文字母(1-letter code,參閱此表)所代表。所以,每一條蛋白質序列都可以寫成一串英文字母。那麼,所有的蛋白質序列有包含蛋白質(PROTEIN)本身嗎?
2016年10月10日 星期一
讓R語言的迴圈跑平行處理
R語言中,可以用foreach搭配doMC這兩個套件來完成迴圈的平行化,程式碼如下:
rm(list = ls())
install.packages("foreach")
install.packages("doMC")
library(foreach)
library(doMC)
registerDoMC(4) # Number of CPU cores used in parallel computing
### for loop, using single CPU core ###
df <- data.frame()
for(i in 1:10) {
Sys.sleep(1)
df <- rbind(df, data.frame("value"=i, "quadratic"=i*i, "cubic"=i*i*i))
}
### foreach loop, using single CPU core ###
dfs <- foreach(i=1:10, .combine=rbind) %do% {
Sys.sleep(1)
data.frame("value"=i, "quadratic"=i*i, "cubic"=i*i*i)
}
identical(df, dfs)
### foreach loop, using multiple CPU cores ###
dfp <- foreach(i=1:10, .combine=rbind) %dopar% {
Sys.sleep(1)
data.frame("value"=i, "quadratic"=i*i, "cubic"=i*i*i)
}
identical(df, dfp)
Labels:
Parallel平行處理,
R語言
2016年10月9日 星期日
在R中初始化一個空的data frame
一般來說,在R裡面用到data frame常常會是用read.table從csv檔案抓進來指定給某個型態是data frame的變數。不過有時候我們會希望創造一個空的data frame,而且指定好某些欄位的名稱。參考《Create an empty data.frame》裡面digEmAll的回應,直接輸入:
> df <- data.frame(Doubles=double(),
Ints=integer(),
Factors=factor(),
Logicals=logical(),
Characters=character(),
stringsAsFactors=FALSE)
> str(df)
'data.frame': 0 obs. of 5 variables:
$ Doubles : num
$ Ints : int
$ Factors : Factor w/ 0 levels:
$ Logicals : logi
$ Characters: chr
這邊可以看到這個“空的”變數data frame,有五個欄位,分別叫做Double、Ints、Factors、Logicals與Characters,其資料型態分別是浮點數、整數、factor、邏輯值與字串。
_EOF_
> df <- data.frame(Doubles=double(),
Ints=integer(),
Factors=factor(),
Logicals=logical(),
Characters=character(),
stringsAsFactors=FALSE)
> str(df)
'data.frame': 0 obs. of 5 variables:
$ Doubles : num
$ Ints : int
$ Factors : Factor w/ 0 levels:
$ Logicals : logi
$ Characters: chr
這邊可以看到這個“空的”變數data frame,有五個欄位,分別叫做Double、Ints、Factors、Logicals與Characters,其資料型態分別是浮點數、整數、factor、邏輯值與字串。
_EOF_
2016年10月8日 星期六
R語言的顏色列表
使用R語言的繪圖,常常會遇到要著色卻不知道顏色的名稱為何。其實只要直接輸入下面的指令,就可以找到顏色列表:
或是參考Earl F. Glynn寫的顏色列表(Color Chart),或是點他的PDF檔案(他也有提供程式碼可以自己直接輸出色碼錶)。在此說明幾個常用到的顏色名稱:
- colors()
- colors()[grep("dark",colors())]
- col2rgb("yellow")
- rgb(255, 255, 0, maxColorValue = 255)
- 列出所有顏色的名稱
- 列出含有dark的顏色名稱
- 看黃色的RGB的十進位編碼
- 把RGB編碼轉換色成16進位
或是參考Earl F. Glynn寫的顏色列表(Color Chart),或是點他的PDF檔案(他也有提供程式碼可以自己直接輸出色碼錶)。在此說明幾個常用到的顏色名稱:
2016年10月7日 星期五
找到最接近的數值
有一群從1911到2016的質數,想知道最靠近1975的質數是哪一個
用R語言可以這樣做(粗體是指令,Courier是R回傳的值):
> library("numbers")
> v <- Primes(1911, 2016)
> print(v)
[1] 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011
> your.number <- 2000
> which(abs(v-your.number)==min(abs(v-your.number)))
[1] 11
> print(v[11])
[1] "1999"
在1911到2016這個區間總共有13個質數,最接近2000的是1999
以上程式碼參考Daniel Malter寫的《Find the closest value in a list or matrix》
_EOF_
用R語言可以這樣做(粗體是指令,Courier是R回傳的值):
> library("numbers")
> v <- Primes(1911, 2016)
> print(v)
[1] 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011
> your.number <- 2000
> which(abs(v-your.number)==min(abs(v-your.number)))
[1] 11
> print(v[11])
[1] "1999"
在1911到2016這個區間總共有13個質數,最接近2000的是1999
以上程式碼參考Daniel Malter寫的《Find the closest value in a list or matrix》
_EOF_
2016年10月5日 星期三
模擬Tryptophan cage的分子動態
Tryptophan cage是個人造的蛋白質,長度只有20個氨基酸,序列如下:
Tryptophan cage在一般的環境下會摺疊成固定的立體結構、稱之為Trp-cage motif。立體結構可以從蛋白質結構資料庫的 1L2Y 下載。由於此結構是用NMR解出來的,會有許多相似的結構。下面的Tryptophan cage的分子動態模擬(molecular dynamics simulation)用NMR的第一個結構當作是初始結構(檔案名稱叫做1L2Ym1.pdb),參數設定參考Justin A. Lemkul寫的《GROMACS Tutorial:Lysozyme in Water》,在Mac上面跑模擬。指令如下:
NLYIQ WLKDG GPSSG RPPPS
Tryptophan cage在一般的環境下會摺疊成固定的立體結構、稱之為Trp-cage motif。立體結構可以從蛋白質結構資料庫的 1L2Y 下載。由於此結構是用NMR解出來的,會有許多相似的結構。下面的Tryptophan cage的分子動態模擬(molecular dynamics simulation)用NMR的第一個結構當作是初始結構(檔案名稱叫做1L2Ym1.pdb),參數設定參考Justin A. Lemkul寫的《GROMACS Tutorial:Lysozyme in Water》,在Mac上面跑模擬。指令如下:
- sudo port install gromacs
- port info gromacs
- gmx pdb2gmx -f 1L2Ym1.pdb -o processed.gro -ff oplsaa -water tip4p
- gmx editconf -f processed.gro -o newbox.gro -c -d 1.0 -bt cubic
- gmx solvate -cp newbox.gro -cs tip4p.gro -o solv.gro -p topol.top
- gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
- gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -nname CL -nn 1
選13 SOL - gmx grompp -f minim.mdp -c solv_ions.gro -p topol.top -o em.tpr
- gmx mdrun -nt 4 -v -deffnm em
- gmx grompp -f nvt.mdp -c em.gro -p topol.top -o nvt.tpr
- gmx mdrun -nt 4 -v -deffnm nvt
- gmx grompp -f npt.mdp -c nvt.gro -t nvt.cpt -p topol.top -o npt.tpr
- gmx mdrun -nt 4 -v -deffnm npt
- gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -o md.tpr
- gmx mdrun -nt 4 -v -deffnm md
- gmx trjconv -s md.tpr -f md.xtc -o md_0-1ns_noPBC.xtc -pbc mol -ur compact
選1 Protein - gmx rms -s em.tpr -f md_0-1ns_noPBC.xtc -tu ns -o rmsd.xvg
選4 Backbone、再選4 Backbone - gmx gyrate -s md.tpr -f md_0-1ns_noPBC.xtc -o gyrate.xvg
選1 Protein - gmx trjconv -s md.tpr -f md_0-1ns_noPBC.xtc -o md_0-1ns.pdb
選1 Proteins
訂閱:
文章 (Atom)