2021/03/05
一、計(jì)算胰島素序列中的氨基酸頻率
任務(wù):計(jì)算在這條蛋白質(zhì)序列上20種氨基酸出現(xiàn)的頻率是多少?
思考:1、有多少半胱氨酸可以組成二硫鍵?
???2、是否有特殊的非極性殘基數(shù)目表明存在可跨膜的結(jié)構(gòu)域?
???3、是否有大量陽(yáng)性電荷殘基可以參與核酸結(jié)合?
insulin = 'GlVEQCCTSICSLYQLENYCNFVNQHLCGSHLVEALYLVCGERGFFYTPKT'
amino_acid = 'ACDEFGHIKLMNPQRSTVWY'
for aa in amino_acid:
number = insulin.count(aa)
print(aa, number)
coden_table = {
'GCU': 'Ala', 'GCC': 'Ala', 'GCA': 'Ala', 'GCG': 'Ala',
'CGU': 'Arg', 'CGC': 'Arg', 'CGA': 'Arg', 'CGG': 'Arg', 'AGA': 'Arg', 'AGG': 'Arg',
'UCU': 'Ser', 'UCC': 'Ser', 'UCA': 'Ser', 'UCG': 'Ser', 'AGU': 'Ser', 'AGC': 'Ser',
'AUU': 'Ile', 'AUC': 'Ile', 'AUA': 'Ile',
'UUA': 'Leu', 'UUG': 'Leu', 'CUU': 'Leu', 'CUC': 'Leu', 'CUA': 'Leu', 'CUG': 'Leu',
'GGU': 'Gly', 'GGC': 'Gly', 'GGA': 'Gly', 'GGG': 'Gly',
'GUU': 'Val', 'GUC': 'Val', 'GUA': 'Val', 'GUG': 'Val',
'ACU': 'Thr', 'ACC': 'Thr', 'ACA': 'Thr', 'ACG': 'Thr',
'CCU': 'Pro', 'CCC': 'Pro', 'CCA': 'Pro', 'CCG': 'Pro',
'AAU': 'Asn', 'AAC': 'Asn',
'GAU': 'Asp', 'GAC': 'Asp',
'UGU': 'Cys', 'UGC': 'Cys',
'CAA': 'Gln', 'CAG': 'Gln',
'GAA': 'Glu', 'GAG': 'Glu',
'CAU': 'His', 'CAC': 'His',
'AAA': 'Lys', 'AAG': 'Lys',
'UUU': 'Phe', 'UUC': 'Phe',
'UAU': 'Tyr', 'UAC': 'Tyr',
'AUG': 'Met',
'UGG': 'Trp',
'UAG': 'Ter', 'UGA': 'Ter', 'UAA': 'Ter'
}
coden_trans = {
'Ala': 'A', 'Arg': 'R', 'Asn': 'N', 'Asp': 'D', 'Cys': 'C', 'Gln': 'Q',
'Glu': 'E', 'Gly': 'G', 'His': 'H', 'Ile': 'I', 'Leu': 'L', 'Lys': 'K',
'Met': 'M', 'Phe': 'F', 'Pro': 'P', 'Ser': 'S', 'Thr': 'T', 'Trp': 'W',
'Tyr': 'Y', 'Val': 'V', 'Ter': 'X'}
??二硫鍵(disulfide bond) 是連接不同肽鏈或同一肽鏈中,兩個(gè)不同半胱氨酸殘基的巰基的化學(xué)鍵。二硫鍵是比較穩(wěn)定的共價(jià)鍵,在蛋白質(zhì)分子中,起著穩(wěn)定肽鏈空間結(jié)構(gòu)的作用。二硫鍵數(shù)目越多,蛋白質(zhì)分子對(duì)抗外界因素影響的穩(wěn)定性就愈大。
??蛋白質(zhì)序列中跨越細(xì)胞膜的區(qū)域,通常為α-螺旋結(jié)構(gòu),約20~25個(gè)氨基酸殘基構(gòu)成他的蛋白質(zhì)的氨基酸大部分是疏水性氨基酸。
非極性氨基酸(疏水氨基酸)共8種:
??丙氨酸(Ala);纈氨酸(Val);亮氨酸(Leu);異亮氨酸(Ile);
??脯氨酸(Pro);苯丙氨酸(Phe);色氨酸(Trp);蛋氨酸(Met)
極性氨基酸(親水氨基酸)共14種:
??極性不帶電荷(中性氨基酸):
????甘氨酸(Gly);絲氨酸(Ser);蘇氨酸(Thr);半胱氨酸(Cys);
????酪氨酸(Tyr);天冬酰胺(Asn);谷氨酰胺(Gln);
????硒半胱氨酸(Sec);吡咯賴氨酸(Pyl)
??極性帶正電荷的氨基酸(堿性氨基酸):
????賴氨酸(Lys);精氨酸(Arg);組氨酸(His)
??極性帶負(fù)電荷的氨基酸(酸性氨基酸):
????天冬氨酸(Asp);谷氨酸(Glu) 。
二、整合質(zhì)譜數(shù)據(jù),整合到代謝通路中
??蛋白質(zhì)譜技術(shù)簡(jiǎn)單來(lái)說(shuō)就是一種將質(zhì)譜儀用于研究蛋白質(zhì)的技術(shù),通過(guò)和理論上蛋白質(zhì)經(jīng)過(guò)胰蛋白酶消化后產(chǎn)生的一級(jí)質(zhì)譜峰圖和二級(jí)質(zhì)譜峰圖進(jìn)行比對(duì)而鑒定蛋白質(zhì)。
??質(zhì)譜實(shí)驗(yàn)的最終結(jié)果應(yīng)包含研究樣本中檢測(cè)到的肽(即表達(dá)結(jié)果)的列表,通過(guò)特定數(shù)據(jù)分析軟件(如 Mascot http://www.matrixscience.com/ ) ,質(zhì)譜測(cè)定的肽可以與UniProt 序列匹配,使得輸出列表可以用 UniProt ID 的形式表示,并通常存儲(chǔ)于CSV(用逗號(hào)分隔的)文本文件中。
??代謝通路(如Reactome https://reactome.org/)
list1 = ['uniprot id1', 'uniprot id2', 'uniprot id3', 'uniprot id4']
list2 = ['某代謝通路包含的蛋白']
# 此問(wèn)題是求得兩個(gè)數(shù)據(jù)集共同包含的蛋白質(zhì)
common = []
no_in = []
for i in list1:
if i in list2:
common.append(i)
else:
no_in.append(i)
三、在蛋白質(zhì)序列中搜索磷酸化模體
??蛋白質(zhì)磷酸化:指由蛋白質(zhì)激酶催化的把ATP的磷酸基轉(zhuǎn)移到底物蛋白質(zhì)氨基酸殘基(絲氨酸、蘇氨酸、酪氨酸)上的過(guò)程,或者在信號(hào)作用下結(jié)合GTP,是生物體內(nèi)一種普通的調(diào)節(jié)方式,在細(xì)胞信號(hào)轉(zhuǎn)導(dǎo)的過(guò)程中起重要作用。蛋白質(zhì)磷酸化是調(diào)節(jié)和控制蛋白質(zhì)活力和功能的最基本、最普遍,也是最重要的機(jī)制。
import re
seq = 'VSVLTMFRYAGWLDRLYMLVGTQLAAIIHGVALPLMMLI'
# [ST]Q : 絲氨酸/蘇氨酸磷酸化模體
match = re.search('[ST]Q', seq) # 返回第一個(gè)
print(match) # <re.Match object; span=(21, 23), match='TQ'>
print(match.start(), match.end()) # 21 23
match = re.findall('[ST]Q', seq) # ['TQ']
print(match)
seq = 'VSVLTMFRYAGWLDRLYMLVGTQLAAIIHGSQLPLMMLI'
for i in re.finditer('[ST]Q', seq):
print(i)
# <re.Match object; span=(21, 23), match='TQ'>
# <re.Match object; span=(30, 32), match='SQ'>
四、核糖體的核苷酸頻率
創(chuàng)建一個(gè)柱狀圖

from pylab import figure, title, xlabel, ylabel, xticks, bar, legend, axis, savefig
nucleotides = ['A', 'G', 'C', 'U']
counts = [[606, 1024, 759, 398], [762, 912, 639, 591]]
figure()
title('RNA nucleotides in the ribosome')
xlabel('RNA') # x軸 變量名
ylabel('base count') # y軸 變量名
x1 = [2.0, 4.0, 6.0, 8.0]
x2 = [x - 0.5 for x in x1] # 坐標(biāo)軸間距
xticks(x1, nucleotides)
bar(x1, counts[1], width=0.5, color="#cccccc", label="E.coli 23S")
bar(x2, counts[0], width=0.5, color="#808080", label="T.thermophilus 23S")
legend()
axis([1.0, 9.0, 0, 1200])
savefig('barplot.png')

五、序列比對(duì)
wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.11.0/ncbi-blast-2.11.0+-x64-linux.tar.gz
tar -zxvf ncbi-blast-2.11.0+-x64-linux.tar.gz
echo "export PATH=/home/user/blast/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
blastn -version
import os
commond = 'blastn -db hg19.fa -query example_fasta.txt -evalue 1e-5
-perc_identity 100 -task megablast -out result.blast
-outfmt "7 qacc sacc evalue sstart send" '
os.system(commond)
