博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 生物信息学数据管理,2021-03-05 python 生物信息学数据管理
阅读量:5742 次
发布时间:2019-06-18

本文共 3999 字,大约阅读时间需要 13 分钟。

一、计算胰岛素序列中的氨基酸频率

任务:计算在这条蛋白质序列上20种氨基酸出现的频率是多少?

思考:1、有多少半胱氨酸可以组成二硫键?

2、是否有特殊的非极性残基数目表明存在可跨膜的结构域?

3、是否有大量阳性电荷残基可以参与核酸结合?

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) 是连接不同肽链或同一肽链中,两个不同半胱氨酸残基的巯基的化学键。二硫键是比较稳定的共价键,在蛋白质分子中,起着稳定肽链空间结构的作用。二硫键数目越多,蛋白质分子对抗外界因素影响的稳定性就愈大。

蛋白质序列中跨越细胞膜的区域,通常为α-螺旋结构,约20~25个氨基酸残基构成他的蛋白质的氨基酸大部分是疏水性氨基酸。

非极性氨基酸(疏水氨基酸)共8种:

丙氨酸(Ala);缬氨酸(Val);亮氨酸(Leu);异亮氨酸(Ile);

脯氨酸(Pro);苯丙氨酸(Phe);色氨酸(Trp);蛋氨酸(Met)

极性氨基酸(亲水氨基酸)共14种:

极性不带电荷(中性氨基酸):

甘氨酸(Gly);丝氨酸(Ser);苏氨酸(Thr);半胱氨酸(Cys);

酪氨酸(Tyr);天冬酰胺(Asn);谷氨酰胺(Gln);

硒半胱氨酸(Sec);吡咯赖氨酸(Pyl)

极性带正电荷的氨基酸(碱性氨基酸):

赖氨酸(Lys);精氨酸(Arg);组氨酸(His)

极性带负电荷的氨基酸(酸性氨基酸):

天冬氨酸(Asp);谷氨酸(Glu) 。

二、整合质谱数据,整合到代谢通路中

蛋白质谱技术简单来说就是一种将质谱仪用于研究蛋白质的技术,通过和理论上蛋白质经过胰蛋白酶消化后产生的一级质谱峰图和二级质谱峰图进行比对而鉴定蛋白质。

质谱实验的最终结果应包含研究样本中检测到的肽(即表达结果)的列表,通过特定数据分析软件(如 Mascot http://www.matrixscience.com/ ) ,质谱测定的肽可以与UniProt 序列匹配,使得输出列表可以用 UniProt ID 的形式表示,并通常存储于CSV(用逗号分隔的)文本文件中。

代谢通路(如Reactome https://reactome.org/)

list1 = ['uniprot id1', 'uniprot id2', 'uniprot id3', 'uniprot id4']

list2 = ['某代谢通路包含的蛋白']

# 此问题是求得两个数据集共同包含的蛋白质

common = []

no_in = []

for i in list1:

if i in list2:

common.append(i)

else:

no_in.append(i)

三、在蛋白质序列中搜索磷酸化模体

蛋白质磷酸化:指由蛋白质激酶催化的把ATP的磷酸基转移到底物蛋白质氨基酸残基(丝氨酸、苏氨酸、酪氨酸)上的过程,或者在信号作用下结合GTP,是生物体内一种普通的调节方式,在细胞信号转导的过程中起重要作用。蛋白质磷酸化是调节和控制蛋白质活力和功能的最基本、最普遍,也是最重要的机制。

import re

seq = 'VSVLTMFRYAGWLDRLYMLVGTQLAAIIHGVALPLMMLI'

# [ST]Q : 丝氨酸/苏氨酸磷酸化模体

match = re.search('[ST]Q', seq) # 返回第一个

print(match) #

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)

#

#

四、核糖体的核苷酸频率

创建一个柱状图

9c183dca6d03

23S 核糖体亚基的核酸数目.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] # 坐标轴间距

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')

9c183dca6d03

barplot.png

五、序列比对

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)

9c183dca6d03

blast_result.png

转载地址:http://fdnzx.baihongyu.com/

你可能感兴趣的文章
cvs文件提交冲突解决方案
查看>>
PostgreSQL数据库集群初始化
查看>>
++重载
查看>>
Rainbond 5.0.4版本发布-做最好用的云应用操作系统
查看>>
nodejs 完成mqtt服务端
查看>>
在ASP.NET MVC 中获取当前URL、controller、action
查看>>
Spring IoC容器初的初始化过程
查看>>
sql server 触发器
查看>>
[工具]前端自动化工具grunt+bower+yoman
查看>>
自动化测试之WatiN(2)
查看>>
关于完成生鲜电商项目后的一点总结
查看>>
noip2012 普及组
查看>>
第二阶段 铁大Facebook——十天冲刺(10)
查看>>
Java判断是否为垃圾_Java GC如何判断对象是否为垃圾
查看>>
多项式前k项和java_多项式朴素贝叶斯softmax改变
查看>>
java数组只能交换0下标和n_编程练习-只用0交换排序数组
查看>>
java的maxrow_聊聊pg jdbc statement的maxRows参数
查看>>
centos7安装mysql视频教程_centos7安装mysql(完整)
查看>>
php图片赋值,php如何优雅地赋值
查看>>
dz.27z.co index.php,dz7.2 伪静态规则
查看>>