CMDx Lab · Hallym University

Padlock probes for miRNA detection, glowing on cue

From a target miRNA to ranked, sequence-validated probes for RCA and CRISPR-Cas12a fluorescence readout.

target hsa-miR-21-5p 5′-UAGCUUAUCAGACUGAUGUUGA-3′
padlock probe · anatomyφ29 RCA → Cas12a
5′ 3′ 3′ 5′p Cas12a core Spacer Shortspacer 5′ arm 3′ arm Target miRNA ligation
Workflow

Five steps, one command

Each step is a module in the padlock_design package — run the full chain from the GUI or the CLI.

01

Sequence pools

Generate and pre-filter spacer and Cas12a-core candidates by length, GC, and Tm.

assembler · filters
02

Assemble & filter

Build 5′arm · spacer · core · short spacer · 3′arm, then enforce structure rules.

assemble_padlock
03

Stability

Nearest-neighbor Tm / ΔG plus RNAfold & RNAcofold from ViennaRNA.

thermo · utils
04

Specificity

NCBI BLAST screen for contiguous and 3′-end matches against the transcriptome.

blast · classify_hit
05

Export

Ranked candidates with full metrics written to a timestamped Excel report.

reporter
Design rules

Why the candidates hold up

Every probe passes the same thermodynamic and structural checks the wet lab would demand.

Structure filtering

Rejects long homopolymers, GC blocks, self-complementarity, and cross-hybridization so probes fold cleanly. filters.py

Cas12a-aware cores

Core sequences avoid PAM-like motifs and hold a balanced base window for reliable collateral cleavage. cas12a_filter

Thermodynamic scoring

Tm and folding ΔG under RCA salt conditions via Biopython and ViennaRNA DNA parameters. thermo.py

Off-target BLAST

Web BLAST flags contiguous runs and 3′-end homology, then sorts RNA vs genomic hits. run_blast_validation

Install & run

Up and running in three lines

The Streamlit GUI is the recommended way in; the CLI is there for batch runs.

1 · Clone & install

shell
git clone https://github.com/BKoo-Codes/PadDx_miR.git
cd PadDx_miR
pip install -r requirements.txt

2 · Launch the GUI

recommended
streamlit run app.py

Or run headless from the CLI

batch
python main.py --target_name "hsa-miR-21-5p" \
            --target_seq "UAGCUUAUCAGACUGAUGUUGA" \
            --num_candidates 10 \
            --output "results/my_design.xlsx"