2016年10月5日 星期三

模擬Tryptophan cage的分子動態

Tryptophan cage是個人造的蛋白質,長度只有20個氨基酸,序列如下:
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上面跑模擬。指令如下:
  1. sudo port install gromacs
  2. port info gromacs
  3. gmx pdb2gmx -f 1L2Ym1.pdb -o processed.gro -ff oplsaa -water tip4p
  4. gmx editconf -f processed.gro -o newbox.gro -c -d 1.0 -bt cubic
  5. gmx solvate -cp newbox.gro -cs tip4p.gro -o solv.gro -p topol.top
  6. gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
  7. gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -nname CL -nn 1    
    選13 SOL
  8. gmx grompp -f minim.mdp -c solv_ions.gro -p topol.top -o em.tpr
  9. gmx mdrun -nt 4 -v -deffnm em
  10. gmx grompp -f nvt.mdp -c em.gro -p topol.top -o nvt.tpr
  11. gmx mdrun -nt 4 -v -deffnm nvt
  12. gmx grompp -f npt.mdp -c nvt.gro -t nvt.cpt -p topol.top -o npt.tpr
  13. gmx mdrun -nt 4 -v -deffnm npt
  14. gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -o md.tpr
  15. gmx mdrun -nt 4 -v -deffnm md
  16. gmx trjconv -s md.tpr -f md.xtc -o md_0-1ns_noPBC.xtc -pbc mol -ur compact
    選1 Protein
  17. gmx rms -s em.tpr -f md_0-1ns_noPBC.xtc -tu ns -o rmsd.xvg
    選4 Backbone、再選4 Backbone
  18. gmx gyrate -s md.tpr -f md_0-1ns_noPBC.xtc -o gyrate.xvg
    選1 Protein
  19. gmx trjconv -s md.tpr -f md_0-1ns_noPBC.xtc -o md_0-1ns.pdb
    選1 Proteins

2016年9月30日 星期五

Python的匿名函式lambda

在Python中,一般的函式在使用前必須要先用def定義這個函式的內容,參考《簡單的Python函式》。但平常在用的時候,有時只是在程式碼內臨時需要一個函式而已,並不想要另外在外面多定義一個函式,這個時候就可以使用匿名函式,在Python裡面用lambda expression來完成此功能。

這邊用計算single strand DNA (ssDNA)序列 atgcatgcatgcatgcatgcatgcatgc 的分子量為例子,粗體是輸入的指令、Courier字型則是電腦給的回應

Step 1:啟動Python
$ python3.4
Python 3.4.4 (default, Mar  2 2016, 03:31:27) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Step 2:輸入序列,這邊輸入小寫,讓python用字串功能upper轉成大寫(使用方法參考《Python內建的字串處理功能》
>>> str='atgcatgcatgcatgcatgcatgcatgc'
>>> str=str.upper()
>>> str
'ATGCATGCATGCATGCATGCATGCATGC'

Step 3:用lambda expression來給一個函式,計算ssDNA的分子量,計算公式參考ThermoFisher的《DNA and RNA Molecular Weights and Conversions》
>>> mw = lambda An, Tn, Cn, Gn: (An * 313.2) + (Tn * 304.2) + (Cn * 289.2) + (Gn * 329.2) + 79.0
>>> mw(str.count('A'), str.count('T'), str.count('C'), str.count('G'))
8729.6

上面的str.count... 是計算字串裡面某個字元出現的個數,這邊可以知道這條ssDNA atgcatgcatgcatgcatgcatgcatgc 的分子量約莫是 8729 g/mol、約莫是8.7 kDa

_EOF_

2016年9月22日 星期四

用Ginger檢查文法

英文寫作對於母語並非英美語的人來說,要找出文法錯誤有時候很困難。Ginger這個網頁可以輸入一句英文,線上檢查是否有文法錯誤,並且能錯誤修正。可以挑出來的錯誤有
  • 主詞動詞一致性
  • 單複數
  • 名詞連名詞
  • 錯字修正
  • 語境拼字修正
  • 不規則動詞變化也能修正
除了網頁以外,還有Windows軟體瀏覽器extensionAndroid appiOS app。但似乎是要收費,而且Mac沒有專用軟體只能夠用瀏覽器extension

剛剛才知道原來文法(grammar)指的是關於語言要如何書寫與口說,至於文字符號形體的規範與使用叫做正寫法orthography)。所以說,寫錯別字拼錯字應該不能算是文法錯誤,而是後面那種不知道應該要如何稱呼的錯誤~

_EOF_

2016年9月12日 星期一

SPEC CPU® 2006簡介

SPEC CPU® 2006是個用來測試CPU效能的標準,裡面包含了兩種基準:

2016年9月9日 星期五

檢查磁碟陣列卡上硬碟的狀態

當硬碟是直接接到主機板的SATA插槽時,可以用 hdparm 與 smartctl 直接檢查其狀態,參考《檢查硬碟的狀態》。但若是硬碟是接在磁碟陣列卡(RAID card)上面的時候,就沒辦法直接這樣檢查。下面介紹以3ware 9650SE 這張RAID card為例子來介紹如何使用smartctl來檢查每個硬碟的狀態
  • smartctl -i -d 3ware,10 /dev/twa0
  • smartctl -H -d 3ware,10 /dev/twa0
  • smartctl -a -d 3ware,10 /dev/twa0
在這邊 twa0 代表的是3ware這張卡的controller number,若有兩張卡,那就會是twa0twa1 而前面的10代表的是這張卡上面的port number。