GenoQueryX is a high-performance interactive tool for analyzing DNA sequences and answering heavy range queries (L–R) using the optimized Mo’s Algorithm.
Designed for bioinformatics students, researchers, and developers, it combines algorithmic optimization with a modern animated UI.
GenoQueryX instantly answers complex DNA-based questions for any L–R subrange of the sequence:
Returns how many unique characters appear in the chosen range.
Example:
Range = ACGTAC → {A,C,G,T} = 4 distinct.
Identifies the base with the highest frequency in the range.
Useful for identifying dominant regions.
Example:
Range = AAAACGT → Most frequent = A (4 times)
GC ratio is a key biological metric used to study:
- gene density
- thermodynamic stability
- mutation probability
Example:
Range: ACGCGT
GC% = 4/6 × 100 = 66.67%
Counts how many times a short DNA pattern occurs inside L–R.
Supports patterns like:
ACGGTACG- any sequence using A/C/G/T
Counts occurrences of "GA" pairs inside the range — often used in mutation hotspot detection.
Example:
Range: TGAGAAG → "GA" appears 3 times.
Mo’s Algorithm allows this tool to handle very large datasets inside a simple browser.
| DNA Length (N) | Number of Queries (Q) | Performance |
|---|---|---|
| 100,000 | 50,000 | Smooth, <1 second |
| 200,000 | 50,000 | Very fast |
| 500,000 | 10,000–20,000 | Still good |
| 1,000,000 | 5,000–10,000 | Usable, slight delay |
Because JavaScript (browser) memory + processing speed is limited compared to C++.
Mo’s Algorithm has complexity:
O((N + Q) * √N)
| N (sequence length) | √N | With Q = N | Total Operations |
|---|---|---|---|
| 100,000 | 316 | 100k | ~63 million ops |
| 200,000 | 447 | 200k | ~130 million ops |
| 500,000 | 707 | 500k | ~353 million ops |
Browser JavaScript comfortably handles 60–150 million ops,
which makes this app extremely powerful for its size.
You may experience slower performance if:
Still, the tool performs better than almost all “normal” JS solutions because Mo’s algorithm ensures minimal pointer movements.
- Dark futuristic theme
- Glassmorphism panels
- Smooth neon glow
- Framer Motion animations
- Interactive hover effects
- Floating DNA-themed visuals
- Compact query/input boxes
- Modern dropdown (no old-school select style)
This isn't just a demo — it models real bioinformatics workflows.
Analyze large chromosomes with range queries like:
- Which region has highest GC%?
- Which segment has most mutation hotspots?
- Where does pattern “ACG” appear frequently?
Useful for studying SNP clusters or GA mutation hotspots.
Researchers can locate regulatory motifs like:
- promoter regions
- enzyme binding sites
- transcription factors
Perfect for teaching:
- Mo’s Algorithm
- Sliding windows
- Bioinformatics basics
- Frequency tables
- GC% calculation
A unique combination of:
- CP algorithm efficiency
- Real genomics data analysis
Very strong for resumes and hackathons.
- React (Vite)
- TailwindCSS
- Framer Motion
- JavaScript ESNext
- Mo’s Algorithm (offline query optimization)
git clone https://github.com/your-username/genoqueryx.git
cd genoqueryx
npm install
npm run dev
Build:
npm run build
npm run preview
🔍 Why Mo’s Algorithm Was Chosen?
Because DNA queries are mostly:
Counting elements
Frequency updates
Sliding window operations
Mo’s Algorithm ensures minimal movement of pointers:
Moving L and R by +1 or –1
Updating frequency tables in O(1)
Answering each query efficiently
Other algorithms like Segment Trees or Fenwick Trees struggle with irregular pattern matching, but Mo’s handles it smoothly.
Query #1: L=1, R=10, type=distinct
Answer: 4
Query #2: L=1, R=10, type=gcContent
Answer: 50.00%
Query #3: L=1, R=15, type=patternCount("ACG")
Answer: 2
Query #4: L=2, R=20, type=gaHotspot
Answer: 3
📄 License
MIT License
👨💻 Author
Pankaj Kumar
Competitive Programmer (Master), Web2 & Web3 Developer, System Design & Algorithm Specialist.
⭐ Final Summary
GenoQueryX is a rare project that blends:
Bioinformatics
Competitive Programming
Modern Frontend Engineering
Algorithmic Optimization
It is fast, scalable, research-oriented, and visually stunning.