Skip to main content

A python service to query the PFAM database through a JSON api.

Project description

[![Stories in Ready](]( pfamserver ==========

This is a PFAM server to deploy in an intranet.


If you want to deploy this service on any GNU/Linux or OSX system you just need to execute:

$ pip install pfamserver

If you want to improve this library, you should download the [github repository]( and execute:

$ make deploy

On Ubuntu Desktop there are some other libraries not installed by default (zlibc curl libssl0.9.8 libbz2-dev libxslt-dev libxml-dev) which may need to be installed to use these library. Use the next command to automate the installation of the additional C libraries:

$ make ubuntu deploy

Also, you need to have the wget package installed and access (username and password) to a mysql database.

Last, if you cloned the repository and you want to create a boot script on Linux you should execute:

$ sudo make create_boot_script


To test all the project you should use the command:

$ make test

If you want to help us or report an issue join to us through the [Github issue tracker](


To run the server you need to execute:

$ DEBUG=True DB=root:root@localhost:3306/pfamserver HOST= PORT=5001 python -m pfamserver

After start, the server it is going to check for new updates at night in background. The update is composed of the download and deployment of the last version of the file Pfam-A.full.gz (approximately 13GB) and download and deployment of all the files inside the database_files folder (approximately 77GB), so be patient it can take a while.

At midnight, when the deploy of the last update is ready (because was runned on background) it should restart the machine. You should ensure the previous command is executed after the server boots up so it should stay update automatically without any human intervention.


A json API is available through [http://localhost:5001/api/](http://localhost:5001/api/), or use the graphical interface to discover some pfams database tables and apply some filters (access to [http://localhost:5001/admin](http://localhost:5001/admin)).

There are some special queries that join multiple tables and accept some specific parameters. This queries respond with a json dictionary with the “query” and “output” keys.

First, it is posible to obtain a list of pfamA registers from a uniprot_id (eg. [http://localhost:5001/api/query/pfam_uniprot/egfr_human](http://localhost:5001/api/query/pfam_uniprot/egfr_human)).

Also, it is available a way to recover a list of PDB registers from a “sequence description” (eg. [http://localhost:5001/api/query/pdb_sequencedescription/egfr_human,57,168](http://localhost:5001/api/query/pdb_sequencedescription/egfr_human,57,168)) where the 3 parameters are a uniprot_id, a seq_start and seq_end inside that uniprot register.

Then, it is accesible an alternative to obtain a small PDB image (base 64 enconded after compressed) from an specific pdb_id (eg. [http://localhost:5001/api/query/pdbimage_pdb/1IVO](http://localhost:5001/api/query/pdbimage_pdb/1IVO)).

Last, it is posible to obtain an MSA in stockholm format through a pfamA_acc or pfamA_id (eg. [http://localhost:5001/api/query/stockholm_pfam/piwi](http://localhost:5001/api/query/stockholm_pfam/piwi)). The output value is zip compressed and then base 64 encoded, to optimize transport over the network.

Please, check [http://localhost:5001/](http://localhost:5001/) for more updated examples.


This software is developed by [LELOIR]( You can contact us to [](

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pfamserver, version 0.0.15
Filename, size File type Python version Upload date Hashes
Filename, size pfamserver-0.0.15.tar.gz (30.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page