Skip to main content

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.

Release files for resistify 0.0.3

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

Source distribution (sdist)

Source distribution for resistify 0.0.3
File Size Uploaded
resistify-0.0.3.tar.gz 43.8 MB Details

Built distribution (wheel)

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

Total release size: 88.0 MB

Release files / resistify-0.0.3.tar.gz

Download URL resistify-0.0.3.tar.gz
Size 43.8 MB
Tags Source
SHA-256 checksum
How to use checksums
8e043c6851c44dc0d60659ae2586ada253e5c8823ee40d62ef33ca70c46cebf4
BLAKE2b-256 checksum
How to use checksums
698f247ac52b005cb34106c7dd34115479f868b60563a6bb564e00c29a247b0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / resistify-0.0.3-py3-none-any.whl

Download URL resistify-0.0.3-py3-none-any.whl
Size 44.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
80622487365cf5223b7b4da0211d66479555418be41c66446f1353cd179cd617
BLAKE2b-256 checksum
How to use checksums
eb072314e493f3c9cce86f6e1ba59aa7ff4f28c383d5ad94b18487e9e6168acf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

This release

0.0.3 This release

2 release files

0.0.2

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