Skip to main content

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:

Gilchrist, C. L., & Chooi, Y. H. (2021).
Synthaser: a CD-Search enabled Python toolkit for analysing domain architecture of fungal secondary metabolite megasynth (et) ases.
*Fungal Biology and Biotechnology*, 8(1), 1-19.

Metadata

Release files for synthaser 1.1.22

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synthaser 1.1.22
File Size Uploaded
synthaser-1.1.22.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for synthaser 1.1.22
File Interpreter ABI Platform
synthaser-1.1.22-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / synthaser-1.1.22.tar.gz

Download URL synthaser-1.1.22.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
5c9c7cbd989c3204b3c66d29026e17e027cda0c41525d55180b1400a0d515a09
BLAKE2b-256 checksum
How to use checksums
5f2bd36135db6af76918f75e726ebd9e443c5c46a4aebecf2587634baf9704eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

Release files / synthaser-1.1.22-py3-none-any.whl

Download URL synthaser-1.1.22-py3-none-any.whl
Size 138.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2101867b4c5c57870cf20e0e3accb152c0857b6d06aea47ec8b3062b93a39a7a
BLAKE2b-256 checksum
How to use checksums
357d93cf4b85b679e4b4147478b2b15432be119aef683dd6ded40f440ba23793
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

Release history Release notifications | RSS feed

This release

1.1.22 This release

2 release files

1.1.21

2 release files

1.1.20

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page