Skip to main content

A resistance gene annotation tool

Project description

Resistify

Resistify is a lightweight and fast program designed to classify NLRs by their protein domain architecture. I have created this program as an alternative to several similar programmes for a couple of reasons.

The first is to move away from using InterProScan as a dependency. While InterProScan is a useful resource for annotating protein domains, it very feature-rich and can be challenging to set up on a new system. It's distribution isn't well supported by conda which is an additional challenge when integrating it into automated workflows. Resistify comes packaged with all the necessary databases so you don't have to worry about setting them up manually

Secondly, I've created this to be as free of dependencies as possible. This allows Resistify to be easily distributed and quickly installed!

I'm grateful to the authors of NLRexpress for the motif models used in this program.

Installation

To get started with Resistify:

pip install resistify

Resistify requires biopython and scikit-learn==0.24.2. It also requires hmmsearch and jackhmmer - install these via conda or any other means. A conda distribution is in progress!

Usage

To run Resistify:

resistify <input.fa> <output_directory>

Your input.fa should contain the amino acid sequences of your proteins of interest. Multiline and sequence description fields are allowed.

An output_directory will be created which will contain the results of your run:

  • results.tsv - A table of the length, classification, and predicted functionality of each sequence, as well as the presence of any MADA motif or CJID domain
  • motifs.tsv - A table of all the NLRexpress motifs for each sequence
  • domains.tsv - A table of all the domains identified for each sequence
  • nbarc.fasta - A fasta file of all the NB-ARC domains identified.

How does it work?

Resistify is a two step process.

First, all sequences are searched for CC, RPW8, TIR, and NB-ARC domains. This is used to quickly filter out any non-NLR sequences and identify the primary architecture of each NLR.

Secondly, each potential NLR sequence is scanned for CC, NB-ARC, and LRR associated motifs via the NLRexpress models. These are used as an additional layer of evidence to reclassify each NLR by predicting LRR domains, and predicting any CC domains which may have been missed in the initial hmmsearch which can be less sensitive for this domain. The functionality of each NLR is predicted by counting the number of conserved NB-ARC motifs. Currently, any order is accepted (this may change in the future!).

Resistify will also search for N-terminal MADA motifs and CJID domains that are common to CNLs and TNLs respectively.

Future improvements

Once the core functionality is stable, I will begin integrating NLR-associated into the pipeline.

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

resistify-0.0.3.tar.gz (43.8 MB view hashes)

Uploaded Source

Built Distribution

resistify-0.0.3-py3-none-any.whl (44.2 MB view hashes)

Uploaded Python 3

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