python 生物信息學(xué)數(shù)據(jù)管理

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è)柱狀圖


23S 核糖體亞基的核酸數(shù)目.png
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')
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)
blast_result.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容