2016年12月31日 星期六

結構比對後計算RMSD

通常對齊結構後,計算差異的RMSD會根據對到的原子,若想要對齊所有的C-alpha原子,可以用rms_cur這個指令搭配matchmaker這個參數
  • fetch 2lyz
  • fetch 135l
  • split_chains *
  • rms_cur 2lyzA, 135lA
  • rms_cur 2lyzA and n. ca, 135lA and n. ca
  • rms_cur 2lyzA and n. ca, 135lA and n. ca, matchmaker=-1
  • cealign 2lyzA, 135lA
  • rms_cur 2lyzA and n. ca, 135lA and n. ca
  • rms_cur 2lyzA and n. ca, 135lA and n. ca, matchmaker=-1
這邊要注意,rms_cur並不會處理alternate location的問題,所以必須要先刪除alternate locations,刪除方式參考《處理PDB裡面的alternate location》

_EOF_

2016年12月29日 星期四

終端機提示符號外掛Powerline

終端機的命令提示總是醜醜的,現在可以安裝powerline這個外掛,讓命令提示字元更加漂亮。下面介紹的修改Bash的命令提示字元


2016年12月26日 星期一

安裝php5本體與所有的套件

在Ubuntu與Debian這種用deb package安裝系統上面,用下面一個指令就能夠安裝所有php5與相關的套件:
  • sudo apt-get install php5-*
但如果想要除了mysql以外其他的所有套件,可以用下面的指令:
  • sudo apt-get install `apt-cache search php5 | grep ^php5 | cut -f1 -d ' ' | grep -v mysql | tr '\n' ' '`
