Skip to main content

A pip installable CLI for miRNAProtPred tool

Project description

miRNAProtPred

License: MIT Python 3.9+

A powerful, high-performance bioinformatics framework for discovering, evaluating, and verifying microRNA (miRNA) interactions across DNA, RNA, and protein target sequences.

The mirnaprotpred package provides two core modules:

  1. SeqFinder: A discovery engine to find all potential miRNA interactions across a genome or target sequence.
  2. Validator: A targeted verification engine to test specific, user-provided miRNAs against a target sequence.

Both modules are powered by a shared, rigorous biological engine that evaluates exact seed matching, wobble pairing, AU-rich context, and RNAduplex thermodynamic stability.

Features

  • Multi-Sequence Support: Natively processes DNA, RNA, and Protein sequences. Protein sequences are automatically reversed-mapped to nucleotides via an integrated BLAST search. Note: Protein mode provides exploratory nucleotide-region inference and should not be interpreted as direct protein-target prediction.
  • Strict & Relaxed Modes:
    • strict: Identifies only canonical, exact seed interactions.
    • relaxed: Discovers flexible interactions including wobble pairings, with biological confidence re-weighting.
  • Thermodynamic Scoring: Leverages ViennaRNA (RNAduplex) to calculate Minimum Free Energy (MFE) structural stability.
  • Multi-Factor Confidence Classification: Interactions are graded (Very High, High, Medium, Low) based on MFE, motif identity, AU-context accessibility, and cluster density.
  • Targeted Validation: Provide specific miRNA IDs (inline or via text/FASTA files) to rapidly check for interactions without scanning the entire database.
  • Flexible Output Options: Terminal-friendly concise summaries, full detailed interaction data, high-confidence filtering, and direct CSV export.

Installation

To ensure all dependencies (especially ViennaRNA) work correctly, we recommend using a Conda environment with Python 3.11.

Step 1: Create and activate a new Conda environment

conda create -n mirnaprotpred_env python=3.11 -y
conda activate mirnaprotpred_env

Step 2: Install ViennaRNA

ViennaRNA cannot be installed via pip and must be installed via Conda:

conda install -c bioconda viennarna -y

Step 3: Install mirnaprotpred

Now you can install the package from PyPI:

pip install mirnaprotpred

Alternative: Install from Source

If you prefer to install from the repository:

git clone https://github.com/somenath-combio/mirnaprotpred.git
cd mirnaprotpred
pip install .

Usage: SeqFinder

Use SeqFinder to scan an entire sequence and discover all potential miRNA interactions.

SeqFinder <target_sequence_or_fasta> [options]

Examples

# Scan a FASTA genome file
SeqFinder examples/sars.fasta

# Relaxed mode to include wobble pairings
SeqFinder examples/sars.fasta --mode relaxed

# View detailed raw output for all interactions
SeqFinder examples/sars.fasta --output raw

# View only High and Very High confidence interactions
SeqFinder examples/sars.fasta --output highconf

# Save results automatically to CSV
SeqFinder examples/sars.fasta --output raw --out results.csv

# Direct sequence input
SeqFinder "AUGCAUGCAUGCAUGC"

Usage: Validator

Use the validator to check if specific miRNAs interact with your target.

validator <miRNA_IDs> <target_sequence_or_fasta> [options]

The validator provides a simple YES/NO summary by default, but can output the full SeqFinder interaction data using --details.

Examples

# Inline comma-separated miRNAs
validator hsa-miR-21-5p,hsa-miR-122-5p examples/sars.fasta

# Read miRNAs from a text file (one per line)
validator examples/mirnas.txt examples/sars.fasta

# Extract miRNA IDs from a FASTA file and validate them
validator known_mirnas.fasta examples/sars.fasta

# Show full detailed interaction data for the matched miRNAs
validator examples/mirnas.txt examples/sars.fasta --details

# Save results automatically to CSV
validator examples/mirnas.txt examples/sars.fasta --out validation.csv

How It Works

  1. Input Processing: The engine detects whether the input is DNA, RNA, or Protein. If Protein, a tblastn search is performed against the NCBI database to retrieve the corresponding nucleotide region.
  2. Motif Discovery: The Boyer-Moore string matching algorithm rapidly identifies potential binding sites using canonical or relaxed seed variants.
  3. Contextual Evaluation: The 20nt flanking regions are evaluated for AU content, which correlates with structural accessibility.
  4. Structural Analysis: ViennaRNA calculates the optimal secondary structure and minimum free energy (MFE) between the miRNA and the target site.
  5. Clustering & Ranking: Competing seeds at the same locus are clustered, scored using a composite biological metric, and the optimal interaction is selected.
  6. Confidence Classification: Results are categorized based on stringent biological thresholds (e.g., Very High confidence requires strict identity, strong MFE, and high AU context).

Output Columns (Detailed Mode)

  • miRNA_ID / description: The matched human miRNA.
  • CTS: Complementary Target Sequence (the matching region on your input).
  • CTS_start: 1-based start coordinate of the interaction.
  • RNAduplex_MFE: Thermodynamic stability (Minimum Free Energy, more negative is stronger).
  • AU_Context: Accessibility score based on AU richness in flanking regions.
  • motif_identity / match_type: Structural identity of the seed interaction (Exact vs Wobble).
  • Confidence_Level: Biological confidence (Very High, High, Medium, Low).

Authors

Citation

If you use this tool in your research, please cite: (Citation details pending publication)

License

MIT License

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

mirnaprotpred-0.1.8.tar.gz (221.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mirnaprotpred-0.1.8-py3-none-any.whl (218.8 kB view details)

Uploaded Python 3

File details

Details for the file mirnaprotpred-0.1.8.tar.gz.

File metadata

  • Download URL: mirnaprotpred-0.1.8.tar.gz
  • Upload date:
  • Size: 221.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mirnaprotpred-0.1.8.tar.gz
Algorithm Hash digest
SHA256 70b72f3ee780de9877e2907862965b22786f928ef08c8d32aed1d265b0ab7d53
MD5 7bf635ff246b8a564fad77260e309b09
BLAKE2b-256 825d6da8b54dfbc42253d85af8007e855ba6a20d85326823701d15aaf76e68bc

See more details on using hashes here.

File details

Details for the file mirnaprotpred-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: mirnaprotpred-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 218.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mirnaprotpred-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e6efbbf506d6dea9a02ac23cfbe08da881ddf48505f6eb23a4e455915badd76c
MD5 be31461a08f2751d4c2151013685f660
BLAKE2b-256 32f5e323f32d2fe63950671fccd194e17d6efb1fe714bce8ae99a0e55d1d5bfe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page