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

Prerequisites

  • Python 3.9 or higher
  • ViennaRNA (Must be installed via conda or built from source)
  • BLAST+ (Optional, required only for local protein BLAST if not using NCBIWWW)

Install via Conda (Recommended)

To ensure ViennaRNA installs correctly, using Conda is highly recommended:

conda create -n mirnaprotpred_env python=3.9
conda activate mirnaprotpred_env
conda install -c bioconda viennarna

Install from Source

Important: You must still install ViennaRNA via Conda before installing from source, as it cannot be natively compiled via pip.

conda install -c bioconda viennarna
git clone https://github.com/somenath-combio/mirnaprotpred.git
cd mirnaprotpred
pip install -e .

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.7.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.7-py3-none-any.whl (218.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mirnaprotpred-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 39e77bff225b139c9473ab362aaefdb3cc6f817bbfcfd4e07a327ab0b5b77722
MD5 fcbcf1eb0a65333d6650e63c41087a46
BLAKE2b-256 2152748a1bc88461dacffaa264364d43f966c3c3ef41339b8c7c734ef4dcdba8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mirnaprotpred-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 dadd43b8a0b7a3c4800a5c97273eefede94aa863cb3c2173919cd3e6991ac960
MD5 f56f22afa088fa189a2e704eaa0d680d
BLAKE2b-256 53995fee9b06a049a2376237759084d745688e186c77ff4e365f386bc0653d80

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