顯示具有 計算生物學 標籤的文章。 顯示所有文章
顯示具有 計算生物學 標籤的文章。 顯示所有文章

2018年4月16日 星期一

畫譜系圖Pedigree Plot的軟體

不知道譜系圖的,先看一下這部關於薔薇戰爭的說明影片
 
裡面的人物關係可以用譜系圖畫出來:
圖片來自dreadpiratemama
以上圖片來自Henry VI, Part II in dreadpiratemama

2018年4月4日 星期三

《ProDy》分析蛋白質序列與動態

《ProDy》是套自由且開源的Python套件,用來做Protein Dynamics & Sequence Analysis。從首頁進去有下面幾個大的主題:

2018年4月3日 星期二

用Python-3.6.5安裝ProDy-1.9.4

ProDy是一套分析蛋白質動態的軟體。首先《安裝Python-3.6.5到macOS Sierra》。然後用PyPI安裝一些ProDy需要的套件:
  • sudo pip3 install numpy
  • sudo pip3 install scipy
  • sudo pip3 install matplotlib
  • sudo pip3 install biopython
都安裝好以後,然後開始安裝ProDy-1.9.4:
  1. wget https://files.pythonhosted.org/packages/fe/c8/5c8642fd6630f6fe8d3bbca13c3d5f899732893762fa0d114fe863b90cf1/ProDy-1.9.4.tar.gz
  2. shasum -a 256 ProDy-1.9.4.tar.gz
    37a9777c36f49afad1842a59df20f7d5cd735b5500273d42c2988fdbf5391cb7  ProDy-1.9.4.tar.gz
  3. tar zxf ProDy-1.9.4.tar.gz && cd ProDy-1.9.4
  4. python3 setup.py build
  5. sudo python3 setup.py install

2017年1月17日 星期二

統計PDB中蛋白質鍊的長度

只要依序執行下面五個指令就能夠拿到所有protein chains的長度與敘述:
  • wget ftp://ftp.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt
  • grep "mol:protein" pdb_seqres.txt | sed -e's/  /!/' | cut -d'!' -f1 | sed -e's/^>//' | cut -d' ' -f1 > protein_seqres.id
  • grep "mol:protein" pdb_seqres.txt | sed -e's/  /!/' | cut -d'!' -f1 | sed -e's/^>//' | cut -d' ' -f3 | cut -d':' -f2 > protein_seqres.length
  • grep "mol:protein" pdb_seqres.txt | sed -e's/  /!/' | cut -d'!' -f2 > protein_seqres.des
  • paste -d'\t' protein_seqres.id protein_seqres.length protein_seqres.des > protein_seqres.csv

2017年1月16日 星期一

PDB裡面最長和最短的蛋白質序列

依序執行下述指令就知道PDB裡面最長與最短的序列:
  1. wget ftp://ftp.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt
  2. grep -e "mol:protein" -A 1 pdb_seqres.txt | sed '/^--$/d' | grep "^>" | cut -d' ' -f3 | cut -d':' -f2 | sort -n | head -n 1
  3. grep -e "mol:protein" -A 1 pdb_seqres.txt | sed '/^--$/d' | grep "^>" | cut -d' ' -f3 | cut -d':' -f2 | sort -n | tail -n 1
上面的Bash指令意思分別是:
  1. 抓所有PDB的序列(fasta format)
  2. 最短的序列,長度是2
  3. 最長的序列,長度是5037

2017年1月7日 星期六

在Python中使用PyMOL的指令 part II

前一篇《在Python中使用PyMOL的指令》用的PyMOL與Python是MacPorts安裝的,但如果希望使用的是OS X系統本身的Python與從PyMOL買來的版本,用下面的方法來做:
  • 安裝預先編譯好的PyMOL
    這邊的例子是安裝到 /pkg/pymol-v1.8.0.5-Darwin-x86_64
  • 開啟系統的Python(/usr/bin/python)

然後在系統的Python內依序執行:
  1. import sys
  2. sys.path.append('/pkg/pymol-v1.8.0.5-Darwin-x86_64/modules')
  3. from pymol import *
  4. pymol.finish_launching(['pymol', '-cqk'])

2017年1月6日 星期五

在Python中使用PyMOL的指令

PyMOL是個很方便的生物巨分子結構顯示軟體,很方便的就可以載入與使用各種生物巨分子結構。但如果希望能夠用依照某些規則來處理很多結構,那就必須要寫程式。這邊介紹如何在Mac下面使用Python載入PyMOL的指令來寫程式。安裝完MacPorts以後在終端機上輸入:
  • sudo port install pymol
  • /opt/local/bin/python2.7
進入python交談式環境(或是寫在python程式最前面)以後,輸入:
  • from pymol import *
  • pymol.finish_launching(['pymol', '-cqk'])

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月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年11月11日 星期五

統計蛋白質資料庫

蛋白質資料庫(Protein Data Bank,簡稱PDB)上面存放著以蛋白質為主的生物巨分子立體結構資料。首頁顯示 "An Information Portal to 124286 Biological Macromolecular Structures",更多的統計資料可參考《PDB Statistics》。這邊用幾個簡單的指令來分析PDB這個資料庫
  1. wget ftp://ftp.wwpdb.org/pub/pdb/derived_data/pdb_entry_type.txt
  2. TOTAL=`cat pdb_entry_type.txt | wc -l`; echo $TOTAL
  3. head -n 5 pdb_entry_type.txt 
  4. for TYPE in `cat pdb_entry_type.txt | cut -f 2 -d$'\t' | sort | uniq`; do printf "$TYPE "; NUM=`cat pdb_entry_type.txt | cut -f 2 -d$'\t' | grep $TYPE | wc -l`; printf "$NUM "; FRAC=`echo "scale=4; $NUM/$TOTAL" | bc -l`; echo $FRAC; done
  5. for METHOD in `cat pdb_entry_type.txt | cut -f 3 -d$'\t' | sort | uniq`; do printf "$METHOD "; NUM=`cat pdb_entry_type.txt | cut -f 3 -d$'\t' | grep $METHOD | wc -l`; printf "$NUM "; FRAC=`echo "scale=4; $NUM/$TOTAL" | bc -l`; echo $FRAC; done

2016年10月29日 星期六

用CE做結構比對

要對齊兩個蛋白質結構,Combinatorial Extension (CE)是其中一種方法。如果只是數個比較,那可以使用網頁版的RCSB PDB Protein Comparison Tool,或是PyMOL裡面內建的cealign指令。但若是要跑很多結構比對,那這樣就必須要下載程式回來自行使用。這個程式到CE其中一位作者Bourne的網頁下面,找到CE Software後下載編譯使用