Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

No project description provided

Project description


Coverage Status Documentation Status PyPI version


synthaser parses the results of a batch NCBI conserved domain search and determines the domain architecture of secondary metabolite synthases.


Install from PyPI using pip:

$ pip install --user synthaser

or clone the repo and install locally:

$ git clone
$ cd synthaser
$ pip install -e .


synthaser is written for Python 3.6+ and its only external Python dependency is requests, which is used for querying the NCBI's APIs. To perform local searches, the programs RPS-BLAST as well as the CD-Search post-processing utility, rpsbproc, should be installed (available from ...)


A full synthaser search can be performed as simply as:

$ synthaser -qf sequences.fasta

Where sequences.fasta is a FASTA format file containing the protein sequences that you would like to search.

For a full listing of available arguments, enter:

$ synthaser -h

Visualising your results

synthaser is capable of generating fully-interactive, annotated visualisations so you can easily explore your results. All that is required is one extra argument:

$ synthaser -qf sequences.fasta -p

This will generate a figure like so:

Example synthaser output

Click here to play around with the full version of this example.

Saving your search session

synthaser allows you to save your search results such that they can be easily reloaded for further visualisation or exploration without having to fully re-do the search.

To do this, use the --json_file command:

$ synthaser -qf sequences.fasta --json_file sequences.json

This will save all of your results, in JSON format, to the file sequences.json. Then, loading this session back into synthaser, is as easy as:

$ synthaser --json_file sequences.json ...

Using your own rules

Though synthaser was originally designed to analyse secondary metabolite synthases, it can easily be repurposed to analyse the domain architectures of any type of protein sequence.

Under the hood, synthaser uses two files to determine 1) which domains to save from a CD-Search run (domains.json) and 2) the rules used to classify sequences based on their domain architectures (rules.json). By default, synthaser will use the copies of these files distributed with the program. However, providing your own rules is as simple as:

$ synthaser -qf sequences.fasta -df my_domains.json -cf my_rules.json

For a detailed explanation of how to create your own synthaser rule files, as well as API please refer to the documentation.


If you found synthaser helpful, please cite:

1. <pending>

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 synthaser, version 1.1.4
Filename, size File type Python version Upload date Hashes
Filename, size synthaser-1.1.4-py3-none-any.whl (135.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size synthaser-1.1.4.tar.gz (130.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page