通过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(大约13GB),并下载和部署所有文件在^ {EM1}$DabaseEasyfile 文件夹(大约77 GB),所以要耐心,这可能需要一段时间。

午夜,当最后一次更新的部署准备就绪(因为在后台运行)时,它应该重新启动计算机。您应该确保在服务器启动后执行上一个命令,因此它应该保持自动更新,而无需任何人工干预。

示例

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java试图用Mockito模拟IntConsumer失败   java从ArrayList获取一个元素   是否可以调用。。xyz\jdk1。6\bin\java。从jdk1上运行的java程序执行。5\java。exe?   基于连通距离的Kmeans plus聚类算法在java中的应用   java源代码管理是否使Javadoc的@author和@since冗余?   java静态对象引用和非静态对象引用   java如何创建需要动态参数的对象   java试图将字符串添加到一个字符串列表中,但最终将字符串添加到两个字符串列表中。   javacom。凭直觉。ipp。例外Quickbooks中的异常   安全性是对JAR进行模糊处理,足以防止普通最终用户而不是专家黑客理解JAVA代码吗?   scala S3 java API未正确列出文件夹。   java会话超时后重定向到前一个用户上次访问的页面   java Android到excel。jExecl制作0b文件   从jtextfield java GUI向mysql表中插入值   java JMockit和Fest UI测试   单击swing中的add按钮时,java jtextfield从B3001开始递增1