apt-cache search將所有php5相關的套件列出,用cut -f1 -d ' ' 將套件名稱留下來,再用grep -v mysql將mysql套件給刪掉,最後用tr '\n' ' '`將所有的套件串成一行

_EOF_

2016年12月23日 星期五

GROMACS計算所有C-alpha的距離

參考《模擬Tryptophan cage的分子動態》,做這個蛋白質分子模擬1 ns,最後會得到configuration file "md.tpr"與trajectory file "md.xtc"這兩個檔案。使用pairdist這個指令來計算此蛋白質中任意兩兩C-alpha原子之間的距離,存放在pairdist.xvg這個檔案中:
  • gmx pairdist -s md.tpr -f md.xtc -o pairdist.xvg -ref "group \"C-alpha\"" -refgrouping none -sel "group \"C-alpha\"" -selgrouping none
上面指令的參數意思分別是:
  • md.tp:configuration file
  • md.xtc:trajectory file
  • pairdist.xvg :任意兩兩C-alpha原子之間的距離存放在這邊。參考pairdist的說明,如果reference有N群 (r1, r2 ... rN)、selection有M群 (s1, s2 ... sN),那總共就會有1 + N*M個欄位。第一個欄位是時間,後面接的就是距離r1-s1, r2-s1 ... rN-s1 再來是 r1-s2, r2-s2 ... rN-s2、...、r1-sM, r2-sM ... rN-sM
  • -ref "group \"C-alpha\"":reference points是C-alpha原子
  • -sel "group \"C-alpha\"":比較的對象是C-alpha原子
  • -refgrouping none:把reference group拆成一個一個比較
  • -selgrouping none:把selection group拆成一個一個比較

2016年12月21日 星期三

改xfs檔案系統的標籤(LABEL)

目前一般Linux的檔案系統是ext4,如果要修改某檔案系統的標籤可以用tune2fs。但如果是xfs檔案系統,則必須要用xfs_admin這個指令:
  • 安裝xfsprogs
  • mkfs.xfs /dev/sde2
  • xfs_admin -L TEMP /dev/sde2
  • mount /dev/sde2 /temp
上述指令的意思是:安裝完xfsprogs之後,會有mkfs.xfs可以將sde2這個磁區格式化成xfs filesystem,再用xfs_admin將此磁區的標籤(LABEL)改成TEMP,最後掛載到/temp

_EOF_

2016年12月20日 星期二

Mac的RAID-1開啟自動重建

Mac OS X內建software RAID-1的功能,當用磁碟工具程式(Disk Utility)將兩個硬碟做成RAID-1後,如果忘記從選項裡面增加"Automatically rebuild RAID mirror sets"這個設定,可以用下面的指令將此設定打開:
  • diskutil appleRAID list
  • sudo diskutil appleRAID update AutoRebuild 1 diskN
用第一個指令,找Device Node那一行,可以知道此RAID-1編號N是多少。第二個指令才是將自動重建(Automatically rebuild)的功能給打開。相關設定參考《Q: Changing "Automatically rebuild RAID mirror sets" setting》《OS X將資料碟變成RAID-1(mirror)》

_EOF_

2016年12月19日 星期一

Mac將RAID-1變回JBOD

之前的文章《OS X將資料碟變成RAID-1(mirror)》是將JBOD的硬碟轉成RAID-1,這邊則是反過來操作,將RAID-1變回JBOD:
  • diskutil appleRAID list
  • sudo diskutil appleRAID delete diskN
下完第一個指令,找Device Node那一行可知道RAID-1編號N是什麼,套用到第二個指令,將這個RAID-1變成兩個JBOD的磁碟。因為是RAID-1,所以變回JBOD之後硬碟裡面的資料都還會存在。英文可以參考《How to manage RAID volumes in El Capitan》

_EOF_

2016年12月16日 星期五

用mdadm做RAID-1(mirror)

兩個一樣的硬碟,用mdadm做成RAID-1,用root登入指令如下:
  1. fdisk /dev/sdc
  2. sfdisk -d /dev/sdc | sfdisk /dev/sdd
  3. mdadm -C /dev/md1 -l 1 -n 2 /dev/sd{c,d}1
  4. mdadm --detail --scan >> /etc/mdadm.conf
  5. mkfs.ext4 /dev/md1
  6. tune2fs -L "MD1" /dev/md1
  7. cat "LABEL=MD1 /md1    ext4    defaults    1 2" >> /etc/fstab
  8. mkdir /md1 && mount /md1

2016年12月9日 星期五

Fedora螢幕截圖組合鍵

Fedora可以用下面組合鍵截圖,存到家目錄的圖片裡面:
  • Printscreen:擷取整個螢幕
  • Alt-Printscreen:擷取當下指定的視窗
  • Shift-Preintscren:擷取選取的範圍
如果加上Ctrl,那就是存到剪貼簿(可以在其他程式裡面直接貼上):
  • Ctrl-Printscreen:擷取整個螢幕,存到剪貼簿上
  • Ctrl-Alt-Printscreen:擷取指定的視窗,存到剪貼簿上
  • Ctrl-Shift-Preintscren:擷取選取的範圍,存到剪貼簿上

_EOF_

2016年12月8日 星期四

啟動Apache2的rewrite模組

Apache的rewrite模組可讓網址看起來比較簡潔(參考《【FreeBSD】在 Apache 利用 mod_rewrite 做到網址轉換》)。以下是安裝在Debian下面的Apache2打開rewrite模組的指令:
  • a2enmod rewrite
  • service apache2 restart
第一行指令打開了rewrite模組,其實也就只是在/etc/apache2/mod-enabled/下面用symbolic link連到/etc/apache2/mods-availabe/rewrite.load而已。第二行則是重新啟動apache2。打開以後,還是要另外修改configuration file,像是.htaccess或是httpd.conf這種檔案,參考《啟動 Ubuntu 下的 Apache mod rewrite 與相關設定 》

_EOF_

2016年12月7日 星期三

讓Apache2支援php

架設網頁伺服器,讓使用者可以在自己家目錄的public_html裡面的php程式正確顯示在網頁上,依序執行:
  1. sudo apt-get install apache2 php5 libapache2-mod-php5
  2. 修改 /etc/apache2/mods-enabled/php5.conf,下面的設定要加上#,改成這樣
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_flag engine Off
    #    </Directory>
    #</IfModule>
  3. sudo a2enmod php5 
  4. sudo a2enmod userdir
  5. service apache2 restart

2016年12月2日 星期五

計算核酸的濃度

現有一管single strand RNA (ssRNA)溶液1 mL,裡面的ssRNA重量是10 μg (microgram),序列不知道但長度是41 nucleotides,計算此管ssRNA溶液的濃度:
  • 重量濃度:10 μg / 1 mL = 10 * 10-6 / 10-3 g/L = 10 * 10-3 g/L = 10 mg/L
要計算體積莫耳濃度(molarity, M),需要知道序列的分子量。如果序列已知又會寫Python程式可以參考這篇,不會寫程式的參考《DNA and RNA Molecular Weights and Conversions》,找到"Approximate M.W.'s of Nucleic Acids"這個段落:
  • M.W. of ssRNA = (# nucleotides * 320.5) + 159.0 = (41 * 320.5) + 159.0 = 13299.5 g/mol = 13299.5 Daltons
上面公式是計算ssRNA分子量,如果是single-strand DNA或是double-strand DNA用:
  • M.W. of ssDNA = (# nucleotides * 303.7) + 79.0
  • M.W. of dsDNA = (# nucleotides * 607.4) + 157.9
有了分子量,可以用GraphPad的Molarity Calculator來計算體積莫耳濃度,或用下列公式手動作換算:
  • 體積莫耳濃度:10 μg/mL = 10 mg/L = (10 mg/L) / (13299.5 g/mol)
    ≒ 0.0007519 mmol/L = 0.7519 μmol/L = 751.9 nmol/L = 751.9 nM  ≒ 0.75 μM
_EOF_

2016年12月1日 星期四

根據不同條件排序/etc/passwd

根據UID, GID, username來排序/etc/passwd
  • sort -n -t ':' -k3 /etc/passwd
  • sort -n -t ':' -k4 /etc/passwd
  • sort -t ':' -k1 /etc/passwd
-n 代表用string numeric value排序
-t 代表分隔符號,在passwd檔案裡面分隔符號是:
-k 代表排序根據的欄位,1代表第一欄

_EOF_