2019年8月30日 星期五

Shell一行文:FASTA核酸序列轉成大寫

要把FASTSA序列檔案通通轉成大寫,最直接的方式用tr指令:
  • cat DEMO.fasta | tr '[:lower:]' '[:upper:]'
但這樣會把開頭是>的註解行也通通轉成大寫,要避免此狀況用下面指令:
  • cat DEMO.fasta | sed '/^[^>]/ y/atcg/ATCG/'

2019年8月26日 星期一

釋放Linux記憶體或交換區的快取

手動釋放指令除了跑benchmark可能會有所影響以外,其實沒什麼好處。首先:
  • sync; sync; sync
完成所有檔案寫入,跑三次只是個人習慣。再來釋放快取有下面三種方式:
  1. echo 1 > /proc/sys/vm/drop_caches
  2. echo 2 > /proc/sys/vm/drop_caches
  3. echo 3 > /proc/sys/vm/drop_caches
以上都用root權限執行,這三個指令的意思分別是:

2019年8月23日 星期五

手動安裝R-3.4.0到指定資料夾

在手動安裝R-3.4.0的時候,因為系統版本太舊,許多函式庫都過舊而不支援;加上並沒有管理者權限,無法使用yum等套件管理程式來升級這些函式庫,故必須要先手動安裝一些所需的函式庫,參考下面幾篇文章:
基本上就是在手動安裝R-3.4.0,在configure階段被提示缺什麼函式庫、或是函式庫太舊就安裝或升級某函式庫。至於R-3.4.0安裝過程如下:

2019年8月22日 星期四

手動安裝libcurl-7.65.3

libcurl是個免費開源的函式庫,自己寫的程式用了他就可以來下載檔案。手動安裝方式如下
$ wget https://curl.haxx.se/download/curl-7.65.3.tar.gz
$ md5 curl-7.65.3.tar.gz 
MD5 (curl-7.65.3.tar.gz) = 08e951e3da639bb4197d52222458b5dd

$ tar zxvf curl-7.65.3.tar.gz && cd curl-7.65.3
$ ./configure --prefix=/YOUR/DESTINATION
$ make -j 16
$ make install

參考資料

_EOF_

2019年8月20日 星期二

列出檔案並根據修改日期排序

機器中了綁架病毒(Ransomware),將所有檔案加密後,檔名後綴.adage。這時候想要知道這隻綁架病毒從什麼時候開始將檔案加密,將檔案依照修改時間排序:
  • find . -name "*.adage" -printf "%T@ %Tc %p\n" | sort -n | tail -5
上述指令的參數說明如下:

2019年8月19日 星期一

手動安裝PCRE-8.43

PCRE是Perl Compatible Regular Expression函式庫,安裝完以後,會有下面三個程式:
  • pcregrep:Perl相容的grep
  • pcretest:測試某個regular expression是否是Perl相容
  • pcre-config:用在編譯其他程式而需要鏈結到PCRE library
安裝的函示庫會有:
  • libpcre.so, libpcre16.so, libpcre32.so:支援一般、16, 32-bit character
  • libpcrecpp.so:應該是pcre給cpp用的函示庫
  • libpcreposix.so

手動安裝到指定資料夾(不需要root權限)如下:

2019年8月16日 星期五

手動安裝xz-5.2.4

xz也是個壓縮檔案的軟體,使用Lempel-Ziv-Markov chain-Algorithm (LZMA)演算法來壓縮。以下是xz相關的連結:
手動安裝方式如下:

2019年8月15日 星期四

手動安裝bzip2-1.0.8

bzip2是由Julian Seward開始發展的壓縮程式,使用的是Burrows–Wheeler algorithm。壓縮完的檔案會後綴.bz2,目前也可用BSD-like license。使用方法如下:
  1. bzip2 FILENAME
  2. cat FILENAME | bzip2 > FILENAME.bz2
  3. bunzip2 FILENAME.bz2
  4. bzcat FILENAME.bz2 > FILENAME
以上的指令1,2是壓縮檔案,後面兩者則是解壓縮。手動安裝法如下:

2019年8月13日 星期二

手動安裝zlib-1.2.11

zlib是非壞性壓縮的函示庫,作者有兩人:
安裝時1.2.9或1.2.10的應該要直接換成1.2.11,安裝過程如下:

2019年8月12日 星期一

Linux檢查程式來自那個套件

在Debian/Ubuntu等這系列使用deb package的,檢查程式所屬套件指令如下:
  • dpkg -S /bin/cat
  • dpkg -S /usr/bin/top
查詢時若沒有用絕對路徑,那上述指令就會把含有這個關鍵字的檔案與指令所屬的套件都列出來。若系統是CentOS/Fedora這一系列使用rpm的,檢查程式所屬套件就要用:

2019年8月9日 星期五

固態硬碟SSD的比較與選擇

固態硬碟(Solid State Disk, SSD)百百種,主要可看其接口與主機板上的插槽:
主機板上的插槽
SATAM.2PCIe
SSD
的類別
(接口)
SATASATA2
SATA3
✖︎✖︎
M.2
B key✖︎
很少見,通道可為
SATA或PCIe x2
✖︎
M key✖︎大多走PCIe通道
通道是PCIe x4
✖︎
B&M key✖︎
大多走SATA通道
SATA2 or SATA3
✖︎
PCIe✖︎✖︎只走PCIe通道
通訊協定可用NVMe
查詢主機板規格表
SATA是那一代
查詢主機板規格表
SATA or PCIe通道
可能需要更新韌體
以支援NVMe

購買時以SSD插槽與接口來選,要確認相容。通常購買的考量如下:

2019年8月6日 星期二

Mac加入VBA寫的Excel巨集

在macOS 10.14.5(Mojava)下,對Excel 2019加入VBA寫的Excel巨集步驟如下:
  1. 開啟Excel並取消隱藏視窗 PERSONAL.xlsx 
  2. 點選 Developer > 點選 Visual Basic

2019年8月5日 星期一

Mac上Excel的PERSONAL.xlsb檔案消失

在macOS10.14(Mojava)上,若是儲存了放置巨集的檔案PERSONAL.xlsb並關閉,再來就找不到PERSONAL.xlsb這個檔案了...。解決方案參考《Excel for Mac can't find Personal Macro Workbook》,步驟如下:
  1. 關閉Excel
  2. 從Finder找到 Go > Go to Folder
  3. 輸入"~/Library/Containers"後按下Go
  4. 找到"com.microsoft.Excel"這個資料夾
  5. 選取上述的資料夾並刪除(Cmd-Del)
_EOF_

2019年8月2日 星期五

Windows上面安裝rJava

使用R語言處理Excel檔,背後會使用Java來轉換資料,其中一項就是rJava。這邊介紹如何在Windows 10上面安裝rJava:
  1. 使用 sessionInfo() 這個指令確認系統安裝R的版本是32-bit or 64-bit
  2. 下載對應32/64 bit的Java JDK;要注意安裝的R與Java的32/64 bit版本必須要一致。這個連結提供了64 bit offline Java的安裝檔

2019年8月1日 星期四

Mac開啟Excel的巨集

這邊介紹的是Excel 2019 for Mac開啟巨集(Macro)的方法。要編輯巨集,必須要把開發人員選項打開,步驟如下:
  1. 打開 Excel > Preference...
  2. 在右上角的搜尋輸入「Ribbon & Toolbar」,點擊進入
  3. 在右邊的「Customize in the Ribbon」裡面找到「Developer
  4. 勾選「Developer」後點選右下角的「Save」