Skip to main content

A resistance gene annotation tool

Project description

Resistify

Resistify is a lightweight 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
  • 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!).

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.2.tar.gz (43.8 MB view details)

Uploaded Source

Built Distribution

resistify-0.0.2-py3-none-any.whl (44.2 MB view details)

Uploaded Python 3

File details

Details for the file resistify-0.0.2.tar.gz.

File metadata

  • Download URL: resistify-0.0.2.tar.gz
  • Upload date:
  • Size: 43.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for resistify-0.0.2.tar.gz
Algorithm Hash digest
SHA256 9b56f0fb6d2eb00b4a5ef3574c41d473a541a80b1e667fa0fa391c9c8d796175
MD5 e791f98c45b6478cc575394b349ad8c5
BLAKE2b-256 31c6df47b091531097819b645f5b9be526a6ad87667507f1a3e444807d3407e2

See more details on using hashes here.

Provenance

File details

Details for the file resistify-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: resistify-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 44.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for resistify-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 59a78e2ddc43233b47cd09bd6f2ba9ee04bc12cf02cb1e1732627308ce4f4eba
MD5 de70f985aa183e675bebb1ba0c6b7ee5
BLAKE2b-256 f91c5842289f30cb015f2de769e3e901a6f1ab0a16e0372daa9705e99270150f

See more details on using hashes here.

Provenance

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