Closed ixxmu closed 7 months ago
上期小果带大家学习了BioPython的基础用法,领略了它的魅力——强大的功能与简单的操作是可以兼得的。今天小果新冠病毒Covid19为例,来做基础的数据探索与蛋白质分析,并且会用到Python蛋白可视化库py3Dmol以及nglview。
Genebank ID:MN908947
Severe acute respiratory syndrome coronavirus 2 isolate Wuhan-Hu-1, co - Nucleotide - NCBI (nih.gov)
选择fasta格式,下载covid19基因组序列,保存文件到工作目录下.
# 加载Biopython包from Bio import SeqIOfor record in SeqIO.parse("sequence.fasta", "fasta"):print(record.id)
小果首先对数据进行探索,了解基因组序列的基本信息。
# 进行本教程的分析ncov_record = SeqIO.read("sequence.fasta", "fasta")
列出了基因组数据的序列、id、名称、描述信息。
将序列保存到一个新的变量ncov_dna。
基因组序列的长度有29903bp
转录(从DNA to mrna),保存到变量ncov_mrna
翻译(从mrna to protein/AA),保存到变量ncov_protein,提示长度不能被3整除,但是对我们的分析无伤大雅。
蛋白质序列。‘*’为终止密码子的标记。
氨基酸的长度为9967.
将蛋白质序列按照终止密码子*划分
将一整条,分为了多条蛋白质或多态。
利用一个循环将Seq格式的蛋白质序列,转换为字符串,并命名为ncov_clean。
调用Python数据分析库Pandas, 将蛋白质序列转换为DataFrame格式。进行下一步分析。
为蛋白序列数据框,定义一个AA数目列count
使用nlargest()函数,得到前十大的蛋白质。最大的蛋白质为2701个氨基酸。
通过loc()函数,得到其氨基酸序列。
通过查询蛋白数据库PDB,可以检索到其名称与结构。
调用collections库,使用Counter()函数,计数前十蛋白质的氨基酸出现频率。L亮氨酸将近是N天冬氨酸的两倍。
还有。。。。探索与分析方法,小伙伴们可以自行去探索。
6LU7: The crystal structure of COVID-19 main protease in complex with an inhibitor N3 (nih.gov)
我们以这个蛋白为例,展示蛋白三维可视化的方法。以及利用BioPython检索蛋白数据库。
pip install nglview
pip install py3Dmol
调用BioPython检索PDB蛋白数据库的命令,PDBParser。
然后得到6LU7蛋白数据与结构命名为structure.
调用py3Dmol库
查询6LU7蛋白。
设置蛋白颜色,并3D可视化。
以上就是用BioPython简单的分析蛋白质思想。
你学会了吗?还请继续关注大海哥,我们下期见~
大海哥还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询~
定制生信分析
服务器租赁
扫码咨询大海哥
往期回顾
01 |
02 |
03 |
04 |
https://mp.weixin.qq.com/s/PsBDemtKpwoEGZh8v_Tr1Q