Skip to content

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

CodonLab 🧬

CodonLab is a browser-based bioinformatics workspace for sequence analysis, annotation, comparative analysis, primer design, restriction planning, construct planning, validation, and conservation exploration.

BLAST tells you what a sequence resembles. CodonLab is designed to help you understand what you can learn and do with that sequence.

Why I built it

I am a beginner in software development coming from a biotechnology background. I built CodonLab to combine biological knowledge with practical software engineering and explore how bioinformatics workflows can be made more usable for students, researchers, and early-stage HealthTech applications.

Core workflow

Sequence → QC → Annotation → Biological Insight → Comparative Evidence → Design → Validation → Conservation

Features

  • DNA / RNA sequence input and FASTA upload
  • 600,000-character sequence input limit
  • Sequence QC: length, GC%, AT%, discarded characters, and Tm estimate
  • DNA, mRNA, protein, reverse-complement and ORF analysis
  • Restriction-site scanning and planning
  • Pairwise sequence alignment
  • SpCas9 sgRNA candidate screening
  • Protein molecular weight, pI, GRAVY, aromaticity and extinction coefficient estimates
  • NCBI E-utilities integration through a Supabase Edge Function
  • GenBank record parsing with feature coordinates and CDS inspection
  • Biological Insight workspace with evidence/inference separation
  • BLAST comparative analysis with identity, coverage, E-value and ranked hits
  • Primer design with candidate ranking and QC signals
  • Construct planning with target coordinates and restriction-site conflicts
  • Design validation and provenance checks
  • Conservation Explorer using available base-by-base alignments
  • Report generation and FASTA export

Architecture

┌─────────────────────────────┐
│        CodonLab UI          │
│       HTML / CSS / JS       │
└──────────────┬──────────────┘
               │ HTTPS
               ▼
┌─────────────────────────────┐
│   Supabase Edge Function    │
│        clever-task          │
│  server-side API mediation  │
└──────────────┬──────────────┘
               │
               ▼
┌─────────────────────────────┐
│            NCBI             │
│ E-utilities + BLAST service │
└─────────────────────────────┘

The browser does not contain NCBI private credentials. NCBI credentials, when used, belong in the Edge Function environment.

Security

This repository intentionally contains no real API keys or private credentials.

  • config.js is ignored by Git.
  • config.example.js contains placeholders only.
  • .env.example contains placeholders only.
  • NCBI API credentials are read server-side from Supabase Edge Function environment variables.
  • Never paste a Supabase secret key into frontend code or GitHub.

If a secret key has ever been exposed publicly, rotate it before publishing the repository.

Run locally

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/CodonLab.git
cd CodonLab

2. Create local frontend configuration

copy config.example.js config.js

Open config.js and add your Supabase Edge Function URL and publishable key.

Do not add a Supabase secret key here.

3. Open the app

For the simplest local test, use a local static server rather than opening the HTML directly with file://.

Example with Python:

python -m http.server 5500

Then open:

http://localhost:5500

Supabase Edge Function

Function source:

supabase/functions/clever-task/index.ts

Function name:

clever-task

Server-side environment variables used by the function:

  • NCBI_EMAIL
  • NCBI_API_KEY (optional)

Example deployment flow with the Supabase CLI:

supabase login
supabase link --project-ref YOUR_PROJECT_REF
supabase functions deploy clever-task --use-api

Set server-side secrets through Supabase; do not commit them.

Scientific scope and limitations

CodonLab is an educational/research-oriented computational tool. Computational predictions do not replace experimental validation.

Examples:

  • sequence similarity does not by itself prove biological function, orthology, phenotype, or clinical significance;
  • primer and guide candidates require laboratory validation;
  • restriction-site detection identifies recognition sequences and does not guarantee experimental cleavage;
  • conservation analysis is only reported when a usable base-by-base alignment is available.

Tech stack

  • HTML5
  • CSS3
  • Vanilla JavaScript
  • Supabase Edge Functions
  • NCBI E-utilities
  • NCBI BLAST
  • FASTA / GenBank parsing
  • Algorithmic sequence analysis

Resume-ready project description

CodonLab — Bioinformatics Analysis Platform

Independent Project | Biotechnology × Software Engineering

  • Built a browser-based bioinformatics workspace for nucleotide sequence QC, ORF/protein analysis, GenBank annotation, comparative analysis, primer design, restriction planning, construct planning, validation, and conservation analysis.
  • Integrated NCBI E-utilities and BLAST through a Supabase Edge Function to keep backend credentials out of client-side code.
  • Implemented sequence-processing algorithms and biological QC logic in vanilla JavaScript, including ORF detection, reverse complement, restriction scanning, pairwise alignment, primer screening, and conservation statistics.
  • Designed an evidence-oriented workflow that separates computational evidence from biological interpretation and explicitly reports limitations.

Portfolio talking points

If you discuss CodonLab in an interview, focus on:

  1. Problem: bioinformatics tools can expose raw outputs without guiding the user through interpretation and design.
  2. Engineering: built a multi-stage client application and serverless backend instead of a static sequence calculator.
  3. Integration: connected NCBI search, GenBank retrieval, and BLAST through an API-mediation layer.
  4. Scientific reasoning: avoided presenting similarity or computational predictions as experimental proof.
  5. Security: separated frontend configuration from server-side credentials and excluded secrets from version control.
  6. Next direction: improve reproducibility, automated testing, domain annotation, richer comparative datasets, and production-grade backend controls.

License

MIT