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 sequencemotifs.tsv
- A table of all the NLRexpress motifs for each sequencedomains.tsv
- A table of all the domains identified for each sequencenbarc.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b56f0fb6d2eb00b4a5ef3574c41d473a541a80b1e667fa0fa391c9c8d796175 |
|
MD5 | e791f98c45b6478cc575394b349ad8c5 |
|
BLAKE2b-256 | 31c6df47b091531097819b645f5b9be526a6ad87667507f1a3e444807d3407e2 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59a78e2ddc43233b47cd09bd6f2ba9ee04bc12cf02cb1e1732627308ce4f4eba |
|
MD5 | de70f985aa183e675bebb1ba0c6b7ee5 |
|
BLAKE2b-256 | f91c5842289f30cb015f2de769e3e901a6f1ab0a16e0372daa9705e99270150f |