Python解析psiBlast输出的JSON文件结果

什么是JSON文件

JSON文件是一种轻量级的数据存储和交换格式,其实质是字典和列表的组合。这在定义生信分析流程的参数文件中具有很好的应用。

{
	"公众号": {
		"名字": "生信宝典", 
		"宗旨": "为生信服务", 
		"正确地打开方式": [
			"阅读", 
			"置顶", 
			"转发"
		]	
	} 
}

在Python中解析JSON是通过如下代码完成的

import json
file_fh = open("test2.json")
ajsonD = json.load(file_fh)
ajsonD
{'公众号': {'宗旨': '为生信服务',  '正确地打开方式': ['阅读',  '置顶',  '转发'],  '名字': '生信宝典'}}
ajsonD['公众号']['名字']
'生信宝典'

什么是PSIBLAST

PSI-BLAST位置特异的迭代搜索工具,输入为位置得分矩阵或多序列比对图谱,搜索匹配到的序列会更新到搜索信息中进行进一步搜索,直到没有新的序列搜索到,常用于发现远同源基因。 (Position-Specific Iterative Basic Local Alignment Search Tool) derives a position-specific scoring matrix (PSSM) or profile from the multiple sequence alignment of sequences detected above a given score threshold using protein–protein BLAST. This PSSM is used to further search the database for new matches, and is updated for subsequent iterations with these newly detected sequences. Thus, PSI-BLAST provides a means of detecting distant relationships between proteins.

著名的TET家族蛋白(哺乳动物主动去甲基化酶, 美国科学院院士Anjana Rao), NgAgo(具体功能存疑,韩主席的工作),Cas家族蛋白(序列分析大牛Eugene V. Koonin的工作)都是通过PSI-BLAST搜索出来的, 可见其强大。

Python解析PSIBLAST的JSON输出结果

BLAST的输出结果可以有多种,在线的配对比较结果,线下常用的表格输出,这次尝试的是JSON的输出,运行命令如下

psiblast -db nr -out Known_CPS.CUI.mfa.psiblast -evalue 0.0001 -outfmt 13 -num_threads 10 -num_iterations 0 -in_msa Known_CPS.CUI.mfa

这次编程的目的是通过解析输出的JSON结果获取匹配的蛋白的名字和序列,JSON文件解析的关键是知道关注的信息在哪个关键字下可以找到,然后需要怎么操作进入到关键字所在数据层,具体操作见如下视频,视频中一步步尝试如何不断试错,解析JSON文件,获得想要的Python脚本和解析结果。

CHENTONG
版权声明:本文为博主原创文章,转载请注明出处。
alipay.png WeChatPay.png

CHENTONG

CHENTONG
积微,月不胜日,时不胜月,岁不胜时。凡人好敖慢小事,大事至,然后兴之务之。如是,则常不胜夫敦比于小事者矣!何也?小事之至也数,其悬日也博,其为积也大。大事之至也希,其悬日也浅,其为积也小。故善日者王,善时者霸,补漏者危,大荒者亡!故,王者敬日,霸者敬时,仅存之国危而后戚之。亡国至亡而后知亡,至死而后知死,亡国之祸败,不可胜悔也。霸者之善著也,可以时托也。王者之功名,不可胜日志也。财物货宝以大为重,政教功名者反是,能积微者速成。诗曰:德如毛,民鲜能克举之。此之谓也。

生信宝典文章集锦

### 程序学习心得* [生物信息之程序学习](http://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247483927&idx=1&sn=23adf2b9d13400f2081f790e674e...… Continue reading

文章用图的修改和排版(2)

Published on September 18, 2017

R语言学习 - 非参数法生存分析

Published on September 17, 2017