Skip to main content

Automatic prediction and classification of protein domain architectures

Project description

synthaser

Coverage Status Tests passing Documentation Status PyPI version

Process

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

Installation

Install from PyPI using pip:

$ pip install --user synthaser

or clone the repo and install locally:

$ git clone https://www.github.com/gamcil/synthaser
$ cd synthaser
$ pip install .

Finally, configure synthaser with your e-mail address or NCBI API key (used when making requests to NCBI servers), for example:

$ synthaser config --email your@email.com

Dependencies

synthaser is written in pure Python (3.6+), and requires only the following dependencies for remote searches:

  • requests, for interaction with the NCBI's CD-Search API
  • biopython, for retrieving sequences from NCBI Entrez

If you want to do local searches, you'll need:

  • RPS-BLAST, for performing local domain searches
  • rpsbproc, for formatting RPS-BLAST results like CD-Search

These can be obtained from the NCBI FTP.

Usage

A full synthaser search can be performed as simply as:

$ synthaser search -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 search -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 search -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 search --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 a central rule file which contains:

  1. Domain types, containing specific families to save in CD-Search results, corresponding to domain 'islands';
  2. Rules for classifying the sequences based on domain architecture predictions; and
  3. A hierarchy which determines the order of evaluation for the rules.

We distribute our fungal megasynthase rule file as the default, but providing your own rule file is as simple as:

$ synthaser search -qf sequences.fasta --rule_file my_rules.json

We also provide a web application for assembling your own rule files, which can be found here.

For a detailed explanation of how the rule file works, as well as API documentation, please refer to the documentation.

Citations

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.

Source Distribution

synthaser-1.1.21.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

synthaser-1.1.21-py3-none-any.whl (137.9 kB view details)

Uploaded Python 3

File details

Details for the file synthaser-1.1.21.tar.gz.

File metadata

  • Download URL: synthaser-1.1.21.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for synthaser-1.1.21.tar.gz
Algorithm Hash digest
SHA256 2656212a75818c673c483a2367880742037c53300fcf648eee4bc329613ccd1a
MD5 a72fc58bd2329c758b07f4d3b5b94706
BLAKE2b-256 39c1c112da497ab17595e09c9b070c5b32156fc840d0bf459854bc7f46222cc4

See more details on using hashes here.

File details

Details for the file synthaser-1.1.21-py3-none-any.whl.

File metadata

  • Download URL: synthaser-1.1.21-py3-none-any.whl
  • Upload date:
  • Size: 137.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for synthaser-1.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 74e0b2a82877e41b3874c976ea7f2cf7227ae584744629a994d77e68c0245de9
MD5 fd474ef74c2d83f51b77b4d738ee6e89
BLAKE2b-256 e2608b3653a4ae6df7406c0b56ec68534e8b9ffa7ba38282ffaa4482c41073d4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page