Skip to main content

miRNA-Toolkit

miRNA-Toolkit is a Python-native library for end-to-end miRNA analysis, including preprocessing, alignment, quantification, target prediction, disease association, and visualization.

Install name: mirna-toolkit Import name: mirna_toolkit

Features

  • I/O support for FASTQ, FASTA, BAM, and GTF/GFF-oriented workflows.
  • Wrappers for FastQC, fastp, Bowtie, HISAT2, and STAR (small-RNA mode).
  • Quantification and normalization (TPM, RPM, DESeq2-style size factors).
  • Target prediction (seed match + RNAhybrid-style scoring + external connectors).
  • Disease association integration (HMDD, miRCancer) and network export.
  • Visualization utilities for interaction networks, heatmaps, volcano plots, and pathway enrichment plots.
  • Optional ML utilities for classification, feature ranking, and explainability.
  • End-to-end reproducible workflow runner (pipeline.run_end_to_end) and CLI (mirna-toolkit).
  • Manifest-based batch workflow for multiple samples (batch.run_batch_workflow).
  • Retry-aware HTTP connectors with configurable strict mode for robust integrations.

Installation

pip install mirna-toolkit

For local development:

pip install -e .

Optional extras:

pip install -e .[full,dev]

Quick Start

from mirna_toolkit import alignment, quantification, prediction, disease, visualization

bam_file = alignment.bowtie.align("sample.fastq", reference="mirbase.fa")
counts = quantification.counts.from_bam(bam_file, annotation="mirbase.gtf")
normalized = quantification.normalization.tpm(counts)

targets = prediction.targetscan_api.get_targets("hsa-miR-21")
assoc = disease.hmdd.get_associations("hsa-miR-21")

fig = visualization.networks.plot_mirna_targets("hsa-miR-21", targets)
fig.show()

End-to-End Pipeline

from mirna_toolkit.pipeline import PipelineConfig, run_end_to_end

config = PipelineConfig(
	fastq_path="sample.fastq",
	reference="mirbase_index",
	annotation="mirbase.gtf",
	output_dir="run_001",
	aligner="bowtie",
	normalization_method="tpm",
	run_qc=True,
	trim=True,
)

result = run_end_to_end(config, database_versions={"miRBase": "22.1", "TargetScan": "8.0"})
print(result.metadata_path)

CLI

mirna-toolkit --fastq sample.fastq --reference mirbase_index --annotation mirbase.gtf --output-dir run_001 --aligner bowtie --normalize tpm --run-qc --trim

Helpful CLI topics:

mirna-toolkit help
mirna-toolkit help run
mirna-toolkit help batch

Batch Workflow

Manifest example (samples.csv):

sample_id,fastq_path,reference,annotation,run_qc,trim
s1,s1.fastq,mirbase_index,mirbase.gtf,true,true
s2,s2.fastq,mirbase_index,mirbase.gtf,false,false

Run it with:

mirna-toolkit batch --manifest samples.csv --output-dir batch_runs

Reproducibility

Use mirna_toolkit.utils.versioning.DatabaseVersionTracker to record exact versions/releases of external databases used in analyses.

Status

This repository provides a production-ready scaffold with working core APIs and wrappers. External command wrappers require the corresponding tools (for example, bowtie, fastqc, fastp) to be installed and available on PATH.

Metadata

Release files for mirna-toolkit 0.1.0

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

Source distribution (sdist)

Source distribution for mirna-toolkit 0.1.0
File Size Uploaded
mirna_toolkit-0.1.0.tar.gz 22.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mirna-toolkit 0.1.0
File Interpreter ABI Platform
mirna_toolkit-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 51.3 kB

Release files / mirna_toolkit-0.1.0.tar.gz

Download URL mirna_toolkit-0.1.0.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
20536d5d023f164a31ce28996a1863f7a3f5c8fc0e0bef73653c52087984970b
BLAKE2b-256 checksum
How to use checksums
1ec4beaa78106b63ff801ff05c648e34a98e3b3ae3563671b6b6590786ae08e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 3, 2026.

Transparency log

Release files / mirna_toolkit-0.1.0-py3-none-any.whl

Download URL mirna_toolkit-0.1.0-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
64ea134c7313474bae0d0ee2c1da963632cd9aebef509788b8898feaeb65d5c1
BLAKE2b-256 checksum
How to use checksums
909b3a1520e8652e01d0d763fd7140bb6cae96e1ff8d2a95e9f0f3fb1af93018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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