通过json api查询pfam数据库的python服务。
pfamserver的Python项目详细描述
[![故事就绪](https://badge.waffle.io/ecolell/pfamserver.png?label=ready&title=Ready)](https://waffle.io/ecolell/pfamserver) pfamserver服务器 =
这是一个在内部网中部署的PFAM服务器
要求
如果要在任何gnu/linux或osx系统上部署此服务,只需执行:
$ pip install pfamserver
如果您想改进这个库,应该下载[github repository](https://github.com/ecolell/pfamserver)并执行:
$ make deploy
在Ubuntu桌面上有一些其他的库在默认情况下没有安装(zlibc curl libssl0.9.8 libbz2 dev libxslt dev libxml dev),可能需要安装这些库才能使用这些库使用下一个命令自动安装其他C库:
$ make ubuntu deploy
此外,还需要安装wget包并访问mysql数据库(用户名和密码)。
最后,如果克隆了存储库并希望在Linux上创建引导脚本,则应执行:
$ sudo make create_boot_script
测试
要测试所有项目,应使用以下命令:
$ make test
如果您想帮助我们或通过[github issue tracker](https://github.com/ecolell/pfamserver/issues)向我们报告问题连接。
运行
要运行需要执行的服务器:
$ DEBUG=True DB=root:root@localhost:3306/pfamserver HOST=0.0.0.0 PORT=5001 python -m pfamserver
启动后,它将在夜间后台检查新更新的服务器更新包括下载和部署文件的最后版本:{EM1}$$FAM-A.Ful.GZ
午夜,当最后一次更新的部署准备就绪(因为在后台运行)时,它应该重新启动计算机。您应该确保在服务器启动后执行上一个命令,因此它应该保持自动更新,而无需任何人工干预。
示例
json API可以通过[http://localhost:5001/api/](http://localhost:5001/api/获得,也可以使用图形界面来发现一些pfams数据库表并应用一些过滤器(访问[http://localhost:5001/admin](http://localhost:5001/admin)
有一些特殊查询连接多个表并接受某些特定参数此查询使用带有“query”和“output”键的json字典进行响应
首先,可以从uniprot id中获取pfamA寄存器的列表(例如.[http://localhost:5001/api/query/pfam_uniprot/egfr_human](http://localhost:5001/api/query/pfam_uniprot/egfr_human)
此外,它还提供了一种从“sequence description”(例如,[http://localhost:5001/api/query/pdb_sequencedescription/egfr_human,57,168](http://localhost:5001/api/query/pdb_sequencedescription/egfr_human,57,168)中恢复PDB寄存器列表的方法,其中3个参数是uniprot id、aseq start和该uniprot寄存器中的seq end
然后,可以从特定的pdb id(例如.[http://localhost:5001/api/query/pdbimage_pdb/1IVO](http://localhost:5001/api/query/pdbimage_pdb/1IVO)获取small pdb图像(压缩后编码为base 64)。
最后,可以通过pfamA acc或pfamA id(例如.[{a9})获得斯德哥尔摩格式的MSAoutput值是zip compressed,然后是base 64 encoded,以优化网络上的传输。
请检查[http://localhost:5001/](http://localhost:5001/)以获取更多更新的示例。
关于
这个软件是由[leloir](http://leloir.org.ar/)开发的。您可以联系我们[eloy.colell@gmail.com](mailto:eloy.colell@gmail.com)